00:26:03 -!- NihilistDandy has quit (Ping timeout: 240 seconds).
00:28:08 -!- NihilistDandy has joined.
00:30:52 -!- fizzie has quit (Ping timeout: 240 seconds).
00:36:59 -!- fizzie has joined.
00:41:20 * pikhq is convinced that automotive engineers are assholes.
00:42:01 <pikhq> Why the hell should it be even slightly difficult to do maintainence on an engine?
00:42:33 <pikhq> And why the fuck do I need to jack my car up to get to the battery?
00:42:46 <pikhq> And why should it be a time-consuming affair to replace a headlight?
00:42:49 <pikhq> Assholes, I tell you.
00:43:17 <elliott> Holy shit, Bitcoins have exploded in value.
00:43:34 <elliott> FML for not predicting this
00:43:37 <monqy> congratulations investors
00:43:47 <elliott> I could have eightfolded my money :(
00:43:57 <elliott> Although it might be the dollar decreasing in value instead >:)
00:44:12 <monqy> bitcoins the good and stable currency
00:44:22 <monqy> except when it deflates
00:45:22 -!- zzo38 has joined.
00:46:07 <zzo38> Someone on another IRC told me that all IRC clients and all IRC servers follow the standards/RFC. However, I think on this channel, someone told me that mine is the only one that does, and that you hate it for that reason?
00:47:00 <pikhq> I thought that very *few* IRC servers actually followed a strict reading of the RFC.
00:47:25 <pikhq> And no clients even give a fuck.
00:47:51 -!- TeruFSX has joined.
00:48:13 -!- elliott has quit (Ping timeout: 250 seconds).
00:48:21 <zzo38> pikhq: Really? I think someone on this channel, has, in the past, told me that my client follows the RFC closer than others (and that they hate my client for those reasons). I think it has to do with embedding commands inside of messages, or something like that? I don't remember exactly
00:49:15 <zzo38> Like <CTCP>ACTION this<CTCP>, for example.
00:58:40 <pikhq> People actually ship code with -Werror enabled.
00:58:54 <pikhq> The stupid is palpable.
01:01:26 -!- BeholdMyGlory has quit (Remote host closed the connection).
01:03:41 <zzo38> pikhq: Yes I have seen that. Unfortunately, the warnings that I do want to make into errors (I don't want all warnings to be errors), I cannot control separately from the other warnings/errors.
01:04:06 <zzo38> (What I do is I just keep them as warnings.)
01:04:33 <zzo38> I think the code I have seen with the -Werror is something to do with PXELINUX if I have remembered correctly.
01:04:46 <pikhq> -Werror is just fine when you're developing software.
01:05:21 <pikhq> However, it is positively broken and wrong when you ship the source code with -Werror plugged into your build system.
01:05:41 <pikhq> You never know when a GCC version is going to come along and add a new warning.
01:05:51 <pikhq> Phantom_Hoover: It makes all warnings into errors.
01:06:19 <zzo38> There are some warnings I do not want to make into errors. There are also some warnings I want to suppress. However, not all warnings are controllable.
01:06:51 <pikhq> That *includes* things like a function being made deprecated...
01:11:20 <zzo38> Do you know about what I have done in the past the Icosahedral RPG (where a "mana" is a mathematical kind of thing)? I think that WotC should copy it (as long as they do not violate my license) and call it Advanced D&D.
01:18:10 <zzo38> What is your opinion on this matter?
01:24:43 -!- Patashu has joined.
01:24:51 -!- elliott has joined.
01:29:11 <elliott> oh man, a homestuck update that Sgeo hasn't even bugged me about yet
01:29:19 <elliott> that gives me the opportunity to!
01:29:24 <elliott> an opportunity which i will waste oops
01:32:40 <Sgeo> I have no idea what's going on in the last panel
01:33:05 <elliott> That's because you didn't pay attention for a single second of your binge and, as such, have no recollection of prior panels of any sort.
01:34:45 <elliott> Sgeo: http://www.mspaintadventures.com/?s=6&p=005508
01:34:55 <elliott> Everyone else: Don't click that unless you've read Homestuck or are completely sure you never will.
01:36:14 <zzo38> Someone got a syntax error and posted the message to some public forum. Someone else answered by saying that their problem is that the software they were using was not designed to help, it was designed to teach you arbitrary "syntax".
01:36:25 <elliott> Sgeo: It basically all ties in with the "circumstantial simultaneity" shit.
01:40:19 <elliott> Sgeo: I assume you've been keeping track of the events in the banner of the page.
01:40:37 <elliott> I suspect you have not so, in my thoughtfulness, I have prepared a face to pal-- damn.
01:46:39 -!- copumpkin has joined.
01:48:18 <zzo38> Someone claimed he was the fastest computer programmer, and the reason is that he tosses anything that interferes with productive programming, with apparently includes *all* language and *all* programming tools.
01:48:43 -!- SimonRC has quit (Ping timeout: 260 seconds).
02:00:42 <Patashu> how do you program without syntax
02:01:29 <Patashu> it could always be like scratch
02:01:36 <Patashu> where you plug statements/expressions/functions together like jigsaw pieces
02:02:09 <zzo38> There are other systems, too, that you connect commands together to program.
02:03:05 <Patashu> that's the only thing I can think of - because the GUI controls what input is valid, you cannot give invalid input
02:03:16 <zzo38> But he meant I think, apparently, one where you can think at the highest level and program at the lowest level; and that you have no arbitrary keyboard, because you can configure all the keys to suit you; and I don't know what else. But it involves machine codes.
02:06:17 -!- Phantom_Hoover has quit (Quit: Leaving).
02:16:28 -!- azaq23 has joined.
02:18:58 -!- comex_ has changed nick to comex.
02:25:47 <comex> shadow of the colossus?
02:37:42 -!- pikhq has quit (Ping timeout: 240 seconds).
02:38:03 -!- pikhq has joined.
02:41:19 -!- Ycros has quit (Quit: No Ping reply in 180 seconds.).
02:41:29 -!- Ycros has joined.
02:50:23 -!- TOGoS has joined.
02:51:17 -!- TOGoS has left.
02:53:08 -!- pikhq has quit (Read error: No route to host).
02:53:33 -!- pikhq has joined.
02:53:43 <pikhq> That was... Strange.
02:57:47 -!- elliott has quit (Read error: Connection reset by peer).
03:02:07 <CakeProphet> jesus, I get so frustrated while talking to people on #perl...
03:08:06 -!- elliott has joined.
03:09:49 * Sgeo floods #esoteric with Halon
03:10:10 <Sgeo> Hmm, that's not actually unambiguous, is it
03:13:31 <Sgeo> Hmm, darn, from what I'm reading, Halon flooding isn't actually that dangerous
03:19:31 <elliott> That was... less scary than I was expecting.
03:26:34 -!- poiuy_qwert has joined.
03:30:47 -!- poiuy_qwert has quit (Client Quit).
03:33:35 -!- azaq23 has quit (Ping timeout: 252 seconds).
03:34:44 -!- azaq23 has joined.
03:34:55 <elliott> Ever wondered who is "on top of the Pyramid?" He gives us a clue. The bloodline he represents is well
03:34:55 <elliott> above the Rothschild's in power and in the hierarchy and is extra-terrestrial in origin. The 13 bloodlines
03:34:55 <elliott> we have been talking about thus far on this website and others, with the Rothschild's in a top position
03:34:55 <elliott> together with the Merovingian Nobility, are quite low rank in the Big Pyramid Structure, and are the
03:34:57 <elliott> ones playing a power game here on Earth, only aware of parts of the Big Game (a need to know basis).
03:34:59 <elliott> The bloodline "Hidden Hand" is supposedly belonging to is way more advanced and higher rank."
03:38:19 <elliott> says atlantis is real within paragraphs, this is great
03:40:12 <Sgeo> Homestuck Music Team <3 Walk Smash Walk
03:40:38 <elliott> Patashu: Or troll -- what kind of Illuminati member would decide to engage people on /Above Top Secret/ of all places?
03:40:39 <elliott> http://www.bibliotecapleyades.net/archivos_pdf/dialogue_hh.pdf
03:40:50 <elliott> but this is interesting in its insaity :)
03:41:03 <Patashu> You'd have to be a really dedicated troll to obsessively come up with complex conspiracy theorieds
03:41:17 <elliott> Patashu: they don't -- they just have to make up consistent bullshit in reply to questions
03:41:31 <elliott> and these guys lap it up so it certainly paid off
03:41:41 <Patashu> But that's tedious if you don't actually believe it
03:41:55 <elliott> Patashu: Why troll in the first place?
03:43:07 <elliott> " Still, even then, you are choosing the Negative
03:43:08 <elliott> Polarity with your own Free Will decisions, with a little 'help' and direction from us. Souls are
03:43:08 <elliott> Harvestable in either 'extreme' of the Polarities, one could say."
03:43:11 <pikhq> Aaah, schadenfreude. Best kind of freude.
03:43:51 <elliott> apart from insurance fraud
03:44:15 <elliott> ATS: Is the Messiah alive today?
03:44:15 <elliott> HH: There is no "Messiah". Stop looking outside of yourself for 'salvation'.
03:44:15 <elliott> Is there what you might call a 'Christ Consciousness' alive, then yes, in a manner of speaking. Though
03:44:15 <elliott> not in your 3rd Density (dimensional) awareness.]]
03:44:20 <elliott> straight to the fourth-dimension bullshit
03:44:24 <elliott> this ticks all the fucking boxes
03:45:23 <elliott> HH: Who says it is the 'true' line? There were Ruling-Bloodlines long before your 'Yahweh' and his
03:45:23 <elliott> 'Christianity' arrived on this planet. Yahweh is 'a' Creator, not 'The' One Infinite Creator. There
03:45:24 <elliott> are other and Higher 'gods' than him. Ultimately, All, are a part of The One, and either consciously,
03:45:24 <elliott> or unconsciously, exercising their Free Will to Create. Begin to study 'outside of the box' for a True
03:45:24 <elliott> understanding of the Creation.
03:46:13 -!- pikhq_ has joined.
03:46:32 <zzo38> OK, does this have a purpose?
03:46:57 <zzo38> Is it anything at all like gnosticism?
03:47:05 <elliott> dunno, ask http://www.bibliotecapleyades.net/archivos_pdf/dialogue_hh.pdf :P
03:48:00 -!- pikhq has quit (Ping timeout: 258 seconds).
03:48:14 <zzo38> I think that "gods" and "Gods" are different and therefore you have to tell them apart to possibly understand what it means.
03:48:30 <pikhq_> So far, doesn't seem very gnostic.
03:48:47 <elliott> [[ATS: Surely if ruling elite families exist and your a member of one then you must be controlling global
03:48:48 <elliott> events through world governments - tell us 1 major government action from any country that going to
03:48:48 <elliott> I won't be surprised when you refuse to do so.
03:48:48 <elliott> HH: [on Sept. 10, 2008]: I am not at liberty to discuss such intimate immediate detail, [...]]]
03:49:10 <zzo38> Yes, I know, doesn't seem very gnostic.
03:49:20 <zzo38> O, it is Spanish, too?
03:49:26 <elliott> oh, apparently the stock markets should have imploded?
03:49:40 <zzo38> I am not good at reading Spanish, sorry. So I will read English file.
03:49:48 <elliott> zzo38: http://www.bibliotecapleyades.net/archivos_pdf/dialogue_hh.pdf is not Spanish
03:50:13 <pikhq_> The primary property of gnosticism is the belief in some form of secret knowledge that can be imparted upon you via some divine intermediate (commonly, Jesus, but others are claimed), thereby gaining you salvation.
03:50:25 <elliott> pikhq_: naw, you just have to be born into
03:50:34 <pikhq_> elliott: As I said, not very gnostic.
03:50:37 <elliott> "San Francisco and Damascus, will be uninhabitable by the end of 2010"
03:50:54 <pikhq_> I didn't know San Francisco ever became inhabitable.
03:51:10 <elliott> if you just Put Random Words in Uppercase then you can be Just Like This Guy
03:51:17 <elliott> That is all I have time for at present. I have a Sacrifice I must attend now.
03:51:25 <elliott> ILLUMINATI GUY MAKES SUCH FUNNY JOKES HA HA
03:51:37 <elliott> meh, http://973-eht-namuh-973.com/ looks vaguely more interesting than this
03:51:46 <elliott> crappy reddit post, none of this stuff is mysterious or scary
03:51:56 <elliott> http://973-eht-namuh-973.com/coloured%20site/start/2.jpg oh what
03:51:57 <pikhq_> My Preference is to capitalise Nouns, as such is the proper Practice in our Language.
03:52:23 <Sgeo> Why Not Just Capitalize Every Word?
03:52:47 <elliott> http://973-eht-namuh-973.com/coloured%20site/start/4.jpg oh cool
03:52:59 <zzo38> I don't see the relevance of anything they wrote in this document, so far.
03:53:02 <elliott> Sgeo: We All Have An Important Job To Do
03:53:12 <pikhq_> Sgeo: Such is improper. The historical Practice is to only capitalise Nouns, much as German does now.
03:53:21 <elliott> lets just capitalise nothing
03:54:05 <pikhq_> ACTVALLY, LET'S DO THIS PROPERLY. THERE ARE NO LOVVER-CASE LETTERS. AND ONLY THE LETTERS THAT THE ROMANS VSED ARE PERMISSIBLE.
03:54:13 * Sgeo counts 3 trolls who have said that
03:54:16 <elliott> http://973-eht-namuh-973.com/coloured%20site/start/10.gif
03:55:18 <elliott> http://973-eht-namuh-973.com/coloured%20site/start/evokation/the_evocation_first.htm
03:55:39 <elliott> "JUPITER EQUALS 99 AND 99 EQUALS JUPITER"
03:56:01 <zzo38> I can see what they might say about people being traded by governments, although it is probably only true to a small extent. What what does Polarity have to do with it?
03:56:16 <zzo38> elliott: Jupiter? 99? What...?
03:58:00 <Sgeo> Is it inappropriate to say <3< Vriska?
03:58:17 <elliott> One day I will lock myself into a cupboard and it will be the best cupboard because Sgeo won't be in it.
04:04:00 <zzo38> OK, you are never free because you are stuck on this planet (and to a greater extent, the universe), but I think you can be free in different ways, isn't it? They also seem to believe in some version of the Apocalypse??? The Biblical reference is correct, and it is just metaphorical. And it doesn't mean that now is this time?
04:04:36 <CakeProphet> I like to write statements and then append a question mark?
04:04:45 <zzo38> I am not sure what a "Christ Consciousness" is, here.
04:04:53 <elliott> CakeProphet: I think the pdf may have broken zzo38's brain
04:04:58 <pikhq_> Eh, they've already denied empiricism and logic; useless to attempt to reason with them.
04:05:03 <zzo38> Do you like to use a lot of question marks???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????/
04:05:13 <elliott> says the ex-christian (that's your role forever now)
04:05:16 <elliott> zzo38: no i prefer slashes///////
04:05:48 <lambdabot> lexical error in string/character literal at chara...
04:05:49 <pikhq_> elliott: Ah, fuck you.
04:06:18 <elliott> that's hardly something unique to C
04:06:35 <pikhq_> And I don't really think you can call Haskell's String to be C-style.
04:06:36 <elliott> haskell couldn't really use '' for strings, because String = [Char]
04:06:37 <CakeProphet> elliott: as in, '' is character literal. All of the languages I've been using lately (read: Perl, bash) don't work like that.
04:06:42 <elliott> pikhq_: yeah, a better word is "retarded"
04:06:48 <elliott> LINKED LIST OF MACHINE WORDS HERP DERP
04:07:01 <pikhq_> A linked list of Char is *not* the same as a null-terminated chunk of memory.
04:07:02 <elliott> it isn't even an unboxed list
04:07:09 <zzo38> "Yahweh is 'a' Creator, not 'The' One Infinite Creator. There are other and Higher 'gods' than him." Does that mean there are an infinite number of levels?
04:07:18 <elliott> so each char is an allocation NICE
04:07:18 <elliott> pikhq_: its arguably the only thing worse
04:07:34 <CakeProphet> pikhq_: I was referring to syntax not implementation.
04:07:38 <elliott> pikhq_: Text really needs to become the new String :)
04:07:46 <elliott> pikhq_: as soon as we get some kind of generic container typeclass story going
04:07:53 <pikhq_> CakeProphet: Syntax is merely aesthetic.
04:07:54 <elliott> so that we won't lose all list operations because of it
04:07:59 <elliott> pikhq_: doesn't mean it's irrelevant
04:08:13 <Sgeo> Are Javascript's problem syntactic or ... something else?
04:08:28 <Sgeo> I'm thinking that my language will have a Javascript reminiscent syntax
04:08:31 <CakeProphet> javasctipt has a pretty unoffensive syntax in my mind.
04:08:34 <pikhq_> Sgeo: Just a large number of poor decisions.
04:08:42 <zzo38> elliott: Can it have some kind of command to tell it what to do, if ' ' and " " and so on is found in a source file, then?
04:08:44 <pikhq_> Entirely *understandable*, considering the circumstances, but still.
04:08:58 * Sgeo wants to avoid making poor decisions
04:08:58 <elliott> zzo38: well, there is the OverloadedStrings extension...
04:09:15 <elliott> idiotic object system that's half-class, half-prototype
04:09:19 <zzo38> Sgeo: One problem is some Javascript systems will do wrong thing when you add line breaks inside of commands can have doing wrong thing.
04:10:06 -!- pikhq has joined.
04:10:10 <Sgeo> What if I convert blocks to lambdas, do I avoid neglecting block scope?
04:10:18 <Sgeo> Or am I misunderstanding you
04:10:37 <Sgeo> Or what you mean by "block" for that matter
04:10:39 <CakeProphet> > "I like to end my sentences with INFINITE QUESTION MARKS" ++ (repeat '?')
04:10:40 <lambdabot> "I like to end my sentences with INFINITE QUESTION MARKS???????????????????...
04:10:41 <elliott> Uhh, yes, you could wrap the body of every if statement in a (function(){...})()
04:10:48 <elliott> js only has function scope
04:10:53 <elliott> if you declare a variable three blocks nested in
04:10:56 <elliott> it's there for the rest of the function
04:10:56 <zzo38> I don't think the object system is too bad, prototype-based is not bad to me. And the Mozilla extensions to Javascript have some new thing such as __proto__ to access *and change* the prototype of an object, often useful. However you cannot do multiple inheritance. There is other thing too.
04:10:57 <Sgeo> elliott, is that insane for CSP?
04:11:08 <elliott> Sgeo: i don't think you actually know what you're doing, what are you doing
04:11:14 <zzo38> elliott: If you use "let", it is local to the block. If you use "var", it is function scope.
04:11:23 <elliott> zzo38: let is not widely supported afaik
04:11:32 <elliott> that is a mozilla extension, or at least from one of the newer badly-supported standards.
04:11:45 <Sgeo> I thought CSP woud entail having a lot of lambdas after being converted to CSP
04:12:03 <elliott> what are you actually doing
04:12:18 <pikhq> Ultimately, though, the problems with Javascript all spring from how Brendan Eich was forced to design and implement it in 10 days and make it superficially similar to Java.
04:12:27 <Sgeo> Making a language to convert into a pseudobytecode that will be read by an interpreter in LSL
04:12:57 <Sgeo> My current thoughts are leading this language to have a syntax reminiscent of Javascript
04:13:04 <elliott> you mean a terrible syntax
04:13:07 <CakeProphet> elliott: so I'm going to make a language that is somehow a cross between Perl and Haskell. WATCH.
04:13:11 <zzo38> There are, however, problems with Javascript.
04:13:22 <elliott> CakeProphet: btw i wrote a signal thing that can play audio
04:13:23 <Sgeo> What are the problems with Javascript syntax?
04:13:44 <CakeProphet> elliott: you should let me see that so I can figure out how to play audio in Haskell sensibly. :D
04:13:57 -!- pikhq_ has quit (Ping timeout: 276 seconds).
04:13:58 <Sgeo> *clap* *clap* *clap* that's not useful to me!
04:14:02 <elliott> CakeProphet: but you'll just steal it and use it to make an inferior codebase :)
04:14:06 <elliott> Sgeo: yep, but i don't really give a shit
04:14:08 <zzo38> Sgeo: The rule about semicolons. And that lambda functions require the long word "function" which if used a lot, will make a lot of long text.
04:14:20 <CakeProphet> elliott: nope. I will analyze and determine if I can make a superior system, and if not, use yours. :D
04:14:24 <Sgeo> Well, I think my lambdas will be more like Fancy's lambdas
04:14:38 <Sgeo> |string somestring| { ...code here... }
04:14:43 <elliott> CakeProphet: well mine is currently one file. :)
04:15:08 <CakeProphet> elliott: is that your metric of good code? I've heard there are lot of Perl programs that are one file.
04:15:15 <elliott> CakeProphet: but here it is: http://sprunge.us/ZGhA
04:15:19 <elliott> and no, I mean it's literally less than a hundred lines
04:15:27 <elliott> and the vast majority is trivial instances
04:15:32 <zzo38> Maybe like this is OK: (y,x=x;x*y) means to take the current value of "x" and take one parameter "y" to return their product.
04:16:04 <elliott> CakeProphet: btw, I used Float rather than Double because otherwise i would have to do conversion
04:16:10 <elliott> CakeProphet: this way i can output as thirtytwo-bit directly
04:16:10 <zzo38> And if you want statements then you use {} instead of ()
04:16:14 <elliott> and pulseaudio handles the conversion
04:16:31 <elliott> CakeProphet: well there is no point using more precision if you will just throw it away
04:16:36 <elliott> nobody uses >thirtytwobit pcm files :)
04:16:45 <elliott> CakeProphet: because the alsa binding looked ten times as painful
04:16:52 <elliott> the portaudio one is bitrottent and would not even compile
04:17:05 <elliott> I can always make it "pluggable" later, if you look you will see how trivial the pulse-using code is :P
04:18:10 <CakeProphet> elliott: why are there all of these instances that generate errors?
04:18:41 <elliott> CakeProphet: because they are impossible to implement
04:18:44 <lambdabot> forall a b. (RealFrac a, Integral b) => a -> (b, a)
04:18:57 <elliott> (Float -> a) -> (b, (Float -> a))
04:19:10 <zzo38> Another thing is the way the "new" command works in Javascript, I do not like it so much.
04:19:11 <elliott> can't convert a function to a rational
04:19:21 <elliott> the numeric typeclass hierarchy in prelude sucks
04:19:24 <elliott> but it's what we have to work with, so
04:19:34 <CakeProphet> elliott: but you needed to implement those typeclasses to implement more useful ones basically?
04:19:55 <elliott> RealFloat is a real doozy, but it gets us atan2 :D
04:20:12 <elliott> CakeProphet: anyway, "cabal install pulse-simple" and you can run that program
04:21:15 <elliott> similarly, (liftA2 f) in this context is sugar for the obvious
04:21:29 <zzo38> Perhaps helped to make BookRecord={title,author;this.title=title;this.author=author;}.makeClass({toString:(;this.title+" by "+this.author)});
04:21:50 <zzo38> would be a slightly better system than what Javascript currently has.
04:21:53 <lambdabot> (\ d e -> d >>= \ b -> e >>= \ a -> return (b + a))
04:22:14 <elliott> foo f g = \x -> f x `op` g x
04:22:46 <CakeProphet> kind of like `on` but with two functions instead of one it seems.
04:23:08 <lambdabot> forall a b c (f :: * -> *). (Applicative f) => (a -> b -> c) -> f a -> f b -> f c
04:23:13 <elliott> specialised to the function instance of applicative functors :)
04:24:02 <lambdabot> forall b c a. (b -> b -> c) -> (a -> b) -> a -> a -> c
04:24:15 <elliott> let foo = seconds 9 ((sinew 440 + sinew 554 + sinew 659) * (fromIntegral . fromEnum . (== 0) . (`mod` 2) . truncate))
04:24:19 <elliott> makes it turn off/on every second
04:25:26 <CakeProphet> there seemed to be a function to do something like that called every in yaxu's library
04:25:42 <CakeProphet> but it took a function parameter and I'm not entirely sure what that function did
04:26:01 <elliott> let foo = seconds 9 ((sinew 440 + sinew 554 + sinew 659) * (fromIntegral . (`mod` 900) . truncate . (* 900)))
04:26:02 <CakeProphet> but he would often do something like every 3 (<~ 4) ...
04:26:08 <elliott> CakeProphet: it's not quite the same here
04:26:12 <elliott> in that there's no "triggering"
04:26:14 <elliott> just filtering a signal off
04:26:25 <elliott> that sort of stuff can be built on top
04:27:11 <elliott> what do you need fourier for?
04:27:23 <CakeProphet> I think you need to use FFT to do a filter?
04:27:55 <CakeProphet> I'll go through my notes and see if there's a way to implement filters in time-domain.
04:28:18 <elliott> http://hackage.haskell.org/package/fft
04:28:36 <elliott> there's also http://hackage.haskell.org/package/pure-fft but it's pure-haskell and older
04:28:41 <elliott> with a binding the age doesn't matter so much if it compiles
04:28:44 <elliott> since you can still use the newer library...
04:28:59 <elliott> http://hackage.haskell.org/packages/archive/fft/0.1.6/doc/html/Math-FFT.html
04:29:13 <pikhq> Also, you could just write your own damned FFT, it's not *that* hard.
04:29:26 <elliott> CakeProphet: I kind of wish there was "standard" music production software that worked like this
04:29:33 <pikhq> elliott: Well, yes, the efficiency bit is the only hard bit. :P
04:29:41 <elliott> CakeProphet: Well, I suppose Max/MSP /is/ really quite similar to the Text thing yaxu did.
04:29:45 <CakeProphet> elliott: plenty exist, but none are really what I would call standard.
04:29:50 <elliott> CakeProphet: I mean something people actually used ;)
04:30:10 <CakeProphet> some people actually use stuff like Reaktor and Max/MSP
04:30:21 <zzo38> Or maybe, is better having "this" to be an actual argument to the function, similar how Python has it. And then, .makeClass should take two parameters, one is the methods, and the other is properties. And then when making object, add all properties to object with the same name as the properties of "methods", that call them with that object as its first parameter.
04:30:23 <CakeProphet> but that's more in the visual programming domain.
04:30:24 <elliott> CakeProphet: I wouldn't say Reaktor is similar.
04:30:50 <elliott> As a programmer, the only thing I've been able to open up and actually produce some simple sounds with before tearing my hair out is Max/MSP.
04:31:03 <zzo38> I have work with PureData.
04:31:15 <elliott> Everything else, my patience stops, uhh, anywhere beyond a boring trivial piano roll.
04:31:15 <CakeProphet> csound is similar I'd say, minus the functional programming aspect.
04:31:27 <elliott> PureData is like Max/MSP but less usable :D
04:32:34 -!- Kustas has joined.
04:32:44 <CakeProphet> there might be a way to calculate a bandpass filter without using fft though...
04:33:12 <CakeProphet> but you really need filters to produce anything interesting. additive synthesis takes forever and isn't anywhere as natural sounding.
04:33:39 <elliott> what are you talking about,
04:33:40 <CakeProphet> well, there are other methods of course... but subtractive synthesis (aka use filters on pulse waves and white noise and whatnot) works very well.
04:33:41 <elliott> let foo = seconds 9 . sum $ [
04:33:41 <elliott> sinew 900 * (fromIntegral . (`mod` 2) . truncate . (* 90)),
04:33:41 <elliott> sinew 659 * (fromIntegral . (`mod` 4) . truncate . (* 80)),
04:33:48 -!- sebbu2 has joined.
04:33:48 -!- sebbu2 has quit (Changing host).
04:33:48 -!- sebbu2 has joined.
04:33:57 <elliott> by awesome, I mean it sounds like noise
04:34:01 <CakeProphet> good luck producing music people will listen to on that.
04:34:11 <pikhq> I'm genuinely impressed that I'm actually able to grok the examples I'm seeing here.
04:34:19 <elliott> CakeProphet: who cares what other people would listen to
04:34:38 <elliott> pikhq: spoiler: i have no idea what i'm doing either
04:34:43 <pikhq> CakeProphet: "Noise" is a legit musical genre. Need I say more?
04:34:48 <elliott> sinew :: Float -> Signal Sample
04:34:48 <elliott> sinew hz = sin . ((2 * pi * hz) *)
04:34:48 <elliott> in case anyone was confused
04:34:56 <elliott> pikhq: Depends how you define legit ;)
04:35:05 <CakeProphet> I'm just saying, filters are pretty essential tools of electronic music.
04:35:12 <pikhq> elliott: "People actually make and listen to it".
04:35:30 <pikhq> "Music" is, of course, harder to define.
04:35:37 <elliott> pikhq: I am sure by that standard, there is a musical genre called baby-fucking vomitcore.
04:36:15 <pikhq> But I'm going to go out on a limb and call it "sounds made for aesthetic purposes".
04:36:32 <pikhq> Seems sufficiently broad.
04:36:33 -!- sebbu has quit (Ping timeout: 252 seconds).
04:36:36 <elliott> "well that isn't vague at all"
04:37:08 <pikhq> Hey, "music" is quite a broad topic.
04:37:20 <CakeProphet> elliott: so 90 and 80 are sufficient amplitude values?
04:37:30 <pikhq> Hmm. Minor issue... 4'33" might not count.
04:37:38 <elliott> CakeProphet: you're reading it backwards
04:37:42 <CakeProphet> I remember in csound I had to use numbers that were somewhat larger.
04:37:48 <elliott> it timeses the time (in seconds) by 90
04:37:58 <elliott> so the result is like 0 or one
04:38:01 <elliott> or 0 or one or two or three or four
04:38:05 <elliott> and it timeses the sine wave by that
04:38:05 <CakeProphet> well, what do you do to get an audible result?
04:38:09 <elliott> CakeProphet: use a sine wave :)
04:38:17 <elliott> remember that "one" is a perfectly good value
04:38:22 <elliott> that would just give the sine wave back untouched
04:39:19 <CakeProphet> at what point do you add an amplitude value to get an audible result?
04:39:22 <pikhq> Is 4'33" not counting as "music" an actual fault in the definition, though?
04:39:51 <elliott> CakeProphet: nothing is going to be audible if you don't have some kind of wave
04:39:56 <pikhq> Well, fuck. Music is undefinable.
04:40:07 <CakeProphet> elliott: ...I'm not even talking about the inclusion or exclusion of a wave.
04:40:14 <elliott> CakeProphet: then i do not know what you are talking about
04:40:19 <CakeProphet> I'm saying, at what point do you amplify the signal to produce a sound that can be heard? where is the volume?
04:40:19 <pikhq> Fuck you, John Cage!
04:40:19 <Patashu> if we didn't work with aristolean logic this wouldn't be a problem
04:40:53 <elliott> CakeProphet: erm, depends how loud the signal is
04:42:23 <CakeProphet> elliott: so how and at what point do you specify how loud the signal is?
04:42:37 <elliott> i do not understand the question.
04:42:43 <CakeProphet> in my experience it would be amp*sinew(440)
04:43:36 -!- Ycros has quit (Read error: Connection reset by peer).
04:43:38 <CakeProphet> so the amplitude of all of your sign waves is 1, and you get audible playback?
04:43:40 -!- Ycros has joined.
04:43:54 <lambdabot> System.IO openBinaryFile :: FilePath -> IOMode -> IO Handle
04:44:38 <elliott> pikhq: what's an easy way to chuck a bunch of Floats to a file in little-endian thirty-two bit format
04:45:12 <lambdabot> forall a b. (Integral a, Num b) => a -> b
04:47:29 <CakeProphet> elliott: I'm assuming you know how amplitude works right?
04:47:51 <CakeProphet> I just... don't see how you don't understand my question.
04:48:03 <elliott> well, it's almost six am and i need sleep.
04:51:35 <elliott> ".ress is not a TLD, http://ip.add.ress is not a possible address. tldr, fake EDIT: not fake, i misunderstood"
04:53:55 <elliott> http://www.reddit.com/r/AskReddit/comments/hp3vr/whats_the_scariest_wierdest_most_mysterious_web/c1x9so1
04:53:59 <elliott> HOUSE OF LEAVES LEADS TO HOUSE PURIFICATION
04:54:19 <elliott> "If you consider yourself sensitive in a... Spiritual... Manner" has to be the best opening to anything ever
04:55:30 <zzo38> Perhaps that "dialogue_hh.pdf" can be taken metaphorically and with possible errors in the same way the Bible can be taken in this way.
04:56:03 <elliott> copumpkin: House of Leaves?
04:56:08 <elliott> i keep meaning to read it sometime.
04:56:16 <elliott> but there are a lot of books on that list.
04:56:37 <copumpkin> I haven't read it, but have leafed through it
04:56:58 <elliott> the only thing that could make it better is
04:57:00 <elliott> WERE YOU IN A HOUSE AT THE TIME
04:57:39 <Sgeo> http://www.reddit.com/r/todayilearned/comments/hpduk/til_about_the_deep_web_what_it_contains_and_how/c1xa5l1 I hate everyone
04:58:21 <elliott> Sgeo: funny. that's how i feel sometimes. sometimes because of you
04:58:24 <elliott> but why that comment in particular
04:58:30 <elliott> the whole thread is idiocy
04:58:55 <elliott> COPUMpkITS TOO MUCH FOR MY VEINS
04:59:08 <CakeProphet> elliott: if the highest absolute value that you're outputting to PulseAudio is 1, that's an inaudible signal in 32-bit signed floating point LPCM..
04:59:25 <elliott> CakeProphet: im outputting floats in general
04:59:28 <elliott> http://upload.wikimedia.org/wikipedia/commons/d/d1/IAO-logo.png
04:59:36 <elliott> when youre making your freaky spy-on-everything operatinos
04:59:41 <elliott> don't use the fucking all-seeing eye
04:59:45 <elliott> why do you even do that any more
04:59:49 <elliott> are you TRYING to get conspiracies
04:59:52 <CakeProphet> elliott: yes, but in your example you're only outputting sinew, which has an amplitude of 1.
05:00:31 <elliott> CakeProphet: dunno then :)
05:00:40 <elliott> CakeProphet: maybe because it goes negative
05:00:44 <elliott> its interpreted as a wraparound
05:01:18 <CakeProphet> negative values are quite common in an audio signal represented by floating points with a centerpoint at 0
05:01:56 <CakeProphet> I will have to play with this some other time.
05:02:13 <CakeProphet> and MAKE A MORE AWESOME signal processing library than you
05:02:32 <CakeProphet> though with shittier Haskell code, most likely.
05:03:50 <elliott> theres no point free style apart from in the instances
05:03:52 <elliott> which are just boilerplate code
05:03:56 <elliott> this is a five second hack
05:04:29 <CakeProphet> well, I assumed you were going to work on it more.
05:05:12 <CakeProphet> also, for some reason I've seen cos instead of sin used more often in signal processing... I have no idea why though.
05:05:25 <CakeProphet> it shouldn't matter as long as you use one or the other.
05:10:46 <elliott> I guess I should read House of Leaves, I haven't read anything in physical book form in a while.
05:11:01 <CakeProphet> elliott: so do you "implement" RealFrac because you want Floating, or..? I don't really know the numeric typeclass hierarchy.
05:11:22 <elliott> I basically just implemented everything Double has
05:11:35 <elliott> so that everything worked as long as you didn't try and do the impossible :)
05:11:38 <elliott> CakeProphet: really, all of this is just nicety
05:11:44 <elliott> you can easily write it without these instances
05:11:46 <elliott> they are just syntactic convenience
05:11:51 <elliott> would you ever take the sin of a signal itself?
05:11:53 <elliott> i'm not sure but I doubt it.
05:12:04 <elliott> but this way you can say pi*signal
05:12:05 <CakeProphet> the only thing somewhat useful in Floating would be **
05:14:03 <elliott> (^) :: (Num a, Integral b) => a -> b -> a
05:14:07 <elliott> it'll just be defined recursively
05:14:17 <elliott> so it's not in any typeclass
05:16:45 <CakeProphet> it seems using FFT will require an actual sampled signal unfortunately.
05:18:11 <CakeProphet> so there will be the pure functional approach and then another module for working with a sampled signal.
05:18:24 <elliott> CakeProphet: erm, a function + the sample rate == sampled signal
05:18:29 <elliott> just only call at the relevant multiples
05:19:07 <CakeProphet> but either way the result of a FFT will have to be represented by [Float] or [Complex]
05:19:29 <elliott> no, it could easily be a signal
05:19:47 <elliott> (\x -> resultList !! truncate (x*samplerate))
05:19:55 <CakeProphet> I was about ask... are you suggesting I use !!?
05:20:10 <elliott> CakeProphet: Well, I mean, you want something to load a PCM file into a Signal anyway
05:20:19 <elliott> Which would be effectively the same idea as this
05:21:09 <elliott> How is it less efficient than a list
05:22:37 <CakeProphet> because when you convert Signal back into a list for playback you're calling that function for each sample increment, which is O(n**2)
05:24:20 <elliott> CakeProphet: you could easily memoise it :)
05:24:29 <elliott> (\x -> fft foo !! truncate (x*samplerate))
05:24:35 <elliott> let xs = fft foo in (\x -> xs !! truncate (x*samplerate))
05:24:40 <elliott> that way it'll cache results as they're computed
05:25:04 <elliott> so if you only access it at reciprocal of samplerate increments, it'll be exactly the same as a list
05:25:11 <elliott> CakeProphet: or do you mean that it'll have to do "tail" x times?
05:25:16 <elliott> you could use a non-list type as the result
05:25:42 <CakeProphet> I just think the !! would incur performance overhead.
05:26:26 <CakeProphet> whereas manipulating it directly as a list would be more efficient.
05:26:28 <elliott> right, so use a non-list type :)
05:27:35 <elliott> CakeProphet: you could instead do a continuous fourier transform :D
05:27:40 <elliott> also, an array would work fine
05:27:45 <elliott> that's probably what FFTW and the like operate on natively
05:27:54 <elliott> CakeProphet: then it's a function already, not a list ;D
05:28:04 <elliott> numerically approximated, of course
05:28:11 <elliott> i don't think Automatic Differentiation with dual numbers would apply here
05:28:17 <elliott> and certainly not symbolic
05:28:24 <zzo38> All these things that HH said is about as good as any religion in general. It should not be considered different to that. HH has some insanity but that is what helps him to come up with these perspectives! And it is not all bad, either. Yet, like any religious text, you should not take everything literally. It should be questioned, and so can everything be questioned.
05:29:19 <elliott> CakeProphet: who knows though -- maybe it would work :D
05:29:45 <elliott> hmm, I wonder whether this caving story thing will get scary soon
05:31:52 <CakeProphet> elliott: it seems that Math.FFT mostly uses CArray
05:31:52 <pikhq> zzo38: Like all religious texts, it should be taken as 100% bullshit unless shown otherwise.
05:33:01 <zzo38> pikhq: In the same way that other religious texts can be taken as 100% bullshit, yes, so should this one, of course.
05:35:08 <CakeProphet> elliott: actually, do you think CArray would be a good type to use throughout instead of lists? I don't think so because I need signals to be possibly infinite.
05:35:57 <elliott> CakeProphet: you realise haskell has arrays, right? you do not have to use CArray unless you are interfacing with c code manually
05:36:35 <elliott> I think lists are fairly decent for discrete things, and functions are good for continuous things... and usually it's more comfortable to work in the land of the continuous
05:36:56 <elliott> additionally: I wouldn't worry about performance at this stage.
05:38:05 <pikhq> As always, premature optimisation is the root of all evil.
05:38:44 <CakeProphet> the main problem I'd have with fft is that it uses CArray, so I'd need to partition my signal into "chunks" of some sensible length.
05:39:26 <elliott> CakeProphet: right... Well, you know, it may be better to write your own FFI to start with.
05:39:33 <elliott> Get the interface you want then work on optimising it.
05:39:38 <elliott> I mean, see http://hackage.haskell.org/packages/archive/pure-fft/0.2.0/doc/html/Numeric-FFT.html
05:39:48 <elliott> I dunno whether it is lazy though
05:39:55 <elliott> Can't tell from glancing at http://hackage.haskell.org/packages/archive/pure-fft/0.2.0/doc/html/src/Numeric-FFT.html#fft
05:41:13 <elliott> hmm, this story may be starting to get a little frekay
05:42:32 <zzo38> HH claims to be working in other solar systems... that is complete nonsense. However, I suppose it works because of higher "Densities", whatever that means. Obviously that is also nonsense. (See? It is the same kind of nonsense and metaphorical and other qualities like other religious texts, just more modern.)
05:44:49 <elliott> "I still harbor the fantasy that there is a hidden entrance to the other side of the passage and years ago Spanish explorers hid their treasures in the cave and sealed up the entrance. And it has remained untouched until we find it! B has a more realistic, although more mundane theory. He figures there is more cave on the other side. We'll see who is right."
05:46:12 <elliott> ooh, this is starting to get spooky :)
05:46:43 <zzo38> elliott: I do suppose B does have a more likely and more realistic theory. However, looking is still the correct way to see who is right (or maybe you are both wrong).
05:47:38 <elliott> zzo38: i'm pretty sure this story is fiction in the horror genre, so more realistic probably means less likely :)
05:48:39 -!- oerjan has joined.
05:48:46 <zzo38> elliott: O, well, I was not answering the question from that perspective. But from that perspective, perhaps you are right about that. (It still doesn't necessarily mean either of those two theories are correct, though>0
05:49:14 <elliott> zzo38: I think a bunch of treasure left my explorers would be a rather crappy ending to a horror story :)
05:50:26 <elliott> oerjan: aha, a decent measurement of your wake-up time >:)
05:50:32 <elliott> unless you just mean morning as in time of day...
05:50:53 <elliott> "We immediately noted the presence of the breeze blowing out of the hole, and the rumbling."
05:51:01 <zzo38> elliott: I suppose you might be correct about that. Which could mean both theories are incorrect, in the context of this story.
05:51:29 <elliott> oerjan: aha, so you DID just wake up
05:51:40 <elliott> zzo38: I suspect B is right in that there's more cave, but I imagine it's No Normal Cave(tm) :-P
05:51:44 <elliott> I'm just reading everything linked from that reddit thread.
05:51:51 <oerjan> the prior just keeps getting adjusted
05:52:04 <elliott> I seem to be a lot harder to scare than I used to be though I'm sure it'll come back to haunt me next time it's dark.
05:53:01 <elliott> great, now it's triggering my latent claustrophobia with a narrow cave passage :)
05:53:31 <zzo38> Perhaps they are *infinite* caves!!! Now you cannot find the way out... too bad!!!
05:55:25 <zzo38> (Note that the HH document also contains some bad typography in some places)
05:58:07 <oerjan> infinite caves with exits in other dimensions
06:03:30 * CakeProphet is reading about how to implement a digital filter... fun.
06:04:13 <CakeProphet> mathematically it's recursive, but I suspect to avoid massive performance overhead I should cache results in a data structure.
06:04:22 <oerjan> just beware of the places where the wind is blowing harder and harder... they lead to vacuum.
06:05:45 <elliott> CakeProphet: just do it naively.
06:06:00 <elliott> if you do it naively, it will be a small enough body of code to throw away.
06:06:14 <elliott> you can worry about performance once you've proved it will work :P
06:07:23 <CakeProphet> uh, okay. But I'll be recursively pulling the value of every previous calculation twice to compute each new value. It's Fibonacci-esque.
06:07:57 <elliott> then yeah, just memoise :P
06:08:01 <CakeProphet> I'm almost positively the naive code will be thrown away.
06:08:22 <elliott> right, I am just saying that writing something you know you will throw away is not a bad thing
06:08:36 <elliott> CakeProphet: http://www.haskell.org/haskellwiki/Memoization
06:08:38 <CakeProphet> true, it will give me an idea of how to write the memoised version.
06:08:46 <elliott> writing a memoised version?
06:08:53 <elliott> just use a memoisation function
06:09:11 <pikhq> Yeah, memoisation is a trivial transform in Haskell.
06:09:31 <pikhq> And why is it that I use the UK spelling of ise/ize?
06:09:49 <oerjan> how should i know, old chap?
06:10:08 <pikhq> And for that matter, why do no UK programmers use "programme"?
06:10:20 <CakeProphet> because it's a horrid way to write program.
06:10:32 <pikhq> Well, yes, I meant "aside from the obvious".
06:10:33 <CakeProphet> they know that their limey ways are filthy.
06:11:02 <elliott> <pikhq> And why is it that I use the UK spelling of ise/ize?
06:11:14 <pikhq> elliott: It's very distinctly non-US.
06:11:15 <oerjan> pragmatic programmer pogroms
06:11:21 <elliott> also this story is starting to get scary finally, yay
06:11:28 <pikhq> And, right, OED *does* use it.
06:12:10 <pikhq> Hmm. I'm not sure which country's variant of gray/grey I use. Rather, I'm not sure which country it belongs to.
06:12:19 <elliott> well etymologically, and pronounci...olity, -ize is correct
06:12:24 <elliott> i use ise though as of late, dunno why
06:12:51 <elliott> CakeProphet: libertarian slave-owner
06:13:02 <elliott> anyway, time to dive in to probably the last chapter of this cave story, i guess for ~~immersion~~ purposes ircing is not a good idea
06:13:12 <pikhq> At least I'm not using "colour".
06:14:06 <CakeProphet> I prefer to use the old school form of 'an'
06:14:15 <CakeProphet> where you take the n and put it at the beginning of the next word.
06:14:31 <elliott> CakeProphet: that's a noutrage
06:14:42 <elliott> anyway, everybody shut up and stop me ircing, i need to spook myself
06:14:58 -!- elliott has set topic: order of the niditioc programmers | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
06:15:14 <CakeProphet> oerjan: apparently "apron" was originally "napron"
06:15:22 <CakeProphet> but once we switched over to using an the 'n' disappeared
06:17:44 <elliott> oh jesus this is starting to scare me
06:18:27 <elliott> I am quite easily sared. the SCP foundation has given me cold sweats at night many a time
06:18:46 <lambdabot> "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
06:18:48 <pikhq> The SCP has some legitimately scary stuff, so...
06:18:53 <elliott> I like this story, though -- it's well-written even apart from the fear.
06:19:04 <elliott> http://www.angelfire.com/trek/caver/
06:19:31 <lambdabot> "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
06:21:02 <CakeProphet> for some reason a list without a [] scares me.
06:21:13 <pikhq> CakeProphet: Why should it?
06:21:36 <CakeProphet> I make no normative claim about my vague fear.
06:21:44 <lambdabot> lexical error in string/character literal at chara...
06:21:55 <pikhq> CakeProphet: And it's not like that's a uniquely Haskell thing, either.
06:22:02 <lambdabot> "aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou ae...
06:22:04 <lambdabot> "aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou ae...
06:22:12 <CakeProphet> pikhq: oh I know. No need to give me a lecture on circular linked lists.
06:22:20 <lambdabot> cycle xs = xs' where xs' = xs ++ xs'
06:22:27 <pikhq> Pffft, I can do lazy infinite lists in C.
06:22:36 <Patashu> is anything in haskell -not- written in haskell?
06:22:40 <Patashu> the language interprets itself O_O
06:23:05 <oerjan> Patashu: it goes fairly deep
06:23:08 <lambdabot> Source not found. Maybe you made a typo?
06:23:11 <elliott> oh jesus christ this is starting to fuck with my head
06:23:18 <pikhq> Patashu: GHC's runtime system isn't entirely in Haskell, as far as I know.
06:23:19 <elliott> Patashu: for a start, GHC is a /compiler/
06:23:24 <oerjan> i'm sure that _used_ to be there :(
06:23:34 <elliott> Patashu: for a second, a lot of GHC's internal implementations of things are Haskell
06:23:38 <elliott> for instance the IO monad type itself and operations on it, etc.
06:23:43 <elliott> but there is C code that makes up the runtime system, of course.
06:23:52 <elliott> like oerjan says, it goes fairly deep :)
06:24:08 <elliott> Patashu: of course there are conventional interpreters like Hugs; I don't know how its IO monad is defined, but probably in Haskell too I would wager
06:24:12 <pikhq> Sadly, GHC's code is pretty poor.
06:24:25 <pikhq> Though, doesn't it predate Haskell 98?
06:25:04 <elliott> lots of parts predate just about everything :)
06:25:09 <elliott> but they're working on cleaning it up
06:25:13 <elliott> and new parts are of course well-written
06:25:24 <elliott> but yeah, there is a lot of recursive functions when combinators would do, etc.
06:25:25 <pikhq> I seem to recall it having multiple implementations of Monad floating around, though.
06:25:40 <oerjan> i recall hearing that too
06:25:41 <pikhq> But, eh, old code base predating modern niceties has that shit happen.
06:25:59 <pikhq> You can see rather a lot of the same in GCC.
06:26:28 <pikhq> Man. It freaking predates C90.
06:26:37 <elliott> ohh jesus this is frekaing me out
06:28:03 -!- Kustas has quit (Quit: gone).
06:28:21 <lambdabot> Can't think of anything more interesting to search for?
06:29:27 <lambdabot> Maybe you meant: keal part pl spell tell url vera
06:30:14 <elliott> CakeProphet: try exclamation mark in place of @
06:31:31 -!- Sgeo has quit (Ping timeout: 248 seconds).
06:34:57 <oerjan> BUT WAIT, THERE'S MORE! WE THROW IN A FREE DECAPITATION FOR JUST _FIVE_ DOLLARS
06:35:11 <elliott> coppro: reading a story linked on thatreddit thread of creepy stuff
06:36:01 <elliott> oh great, go back to the cave, that's the best fucking idea you've had all story
06:36:13 <elliott> you get the award for not doing stupid fucking shit
06:38:11 <elliott> the last page loops back to itself.
06:41:41 -!- Ycros has quit (Ping timeout: 260 seconds).
06:44:22 -!- Ycros has joined.
06:58:12 -!- NihilistDandy has quit (Quit: leaving).
07:00:39 -!- Ycros has quit (Remote host closed the connection).
07:00:43 -!- Kustas has joined.
07:01:17 -!- Ycros has joined.
07:03:22 <elliott> http://areyoutargeted.com/
07:08:14 <CakeProphet> elliott: using ! wouldn't allow me to enact my vengence upon lambdabot for insulting my creativity.
07:08:22 <EgoBot> addinterp: !addinterp <name> <language> <code>. Add a new interpreter to EgoBot. This interpreter will be run once every time you type !<name> <subcode>, and receive the program code as input.
07:09:08 <Kustas> CakeProphet: it's probably because you mistype vengeance
07:09:30 -!- Kustas has changed nick to Kostas.
07:09:34 <elliott> oh hey thisman.org, this is a fun one
07:09:43 -!- Kostas has changed nick to Kustas.
07:09:55 <elliott> Kustas: you mistype Kustas
07:10:19 <Kustas> that other nick is taken.. i must think of something different
07:10:29 <Kustas> or enact my vengeance on the original nick-bearer
07:10:40 <CakeProphet> !addinterp elmer perl for (<>) {s/wr\B/w/i; s/r\B/w/i; print}
07:10:41 <EgoBot> Interpreter elmer installed.
07:10:43 <elliott> "I have never had homosexual relationships or even fantasies. But I dream about having sexing with this man all the time." having sexing with this man all the time
07:10:55 <elliott> CakeProphet: who needs elmer when you have
07:11:25 <elliott> !addinterp elmer perl for (<>) {s/wr\B/w/gi; s/r\B/w/gi; print}
07:11:26 <EgoBot> There is already an interpreter for elmer!
07:11:33 <EgoBot> Interpreter elmer deleted.
07:11:34 <elliott> !addinterp elmer perl for (<>) {s/wr\B/w/gi; s/r\B/w/gi; print}
07:11:34 <EgoBot> Interpreter elmer installed.
07:11:55 <Kustas> !swedish rabbit season
07:12:41 <elliott> "It is the most interesting theory and the one that has the greatest implications, but it has also the lowest scientific credibility." --thisman
07:13:01 <elliott> his face is slightly spooky though.
07:13:57 -!- SimonRC has joined.
07:14:19 <elliott> Catherine Kinsbergen, Email, Web Site
07:14:19 <elliott> I've dreamed of this man since i was 5 yesrs old as a vampire which try to kill me. I'm now 18 and I still dream about him.. Can't beleive i'm not alone to see him
07:14:19 <elliott> Linda Borgman, Email, Web Site
07:14:19 <elliott> OMG! I do dream of this man too! I punch him in face but I try to run and cant! He catch me and tell me to do naughty things with him
07:14:41 <CakeProphet> !elmer it's been a long time since I've been wrong about screwy rabbits. Even longer now.
07:14:42 <EgoBot> it's been a long time since I've been wong about scwewy wabbits. Even longer now.
07:14:50 <elliott> !swedish it's been a long time since I've been wong about scwewy wabbits. Even longer now.
07:14:51 <EgoBot> it's beee a lung teeme-a seence-a I'fe-a beee vung ebuoot scvooy vebbeets. Ifee lunger noo. Bork Bork Bork!
07:14:55 <elliott> swedish elmer fudd is a thing of beauty
07:15:28 <CakeProphet> for some reason "long" is not become "wong"
07:16:52 <Patashu> it'd need another regex for that
07:17:31 <CakeProphet> does r\B not match at the beginning of a word?
07:18:07 <Patashu> \B means 'not word boundary'
07:18:36 <CakeProphet> or my brain is currently thinking in engrish.
07:21:44 <EgoBot> Interpreter elmer deleted.
07:21:44 <CakeProphet> !addinterp elmer perl for (<>) {s/wr\B/w/gi; s/(?<!i)r\B/w/gi; print}
07:21:44 <EgoBot> Interpreter elmer installed.
07:21:48 <Kustas> simple regexp won't ever do the trick
07:22:17 <elliott> so hey hi Kustas who are you
07:22:22 <elliott> weren't you here a few days ago too
07:22:44 <Kustas> the day before yesterday, maybe
07:23:47 <CakeProphet> my principle of life: regex is adequate to solve every problem.
07:23:55 <CakeProphet> obviously I have gotten very far with this principle.
07:24:07 <Patashu> I think I solved a maze using a regex once
07:24:29 <elliott> Kustas: hmm i've already asked you if you were from the wiki haven't i :D
07:25:26 <Kustas> but this is the first time my attention is on this channel
07:25:41 <CakeProphet> !elmer Wright Brothers read ripe literature
07:25:42 <EgoBot> wight Bwothews wead wipe litewatuwe
07:26:42 <Kustas> it would be far cooler if it would convert based on the pronunciation instead of the spelling
07:26:48 <elliott> !swedish wight Bwothews wead wipe litewatuwe
07:26:49 <EgoBot> veeght Bvuzeevs veed veepe-a leetooetoove-a
07:26:55 <elliott> !elmer veeght Bvuzeevs veed veepe-a leetooetoove-a
07:26:56 <EgoBot> veeght Bvuzeevs veed veepe-a leetooetoove-a
07:27:08 <elliott> until it's just vwwvwvwvw bork bork bork
07:30:35 <EgoBot> Interpreter elmer deleted.
07:30:35 <CakeProphet> !addinterp elmer perl for (<>) {s/(w)r\B/$1/gi; s/(?<![iou])r\B/w/g; s/(?<![iou])R\B/W/g; print}
07:30:36 <EgoBot> Interpreter elmer installed.
07:30:49 <CakeProphet> !elmer Wright Brothers read ripe literature
07:30:50 <EgoBot> Wight Bwothews wead wipe litewature
07:31:43 <elliott> CakeProphet: there's a special way you can maintain the case, I think
07:33:00 <EgoBot> Interpreter elmer deleted.
07:33:01 <CakeProphet> !addinterp elmer perl for (<>) {s/(w)r\B/$1/gi; s/(?<![iou])rs?\B/w/g; s/(?<![iou])Rs?\B/W/g; print}
07:33:01 <EgoBot> Interpreter elmer installed.
07:34:06 <Lymia> !addinterp blowup perl fork while fork
07:34:07 <EgoBot> Interpreter blowup installed.
07:34:18 <EgoBot> Interpreter blowup deleted.
07:35:28 <elliott> http://www.catnipples.com/ what
07:35:55 <elliott> Intro by Lloyd Pye: We at the Starchild Project have repeatedly tried to correct the outdated and incorrect information about the Starchild Skull presented in the article on Wikipedia (which I refer to by the more appropriate name “Wackypedia”). Virtually no one realizes that Wikipedia’s stated mission isn’t actually to provide the truth about selected subjects, it is to determine the consensus opinion of what they think most people belie
07:35:55 <elliott> ve to be the truth (Wikipedia, 2010a). In fact, Wikipedia rejects any form of original research (Wikipedia, 2010b). The astounding fact is that current Wikipedia “quality standards” would prevent Darwin, Einstein, Edison, and many other geniuses from contributing their original research. This is why we call them Wackypedia, and it’s why that name is so apt for the entire organization.
07:35:55 <CakeProphet> !addinterp elmer perl for (<>) {s/(w)r\B/$1/gi; s/(?<![iou])rs??\B/w/g; s/(?<![iou])Rs??\B/W/g; print}
07:35:57 <EgoBot> There is already an interpreter for elmer!
07:36:02 <CakeProphet> !addinterp elmer perl for (<>) {s/(w)r\B/$1/gi; s/(?<![iou])rs??\B/w/g; s/(?<![iou])Rs??\B/W/g; print}
07:36:02 <EgoBot> Interpreter elmer deleted.
07:36:04 <EgoBot> Interpreter elmer installed.
07:36:23 <elliott> "Pye's "Starchild Project" supporters claim that the skull is that of an extraterrestrial infant, or the hybrid offspring of an extraterrestrial and a human female."
07:36:38 <Patashu> how bout that original research
07:36:57 <elliott> i'm learning something really comforting from this thread
07:37:16 <Patashu> it's actually pretty impressive that Wikipedia works so well
07:37:24 <elliott> humanity is in exactly equal amounts depraved, idiotic and confused as i thought it was
07:37:27 <Patashu> you'd think it would collapse under its bureaucratic weight
07:37:49 <elliott> nothing has shocked me, nothing has scared me more than anything has scared me before
07:38:00 <elliott> Patashu: It is in a continuous state of collapse.
07:38:17 <elliott> Patashu: not a second goes by without drama somewhere in metaspace on Wikipedia :)
07:38:47 <Patashu> they do a very good job of not having metapollution
07:38:55 <elliott> Unfortunately the systematic bias extends to the administrative body not realising that there's a huge long tail distribution with editors, and so proposals to seriously restrict or disable anonymous editing even get serious consideration...
07:39:05 <elliott> Patashu: Yes, it's true that it doesn't often leak out significantly into article-space.
07:39:39 <elliott> Still, the bad management will start to have an effect sometime. Or maybe it won't, that would be the most comical thing, because it'd prove that the metaspace is completely ineffective.
07:39:59 <elliott> "Linux has a bunch of different ways to reset an x86. Some of them are 32-bit only and so I'm just going to ignore them because honestly just what are you doing with your life. Also, they're horrible. So, that leaves us with five of them."
07:40:19 <Patashu> I once saw an article that claimed wikipedia was failing because less people were editing it over time. But of course less people are editing it, most topics are filled out adequately by now and only experts would have things to add
07:40:40 <elliott> http://www.aaronsw.com/weblog/whowriteswikipedia is a "classic" on the subject.
07:40:45 <elliott> But yeah, Wikipedia is by no means failing.
07:40:51 <elliott> It's certainly mismanaged though.
07:40:57 <EgoBot> Interpreter elmer deleted.
07:40:59 <CakeProphet> !addinterp elmer perl for (<>) {s/(w)r\B/$1/gi; s/(?<![iou]) r ( (?![sS]\b) | \B )/w/gx; s/(?<![iou]) R ( (?![sS]\b) | \B )/W/gx; print}
07:40:59 <EgoBot> Interpreter elmer installed.
07:41:34 <elliott> "Now, I'll admit that this all sounds pretty depressing. But people clearly sell computers with the expectation that they'll reboot correctly, so what's going on here?"
07:42:12 <Patashu> Elliot, what are you quoting?
07:42:17 <elliott> Patashu: http://mjg59.dreamwidth.org/3561.html
07:42:25 <elliott> also: don't you have tab completion? :)
07:42:52 <Patashu> I have tab completion (mIRC), what I lack is a tab completion instinct
07:42:56 <Patashu> I just type out however much of a person's name is enough
07:43:03 <Kustas> elliott: his computer maybe does not reboot correctly
07:43:09 <elliott> Patashu: Clearly not enough, you missed a letter :-)
07:43:21 <elliott> Kustas: I rather think it does :P
07:43:44 <Patashu> It was still uniquely addressing you so i'm down with that
07:43:45 <elliott> "Default until 3.0 has been to try to use the keyboard controller, and if we're still awake after a few seconds then to force a triple fault. This does work on most machines, but since this isn't what modern Windows does there's an increasing number of systems that don't behave."
07:43:56 <Patashu> Wow, I knew wikipedia started out with only a core group of editors, I didn't know it was so tight
07:44:04 <elliott> Pat-a-cake pat-a-cake baker's man: Sure thing bro.
07:44:34 <elliott> Patashu: btw aaron directly contradicts what jimbo says later
07:45:08 <Patashu> ' But that’s not at all what I found. Almost every time I saw a substantive edit, I found the user who had contributed it was not an active user of the site.'
07:45:14 <Patashu> how's that not contradictory? still reading though
07:46:21 -!- zzo38 has quit (Remote host closed the connection).
07:46:28 <elliott> it also provides quite an explanation for how so many high-profile wikipedia editors essentially just do meta-twiddling
07:46:39 <elliott> not that there's anything wrong with meta-twiddling, but looking at active users you wouldn't think anything would ever get written at all
07:48:03 <Kustas> it's all mostly written already, so meta-twiddling is the only thing left to do
07:48:08 <Patashu> Wow, I had no idea rebooting a computer was so hard
07:48:47 <elliott> Kustas: There is always more to write about :)
07:49:20 <Kustas> elliott: i used to think so too.. but then i learned to read
07:49:22 <elliott> although the notability policy's current interpretation seems to be "whatever we currently have an article on is notable, everything else isn't", so maybe as far as wikipedia is concerned there isn't
07:50:51 <EgoBot> Interpreter elmer deleted.
07:50:51 <CakeProphet> !addinterp elmer perl for (<>) {s/(w)r\B/$1/gi; s/(?<![iou]) r (?![sS]?\W)/w/gx; s/(?<![iou]) R (?![sS]?\W)\B/W/gx; print}
07:50:51 <EgoBot> Interpreter elmer installed.
07:51:02 <EgoBot> yo bwothers you dig my jive?
07:51:59 <CakeProphet> but apparently zero-width assertions within a look-around mess up.
07:53:34 <CakeProphet> now quickly, find a situation in which an r proceeds an i, o, or u but needs to be converted to a w.
07:54:34 <Patashu> o/~ Double fault all the way across kernel space... o/~
07:58:31 <CakeProphet> !addinterp elmer perl for (<>) {s/l/w/gi; s/L/W/gi; s/(w)r\B/$1/gi; s/(?<![iou]) r (?![sS]?\W)/w/gx; s/(?<![iou]) R (?![sS]?\W)\B/W/gx; print}
07:58:32 <EgoBot> There is already an interpreter for elmer!
07:58:38 <EgoBot> Interpreter elmer deleted.
07:58:39 <CakeProphet> !addinterp elmer perl for (<>) {s/l/w/gi; s/L/W/gi; s/(w)r\B/$1/gi; s/(?<![iou]) r (?![sS]?\W)/w/gx; s/(?<![iou]) R (?![sS]?\W)\B/W/gx; print}
07:58:39 <EgoBot> Interpreter elmer installed.
07:58:49 <EgoBot> kiww the wabbit, kiww the wabbit
08:03:57 -!- pikhq has quit (Remote host closed the connection).
08:04:14 <Lymia> elliott, so, wait.
08:04:18 -!- pikhq has joined.
08:04:25 <Lymia> Systems should have a way to reboot.
08:04:40 <Lymia> Linux uses at least one that should be standard.
08:04:56 <Lymia> Because Windows uses a slightly different behavior... the standard way doesn't work.
08:05:16 <Lymia> Linux is forced to be bug-compatible... with the hardware.
08:05:28 <elliott> http://www.planecrashinfo.com/lastwords.htm oh this is interesting
08:05:35 <Lymia> Do they not test other operating systems, or...
08:05:40 <Lymia> Follow the standard?
08:06:03 <EgoBot> Interpreter elmer deleted.
08:06:04 <CakeProphet> !addinterp elmer perl for (<>) {lc; s/l/w/g; s/er/uh/g; s/wr\B/w/g; s/(?<![iou])r\B/w/gx; print}
08:06:04 <EgoBot> Interpreter elmer installed.
08:09:39 -!- pikhq_ has joined.
08:09:55 <elliott> pikhq: you soifj a ozjidf oniwef
08:13:19 <elliott> http://marineparade.net/wewantyoursoul/ oh sweet
08:13:33 -!- pikhq has quit (Ping timeout: 260 seconds).
08:18:27 <Kustas> !swedish ou soifj a ozjidf oniwef
08:18:28 <EgoBot> ooo sueeffj a oozjeedff ooneeveff
08:19:17 <CakeProphet> !addinterp elmer perl for (<>) {lc; s/l/w/g; s/er/uh/g; s/or(e\b)?/owuh/; s/ire\b/iyuh/; s/wr\B/w/g; s/(?<![iou])r\B/w/gx; print}
08:19:18 <EgoBot> Interpreter elmer deleted.
08:19:18 <EgoBot> Interpreter elmer installed.
08:23:16 -!- Kustas has quit (Quit: rejoin).
08:23:31 <oerjan> !elmer horrible traitor
08:23:43 -!- Kustas has joined.
08:24:04 <oerjan> ...wht doesn't that become twaitowuh
08:24:56 <CakeProphet> I should probably take out the or(e\b) case :P
08:27:46 <EgoBot> Interpreter elmer deleted.
08:27:47 <CakeProphet> !addinterp elmer perl for (<>) {lc; s/l/w/g; s/er/uh/g; s/ire\b/iyuh/; s/wr\B/w/g; s/(?<![iou])r\B/w/gx; print}
08:27:47 <EgoBot> Interpreter elmer installed.
08:28:14 <CakeProphet> and then IPA2english, which is probably even more impossible.
08:28:38 <CakeProphet> english2IPA isn't out of the question with a huge dictionary database.
08:30:23 <Lymia> CakeProphet, English2IPA isn't that difficult if you maintain an exception list.
08:30:31 <Lymia> The other way around?
08:30:54 -!- Kustas has quit (Ping timeout: 258 seconds).
08:31:37 <EgoBot> Interpreter elmer deleted.
08:31:42 <CakeProphet> !addinterp elmer perl for (<>) {lc; s/l/w/g; s/er/uh/g; s/ire\b/iyuh/g; s/wr\B/w/g; s/(?<![iou])r\B/w/gx; print}
08:31:42 <EgoBot> Interpreter elmer installed.
08:31:48 -!- Kustas has joined.
08:31:49 <oerjan> !elmer terrible errors
08:33:09 <oerjan> !elmer horrible tourists
08:33:57 <CakeProphet> oerjan: fine, I promote you to lead designer of elmer.
08:34:46 <CakeProphet> oerjan: I now conscript you into indentured servitude to be lead designer of elmer.
08:35:37 <oerjan> but i'm trying to stay away from the place
08:35:39 <elliott> http://stackoverflow.com/questions/3956478/understanding-randomness
08:37:28 <oerjan> by statistical accident
08:38:20 -!- pikhq has joined.
08:39:04 <elliott> hi pikhq pikhq pikhq Patashu iamcal p iamcal p iamcal Patashu ip pk pikhq Kustas pikhq p
08:39:09 -!- pikhq_ has quit (Ping timeout: 276 seconds).
08:40:19 <elliott> pikhq is Patashu iamcal Kustas HackEgo quintopia
08:40:42 <EgoBot> Interpreter elmer deleted.
08:40:44 <CakeProphet> !addinterp elmer perl for (<>) {lc; s/l(?!e\W)/w/g; s/\Ber|(?<!f)or\b/uh/g; s/ire\b/iyuh/g; s/wr\B/w/g; s/(?<![iou])r\B/w/gx; print}
08:40:44 <EgoBot> Interpreter elmer installed.
08:41:08 <elliott> Patashu aloril TeruFSX aloril sebbu2 HackEgo u iamcal aloril malorie CakeProphet lambdabot Kustas u sebbu2 TeruFSX aloril sebbu2 HackEgo aloril CakeProphet Kustas EgoBot glogbot oerjan quintopia u iamcal n TeruFSX oerjan Patashu iamcal aloril
08:41:11 <elliott> so u and n are uncolonised
08:43:53 <elliott> CakeProphet aloril Kustas EgoBot Patashu rodgort oerjan Patashu HackEgo EgoBot TeruFSX
08:44:01 -!- Sgeo has joined.
08:44:07 <elliott> sebbu2 glogbot EgoBot oerjan
08:44:21 <elliott> nobody has a nick starting with u or n in here
08:44:52 <CakeProphet> !addinterp !loop perl print '`run echo "!loop"'
08:44:52 <EgoBot> Interpreter _loop installed.
08:45:52 <Sgeo> So, I think my official bedtime is now noon
08:46:05 <EgoBot> Installed user interpreters: _loop aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chef chiqrsx9p choo cockney ctcp dc decisionengine drawl drome dubya echo eehird ehird elmer fudd funetak google graph gregor he hello id jethro kraut num ook pansy pi pirate plot postmodern postmodern_aoler prefixes redneck reverse rimshot rot13 sadbf sfedeesh sffedeesh sffffedeesh sffffffffedeesh simpleacro simplename slashes svedeesh swedish valspeak w
08:46:29 <EgoBot> Interpreter _loop deleted.
08:46:34 <CakeProphet> !addinterp loop perl print '`run echo "!loop"'
08:46:34 <EgoBot> Interpreter loop installed.
08:47:04 <Patashu> !aol The quick brown fox jumps over the lazy dog.
08:47:05 <EgoBot> THE QU1CK BROWN FOX JUMPS UV R THE LAZY DOG!!
08:47:17 <Sgeo> CakeProphet, you're not going to test it?
08:47:31 <CakeProphet> but there might be an ignore list for egobot
08:47:56 <Sgeo> `run echo !ao The quick brown fox
08:48:01 <Sgeo> `run echo !aol The quick brown fox
08:48:27 <elliott> besides, they use that stupid character in front to stop it
08:48:30 <elliott> and also break urlification
08:48:30 <EgoBot> Interpreter loop deleted.
08:48:52 <Sgeo> I only tested it after knowing it wouldn't work
08:49:55 <EgoBot> haskell import System.Random; import Control.Monad; pick a = randomRIO (0, length a - 1) >>= return . (a !!); main = putStrLn . (++".") =<< word; word = join . pick $ replicate 3 (liftM2 (:) vowel word) ++ replicate 2 (liftM2 (:) consonant word) ++ [return ""]; vowel = pick "AEIOUY"; consonant = pick "BCDFGHJKLMNPQRSTVWXZ"
08:50:20 -!- Phantom_Hoover has joined.
08:50:31 <oerjan> CakeProphet: that's a roleplaying name generator zzo38 mentioned, so i made it
08:50:50 -!- Kustas has quit (Ping timeout: 258 seconds).
08:50:58 <CakeProphet> zzo38 likes to play roleplaying games? Awesome. I should ask him if he wants to play Shadowrun.
08:51:01 <elliott> or is it some character that EgoBot is filtering out
08:51:17 <CakeProphet> I made simpleacro. it is superior at its purpose.
08:51:24 <elliott> Patashu: yes but it would filter it out on show too
08:51:25 <CakeProphet> though I need to weight the uncommon starting letters
08:51:25 <oerjan> elliott: it sometimes makes an empty string, so zzo38 suggested adding a period
08:51:36 <CakeProphet> I just don't have data on the most common starting letters for English.
08:52:03 <CakeProphet> so I will probably just continue not caring as I have been.
08:52:13 <Sgeo> Inglip's death is canon now
08:53:48 -!- Kustas has joined.
08:54:14 <CakeProphet> I love how long it takes to compute. it's like a moment of suspense.
08:54:22 <oerjan> well obviously !simplename is based on !simpleacro
08:54:28 <EgoBot> haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick ['A'..'Z'])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
08:54:44 <CakeProphet> oerjan: I think you actually helped me with some bugs on it.
08:59:08 <oerjan> !redneck We don't take lightly to your kind of people here.
08:59:08 <EgoBot> We don't take lightly tuh yer kinda folks here.
08:59:51 <oerjan> CakeProphet: it's probably from some funny linux package
09:00:06 <EgoBot> Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chef chiqrsx9p choo cockney ctcp dc decisionengine drawl drome dubya echo eehird ehird elmer fudd funetak google graph gregor he hello id jethro kraut num ook pansy pi pirate plot postmodern postmodern_aoler prefixes redneck reverse rimshot rot13 sadbf sfedeesh sffedeesh sffffedeesh sffffffffedeesh simpleacro simplename slashes svedeesh swedish valspeak warez y
09:00:20 <EgoBot> sh sed 's/þ/th/g ; s/Þ/Th/g ; s/ſ/s/g ; s/æ/ae/g ; s/Æ/Ae/g ; s/œ/oe/g ; s/Œ/Oe/g'
09:01:21 <EgoBot> Linux codu.org 2.6.32-5-xen-amd64 #1 SMP Tue Mar 8 00:01:30 UTC 2011 x86_64 GNU/Linux
09:02:10 <elliott> !ehird cobbles of phantom fuck whats
09:02:11 <EgoBot> cobbles of phantom fuck whats
09:02:52 <EgoBot> vhet is thees I dun't ifee
09:02:57 <oerjan> somehow i doubt bypass_ignore works, if it ever did
09:03:28 <oerjan> oh wait that kind of ignores
09:03:37 <elliott> !bypass_ignore <elliott> ha ha vorpal is a fag
09:03:37 <EgoBot> <elliott> ha ha vorpal is a fag
09:03:51 <EgoBot> vhet is thees I dun't ifee
09:04:05 <elliott> !ehird what is this I don't even
09:04:06 <EgoBot> wut is this I don't even
09:04:18 <elliott> !sffedeesh vhet is thees I dun't ifee
09:04:18 <EgoBot> fhet is zeees I doon't iffee-a
09:04:23 <elliott> !sffedeesh fhet is zeees I doon't iffee-a
09:04:23 <EgoBot> fhet is zeees I duun't iffffee-a-a
09:04:30 <elliott> !sffedeesh fhet is zeees I duun't iffffee-a-a
09:04:30 <EgoBot> fhet is zeees I doooon't iffffffffee-a-a-a
09:04:35 <elliott> !sffedeesh fhet is zeees I doooon't iffffffffee-a-a-a
09:04:35 <EgoBot> fhet is zeees I duuuun't iffffffffffffffffee-a-a-a-a
09:04:53 <CakeProphet> elliott: why don't these other interpreters evoke swedish x number of times?
09:04:54 <elliott> !swedish hey what's this OH SNAP IT'S A FUCKING TIGET
09:04:54 <EgoBot> hey vhet's thees OoH SNEP IT'S A FOoCKING TIGET
09:04:56 <elliott> !swedish hey what's this OH SNAP IT'S A FUCKING TIGER
09:04:57 <EgoBot> hey vhet's thees OoH SNEP IT'S A FOoCKING TIGER
09:05:08 <elliott> !swedish hey vhet's thees OoH SNEP IT'S A FOoCKING TIGER
09:05:08 <EgoBot> hey fhet's zeees OouH SNEP IT'S A FOuCKING TIGER
09:05:17 <elliott> !swedish hey fhet's zeees OouH SNEP IT'S A FOuCKING TIGER
09:05:18 <EgoBot> hey fhet's zeees OouooH SNEP IT'S A FOooCKING TIGER
09:05:21 <EgoBot> Interpreter svedeesh deleted.
09:05:33 <elliott> `addquote <EgoBot> hey fhet's zeees OouooH SNEP IT'S A FOooCKING TIGER
09:05:35 <HackEgo> 433) <EgoBot> hey fhet's zeees OouooH SNEP IT'S A FOooCKING TIGER
09:05:38 <elliott> oerjan: those are our valuable aliases
09:05:41 <oerjan> !addinterp svedeesh sh chef | chef | fmt -w500
09:05:41 <EgoBot> Interpreter svedeesh installed.
09:05:49 <elliott> !addinterp svedeesh sh chef | fmt -w500
09:05:49 <EgoBot> There is already an interpreter for svedeesh!
09:05:55 <oerjan> elliott: I'M JUST MAKING IT MORE LOGICAL
09:05:56 <EgoBot> Interpreter svedeesh deleted.
09:06:05 <oerjan> !addinterp svedeesh sh chef | chef | fmt -w500
09:06:06 <EgoBot> Interpreter svedeesh installed.
09:06:17 <HackEgo> 41) <Dylan> kaelis: yes kaelis, but however will get the horses to wear knickers?
09:06:18 <HackEgo> 343) 00:07 Sgeo has quit (IRC is taking up too much of my time. I need time to study the Bible and find Christ.) 00:12 Sgeo has joined #esoteric.
09:06:19 <HackEgo> 274) <oklopol> ah yes, indeed, alan turing was gay and stupid
09:06:20 <HackEgo> 365) <Vorpal> elliott, it was an artful robbery! <Vorpal> wait, murder
09:06:21 <HackEgo> 139) <fungot> alise: nobody is allowed to fnord me in soviet russia
09:06:22 <HackEgo> 8) <SimonRC> TODO: sex life
09:06:24 <HackEgo> 176) <cpressey> Never ever use a quote which contains both the words "aloofness" and "gel" (verb).
09:06:24 <HackEgo> 23) IN AN ALTERNATE UNIVERSE: <bsmntbombdood> there is plenty of room to get head twice at once
09:06:26 <HackEgo> 189) <alise> Why do you use random acronyms you know we don't know the expansions of? <pikhq> alise: TLAAW
09:06:27 <HackEgo> 60) <apollo> What is there to talk about besides gay slang?
09:06:41 <elliott> <HackEgo> 365) <Vorpal> elliott, it was an artful robbery! <Vorpal> wait, murder
09:06:47 <HackEgo> 128) <alise> use "grep --crazy" \ 129) * augur rubs alise's bum [...] <augur> what? she said square ped <augur> :| \ 131) <fungot> alise: why internet is like wtf \ 135) <alise> like, just like I'd mark "Bob knob hobs deathly poop violation EXCREMENT unto;" as English <ais523> alise: that's great filler <alise> ais523:
09:06:58 <elliott> "why internet is like wtf"
09:07:03 <elliott> definitely fungot's proudest moment
09:07:12 <elliott> it finally realises that this human internet is like wtf
09:07:20 <HackEgo> 155) <CakeProphet> how does a "DNA computer" work. <CakeProphet> von neumann machines? <Phantom_Hoover> CakeProphet, that's boring in the context of DNA. <Phantom_Hoover> It's just stealing the universe's work and passing it off as our own. \ 156) <fungot> CakeProphet: reading herbert might be enlightening in one hand he held a
09:07:47 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.18198
09:08:04 <elliott> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.18198
09:08:15 <elliott> the quote system is not that old...
09:08:23 <elliott> those are from a year ago at most
09:08:46 <elliott> `run sed -i 's///g' quotes
09:08:51 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.24384
09:09:09 <CakeProphet> for some reason I thought we had quotes that long ago.
09:09:55 <lambdabot> ari says: The problem I have with grues is that although I know that currently, if it is very dark I am likely to be eaten by one... but how can I tell if grue suddenly became benign at, say, the
09:09:55 <lambdabot> year 2010? The evidence I've gathered so far can't support the idea that that *wouldn't* happen.~
09:10:07 * sebbu2 slaps elliott around a bit with a very large trout
09:10:49 <elliott> oerjan: wow that was the least funny quote ever
09:10:59 <HackEgo> 78) <Madelon> I want to read about Paris in the period 1900-1914 <Madelon> not about the sexual preferences of a bunch of writers >.>
09:11:00 <HackEgo> 56) <ehird> no Deewiant <Deewiant> No?! <Deewiant> I've been living a lie <ehird> yep. <Deewiant> Excuse me while I jump out of the window ->
09:11:01 <HackEgo> 133) <Quas_NaArt> Hooray! <Quas_NaArt> I'm an idiot.
09:11:02 <HackEgo> 46) <fizzie> Seconds. 30 of them. Did I forget the word?
09:11:02 <HackEgo> 161) <ais523> cpressey: I have actually done a waterfall-model project that almost worked <cpressey> That's where you have a flexible kayak that bobs and weaves between the rocks as it plummets off the cliff
09:17:23 -!- CakeProphet has quit (Ping timeout: 248 seconds).
09:18:05 <oerjan> hey don't run away before i can explain why that was stupid
09:18:50 <oerjan> hm imagine if linux _did_ support lazy argument lists
09:19:38 -!- CakeProphet has joined.
09:19:39 -!- CakeProphet has quit (Changing host).
09:19:39 -!- CakeProphet has joined.
09:20:07 <oerjan> `run echo $(yes | head -5)
09:20:39 <oerjan> CakeProphet: yours probably never finished making the argument list
09:20:48 <CakeProphet> I somehow thought it would be a good idea to run echo $(yes) on my computer...
09:20:55 <CakeProphet> not realizing that I wouldn't be able to ctrl+c
09:21:09 <CakeProphet> as it very rapidly filled all of my mempory.
09:21:21 <elliott> hey Sgeo homestuck update :-P
09:23:06 -!- monqy has quit (Quit: hello).
09:23:19 <CakeProphet> oerjan: I wonder what would be the most effective anti-yes bomb
09:26:20 <EgoBot> /tmp/input.18804: xrealloc: ../bash/subst.c:4757: cannot reallocate 33554432 bytes (0 bytes allocated)
09:27:33 <CakeProphet> a convenient memory exploder for the whole family.
09:30:33 <CakeProphet> so when code golfing bash can you only assume that only the bare minimum in external programs are available in $PATH?
09:31:11 -!- ais523 has joined.
09:31:45 -!- MigoMipo has joined.
09:32:03 <Sgeo> Where is my reddit thread
09:32:26 <Sgeo> I've taken to reading the reddit thread after the update
09:33:07 <elliott> its hardly big enough to warrant another post...
09:33:20 -!- pikhq has quit (Ping timeout: 244 seconds).
09:33:27 -!- pikhq has joined.
09:34:28 <EgoBot> Interpreter sffedeesh deleted.
09:34:43 <CakeProphet> !addinterp sffedeesh chef | chef | chef | fm -w500
09:34:43 <EgoBot> Interpreter sffedeesh installed.
09:34:56 <Patashu> !sffedeesh The quick brown fox jumps over the lazy dog.
09:34:57 <EgoBot> | cheff | cheff | fm -v500
09:35:09 <EgoBot> is not a user interpreter.
09:35:16 <EgoBot> Interpreter sffedeesh deleted.
09:35:24 <CakeProphet> !addinterp sffedeesh sh chef | chef | chef | fm -w500
09:35:24 <EgoBot> Interpreter sffedeesh installed.
09:35:39 <EgoBot> /tmp/input.19806: line 1: fm: command not found
09:35:49 <EgoBot> Interpreter sffedeesh deleted.
09:35:53 <CakeProphet> !addinterp sffedeesh sh chef | chef | chef | fmt -w500
09:35:53 <EgoBot> Interpreter sffedeesh installed.
09:35:57 <EgoBot> I luuffffe-a-a-a beeeng sffedeesh. Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork!
09:36:13 <elliott> !sffedeesh I luuffffe-a-a-a beeeng sffedeesh. Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork!
09:36:13 <EgoBot> I looooooooffffffffffffffffffffffffffffffffe-a-a-a-a-a-a beeeng sffffffffffffffffedeesh. Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork!
09:36:21 <elliott> Combinatorial explosion of borks.
09:36:59 <Patashu> !sffedeesh The quick brown fox jumps over the lazy dog.
09:37:00 <EgoBot> Zee-a-a qooooeeck broooon fuux joooomps oouooffffer zee-a-a lezy duug. Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork!
09:37:59 <EgoBot> sh chef | chef | fmt -w500
09:38:08 <EgoBot> sh chef | chef | chef | fmt -w500
09:38:11 <CakeProphet> !svedish I am a slightly more reserved swede.
09:38:19 <CakeProphet> !svedeesh I am a slightly more reserved swede.
09:38:19 <EgoBot> I im a sleeghtly moore-a-a reserffed sfede-a-a. Bork Bork Bork! Bork Bork Bork! Bork Bork Bork!
09:38:27 <EgoBot> Interpreter sfedeesh deleted.
09:38:37 <oerjan> !addinterp sfedeesh sh chef | chef | chef | fmt -w500
09:38:38 <EgoBot> Interpreter sfedeesh installed.
09:38:46 <EgoBot> Interpreter sffedeesh deleted.
09:38:57 <oerjan> !addinterp sffedeesh sh chef | chef | chef | chef | fmt -w500
09:38:57 <EgoBot> Interpreter sffedeesh installed.
09:39:13 <CakeProphet> oerjan is setting the record straight in sffedeen.
09:39:20 <Sgeo> !svedeesh The quick brown fox jumps over the lazy dog
09:39:20 -!- ais523 has quit (Read error: Connection reset by peer).
09:39:20 <EgoBot> Zee-a quueeck bruun foox juumps oouffer zee-a lezy doog
09:39:31 <oerjan> !sffedeesh I love sffedeesh.
09:39:31 <EgoBot> I looooffffffffe-a-a-a-a sffffffffffffffffffffffffffffffffedeesh. Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork!
09:40:25 <EgoBot> languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh.
09:41:02 <EgoBot> Interpreter chef deleted.
09:41:07 <EgoBot> Interpreter chef does not exist!
09:41:17 <oerjan> !addinterp chef sh chef
09:41:17 <EgoBot> Interpreter chef installed.
09:41:27 <EgoBot> Interpreter swedish deleted.
09:41:34 <oerjan> !addinterp swedish chef
09:41:35 <EgoBot> Interpreter swedish installed.
09:41:55 <oerjan> Gregor has implemented working interpreter recursion?
09:42:42 <EgoBot> Interpreter swedish deleted.
09:42:56 <oerjan> !addinterp swedish sh chef | fmt -w500
09:42:56 <EgoBot> Interpreter swedish installed.
09:43:01 <EgoBot> Hu hoom. Bork Bork Bork!
09:43:04 <CakeProphet> Patashu: I guess both Haskell and Perl are a little esoteric. So is C.
09:43:22 <CakeProphet> I imagine Perl is there for usefulness more so than esotericness
09:43:34 <Patashu> is any programming language NOT esoteric
09:44:26 <CakeProphet> actually I tak it back, C is not esoteric in any way.
09:44:27 -!- ais523 has joined.
09:45:06 <elliott> c has two conflicting ways to be TC
09:45:10 <CakeProphet> C is like what you use to judge normalness, for some reason.
09:45:12 <elliott> you're telling me that's not esoteric?
09:46:48 <ais523> also, I thought C's TCness options, other than ones based on files and the standard library, all required you to omit details like the value of CHAR_BIT (because it isn't a finite integer)
09:46:58 <CakeProphet> Ruby can be a little strange. 99.downto(1) {|x| print "#{x} bottles of beer on the wall."}
09:47:45 <elliott> ais523: exactly; freestanding, you don't have CHAR_BIT, so you can have bignum chars
09:48:03 <ais523> are you sure you don't have CHAR_BIT in freestanding?
09:48:04 <ais523> I thought limits.h was one of the headers that had to be in freestanding too
09:48:23 <elliott> it'd mean that freestanding C might not actually be TC at all
09:48:31 <ais523> it's not like there's anything in it but #defines
09:48:44 * elliott greps http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
09:49:51 <elliott> 1 An implementation is required to document all the limits specified in this subclause,
09:49:51 <elliott> which are specified in the headers <limits.h> and <float.h>. Additional limits are
09:49:51 <elliott> Forward references: integer types <stdint.h> (7.18).
09:50:01 <ais523> Patashu: it's a subset of C that doesn't have to have the library support that C impls normally do
09:50:02 <elliott> 5.2.4.2.1 Sizes of integer types <limits.h>
09:50:02 <elliott> 1 The values given below shall be replaced by constant expressions suitable for use in #if
09:50:03 <elliott> preprocessing directives. Moreover, except for CHAR_BIT and MB_LEN_MAX, the
09:50:03 <elliott> following shall be replaced by expressions that have the same type as would an
09:50:06 <elliott> expression that is an object of the corresponding type converted according to the integer
09:50:08 <elliott> promotions. Their implementation-defined values shall be equal or greater in magnitude
09:50:10 <elliott> (absolute value) to those shown, with the same sign.
09:50:12 <elliott> — number of bits for smallest object that is not a bit-field (byte)
09:50:16 <ais523> designed for things like embedded systems
09:50:19 <elliott> ais523: oh dear, you must have a number of bits in a char in a freestanding implementation too
09:50:19 <oerjan> > [99, 98..1] >>= (++ " bottles of beer on the wall.\n").show
09:50:21 <lambdabot> "99 bottles of beer on the wall.\n98 bottles of beer on the wall.\n97 bottl...
09:50:31 <ais523> elliott: unless you had a type that was smaller than a char
09:50:32 <elliott> unless you can do something with the stack
09:50:34 <ais523> and could create objects of it
09:50:40 <ais523> I saw a loophole in that definition
09:50:49 <elliott> ais523: yes, but I suspect char is defined to be that smallest object
09:50:55 <elliott> register variables you aren't allowed to take the address of
09:50:59 <elliott> so there's nothing forcing them to be limited
09:51:08 <ais523> you can still sizeof them
09:51:11 <elliott> combined with the stack... maybe you could do something?
09:51:16 <ais523> there's nothing forcing you to have a limited /quantity/ of them
09:51:16 <elliott> ais523: yes, but if you recurse
09:51:26 <elliott> normally, recursion doesn't let you have "infinite variables"
09:51:29 <elliott> because you can take their address
09:51:32 <ais523> but there's no way to reference them outside their own stack frame, precisely because you can't take their address
09:51:36 <elliott> but the conceptual stack frame can take up no address spcae here
09:51:41 <ais523> so you end up with a PDA, not a TC language
09:51:49 <elliott> ais523: yeah, it's probably true
09:51:54 <elliott> I was thinking you could combine other things to make it work somehow
09:52:06 <CakeProphet> > :t map (map (map (map ($map)))) [[[[map]]]]
09:52:07 -!- Kustas has quit (Quit: left).
09:52:07 <lambdabot> <no location info>: parse error on input `:'
09:52:13 <CakeProphet> :t map (map (map (map ($map)))) [[[[map]]]]
09:52:14 <lambdabot> forall a b. [[[[[a -> b] -> [[a] -> [b]]]]]]
09:52:41 <elliott> > map (map (map (map ($map)))) [[[[map]]]]
09:52:42 <lambdabot> Overlapping instances for GHC.Show.Show ([a -> b] -> [[a] -> [b]])
09:52:54 <elliott> > length (map (map (map (map ($map)))) [[[[map]]]])
09:53:03 <elliott> > length (head (map (map (map (map ($map)))) [[[[map]]]]))
09:53:08 <elliott> > length (head (head (map (map (map (map ($map)))) [[[[map]]]])))
09:53:12 <elliott> > length (head (head (head (map (map (map (map ($map)))) [[[[map]]]]))))
09:53:15 <elliott> > length (head (head (head (head (map (map (map (map ($map)))) [[[[map]]]])))))
09:53:15 <lambdabot> Couldn't match expected type `[a]'
09:53:16 <lambdabot> against inferred type `[a1 -> b]...
09:53:19 <elliott> > length (head (head (head (map (map (map (map ($map)))) [[[[map]]]]))))
09:53:23 <elliott> :t head (head (head (head (map (map (map (map ($map)))) [[[[map]]]]))))
09:53:24 <lambdabot> forall a b. [a -> b] -> [[a] -> [b]]
09:53:37 <lambdabot> forall a b. [a -> b] -> [[a] -> [b]]
09:53:38 <elliott> :t map (map (map (map ($map)))) [map]
09:53:39 <lambdabot> Couldn't match expected type `[[[((a -> b1) -> [a] -> [b1])
09:53:39 <lambdabot> against inferred type `(a1 -> b2) -> [a1] -> [b2]'
09:53:44 <elliott> :t map (map (map (map ($map)))) [[map]]
09:53:44 <lambdabot> Couldn't match expected type `[[((a -> b1) -> [a] -> [b1]) -> b]]'
09:53:45 <lambdabot> against inferred type `(a1 -> b2) -> [a1] -> [b2]'
09:53:46 <elliott> :t map (map (map (map ($map)))) [[[map]]]
09:53:47 <lambdabot> Couldn't match expected type `[((a -> b1) -> [a] -> [b1]) -> b]'
09:53:47 <lambdabot> against inferred type `(a1 -> b2) -> [a1] -> [b2]'
09:53:48 <elliott> :t map (map (map (map ($map)))) [[[pmap]]]]
09:54:00 <lambdabot> forall a. (Enum a) => [[a] -> [a]]
09:54:05 <lambdabot> Overlapping instances for GHC.Show.Show ([a] -> [a])
09:54:08 <elliott> > length (map map [succ,succ])
09:54:09 <lambdabot> Ambiguous type variable `a' in the constraint:
09:54:18 <elliott> > length (map map [(9+),(9+)])
09:54:36 <elliott> > head (map map [(9+),(9+)]) [0,0,0,9]
09:55:49 <Patashu> > (map map [(9+),(9+)]) [0,0,0,9]
09:55:50 <lambdabot> Couldn't match expected type `t1 -> t'
09:56:08 <Patashu> > id (map map [(9+),(9+)]) [0,0,0,9]
09:56:09 <lambdabot> Couldn't match expected type `[t1] -> t'
09:56:28 <Patashu> I guess to make it not evaluate further
09:56:53 <elliott> i'll let you figure out the rest yourself :P
09:57:10 <Patashu> was looking at the order of operations wrong
09:57:19 <Patashu> head happens before [0,0,0,9] is applied correct?
09:57:35 <lambdabot> forall a. (Num a) => [[[a]] -> [[a]]]
09:57:41 -!- aloril has quit (Ping timeout: 246 seconds).
09:58:20 <oerjan> > map map [(9+),(9+)] <$ 1
09:58:20 <lambdabot> No instance for (GHC.Show.Show (f [[a] -> [a]]))
09:58:44 <oerjan> > map map [(9+),(9+)] <$ [1]
09:58:45 <lambdabot> Overlapping instances for GHC.Show.Show ([a] -> [a])
09:58:51 <elliott> Patashu: there's no "ordering"
09:58:51 <oerjan> :t map map [(9+),(9+)] <$ [1]
09:58:52 <lambdabot> forall a. (Num a) => [[[a] -> [a]]]
09:58:56 <elliott> that's all you need to know
09:59:00 <lambdabot> forall a (f :: * -> *) b. (Functor f) => a -> f b -> f a
09:59:16 <lambdabot> forall (f :: * -> *) a b. (Applicative f) => f a -> f b -> f a
09:59:43 <elliott> head (map map [(9+),(9+)]) [0,0,0,9] == (head (map map [(9+),(9+)])) [0,0,0,9] == (head [map (9+), map (9+)]) [0,0,0,9] == (map (9+)) [0,0,0,9] == [9,9,9,eighteen]
09:59:47 <oerjan> :t map map [(9+),(9+)] `sequence` [1]
09:59:54 <oerjan> > map map [(9+),(9+)] `sequence` [1]
09:59:58 -!- MigoMipo_ has joined.
10:01:07 <CakeProphet> > map map [(9+),abs,(`mod` 10)] `sequence` [1,-1]
10:01:11 <oerjan> @hoogle f (a -> b) -> a -> f b
10:01:12 <lambdabot> Control.Applicative (<*>) :: Applicative f => f (a -> b) -> f a -> f b
10:01:12 <lambdabot> Control.Monad ap :: Monad m => m (a -> b) -> m a -> m b
10:01:12 <lambdabot> Control.Applicative (<**>) :: Applicative f => f a -> f (a -> b) -> f b
10:02:24 <CakeProphet> !addinterp map perl for(<>){s/\b.*?\b/map/;print}
10:02:24 <EgoBot> Interpreter map installed.
10:02:47 <EgoBot> Interpreter map deleted.
10:03:18 <CakeProphet> !addinterp map perl for(<>){s/\b.+?\b/map/g;print}
10:03:18 <EgoBot> Interpreter map installed.
10:03:29 <CakeProphet> !map I love chaining together maps in Haskell
10:03:30 <EgoBot> mapmapmapmapmapmapmapmapmapmapmapmapmap
10:04:06 -!- MigoMipo has quit (Ping timeout: 276 seconds).
10:05:03 <elliott> the spaces get stripped out
10:05:07 <elliott> even if they didn't you'd have removed the space
10:08:24 -!- FireFly has joined.
10:08:37 -!- tarpad has joined.
10:11:09 -!- aloril has joined.
10:14:38 -!- tarpad has left.
10:17:27 * Sgeo fails at technical communication
10:18:07 <Sgeo> https://lists.secondlife.com/pipermail/secondlifescripters/2011-June/006227.html this confusion should not have occured.
10:20:24 <olsner> yes, everything is gibberish until the example function at the end
10:22:19 -!- oerjan has quit (Quit: Reboot).
10:22:37 <Patashu> that function calls for a hashmap
10:23:09 <elliott> Patashu: that would require first-class functions
10:23:17 <Sgeo> elliott, nope!
10:24:31 <elliott> Sgeo: is there any way to call a function in any way other than function_name(...)
10:24:45 <elliott> could you make an in-game object edit its own script while it runs?
10:24:56 <Patashu> there's no arrays of function pointers?
10:25:07 <Sgeo> Nope, although I can get it to retrieve another compiled script and run that instead
10:25:25 <Sgeo> There is something I can do, but it's crappy: Put each native function in a separate script, and send a message to all scripts
10:25:32 <elliott> Sgeo: can you create a compiled script programmatically
10:25:44 <Sgeo> Not within LSL, although a bot could do it
10:26:06 <elliott> then you can dynamically construct a compiled script for every native function that ends up getting called
10:26:13 <elliott> massive overhead the first time though i would assume :)
10:27:14 <Sgeo> elliott, involving bots would kind of be a bad idea. Statically constructing the scripts would be possible. But I don't think having a lot of scripts and constantly sending messages to them is a pleasant idea
10:27:43 <elliott> Sgeo: why not restructure the language instea
10:27:50 <elliott> instead of native_call(string, ...)
10:27:56 <elliott> have some kind of "inline lsl assembly" thing
10:28:00 <elliott> and some predeclaration macro
10:28:33 <Sgeo> elliott, that's for syntax of the language
10:28:44 <Sgeo> Not for how the VM would run. Unless I'm misunderstanding
10:28:53 <elliott> Sgeo: it means you don't have to handle a generic native call
10:29:23 <Sgeo> If I'm understanding correctly, that would be abandoning the "pseudobytecode with surrounding VM" idea
10:29:37 <elliott> sounds like a terrible idea for a language this limited anyway
10:30:01 <Sgeo> The size of the LSL code is a premium...
10:30:36 <elliott> the bytecode still counts as code right
10:30:44 <elliott> I mean you could still do most things with one-letter function calls
10:31:06 -!- cheater_ has quit (Ping timeout: 246 seconds).
10:31:36 <Sgeo> In theory, with the VM though, some of the bytecode could be put outside the script and onto a notecard. Although I don't know if that idea's that great.
10:32:51 <Sgeo> Also: How do I go about calling _non_native functions without O(n) complexity for amount of existing non-native functions?
10:33:25 <Patashu> By making the language better
10:33:37 <ais523> elliott: I just realised something beautiful that was possible with sg
10:33:38 <Sgeo> Um, assuming that I'm trampolining and CPSing
10:33:51 <ais523> all that's needed to send a commit to someone is that the commit is somewhere in the world at large, and to send them the hash
10:34:20 <ais523> and then you could go off and look for a commit with that hash through a search engine or something
10:34:29 <elliott> ais523: doesn't that apply to every VCS?
10:34:35 <ais523> only the ones with unique hashes
10:34:49 <elliott> ais523: every DVCS has unique hashes up to collisions, pretty much
10:34:50 <ais523> and where the hash itself is enough to pull into a repo
10:34:57 <ais523> well, do they all use hashes?
10:37:12 <ais523> darcs does have hashes involved, but they're hidden from the user unless you know how to ask for them
10:38:53 <elliott> rage material for you http://www.diaryofaninja.com/blog/2011/03/27/continuous-integration-ndash-itrsquos-all-about-your-build-projects-ecosystem
10:38:57 <elliott> wrt libraries in source trees
10:39:02 <Sgeo> elliott, am I mistaken in thinking that CPS will result in a lot of functions?
10:40:41 <elliott> Sgeo: that's pretty much the definition of cps
10:40:54 <elliott> also, call/cc is not useful at all in your situation afaik, so i don't know why on earth you want it
10:40:55 <olsner> elliott: though it does point out somewhere that it might not be appropriate for *every* project, so it's not quite as crazy as it looks (only very close)
10:41:01 <elliott> especially as you don't actually have first-class functions
10:41:18 <Sgeo> elliott, there's a lot of event stuff in LSL
10:42:49 -!- oerjan has joined.
10:42:54 <Sgeo> http://lslwiki.net/lslwiki/wakka.php?wakka=llGetNotecardLine see this example? I want to make it not quite so painful, just a call to ccGetNotecardLine() which uses continuations to deal with a nice function evtDataserver that accepts a pretty callback
10:42:59 <Sgeo> Instead of this present BS
10:43:09 -!- cheater_ has joined.
10:43:41 <Sgeo> Maybe continuations are overkill for doing this
10:45:33 <Sgeo> And incidentally, the point of making a new language is to give the new language features like first-class functions and continuations, so I don't know where you're getting "no first-class functions" from, that's the host language.
10:47:50 <ais523> smart quotes are one thing, smart quotes in URLs are another
10:48:04 <ais523> or am I meant to rage at the page accessed via the URL, rather than the URL itself?
10:48:07 <elliott> ais523: don't ask me, microsoft brain damage is obviously in effect on that site
10:48:23 <elliott> if you respond affirming that you don't plan to open the link, ... well please just preemptively don't respond
10:48:47 <Sgeo> I want to know what's wrong with the link's content *ducks*
10:49:02 -!- BeholdMyGlory has joined.
10:49:25 <elliott> Sgeo: re where did you get it from, well the overhead on function representation in sodfjsioghodghg will probably be large but yeah whatever doigjfdjgidgjfodjgi
10:50:10 <Sgeo> Maybe there's a simpler way to get what I want
10:50:22 <Sgeo> Just break the code into two at, say, ccGetNotecardLine
10:50:42 <Sgeo> No CPS needed. But this requires much more thought
10:51:26 -!- MigoMipo_ has quit (Quit: Lämnar).
10:51:30 <Sgeo> This also assumes that I know what's best
10:52:11 <olsner> ais523: what's itrsquos?
10:52:22 <ais523> with the ' replaced with ’
10:52:25 <ais523> and then the punctuation removed
10:53:14 <elliott> im gonna say itrsquos instead of it's in future now
10:53:25 <olsner> but "it's" written with an apostrophe, not with accents or quotes :/
10:53:41 <ais523> elliott: anyway, about the actual content of the article, what it's suggesting is a bad idea if libraries don't lose features or break when upgraded, and a good idea otherwise
10:54:12 <ais523> I tend to trust libraries not to do that (except in the case of certain CPAN modules...), but in industry, especially with proprietary libraries, I'd be less likely to
10:54:49 <ais523> likewise, build tools that aren't libraries, it's much the same argument
10:56:55 <ais523> meanwhile, the article accessed via the current top link on proggit (http://mjg59.dreamwidth.org/3561.html about rebooting PCs) is actually quite interesting
10:57:30 <elliott> ("accessed via" -- seriously?)
10:58:21 <ais523> elliott: would "at" be enough for you?
10:58:34 <elliott> I'd say "at the top of proggit" at most
10:58:44 <elliott> Nobody's going to think the article is literally embedded there :)
10:58:46 -!- elliott has left ("Leaving").
10:58:51 -!- elliott has joined.
10:59:32 * Sgeo wonders what yeahthat means
10:59:57 <ais523> do leading spaces show up in most IRC clients?
11:00:01 <ais523> apparently they do in mine
11:00:22 <elliott> it folds adjacent spaces after all
11:01:08 <ais523> so if I use multiple spaces between words?
11:01:14 <ais523> that shows up literally on mine too
11:01:18 <ais523> which doesn't surprise me at all
11:01:41 <HackEgo> yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes
11:01:49 <HackEgo> \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
11:01:52 <HackEgo> \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
11:01:56 <HackEgo> \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
11:02:02 <HackEgo> \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
11:02:09 <HackEgo> \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
11:02:47 <HackEgo> \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
11:02:51 <HackEgo> | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ |
11:02:58 <HackEgo> \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
11:02:59 <ais523> err, that was weird parsing
11:03:04 <HackEgo> y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y \ y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y \ y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y \ y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y \ y y y y y y y y y y y y y
11:03:15 <HackEgo> \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
11:03:16 <Sgeo> So many lights!
11:03:44 <elliott> `run yes ' \ \\ \ \ ' | yes '\ \\'
11:03:45 <HackEgo> \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\
11:03:53 <HackEgo> \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\
11:03:58 <ais523> try that one in an actual terminal sometime
11:04:02 <HackEgo> \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\
11:04:03 <Patashu> why is there an infinite loop in posix anyway
11:04:04 <ais523> gnome-terminal will do
11:04:14 <ais523> Patashu: because it wouldn't be TC otherwise?
11:04:21 <elliott> EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
11:04:29 <Sgeo> What, is it bell?
11:04:50 <ais523> I just happened to know that there was a VT100 escape code for filling the screen with copies of the letter E
11:05:36 <Sgeo> Will it work with putty?
11:05:41 <ais523> it's apparently intended to allow you to make sure the terminal's centred on the screen
11:05:44 <ais523> and it wouldn't surprise me if it did
11:05:57 <ais523> even though in graphical terminals, it serves pretty much no purpose whatsoever
11:06:09 <ais523> just in case someone thinks up a use for it, I usppose
11:06:16 <Sgeo> With the prompt in the middle of those Es, but a bit below
11:06:23 <ais523> it doesn't move the cursor
11:06:27 <Patashu> it works on putty? I gotta try this
11:06:30 <ais523> so the prompt just turns up where it would have turned up anyyway
11:06:56 <Sgeo> backspace does nothing, space and backspace clears the line of E
11:07:08 <elliott> im so glad Sgeo is here to do science on the es
11:07:16 <Patashu> doesn't do anything for me
11:07:45 <ais523> now I'm wondering if it works on jettyplay
11:07:59 <ais523> I don't remember implementing it, but one of the libraries I use might do it
11:08:34 <elliott> the screen is already spaces by default...
11:08:38 <elliott> maybe i could use it as a win screen :D
11:09:05 <ais523> oh wow, it does work in jettyplay as well
11:09:08 <ais523> that is so beautifully pointless
11:09:37 <ais523> hmm, it might be fun to put that code in a fruitname in NetHack
11:09:47 -!- aloril has quit (Ping timeout: 246 seconds).
11:18:43 <oerjan> the big applEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEe
11:19:47 <Patashu> would that actually work though?
11:21:05 <ais523> yes in vanilla, due to a bug
11:21:11 <ais523> I'm not sure if it's fixed on NAO
11:21:28 <elliott> that sounds totally worth doing
11:22:09 <Sgeo> Maybe we should all take a different character to mean a correction from elliott
11:22:18 -!- aloril has joined.
11:24:41 <ais523> elliott: have you decided to stick with your current keyboard, then, rather than get one with working numbers?
11:24:53 <ais523> or are the keyboard replacement people just being slow?
11:24:58 <elliott> ais523: well no i plan to get it fixed but it means sending in the entire laptop
11:25:12 <elliott> which means making a full backup and wiping it to something that... doesn't boot into an unsupported OS by default
11:25:19 <elliott> which means i'm a bit... lazy...
11:26:03 <Sgeo> Would they really not fix it or ask for money if it boots into a different OS? It's a hardware issue, isn't it?
11:26:13 <elliott> i dunno what the warranty has to say about that
11:26:25 <elliott> and they might try and see if the number keys work first, maybe?
11:26:32 <elliott> which they couldn't do on ubuntu because lol policy
11:26:42 <elliott> oh, "a stitch in time saves nine" is not actually referring to... a stitch in time
11:26:51 <elliott> i always thought that was like... weirdly time-warpy
11:26:55 <Patashu> you are not actually a surgeon
11:27:13 <Patashu> oh wait I'm exlcuding the wrong part of the saying
11:27:24 <ais523> elliott: hey, that statement would have been perfectly sane from zzo38
11:27:36 <ais523> the only issue with it is the non sequiturism
11:27:42 <elliott> ais523: no it wouldn't, nothing zzo says is sane
11:27:56 <elliott> it would be /expected/, insofar as you can expect inane non-sequiturs at every turn
11:28:22 <ais523> well, you can expect a non-sequitur even if you don't know what precisely it'll be, given the general nature of non sequiturs
11:28:23 <oerjan> a stitch in time flies like an arrow
11:28:23 <augur> you know anything about program derivation?
11:28:39 <elliott> its when you antiintegrate a program
11:28:48 <ais523> hmm, Vorpal isn't here, I wanted to tell him about the new bridge that was being built here
11:28:58 <augur> ill take that as a no
11:29:01 <ais523> because it was apparently cheaper to build a new bridge than figure out who owned the old one
11:29:12 <ais523> even though the bridges are right next to each other and cross the same canal/railway combination
11:29:14 <elliott> ais523: why do you want to tell ol' vorpy that
11:29:22 <ais523> because I think it would amuse him
11:29:52 <ais523> it surprises me a bit that building a bridge is cheaper nowadays than figuring out ownership of an existing bridge
11:30:01 <ais523> all they actually wanted to do was run a network cable along it...
11:30:08 -!- aloril has quit (Ping timeout: 260 seconds).
11:30:32 -!- ralc has joined.
11:31:02 <oerjan> i assume the ownership was at least _somewhat_ disputed...
11:32:15 <ais523> not quite, it's more that the bridge was built so long ago that nobody can remember
11:32:19 <ais523> and there are several plausible options
11:34:17 * oerjan is reminded of http://www.jnto.go.jp/eng/indepth/history/traditionalevents/a05_fes_yamayaki.html
11:35:47 <elliott> summary: "we burn this mountain every year because it happened before"
11:36:03 -!- Ycros has quit (Ping timeout: 248 seconds).
11:36:09 <oerjan> it was more the disputed ownership part
11:37:43 -!- Ycros has joined.
11:38:04 <elliott> 18:10:30: <oerjan> actually i think i learned haskell _after_ unlambda. i don't quite remember.
11:38:04 <elliott> oh, suddenly everything makes sense
11:40:07 <oerjan> especially the "how did you have _no_ problem with monads?" part
11:40:58 <elliott> but then, my learning of haskell consisted of slogging through yaht, giving up out of sheer boredom, ignoring haskell for several months, then popping in the irc channel regularly just because it was a nice interesting place
11:41:08 <elliott> then i took a glance at RWH and LYAH, and suddenly I knew Haskell
11:41:26 <oerjan> wait LYAH existed back then?
11:41:50 <elliott> oerjan: my serious use of haskell started roughly when lyah started being a thing
11:41:54 <elliott> which was like a few years ago?
11:42:03 <elliott> when I read YAHT it didn't exist
11:42:11 <ais523> I didn't have much trouble picking up monads
11:42:19 <ais523> it was a case of starting with simple uses and working up
11:42:28 <ais523> (and I learnt from YAHT, I think)
11:42:42 <elliott> YAHT is really quite a bad tutorial...
11:42:50 <elliott> ...better than Gentle Introduction :)
11:43:09 <elliott> back then there were only those, and Haskell for C Programmers
11:43:10 <ais523> the world needs a good INTERCAL tutorial
11:43:41 -!- aloril has joined.
11:45:00 <elliott> 01:25:32: <Sgeo> The canonical BF CAT program suffers from it
11:45:01 <elliott> 01:26:48: <Sgeo> Slereah-, that stops on NUL
11:45:07 <elliott> 01:26:39: <Slereah-> +[,.]
11:45:09 <elliott> before the last line there
11:46:01 <Sgeo> Are you facepalming at me?
11:46:37 <elliott> Haskell 98 was conceived as a relatively minor tidy-up of Haskell 1.4,
11:46:38 <elliott> making some simplifications, and removing some pitfalls for the unwary
11:46:41 <elliott> booooooooooooooooooooooooooo
11:46:50 <oerjan> having only 256 possible results from a , _does_ lead to the impossibility of implementing cat correctly
11:47:18 <elliott> yes but sgeo's is obviously worse because it doesn't stop on /EOF/ :D
11:47:19 <oerjan> no matter what convention you use for EOF within that
11:48:05 <oerjan> a 16-bit bf with -1 or no change convention could work, though
11:49:29 <elliott> what about a 9-bit bf with an eof=99 conveiont
11:50:09 <olsner> hmm, "nice", on to finding a register assignment that keeps ebx intact from boot to a couple of hundred lines later when I'm ready to start using the data it points to
11:50:52 -!- azaq23 has quit (Quit: Leaving.).
11:51:13 <elliott> olsner: you are still working on that os? :D
11:51:16 -!- azaq23 has joined.
11:51:51 <elliott> oerjan: a thing of beauty surely
11:51:53 <olsner> elliott: yes, rewriting it to boot from multiboot and build to an elf image
11:52:02 <elliott> olsner: but multiboot is shit?
11:52:19 <oerjan> elliott: that works with either -1 or no change, i hope
11:52:39 <oerjan> with a bit redundancy for the former
11:52:57 -!- MigoMipo has joined.
11:53:08 <olsner> elliott: well, I figured that writing *everything* in assembler was starting to become boring, so I might want to make it possible to write some things in C and link it together using somewhat standard tools
11:53:51 <elliott> olsner: so basically...... you figured out the only way you could make it a more boring snooze of an endeavour...
11:54:01 <elliott> oerjan: yes you get pounds of money
11:59:50 <ais523> elliott: EOF 0, others shifted is what I use for new languages I design nowadays
11:59:52 <ais523> except I shift on output too
12:00:02 <ais523> I sometimes call it "incremented ASCII"
12:01:26 <oerjan> ASCII with null pointer
12:01:38 <Patashu> why not set an instruction to jump to when you reach EOF? or something like that
12:01:46 <ais523> I blame ASCII/Unicode for not putting EOF at 0 in the first place
12:02:01 <ais523> Patashu: because that assumes you have something remotely resembling standard flow control
12:02:04 <oerjan> ais523: um that would _still_ not help with binary format
12:02:06 <ais523> in many esolangs you don't
12:02:24 <ais523> oerjan: it's not like esolangs handle binaries well anyway
12:03:02 <oerjan> unlambda _does_ have an instruction to jump to when you reach EOF. if you look at it the right insane way
12:03:27 <ais523> do you have to use it twice to manage that? or can it all be done with one use of c?
12:03:41 <ais523> (I seem to remember that Unlambda's I/O conventions are deliberately designed to be awkward to use)
12:03:55 <oerjan> i believe you can actually do unlambda IO programming without c entirely, but i haven't put my idea into practice
12:04:08 <Slereah_> That is why you should use Lazy Bird
12:04:14 <oerjan> it will leak memory though
12:04:46 <ais523> a v kills your program if you ever try to determine its value, so you'd have to, umm, duplicate the entire rest of the program
12:05:03 <oerjan> ais523: yes. the c is normally only for escaping from a v you apply. but if you use CPS _explicitly_ you don't _have_ to return. and you can still use e to end the program.
12:05:32 <ais523> how do you get the v to obey CPS, though?
12:06:17 <olsner> elliott: I don't think so, more like moving on to making other things fun while finding boring but convenient solutions to some other parts
12:06:17 <oerjan> you don't. it's just that if you do ``vA B or ``iA B where A and B are your branches but A _never_ returns, then you can make it work
12:06:17 <Patashu> what does v do? consume your program?
12:06:44 <ais523> Patashu: it ignores its argument and returns v
12:07:02 <ais523> it's pretty much dynamite for any pure-functional language (in the Unlambda sense), as it's very hard to recover from an errant v
12:07:05 <oerjan> ok B cannot return either
12:07:19 <Patashu> yeah, it blows your program up
12:07:25 <elliott> olsner: you're a fuselage.
12:07:37 <olsner> elliott: what do you mean?
12:07:48 <ais523> oerjan: do you mean ``v`dAB?
12:07:54 <ais523> otherwise I don't see how it can work
12:08:10 <elliott> heh, v is like an unlambda virus
12:08:26 <ais523> and either evaluates both of A and B, or neither
12:08:32 <ais523> I can't quite remember how unlambda evaluation order works
12:09:02 <elliott> but if A and B don't return
12:09:04 <elliott> then the result is irrelevant
12:09:08 <elliott> only the evaluation matters
12:09:15 <ais523> yep, that's why I added the `d
12:09:27 <ais523> otherwise, if A doesn't return, `vA will do the same thing as A
12:09:27 <oerjan> <ais523> do you have to use it twice to manage that? or can it all be done with one use of c? <-- just one, i think, your branches can share their continuation
12:10:21 -!- FireFly has quit (Ping timeout: 240 seconds).
12:10:37 <ais523> boo, unlambda(1) is no longer in the Ubuntu repos
12:11:00 * ais523 uses locally compiled version
12:11:09 <oerjan> <ais523> oerjan: do you mean ``v`dAB? <-- um i'm not being precise here
12:13:37 <oerjan> ```v`d`kAiB is one way, i think
12:13:38 <ais523> hmm, I've been testing
12:13:47 <ais523> and am trying to figure out why ``i`d``.tei``.fei is an infinite loop
12:13:55 <ais523> that makes no sense at all
12:14:13 -!- FireFly has joined.
12:14:20 <ais523> yep, I just copy-pasted from my terminal
12:14:25 <ais523> it prints infinite copies of t
12:14:26 <oerjan> !unlambda ``i`d``.tei``.fei
12:14:32 <ais523> perhaps this is a buggy interp
12:14:35 <ais523> that wouldn't surprise me
12:14:49 <ais523> I get ftttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt...
12:15:05 <oerjan> i recall that superfast C interpreter didn't do d right
12:15:18 <ais523> !unlambda ```i`d``.teii``.fei
12:15:23 <ais523> !unlambda ```v`d``.teii``.fei
12:15:41 <ais523> $ ./unlambda --version
12:15:42 <ais523> Can't open input file: No such file or directory
12:15:47 <ais523> looks like it's Can't's
12:15:54 <oerjan> essentially e acts as a top continuation for your CPS use
12:16:04 <ais523> more seriously, though, /* Copyright (C) 1999 by David A. Madore <david.madore@ens.fr> */
12:16:08 <elliott> maybe i'll write an unlambda interpreter
12:16:17 <oerjan> ais523: what's it written in?
12:16:26 <elliott> although, what was the subtlety of d again?
12:16:38 <ais523> it follows different evaluation rules from everything else
12:16:47 <oerjan> it doesn't evaluate its argument
12:16:55 <oerjan> until that is again applied
12:17:06 <ais523> if you do `XY, the correct way to process that is to evaluate X, then if X isn't d, evaluate Y, then apply X to Y
12:17:25 <ais523> if X is d, though, you just return `dY, and don't evaluate that until it ends up as the first argument to something
12:17:25 <elliott> how on earth could you implement it wrongly? :)
12:17:41 <oerjan> by not understanding it?
12:18:00 <ais523> I imagine it's quite easy to screw up
12:18:04 <elliott> is unlambda ul or unl? latter, right?
12:18:06 <elliott> file extensions and the like
12:18:10 <oerjan> !unlambda is also a C interpreter though iirc
12:18:29 <ais523> anyway, what confuses me is that, with the impossibility of comparing functions, how do you know if the first argument is d or not
12:18:47 <elliott> ais523: by representing it symbolically and forcing it
12:19:01 <elliott> ais523: it is impossible to construct a function with identical semantics to d that is not syntactically d in unlambda
12:19:41 <ais523> or does that not have identical semantics to d?
12:19:48 <ais523> well, I know it doesn't
12:19:54 <ais523> but mathematically it "ought" to
12:19:59 <ais523> assuming I've calculated it correctly
12:20:10 <elliott> there's only the reduction rules
12:20:13 <ais523> putting any other function /but/ d there, it would work identically
12:20:25 <elliott> it isn't applied like functions
12:20:35 <elliott> implemented in the reduction rules for `
12:21:01 <oerjan> ais523: ``s`kdi is not d, no
12:21:13 <ais523> hmm, is ((a b) c) legal in Lisp?
12:21:26 <oerjan> not common lisp, i think
12:21:30 <elliott> hmm, you basically have to thunk everything in an unlambda compiler, right?
12:21:34 <elliott> unless you did fancy strictness analysis, ofc
12:21:47 <ais523> oerjan: I'm not sure if you can call it eta reduction if it's based on combinators rather than lambdas, but it's the same principle
12:22:20 <Sgeo> What's the proper name for the code part without the scope of a closure?
12:22:25 <ais523> hmm, Wikipedia says *eta-conversion
12:22:28 <elliott> oerjan: does unlambda have, erm, "tail-recursion"?
12:22:33 <oerjan> ais523: i believe it is possible to write a function in unlambda which detects whether its argument is d without applying it :)
12:22:37 <elliott> that's a really stupid question
12:22:53 <oerjan> elliott: well any decent interpreter should
12:23:21 <ais523> elliott: it is possible to write an Unlambda interp that runs out of stack space on ```sii``sii using a plausible algorithm
12:23:30 <ais523> so it's not inherently tail-recursive in that sense
12:23:47 <ais523> but decent interps should definitely try to optimise tail-recursion
12:24:34 <oerjan> i have had some thoughts on optimizing things like `eX (by throwing away the original continuation _before_ evaluating X), which would make that c-less style not leak memory, i think
12:24:34 <elliott> unl thka(unl x) { return (*prim_output_x(prim_i))(x); }
12:24:34 <elliott> unl thkb(unl x) { return (*prim_d(thka))(x); }
12:24:34 <elliott> unl thkc(unl x) { return (*prim_i(thkb))(x); }
12:24:34 <elliott> unl thkd(unl x) { return (*thkc(prim_i))(x); }
12:24:38 <elliott> unfortunately this fails at the top level
12:24:42 <elliott> because you don't want to apply the final result of a program
12:24:59 <elliott> OTOH, I could have a special dummy value, which all the primitives just recognise and return immediately on, to call the whole program with :)
12:25:00 <ais523> the final result can just be discarded
12:25:06 <elliott> here unl is just a function from unl -> unl
12:25:13 <elliott> if the whole program is a thunk like this
12:25:27 <elliott> then you have to apply the final result to make anything happen
12:25:31 <Sgeo> GODDAMN IT REDDIT STOP EQUATING "DEEP WEB" WITH TOR HIDDEN SERVICES
12:25:31 <ais523> ah, are you writing a compiler rather than an interp?
12:25:38 <elliott> ais523: yes, just had a breakthrough sort of
12:25:55 <Sgeo> </randomly-ticked-off>
12:27:28 <Patashu> deep web just means you have your robots.txt set to prevent search engine indexing, right?
12:28:25 <oerjan> elliott: in unlambda, evaluation and application are separate operations, and you need both.
12:28:40 <elliott> oerjan: but that destroys my beautiful nice fast evaluation model :(
12:28:55 <elliott> i think it actually doubles the number of required jumps
12:28:57 <Sgeo> Or you use AJAX in a really braindead way. Or I guess Tor Hidden Services are technically a part, but people are talking as though "deep web" is something scary and mysterious
12:29:10 <elliott> oerjan: it even made the whole thunk thing transparent :(
12:29:16 <Sgeo> When they mean to refer to Tor hidden services
12:39:39 <elliott> oerjan: basically i was trying to unify thunks and functions...
12:39:54 <elliott> oerjan: by just making thunks pretend they're the function they evaluate to, by forcing themselves and then passing that argument on
12:42:10 <Sgeo> About to take a Tylenol
12:43:19 <ais523> Sgeo: you know you can just /msg yourself?
12:43:27 <ais523> or does your client not have local logs?
12:43:34 <Sgeo> It has local logs
12:43:48 <Sgeo> Hmm, am I actually bothering people here
12:44:36 <Sgeo> I guess I just felt more comfortable with the log on the web, but it's really unnecessary, sorry
12:44:37 <elliott> only in the cosmic microwave background radiation sense.
12:44:58 <ais523> Sgeo: it's not really bothersome, it just looks weird
12:45:09 <ais523> I suppose I'm hoping for you to make less of a fool of yourself in public
12:45:34 <elliott> Phantom_Hoover: its always there and vaguely annoying
12:45:45 <elliott> although mostly in a cringe-on-behalf way
12:45:50 <elliott> sorry what do you mean cmbr isnt like that it totally is
12:46:07 <oerjan> !addinterp utest unlambda ```sii````@i|i<c>
12:46:07 <EgoBot> Interpreter utest installed.
12:46:13 <EgoBot> ./interps/unlambda/unlambda.bin: file /tmp/input.2987: parse error
12:46:35 <EgoBot> Interpreter utest deleted.
12:46:41 <oerjan> !addinterp utest unlambda ```sii````@i|i`ci
12:46:41 <ais523> why is that c in angle brackets?
12:46:42 <EgoBot> Interpreter utest installed.
12:46:53 <oerjan> because i copied the wrong line :D
12:48:00 <EgoBot> Interpreter utest deleted.
12:48:58 <oerjan> !addinterp utest unlambda ```sii``d``@i|`ci
12:48:58 <EgoBot> Interpreter utest installed.
12:49:16 <oerjan> ..._somewhat_ disappointing
12:49:57 <elliott> oerjan: thunks are ugly :(
12:50:06 <EgoBot> Interpreter utest deleted.
12:51:05 <oerjan> !addinterp utest unlambda ```sii``d```@i|i`ci
12:51:06 <EgoBot> Interpreter utest installed.
12:51:48 <ais523> elliott: any opinion on OO.o being donated to Apache?
12:52:13 * ais523 guesses no, but isn't sure
12:52:55 <elliott> ais523: does anyone care, now that LibreOffice has taken over?
12:52:58 <elliott> I didn't even know it was donated
12:53:11 <elliott> the only people who still use OO.o are, I guess, Windows users who don't have the kind of transition Linux distros are doing
12:53:15 <ais523> elliott: well, LO care, because it's under a license that lets them copy code back out
12:53:27 <ais523> so it saves them having to reimplement features
12:53:37 <elliott> ais523: I sort of doubt openoffice will get much active development now that libreoffice exists
12:53:42 <ais523> and the trademark was donated too, so it's possible that LO will get to call themselves OpenOffice.org again after all
12:53:52 <elliott> hmm, I actually prefer LibreOffice as a name
12:53:55 <elliott> the .org necessity was always ugly
12:54:01 <ais523> if Apache decides to give them the trademark
12:54:01 <elliott> admittedly, OpenOffice (no .org) has brand recognitino
12:54:27 <ais523> OOo is a great acronym
12:54:36 <ais523> and pretty recognisable
12:54:37 <elliott> ais523: anyway, OO.o and LibreOffice are both very ugly, slow programs with lots of bad design and kludginess
12:54:47 <elliott> I avoid them at pretty much all costs, personally
12:54:56 <elliott> If I really want a WYSIWYG word processor for some reason, AbiWord is usually OK
12:54:57 <ais523> aren't all WYSIWYG word processors, though?
12:55:19 <elliott> I'd say AbiWord is much better than OO.o/LO's word processor as far as UI goes
12:55:21 <ais523> I have other alternatives for word processing
12:55:28 <ais523> and for spreadsheets, too
12:55:31 <ais523> but not really for presentations
12:55:44 <ais523> so I still need to use the office suite for something
12:55:46 <elliott> Well, there's always latex with beamer :)
12:56:00 <elliott> Or one of them fancy ~~semantickal~~ HTML-based things.
12:56:11 <olsner> I use html and opera for all my presentations
12:56:42 <olsner> there's a css media query you can use to check if you're in full screen (which is either opera-specific or only works in opera, but whatever :D)
12:57:06 <elliott> implying there's a standard that only opera implements correctly
12:57:20 <ais523> hmm, apparently Windows 8 has done a Gnome Shell/Unity, and come up with a new crazy tile-based "start screen"
12:57:22 <elliott> (implying that opera implements any standard correctly)
12:57:35 <ais523> so we won't even be able to use Windows either to get away from the UI reinvention nonsense
12:57:35 <elliott> ais523: it looks exactly like Windows Phone, to be honest
12:57:50 <ais523> and Unity was stolen from UNR
12:57:50 <elliott> ais523: It looks fairly decent for tablets
12:57:56 <olsner> I think this part just isn't in the standard
12:58:13 <elliott> ais523: I'm sort of thinking desktops are on the road to extinction, though
12:58:26 <ais523> olsner: you can't rely on opera to be present on another computer
12:58:44 <elliott> Netbooks are wildly popular, tablets are probably going to be once they get down to a lower pricepoint (without being saddled with ridiculously inappropriate software like Android)
12:58:44 <olsner> read something about a proposal to add something similar with a different name to CSS last week though
12:58:51 <elliott> Even laptops have desktop-esque specs nowadays
12:58:59 <elliott> I think desktops may be marginalised relatively soon
12:59:03 <ais523> when I take a really important presentation with me, I save it as .odp, .ppt, and .pdf, and take a live-executable for Windows for both Sumatra and OOo
12:59:05 <olsner> ais523: I can if my presentation requires opera, or if I bring my own laptop
12:59:15 <ais523> and then normally, at least one will work
12:59:33 <Phantom_Hoover> <elliott> I think desktops may be marginalised relatively soon
12:59:43 <olsner> (i.e. assuming X, X is in fact true)
12:59:46 <ais523> (typically I use the .pdf with Adobe Reader; Sumatra has issues rendering thin lines, in that it draws them as thin as the PDF suggests rather than widening them to 1 pixel)
12:59:46 <elliott> Phantom_Hoover: those are marginal
12:59:55 <elliott> Phantom_Hoover: come on, you answered that one yourself
12:59:57 <Lymia> Phantom_Hoover, yeah.
13:00:09 <Lymia> Laptops are a little too convenient. =p
13:00:42 <Lymia> Though I do want a desktop machine to host a ssh server on for tunneling.
13:00:44 <EgoBot> Interpreter utest deleted.
13:01:30 <oerjan> !addinterp utest unlambda ```sii``d`@|`ci
13:01:31 <EgoBot> Interpreter utest installed.
13:01:48 <Lymia> !utest aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
13:01:49 <EgoBot> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
13:02:29 <Patashu> !utest here comes another chinese earthquake brbrbrbrbr
13:02:29 <EgoBot> here comes another chinese earthquake brbrbrbrbr
13:03:22 <EgoBot> Interpreter utest deleted.
13:04:00 <oerjan> !addinterp utest unlambda ```s`d`@|i`ci
13:04:00 <EgoBot> Interpreter utest installed.
13:04:40 <elliott> oerjan: hmm, does unlambda's `dX ever execute X more than once?
13:04:48 <elliott> i.e. is it like call-by-name or just lazy evaluation?
13:05:08 <elliott> oerjan: so I don't have to do the Haskellian "thunks stub themselves out with {return value;} upon evaluation"?
13:05:32 <elliott> ooh, what if I combined forcing and evaluation with a parameter...
13:09:15 <EgoBot> Interpreter utest deleted.
13:09:24 <oerjan> !addinterp ucat unlambda ```s`d`@|i`ci
13:09:24 <EgoBot> Interpreter ucat installed.
13:10:03 <oerjan> don't see any further improvement on the spot
13:10:31 <oerjan> and it is nicely incomprehensible
13:10:47 <Patashu> !ucat here comes another chinese earthquake brbrbrbrbr
13:10:47 <EgoBot> here comes another chinese earthquake brbrbrbrbr
13:19:39 <elliott> how many damn chinese earthquakes are ther
13:21:56 <Lymia> !ucat I am a mouse
13:29:49 <elliott> oerjan: gah, I feel like I could get unlambda evaluation steps down to a few instructions, but the c compiler is getting in my way
13:30:14 <oerjan> !unlambda ``.a`cd`.c`c.b
13:30:36 <oerjan> !unlambda ``r`cd`.c`c.b
13:31:23 <oerjan> !unlambda ``r`cd`.c`c.b
13:32:30 -!- EgoBot has quit (Remote host closed the connection).
13:32:41 -!- EgoBot has joined.
13:32:44 <elliott> hmm, but this is an extra branch each time...
13:33:04 <oerjan> that DCC output was something insane (it contained _control_ characters!)
13:33:09 <oerjan> !unlambda ``r`cd`.c`c.b
13:35:43 <oerjan> i may suspect someone of having done +[[.+]+] in a privmsg
13:36:17 <oerjan> because that's what the DCC output i got before it quit looked like
13:36:40 <oerjan> and there's a bug that sometimes causes long output to be sent to the wrong place
13:38:27 <elliott> oerjan: what is the semantics of .x again?
13:38:33 <elliott> i forget how `.xX is defined
13:39:26 <elliott> oerjan: so X is evaluated before x is output?
13:39:57 <elliott> unl prim_out_x(unl _, unl k) {
13:39:58 <elliott> if (!k) return prim_out_x;
13:41:15 <elliott> oerjan: http://sprunge.us/UcGh
13:41:21 <elliott> oerjan: what do you think about this for an evaluation model?
13:41:30 <elliott> assume that the C implementation does tail-call optimisation
13:41:46 <elliott> the whole program would be evaluated with FORCE(thk_d)
13:42:00 <elliott> prim_i needs wrapping in a closure structure
13:42:46 <oerjan> i don't think my brain can manage the context switch at the moment
13:45:42 <elliott> http://sprunge.us/JaYP there... hmm
13:45:48 <elliott> i guess it should pass the pointer to the whole closure
13:51:10 <Patashu> this is C++? what does 'closure' do?
13:51:38 <Lymia> !python ''.join(chr((x%255)+1) for x in range(200))
13:51:59 <oerjan> i don't think there is python in egobot
13:52:01 <Lymia> !addinterp recursion recursion2
13:52:01 <EgoBot> Interpreter recursion2 does not exist!
13:52:11 <Lymia> !addinterp recursion python
13:52:11 <EgoBot> Interpreter python does not exist!
13:52:21 <Lymia> !addinterp recursion unlambda
13:52:22 <EgoBot> Interpreter recursion installed.
13:52:28 <Lymia> !addinterp recursion2 recursion
13:52:28 <EgoBot> Interpreter recursion2 installed.
13:52:32 <Lymia> !addinterp recursion recursion2
13:52:32 <EgoBot> There is already an interpreter for recursion!
13:52:41 <Lymia> !delinterp recursion
13:52:44 <EgoBot> Interpreter recursion deleted.
13:52:46 <Lymia> !addinterp recursion recursion2
13:52:46 <EgoBot> Interpreter recursion installed.
13:52:51 <elliott> <Patashu> this is C++? what does 'closure' do?
13:52:56 <elliott> and it is the name of the struct.
13:53:42 <Lymia> !python print ''.join(chr((x%255)+1) for x in range(2000))
13:54:02 <oerjan> !haskell putStr ['\001'..'\201']
13:54:29 <Lymia> !haskell putStr '\000'
13:54:44 <Lymia> * Received a DCC CHAT offer from EgoBot
13:54:57 <oerjan> Lymia: python is not an interpreter, you cannot use it that way, but since it's in /usr/bin you might be able to run it with sh
13:55:15 <oerjan> !haskell putStr ['\001'..'\201']
13:55:40 <oerjan> ah right it sends a newline before anything interesting
13:55:58 <oerjan> !haskell putStr ['\014'..'\201']
13:56:00 <EgoBot> .................. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
13:58:05 <oerjan> !sh python -c 'print "Hello"'
13:58:40 -!- Sgeo has quit (Ping timeout: 252 seconds).
13:58:48 <oerjan> !addinterp python sh python
13:58:49 <EgoBot> Interpreter python installed.
13:59:34 <Lymia> !python print ''.join(chr((x%255)+1) for x in range(2000) if (x%255)!=(ord('\n')+1))
13:59:42 <Lymia> !python print ''.join(chr((x%255)+1) for x in range(2000) if (x%255)!=(ord('\n')-1))
14:00:30 <Lymia> !python import random;print ''.join(chr(random.randint(0,255)) in range(100))
14:00:31 <EgoBot> .............................. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.............................. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
14:00:39 <Lymia> !python import random;print ''.join(chr(random.randint(0,255)) in range(100))
14:00:40 <EgoBot> Traceback (most recent call last):
14:00:54 <Lymia> !python import random;print ''.join(chr(random.randint(0,255)) in range(100))
14:00:55 <EgoBot> Traceback (most recent call last):
14:01:11 <Lymia> !python import random;print ''.join(chr(random.randint(0,255)) for x in range(100))
14:01:22 <Lymia> !python import random;print ''.join(chr(random.randint(0,255)) for x in range(100))
14:01:23 <EgoBot> NUs2.&./x(F.LP.}.=.z@~{D7Q..Hg.Q.ۂO0Na{.'.I..
14:01:34 <Lymia> !python import random;print ''.join(chr(random.randint(0,255)) for x in range(10000))
14:01:35 <EgoBot> .I..~zdRT [l7.9a5(^.0
14:01:51 <Lymia> !python a=[None];a[0]=a;print a
14:02:25 <Lymia> !python a=[None];a[0]=a;flatten(a)
14:02:25 <EgoBot> Traceback (most recent call last):
14:06:37 <Lymia> !python print '\nQUIT :This better not work'
14:06:49 <Lymia> !python print '\r\nQUIT :This better not work'
14:07:03 <Lymia> !python print "So much DCC Chat"
14:11:26 <ais523> <Aaron Sloman> (Pop-11 has most of the virtues of python, [...]
14:11:37 <ais523> wow he was brave to say that on a relatively widely read internal mailing list
14:11:42 <ais523> I wonder if there will be flames in response
14:12:45 <elliott> ais523: It's computer science/software engineering, we're hardly known for being quiet and reserved with our opinions
14:13:08 <ais523> but I never thought I'd see POP-11 compared with Python
14:13:26 <ais523> (POP-11's a domain-specific language designed for writing ELIZA-like AI bots, as far as I can tell)
14:13:31 <elliott> POP-11 was pretty advanced, I gather
14:13:53 <elliott> "An online version of ELIZA using Pop-11 is available at Birmingham." is the only thing Wikipedia says that would make me think that.
14:14:11 <ais523> perhaps I just saw a biased subset of it from someone who was really an ELIZA freak
14:14:23 <elliott> POP-11 is a reflective, incrementally compiled programming language with many of the features of an interpreted language. It is the core language of the Poplog programming environment developed originally by the University of Sussex, [...] POP-11 is an evolution of the language POP-2, developed in Edinburgh University and features an open stack model (like Forth). It is mainly procedural, but supports declarative language constructs, including a
14:14:23 <elliott> pattern matcher and is mostly used for research and teaching in Artificial Intelligence, although it has features sufficient for many other classes of problems. It is often used to introduce symbolic programming techniques to programmers of more conventional languages like Pascal, who find POP syntax more familiar than that of Lisp. One of POP-11's features is that it supports first-class functions.
14:14:28 <elliott> Pop-11 is the core language of the Poplog system. The fact that the compiler and compiler subroutines are available at run-time (a requirement for incremental compilation) gives it the ability to support a far wider range of extensions than would be possible using only a macro facility.
14:14:32 <elliott> it actually sounds quite expressive and advanced to me
14:14:42 <elliott> ais523: there exist ELIZA freaks?
14:15:50 <ais523> the language seems based on pattern-matching lists, anyway
14:16:11 <ais523> you end up with lots of deeply nested lists writing it
14:18:25 <elliott> wow, ghc does really terribly at small functions
14:18:32 <elliott> the prologue and epilogue are just so long
14:23:35 -!- oerjan has quit (Quit: *COUGH* *HACK*).
14:24:37 <ais523> the prologue/epilogue are pretty much hard coded in gcc
14:25:03 <ais523> I think they're literally hard coded in gcc-bf, there's a string that's spit out at the beginning and end of each function that's quite long
14:25:14 <ais523> with even the newlines and tabs embedded
14:27:59 <elliott> yep; unfortunately, I have a lot of really tiny functions, so I really suffer for it
14:30:14 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:38:43 -!- augur has quit (Remote host closed the connection).
14:50:58 -!- Vorpal has joined.
14:51:12 <elliott> stanislav rapidly reaching levels of smugness even i cannot stand
14:53:01 <Vorpal> elliott, what is the spec like so far?
14:53:17 <elliott> olsner: guy who writes loper-os.org
14:53:21 <Vorpal> elliott, ah, may I see it?
14:53:53 -!- copumpkin has joined.
14:54:10 <elliott> Vorpal: 9f0jer0g9jrtmreor09.onion
14:54:25 <elliott> the distinct lack of numbers i cannot type in this Tor domain is entirely coincidental.
14:58:03 <Patashu> http://mspaintadventures.com/sweetbroandhellajeff/?cid=031.jpg new abahj
15:01:16 <elliott> also, arabian bartender and hasidic juice-drinker?
15:03:38 <elliott> Patashu: http://twitter.com/#!/andrewhussie/status/68546368226066432
15:06:32 -!- augur has joined.
15:12:33 -!- ais523 has quit (Remote host closed the connection).
15:14:30 -!- azaq23 has quit (Quit: Leaving.).
15:15:37 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
15:18:35 <elliott> where's oerjan when you need him
15:21:24 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
16:09:41 -!- Phantom_Hoover has joined.
16:16:58 -!- elliott_ has joined.
16:16:59 -!- elliott has quit (Read error: Connection reset by peer).
16:29:36 -!- ais523 has joined.
16:30:50 -!- copumpkin has quit (Ping timeout: 252 seconds).
16:43:35 -!- copumpkin has joined.
16:47:32 -!- pikhq has quit (Ping timeout: 240 seconds).
16:47:33 -!- pikhq_ has joined.
16:57:32 <elliott_> ais523: `i`dX doesn't evaluate X does it...
16:57:59 <ais523> `dX doesn't evaluate X until it's on the LHS of an application
16:58:10 <ais523> then it evaluates X, then the RHS of the application, then applies them to each other
16:58:25 <elliott_> ais523: this really complicates my evaluation model :(
16:58:34 <elliott_> it might even completely break it
16:58:37 <ais523> it's definitely nontrivial
16:58:47 <ais523> in fact, I think d is in the language mostly /because/ it's a pain to implement
16:58:50 <elliott_> just requires some Fancy Tricks
17:03:19 <Gregor> lol, this phishing scam claims to be "ACCOUNT VERIFICATION"
17:03:30 <Gregor> Apparently they have a trademark on the word "account
17:07:32 <elliott_> I'm going to trademark "account[\n]"
17:08:55 <Gregor> elliott_: ITYM "account\n<Gregor>"
17:28:50 <pikhq_> Oh, wow. ext filesystems on Linux do not normalize filenames.
17:29:15 <pikhq_> They just store the byte sequence handed to them as the filename.
17:29:37 <pikhq_> You can have two different filenames that are, as far as Unicode is considered, identical.
17:29:58 <pikhq_> s/considered/concerned/
17:29:59 <pikhq_> (though quite distinct as far as a more naive strcmp() is concerned)
17:31:38 <fizzie> I have a feeling OS X normalizes to NFD or NFKD, I think; at least on some level, since I haven't managed to get an "ä" in a file name that wouldn't have been decomposed into a and combining-diaeresis.
17:32:25 <pikhq_> It doesn't matter that much what *form* you normalise to, what matters is that you actually apply Unicode normalisation...
17:32:34 <pikhq_> To do otherwise is broken.
17:32:58 -!- monqy has joined.
17:34:58 <fizzie> I don't think the filesystem level (at least for ext*) defines the character set at all; it's just defined in terms of octet sequences. So the normalization would either have to happen on a higher level; or you would need to mandate Unicode and, say, UTF-8.
17:37:24 <fizzie> Perhaps on the VFS level or something. I think some filesystems do respect the "iocharset" option for doing some character-set conversions.
17:39:42 <pikhq_> It certainly needs to be somewhere in there, though.
17:43:10 <fizzie> Well, now; if your primary interface (the C runtime) is specified in terms of char*s with no inherent character set...
17:51:48 -!- augur has changed nick to codjahandarie.
17:52:48 -!- pikhq_ has quit (Ping timeout: 241 seconds).
17:52:53 -!- pikhq has joined.
17:53:04 -!- codjahandarie has changed nick to augur.
17:58:58 -!- TOGoS has joined.
17:59:04 -!- TOGoS has left.
18:00:25 <fizzie> "You have the ultimate responsibility for moving your old e-mails to the new inbox." -- I don't know, somehow I find this very funnily said. The ultimate responsibility!
18:13:34 <Gregor> Possibly the most onerous task you will ever be asked to undertake :P
18:16:42 <Vorpal> <elliott> Vorpal: 9f0jer0g9jrtmreor09.onion
18:16:43 <Vorpal> <elliott> the distinct lack of numbers i cannot type in this Tor domain is entirely coincidental.
18:16:56 <Vorpal> I don't have tor on this computer
18:19:45 <fizzie> Gregor: It got funnier. "Staff e-mails will be moved by IT Services in cooperation with the staff members, while students may ask for advice but move the e-mails themselves." See, students are assumed to be able to handle such a complicated thing, while us staff obviously will just mess it up.
18:20:05 -!- zzo38 has joined.
18:26:26 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
18:30:57 -!- Phantom_Hoover has joined.
18:35:08 -!- TeruFSX has quit (Ping timeout: 252 seconds).
18:39:19 <fizzie> Vorpal: Incidentally, I re-optimized that congress hall picture with some vertical lines (based on the walls) in place; now it's less wavy, but some seams are worse: http://users.ics.tkk.fi/htkallas/prague-congress-hall.jpg → http://users.ics.tkk.fi/htkallas/prague-congress-hall-2.jpg -- not sure if I can be bothered to try getting a both-okay image.
18:39:44 <fizzie> The wavy version also for some reason perceptually speaking seems to make the room larger.
18:46:07 -!- ais523 has quit (Remote host closed the connection).
18:48:31 -!- ralc has quit (Quit: Leaving).
18:53:01 -!- sebbu2 has quit (Read error: Connection reset by peer).
18:54:37 -!- sebbu has joined.
18:54:37 -!- sebbu has quit (Changing host).
18:54:37 -!- sebbu has joined.
19:02:52 -!- calamari has joined.
19:07:00 <Phantom_Hoover> There are no decent torrents for the 4th series of Futurama.
19:07:01 <fizzie> Phantom_Hoover: It was a sort of "so I woke up to walk here before 08am, I guess I should be doing something so that I won't fall asleep before the talk begins" situation.
19:08:32 <Phantom_Hoover> http://torrentz.eu/d04ca09c3e18a77ea650708a708be7911edac5f6
19:08:47 <Phantom_Hoover> 'Complete'; WP lists at least 5 more episodes on the series.
19:14:50 -!- oerjan has joined.
19:15:47 -!- cheater_ has quit (Ping timeout: 248 seconds).
19:18:19 <oerjan> 09:39:42 <ais523> `dX doesn't evaluate X until it's on the LHS of an application
19:18:25 <oerjan> 09:39:53 <ais523> then it evaluates X, then the RHS of the application, then applies them to each other
19:18:38 <oerjan> incorrect, the RHS is evaluated first
19:38:25 <elliott_> it completely breaks my model :(
19:38:34 <elliott_> because functions handle frocing their arguments
19:39:30 <CakeProphet> elliott_: the main problem I see with this approach is that it's NOT a hybrid of Perl and Haskell.
19:39:34 <elliott_> oerjan: can i have expanation mark
19:40:06 <oerjan> maybe you could if i had any idea what it was.
19:41:58 <oerjan> elliott_: my ocaml model also made functions handle forcing their arguments
19:42:18 <oerjan> so it definitely can work
19:42:18 <elliott_> oerjan: i sure hope you are not with the stealing of my model bastard :/
19:42:42 <oerjan> yeah, stealing it, inventing a time machine and going back to 2002
19:43:25 <oerjan> in a very liberal sense, yes.
19:44:13 <oerjan> it generates an ocaml program in which the unlambda functions are ocaml functions
19:44:22 <elliott_> oerjan: also my model doesn't handle call/cc... yet
19:44:23 <oerjan> but it does so simply by composing parts
19:44:35 <elliott_> my compiler is kind of like that too
19:44:37 <elliott_> THUNK(a, APPLY(&prim_out_x, &prim_i))
19:44:37 <elliott_> THUNK(b, APPLY(&prim_d, &thk_a))
19:44:37 <elliott_> THUNK(c, APPLY(&prim_i, &thk_b))
19:44:37 <elliott_> THUNK(d, APPLY(&thk_c, &prim_i))
19:44:50 <elliott_> you could do analysis to find that d could not be possibly applied in some application
19:44:54 <elliott_> and so fold a bunch of thunks into one
19:45:21 <CakeProphet> !addinterp keys haskell putStrLn $ map toEnum ([33..64]++[91..96]++[123..126])
19:45:22 <EgoBot> Interpreter keys installed.
19:45:26 <EgoBot> !"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~
19:46:59 <oerjan> CakeProphet: um the problem is none of the bots have a prefix elliott_ can type, except lambdabot whose @let definitions tend to get wiped out
19:47:34 <oerjan> (a rather direct consequence of the fact the only command to remove @let definitions removes all of them)
19:47:54 <oerjan> elliott_: oh you can type ` without problems?
19:48:07 <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/
19:48:45 <elliott_> `run echo 'echo '"'"'!"#$%^&* 0123456789'"'" >bin/k
19:48:51 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/k
19:49:09 <HackEgo> echo '!"#$%^&* 0123456789'
19:49:11 <elliott_> can someone prepend a shebang to that
19:49:54 <CakeProphet> but I don't know any other useful commands for that.
19:49:59 <oerjan> THAT'S NOT A REASONABLE RESTRICTION
19:50:38 -!- cheater_ has joined.
19:51:17 <CakeProphet> `run perl -pie '"#!/bin/sh\n" . <>' /bin/k
19:51:46 <olsner> CakeProphet: wtf, that was perl, we all saw it
19:51:48 <oerjan> CakeProphet: it's bin/k with no /
19:51:51 <olsner> looks like it failed too
19:52:08 <HackEgo> echo '!"#$%^&* 0123456789'
19:52:33 <CakeProphet> `run perl -pi -e '"#!/bin/sh\n" . <>' bin/k
19:52:35 <HackEgo> echo '!"#$%^&* 0123456789'
19:52:55 <CakeProphet> for some reason you have to put the -e seperately with this one.
19:53:02 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/k
19:53:39 <elliott_> `run echo 'echo '"'"'!"#$%^&* 0123456789'"'" >>bin/k
19:53:49 <CakeProphet> ah I should have either taken off the -p or changed <> to $_
19:54:06 <EgoBot> Interpreter keys deleted.
19:54:34 <olsner> `run echo '!"#$%^&* 0123456789' | sed 's,^,#!/usr/bin/perl\n,'
19:54:36 <HackEgo> #!/usr/bin/perl \ !"#$%^&* 0123456789
19:55:20 <oerjan> lifthrasiir: no wildcards without `run
19:56:02 <oerjan> elliott_: hackego has plenty in /bin too...
19:56:10 <lifthrasiir> elliott_, no, i want to add `k, `sk (and so on) commands that can be used as an unlambda interpreter
19:56:20 <EgoBot> ./interps/unlambda/unlambda.bin: file /tmp/input.12483: parse error
19:57:09 <oerjan> it's rather useless to start an unlambda program with anyhow
19:57:47 <lifthrasiir> ` is taken literally, so i think it's just fine
19:58:07 <elliott_> oerjan: obviously they have to work by calling each other, duh
19:58:53 <elliott_> | (“reprint character read”) only in Unlambda version 2 and greater
19:58:54 <elliott_> The | function takes an argument X. It returns the evaluation of `X.x, where x is the current character (the one read by the last application of @) or of `Xv if there is no current character (i.e. if @ has not yet been applied or if it has encountered an EOF).
19:58:58 <elliott_> this is a really ugly instruction imo
19:59:25 <elliott_> oerjan: can you write something that tests the corner-cases of d and its interaction with things like s >_>
19:59:26 <lifthrasiir> `run (echo '#!/bin/sh'; echo "(echo '``'; cat) | interps/unlambda/unlambda.bin") > bin/'`' && chmod +x bin/'`'
19:59:41 <elliott_> lifthrasiir: interps/ is egobot.
19:59:44 <EgoBot> unlambda ```s`d`@|i`ci
19:59:53 <elliott_> lifthrasiir: you can use addinterp
20:00:06 <elliott_> which i havent bothered to implement yet
20:03:07 <elliott_> oerjan: ok i will struggle on my own >_>
20:03:11 <oerjan> there is the famous ``r`cd`.*`cd hack, although that really just uses d in ways that are equivalent to i
20:03:14 -!- pikhq has quit (Ping timeout: 240 seconds).
20:03:16 -!- pikhq_ has joined.
20:04:32 <zzo38> You have wrong character at the start
20:04:56 <oerjan> !unlambda ```s`kd`k.x.y
20:05:22 <zzo38> Yes, but it still doesn't seem to work.
20:05:34 <elliott_> good enough test program for me
20:05:51 <elliott_> !unlambda ```s`d`.xv`.yv`d`.zv
20:05:56 <elliott_> !unlambda ```s`d`.xv`d`.yv`d`.zv
20:06:08 <elliott_> oerjan: yours looks simpler than mine :D
20:07:10 <oerjan> !unlambda ````sd`k.x.yi
20:08:04 <CakeProphet> Could someone please output a quine in IRC?
20:08:06 <elliott_> oerjan: argh, do i have to manually convert again?
20:08:37 <CakeProphet> man, fucking IRC programming, finnicky shit.
20:08:41 <quintopia> CakeProphet: my status line doesn't say "#irp"
20:09:09 <elliott_> oerjan: is your old program ok
20:09:12 <elliott_> or do i have to try that one too
20:15:39 <CakeProphet> ?????????????????????????????????????????????????????????????/
20:15:49 <lambdabot> "??????????????????????????????????????????????????????????????????????????...
20:17:20 <oerjan> oh _that_ ancient crap
20:18:00 <oerjan> i'd imagine you'd want to try as many of them as possible
20:18:26 <elliott_> oerjan: i have to convert these by _hand_ you know :D
20:18:31 <elliott_> THUNK(a, APPLY(&prim_s, &prim_d))
20:18:32 <elliott_> THUNK(b, APPLY(&prim_k, &prim_out_x))
20:18:34 <elliott_> THUNK(c, APPLY(&thk_a, &thk_b))
20:18:36 <elliott_> THUNK(d, APPLY(&thk_c, &prim_out_y))
20:18:38 <elliott_> that's tangible work[EXCLAMATION MARK]
20:18:53 <oerjan> ...i see. i suggest writing a compiler to do it, or something.
20:20:19 <pikhq_> elliott_: Why, that looks *suspiciously* like clambda.h stuff.
20:20:36 <elliott_> pikhq_: its not similar really, the thunks are pretty different
20:20:56 <elliott_> http://forums.silverlight.net/forums/p/230502/562113.aspx As Windows 8 dawns, Silverlight developers begin to dwell -- if only for seconds -- on the possibility that their platform may be an abandoned pile of shit.
20:21:07 <elliott_> pikhq_: #define FORCE(x) (x)->code((x), 0)
20:21:07 <elliott_> #define APPLY(f, x) (f)->code((f), (x))
20:21:15 <elliott_> pikhq_: basically its lazy evaluation where every function acts like the function it evaluates to
20:21:19 <elliott_> but if you pass a NULL argument
20:21:26 <elliott_> it is actually a decent system imo...
20:21:32 <pikhq_> Oh, hey, a smarter design.
20:21:48 <elliott_> this is just for an unlambda compiler
20:22:53 <pikhq_> I still can't believe I actually did that shit...
20:23:13 <pikhq_> What's worst is that it's not too revolting.
20:23:30 -!- muaddib1 has joined.
20:24:43 <elliott_> muaddib1: you appear to be missing your l and t
20:24:47 <elliott_> i've got spares, would you like them?
20:26:31 <elliott_> oerjan: http://esolangs.org/w/index.php?title=Talk:This%3DThat&curid=2951&diff=23195&oldid=18848 can you handle {{unsigned}} duties :D
20:26:46 -!- muaddib1 has left.
20:27:29 <oerjan> erm i saw that and it annoyed me, but technically it _is_ signed, i think he may have used the wrong number of ~'s?
20:27:41 <Vorpal> <fizzie> Vorpal: Incidentally, I re-optimized that congress hall picture with some vertical lines (based on the walls) in place; now it's less wavy, but some seams are worse: http://users.ics.tkk.fi/htkallas/prague-congress-hall.jpg → http://users.ics.tkk.fi/htkallas/prague-congress-hall-2.jpg -- not sure if I can be bothered to try getting a both-okay image.
20:27:51 * oerjan just clicks the signing button himself...
20:28:04 <Gregor> I believe that by "incidentally" you meant "apropos of nothing" X-P
20:28:19 <Vorpal> <fizzie> The wavy version also for some reason perceptually speaking seems to make the room larger. <-- indeed
20:29:06 <elliott_> oerjan: But that'll produce the wrong date/time >_>
20:29:27 <elliott_> oerjan: because you're signing it later
20:29:42 <oerjan> um i mean when i sign my own messages
20:29:56 <elliott_> well it isn't signed _properly_ :(
20:56:46 -!- Sgeo has joined.
21:14:39 -!- wareya has quit (Read error: Connection reset by peer).
21:15:15 <oerjan> wtf that's a big comment thread http://www.reddit.com/r/AskReddit/comments/hpx98/what_pisses_you_off_but_really_shouldnt/
21:15:23 -!- wareya has joined.
21:18:24 <elliott_> its like reddit circlejerk heaven
21:18:27 <cheater_> http://spritesmods.com/?art=avrcpm
21:18:41 <oerjan> curiously it doesn't have that many _upvotes_
21:18:53 <elliott_> oerjan: hmm, well we know the counters are fudged
21:19:14 <oerjan> elliott_: only the up/down tallies, not the difference
21:19:35 <elliott_> oerjan: you get posts that are like sixty/thirty which in reality only got like a dozen downvote
21:20:10 <oerjan> elliott_: um i've read reddit admins saying that while up and down are fudged, the _difference_ is accurate.
22:07:15 -!- pikhq has joined.
22:08:17 -!- pikhq_ has quit (Ping timeout: 240 seconds).
22:18:21 -!- MigoMipo has quit (Remote host closed the connection).
22:36:22 -!- Patashu has joined.
22:36:52 -!- calamari has quit (Quit: Leaving).
22:40:24 -!- oerjan has quit (Quit: Good night).
22:42:32 -!- Vorpal has quit (Ping timeout: 255 seconds).
22:44:16 -!- augur has quit (Remote host closed the connection).
22:49:31 <Phantom_Hoover> https://bugs.launchpad.net/ubuntu/+source/pam/+bug/790538
22:52:09 <Gregor> APT GUUUUUUUY NANANANANANANANANANANANANANANANA APT GUUUUUUUUUUUUUY
22:52:49 <elliott_> `addquote <Phantom_Hoover> https://bugs.launchpad.net/ubuntu/+source/pam/+bug/790538 <Phantom_Hoover> APT GUY STRIKES AGAIN <Gregor> APT GUUUUUUUY NANANANANANANANANANANANANANANANA APT GUUUUUUUUUUUUUY
22:52:50 <HackEgo> 434) <Phantom_Hoover> https://bugs.launchpad.net/ubuntu/+source/pam/+bug/790538 <Phantom_Hoover> APT GUY STRIKES AGAIN <Gregor> APT GUUUUUUUY NANANANANANANANANANANANANANANANA APT GUUUUUUUUUUUUUY
22:52:59 <elliott_> Phantom_Hoover: wait which one is apt guy again :D
22:53:27 <Phantom_Hoover> Although he did appear to be reforming to the extent of at least learning Haskell.
22:54:47 <elliott_> your niditism is at all all time low
23:02:43 <Gregor> elliott_ is a major nidiot.
23:16:18 -!- augur has joined.
23:18:42 -!- elliott_ has quit (Ping timeout: 252 seconds).
23:29:40 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
23:31:02 -!- pikhq_ has joined.
23:33:52 -!- pikhq has quit (Ping timeout: 240 seconds).