←2013-01-03 2013-01-04 2013-01-05→ ↑2013 ↑all
00:00:00 <ais523> `addquote <shachaf> oerjan: Comonads? <oerjan> shachaf: no, feather
00:00:04 <HackEgo> 895) <shachaf> oerjan: Comonads? <oerjan> shachaf: no, feather
00:00:15 <shachaf> What's feather?
00:00:18 <ais523> Bike: no, graphical environments aren't lightweight
00:00:27 <ais523> shachaf: please retroactively unask that question
00:00:51 <shachaf> Fascist!
00:00:53 <oerjan> ais523: i'm sure feather will have perfectly adequate analogy to functional reactive programming
00:00:57 <oerjan> *+a
00:01:23 <ais523> oerjan: if Feather doesn't have a feature you need, just retroactively add it :)
00:01:26 <ais523> that's the whole point, really
00:01:41 <ais523> "does Feather have a debugger?" "no but you can have had one if you needed it"
00:02:17 <shachaf> > 523 + 1
00:02:19 <lambdabot> 524
00:02:32 <elliott> does feather have real love
00:32:25 <fizzie> You too can have had real love during your formative years, retroactively, with Feather. (A great marketing advantage.)
00:32:47 <shachaf> @quote feather
00:32:47 <lambdabot> No quotes match. I've seen penguins that can type better than that.
00:32:54 <kmc> that does seem useful
00:33:03 <kmc> it should appear in a wikipedia table of comparing programming languages
00:35:44 <shachaf> @quote table
00:35:44 <lambdabot> chrisdone says: Production of two-handed use langes Schwerts with long flambard blades and heavily category-theoretically decorated guards, katzbalgers, axes, mail and Macedonian quality defence
00:35:44 <lambdabot> pikes. Lambda Knights need to be prepared for the inevitable battle against success.
00:36:20 <kmc> fungot: what about that, hm?
00:36:21 <fungot> kmc: that is, the parts inside use only binom and some comparison functions
00:37:43 <shachaf> fungot: what?
00:37:44 <fungot> shachaf: people used to put a space at the end ( the first one. they turn out to be equivelent to?!
00:38:04 <shachaf> monqy: they turn out to be equivelent to?!
00:38:17 <monqy> hi
00:38:36 <shachaf> `quote monqy.*hi
00:38:38 <HackEgo> 318) <monqy> my most fresh dream is one where I'm at a soup contest and a chicken really wants to participate but he's disqualified so he becomes the judge. when all the soups are done and he's ready to taste them he just stares at the soup and then I become the chicken and I really want to make soup \ 321) <monqy> `quote django <HackEgo> ​352)
00:38:41 <shachaf> `quote monqy.*\bhi\b
00:38:43 <HackEgo> 733) <monqy> Sgeo: I used to have strict requirements for when I said hi but then everyone started saying hi and it all got weird \ 757) <Sgeo> hack and back? <Patashu> works on anything much slower than you <monqy> at the cost of: guilt, hating yourself, me sending you the message "hi" <Patashu> am I also forbidden to cast mephitic cloud and cb
00:38:56 <monqy> hi?????
00:39:13 <kmc> racket's plotting lib looks cool: http://docs.racket-lang.org/plot/index.html
00:39:22 <shachaf> monqy: btw compliments on your quit message. best quit message.
00:39:28 <monqy> thanks...
00:39:38 <Bike> what's PLoT stand for
00:39:45 <shachaf> PLT plot
00:40:23 <Bike> genius
00:41:01 <fizzie> Bike: Pretty Lousy ploTs. (The idea came from PGP.)
00:41:25 <Bike> genius
00:42:18 <kmc> Racket used to be PLT Scheme
00:42:28 <Bike> yeah i knew that
00:42:36 <Bike> i'm just curious about the inevitable ridiculous backronym
00:42:46 <shachaf> Pretty Lousy ploT
00:43:00 <shachaf> hi mnoqy
00:43:08 <Bike> i'm running out of semiironic intensifying formatting here
00:43:11 <Bike> genius
00:43:24 <elliott> genus
00:43:29 <shachaf> Bike: This channel allows colors.
00:43:34 <shachaf> Wait, you're not British, are you?
00:43:39 <shachaf> It doesn't allow colours.
00:44:01 <Bike> yeah but i can never remember the codes, and not to mention, what does being colored some ugly shade of green convey? is that "intensifying", really?!
00:44:06 <Bike> doom
00:44:08 <kmc> everyone knows Scheme is useless academic nonsense, but this new Racket language sounds hip -- dynamically typed, continuation-based programming, etc.
00:44:18 <kmc> totally webscale
00:44:38 <Bike> kmc you need to vent your sarcasm tubes occasionally or you'll overheat
00:44:46 <kmc> isn't that what i'm doing here, all the time
00:45:03 <kmc> alternately "and that's why i'm banned from mcdonald's"
00:45:05 <shachaf> 01:01:44 <kmc> "Blub combines the theoretical beauty of Haskell with practical, real-world features like lightweight concurrency, scalable multithreaded IO, a C function interface, Unicode support, and a large base of libraries"
00:45:10 <elliott> pretty sure kmc is just here to trololo until we mad
00:45:11 <elliott> ugh kill me
00:45:11 <kmc> yes
00:45:18 <kmc> because you said trololo
00:45:19 <kmc> yes
00:45:26 <kmc> my people will talk to your people
00:45:28 <kmc> in re: killing you
00:45:35 <Sgeo_> I know that's obviously a dumb way to think about things, but I can't help but wonder if subconsiously there is an influence on me
00:45:36 <Bike> also is "continuation-based programming" seriously a buzzword
00:45:52 <Sgeo_> Of "Racket" vs "PLT Scheme"
00:46:01 <Bike> i know it's used in some web frameworks but i didn't think anybody used them
00:46:15 <elliott> kmc: my people will grudgingly accept the necessity
00:46:30 <kmc> "event-based programming" is a huge buzzword
00:46:35 <kmc> and is based on explicit continuation passing style
00:46:36 <Bike> yeah
00:46:40 <Bike> oh shit is it now
00:46:42 <Bike> we're doomed
00:46:45 <elliott> Bike: have you seen node.js code
00:46:48 <elliott> it's nested three miles deep
00:46:51 <elliott> because it is all CPS transformed
00:46:57 <kmc> three mile island
00:46:59 <elliott> because that is how they do everything
00:47:06 <elliott> it's blockless you see
00:47:09 <elliott> if you just had a ; it'd be slower
00:47:41 <Bike> the only javascript overlanguage i've looked at is Caterwaul and that's because it's some abominable mix of haskell and APL
00:47:52 <elliott> node.js is actually just libraries
00:47:53 <elliott> and a runtime
00:47:55 <Sgeo_> Bike, node.js is raw Javascript
00:47:59 <Sgeo_> Not a language on top
00:48:05 <elliott> fsvo raw
00:48:05 <kmc> Bike: yeah the main idea is that you call like httpRequest(url_to_fetch, function_to_call_with_the_result)
00:48:12 <kmc> rather than result = httpRequest(url)
00:48:16 <Sgeo_> If there was another language on top, presumably it could do CPSing automatically
00:48:27 <kmc> and that lets it return control to the event-based IO manager
00:48:34 <shachaf> , function_to_call_if_you_couldn't_fetch_the_result
00:48:45 <kmc> i.e. a thing that calls select() over and over and calls callbacks
00:49:16 <Bike> do they actually refer to them as continuations at some point?
00:49:36 <Sgeo_> Doesn't C# have some automatic CPS-ing asyncish thing?
00:49:49 <shachaf> Coroutines would be good enough for almost everything people tend to want continuations for.
00:49:58 <Bike> i think i might have a similar attitude to "continuation" as haskellers seem to have to "monads"
00:50:51 <shachaf> mocontinuations, moproblems?
00:51:01 <Sgeo_> shachaf, unless the coroutines use an idiotic model like Python's used to and I think C# still does? or did around 3.5?
00:51:21 <Sgeo_> Erm, not "modeL"
00:51:38 <shachaf> It's funny how Ruby "for x in xs; f(x); end" and Python "for x in xs: f(x)" are doing two completely different things.
00:51:58 <elliott> continuations are overrated -- OLEG KISLEYVO 2012
00:52:08 <Sgeo_> *undelimited
00:52:34 <elliott> than kyou sgeo
00:52:37 <elliott> for correcting me on what oleg said
00:52:43 <elliott> i had no idea as my incredibly serious citation indicates
00:53:04 <Sgeo_> Well, I've read his discussions a while ago
00:53:17 <Sgeo_> So I just get the impression as to his general attitude
00:53:39 -!- monqy has quit (Ping timeout: 276 seconds).
00:55:21 -!- monqy has joined.
00:56:10 <Fiora> um. does anyone here know semiconductor stuff well?
00:56:51 <kmc> try ##electronics?
00:56:55 <kmc> it's kind of a wild place
00:57:03 <kmc> people may attempt to bite you
00:57:07 * Sgeo_ vaguely wonders if Kernel could be sensibly implemented as a Racket language
00:57:12 <Bike> does it have Feather
00:57:26 <Bike> Sgeo_: you can redefine function application, right? that oughta be it
00:57:27 <kmc> i'm interested to hear the question even if i won't know the answer
00:57:34 <Sgeo_> Bike, yes
00:57:51 <Bike> so just make an "operative" class/type/whatever and do the obvious from there
00:58:16 <Fiora> I was looking at the ITRS roadmap stuff on sort of a tangent from reading a paper about domain wall spintronics neuromorphic stuff that was way over my head
00:58:20 <Fiora> http://i.imgur.com/yTE7M.png
00:58:24 <Fiora> and I was wondering
00:58:34 <Sgeo_> Bike, although you can only do so lexically: You can't take a higher-order function defined outside of your language and expect it to use the new function application semantics
00:58:35 <Fiora> 1) why are logic gates so much bigger than sram cells... even though they have fewer transistors?
00:58:47 <Fiora> 2) why are dram cells 10 times smaller than sram cells, even though 1T1C isn't 10 times less than 6T?
00:58:49 <Sgeo_> As in, Racket's map won't just work
00:58:54 <Sgeo_> for example
00:59:44 <Bike> Sgeo_: kernel's map doesn't work on operatives anyway.
01:00:21 <Bike> Sgeo_: but i suppose you could meld it into racket by adding operatives and defining unwrap on racket functions
01:00:50 <Fiora> so um, that's sort of the question
01:01:06 <Fiora> (the origin of this was I wanted to know how much smaller the domain-wall magnets used for time-domain integration in the paper were compared to the capacitors in DRAM)
01:01:37 <Fiora> and then I kind of got lost in ITRS documents
01:01:55 <kmc> is it because DRAM cells pack better?
01:02:12 <Fiora> maybe? but like, I'd want to know why >_<
01:02:17 <kmc> is it the actual area of a cell or the average area of n cells for large n, including interconnect?
01:02:34 <Bike> basically fiora wants someone to talk at her for a few minutes, i think
01:02:37 <Fiora> http://www.itrs.net/Links/2011Winter/1_ORTC_Allan.pdf page 15
01:02:43 <Fiora> um... . possibly bike <_<;
01:03:06 <Fiora> it's "area per bit" so I'd guess it's average area of n cells
01:03:32 <kmc> yeah i definitely don't know enough about this
01:03:32 <kmc> sorry
01:03:41 <Fiora> yeah I didn't expect anyone to <_> but I have no idea where I'd learn this
01:03:48 <Fiora> semiconductors are black magic
01:08:04 <nooga> z
01:08:05 <lambdabot> nooga: You have 2 new messages. '/msg lambdabot @messages' to read them.
01:08:46 <shachaf> `welcome nooga
01:08:48 <HackEgo> nooga: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
01:09:20 <shachaf> I need help not falling asleep.
01:09:26 <nooga> shachaf? :F
01:10:00 <kmc> Fiora: seriously, you draw mysterious patterns on a crystal and then bathe it in dangerous potions
01:10:09 <elliott> Bike: zepto's map worked on operatives
01:10:12 <kmc> and this allows you to animate dead matter
01:10:14 <elliott> more reasons zepto is the greatest
01:10:16 <shachaf> kmc: Isn't that just regular magic?
01:10:26 <Bike> wtf is zepto
01:10:39 <shachaf> @google zepto
01:10:40 <lambdabot> http://zeptojs.com/
01:10:41 <lambdabot> Title: Zepto.js: the aerogel-weight jQuery-compatible JavaScript library
01:11:06 <elliott> Bike: zepto
01:11:08 <Bike> "UglifyJS"
01:11:17 <elliott> monqy: tell the people about the zepto
01:11:39 <monqy> uh
01:11:46 <monqy> zepto is elliott 's department
01:12:16 -!- TeruFSX has joined.
01:12:30 -!- ais523 has quit.
01:13:20 <Bike> hm, you know, i don't know why kernel's map doesn't work on operatives anyway
01:15:06 <elliott> my map literally just consed up like
01:15:15 <elliott> (list (f firstelem) (f secondelem) (f thirdelem))
01:15:17 <elliott> and evaluated that
01:15:25 <elliott> so it would work if you redefined list and work no matter what f is
01:15:51 <Bike> no it wouldn't, if f was an operative it would pass "firstelem" literally
01:15:53 <Bike> unless i misunderstand
01:16:15 <kmc> yeah that's trouble
01:16:26 <elliott> Bike: right
01:16:27 <elliott> that's the point!
01:16:35 <elliott> so if you had an operative that like evaluated its argument twice and returned the second result
01:16:45 <elliott> (map dothat '((print 1) (print 2) (print 3)))
01:16:46 <elliott> would work
01:16:53 <elliott> is this a horrific mess? no. fuck you. it's zepto
01:17:02 <Bike> the (define call (f x) (f x)) (call quote) => x example from a paper linked in shutt's thesis was pretty great
01:17:35 <elliott> (define call (f) (f x)), no?
01:17:41 <Bike> oh, yes
01:17:50 <elliott> Bike: oh right iirc my "eval" also used the "map" in scope
01:17:55 <elliott> so if you redefined map, eval's behaviour would change
01:17:56 <Bike> and shutt's just like "well that's a type problem"
01:18:03 -!- nooga has quit (Ping timeout: 276 seconds).
01:18:15 <elliott> so basically the implementation details of absolutely everything were exposed
01:18:23 <Bike> awesome, i love implementation details
01:29:28 <Sgeo_> Would it be better to try to implement pure Kernel or just a Kernel-like language
01:29:33 <Sgeo_> If it were to be a Racket language
01:30:05 <Bike> i dare you to implement guard-continuation
01:30:07 <Bike> double dog dare you
01:30:42 <Sgeo_> I don't remember Kernel that well
01:32:20 <Bike> it's like usual try/catch or unwind-protect or dynamic-wind or whateverthefuck, except you can have it work backwards too!
01:39:06 -!- Gracenotes has quit (Remote host closed the connection).
01:40:37 <zzo38> What does guard-continuation mean?
01:42:55 <Bike> the spec entry's a few paragraphs long so i'll leave it to you to check the spec yourself
01:46:33 <zzo38> What kind of commands would you expect that a second kind of C preprocessor should include?
01:55:24 -!- Gracenotes has joined.
02:17:11 -!- Arc_Koen has quit (Quit: The struct held his beloved integer in his strong, protecting arms, his eyes like sapphire orbs staring into her own. "W-will you... Will you union me?").
02:26:55 -!- oerjan has quit (Quit: Ribbit).
02:34:12 -!- oerjan has joined.
02:43:46 -!- Phantom__Hoover has joined.
02:43:56 -!- Deewiant_ has joined.
02:44:38 -!- Phantom_Hoover has quit (*.net *.split).
02:44:39 -!- Deewiant has quit (*.net *.split).
02:55:31 <quintopia> @ask ais523 what if you synchronized on a cell two away, leaving a blank cell next to the flag? it will take the enemy one extra cycle to get to the flag because it has to test the empty one.
02:55:31 <lambdabot> Consider it noted.
02:56:08 <Sgeo_> zzo38, I don't want to think about C preprocessing
02:56:26 <Sgeo_> Why would I want to write in C?
02:56:39 <Sgeo_> Well, I guess there are some circumstances
02:58:24 <Sgeo_> Wait, Kernel uses call/cc?
02:58:25 <Sgeo_> :/
02:58:56 <Bike> well yeah, it's based on scheme innit
02:59:11 <Bike> i guess shutt hasn't yet heard the gospel of oleg
03:40:51 -!- Phantom__Hoover has quit (Ping timeout: 248 seconds).
03:44:14 -!- SirCmpwn has joined.
03:44:44 <SirCmpwn> working on some code in brainfuck that's not quite working properly
03:45:00 <SirCmpwn> https://gist.github.com/d57c7a6722a736127c06
03:45:11 <SirCmpwn> a second pair of eyes would be useful
03:46:31 <SirCmpwn> the loop is designed to get all values to the nearest power of ten
03:46:49 <SirCmpwn> and after saying that, I immediately realized my problem and fixed it.
03:52:58 <shachaf> http://translate.google.com/#en/fr/filled%20with
03:53:26 <monqy> ah, so that makes its way here
03:53:29 <monqy> very good
03:53:55 <shachaf> monqy: oh no
03:53:58 <shachaf> am i "late 2 the party"
03:54:12 <monqy> idk i just heard about it earlier today
03:54:17 <monqy> and by heard about i mean heard
03:55:06 <shachaf> with your ears??
03:55:07 -!- carado has quit (Ping timeout: 246 seconds).
03:55:13 <monqy> yeah
04:02:40 <oerjan> shachaf: um what's the point of it? the only thing i can think of is that it looks _slightly_ like empty
04:04:34 -!- copumpkin has quit (Ping timeout: 260 seconds).
04:04:38 * oerjan sees "rempli d'" as the translation, fwiw
04:05:12 <shachaf> oerjan: Oh, click the text-to-speech button.
04:05:16 <shachaf> (On the English.)
04:05:16 -!- copumpkin has joined.
04:07:25 <oerjan> ok is it just about the pronunciation being awful?
04:07:41 <monqy> I hear it doesn't work for everyone
04:07:44 <elliott> it seems to be a US-only bug
04:07:49 <elliott> which makes sense because america sucks?
04:07:56 <elliott> deep political commentary from google
04:07:56 <monqy> um but the bug is amazing
04:08:03 <oerjan> aww :(
04:08:04 <monqy> => america best????
04:08:29 <elliott> monqy: counterpoint: you suck?
04:08:34 <oerjan> i just hear someone saying thilth with
04:08:43 <oerjan> or thereabouts :P
04:10:21 <shachaf> oerjan: Does mplayer 'http://translate.google.com/translate_tts?ie=UTF-8&q=filled%20with&tl=en&total=1&idx=0&textlen=11&prev=input' also not do it?
04:11:53 <elliott> just says "filled with" in a male voice
04:11:53 <quintopia> shachaf: hilarious
04:12:12 <shachaf> http://slbkbs.org/filledwith.mp3
04:12:22 <shachaf> I have no idea whether that's actually mp3.
04:12:28 <shachaf> If it's not then fix it.
04:12:53 <elliott> is that heavily compressed or something because
04:12:58 <elliott> wow my voice is so much smoother
04:13:28 <shachaf> Maybe it's not mp3
04:13:37 <elliott> here's what I get:
04:14:26 <elliott> http://esolangs.org/filledwith.mp3
04:14:44 <shachaf> MISUSE OF ESOLANGS.ORG HOSTING FUNDS
04:14:53 <monqy> doesnt sound any smoother to me
04:15:00 <monqy> also much less amazing???wheres the ipad praise
04:15:12 <shachaf> imo monqy makes a good point
04:15:24 <elliott> it somehow sounds less smooth in chrome
04:15:25 <shachaf> where's the drama
04:15:26 <elliott> compared to mplayer
04:16:14 <oerjan> shachaf: wut :P
04:16:25 <elliott> shachaf: monqy: http://esolangs.org/ipad.mp3
04:16:51 <shachaf> elliott: uhhh that's really bad tts
04:17:03 <shachaf> worst tts??
04:17:31 <shachaf> "filled with so much drama, gee now praises the eye pad"
04:17:38 <shachaf> what does that even mean
04:17:40 <elliott> i'm sure monqy likes it...
04:17:50 <monqy> be careful with that prosody
04:17:54 <monqy> you could poke someones eyes out!!!
04:17:55 <shachaf> elliott: Also do you have to do the fake user agent thing when you wget it?
04:18:18 <elliott> yes
04:18:21 <elliott> --user-agent=
04:18:28 <zzo38> In my own computer design, executables are headerless and are loaded into address zero, after the contents of the file is the parameter, and the rest is initialized to zero. Would it be useful to add a ELF section for this parameter so that some compilers might use this?
04:18:30 <elliott> i don't even fill in a user agent
04:18:32 <elliott> 2 radical
04:19:06 <shachaf> elliott: That's what I did too.
04:20:10 <shachaf> elliott: in the future please say: ⼆
04:23:45 <shachaf> i love ipads
04:23:47 <shachaf> they are so easy
04:24:09 <elliott> kmc: "If I ignore technical debt, backwards compatibility, and established code (which I lumped together as "trivial reasons" ;))"
04:25:43 <shachaf> is this the game where we see something on the internet that would make kmc unhappy if he read it, so we quote it in the channel so that it does?
04:25:52 <shachaf> i love that game!!
04:26:02 -!- DHeadshot has quit (Read error: Connection reset by peer).
04:26:29 -!- DHeadshot has joined.
04:31:12 -!- oerjan has quit (Quit: Good night).
04:31:43 <shachaf> oerjan: If you're so asleep, how come you're reading this message?
04:32:39 <coppro> zzo38: make it so that ELF is a magic instruction which processes an ELF executable
04:32:50 <coppro> so executables are technically headerless but ELF works fine
04:34:14 <zzo38> coppro: I probably could, but I don't want to, and it is not at all what I meant; I meant when compiling and linking executables, it should know where the parameter section is. The final result of the compiling would be headerless file, though.
04:48:36 -!- DHeadshot has quit (Read error: Connection reset by peer).
04:52:52 -!- DHeadshot has joined.
04:54:56 <Fiora> Sgeo_: update
04:55:17 <Sgeo_> Fiora, er, no?
04:55:46 <Sgeo_> I distinctly remember pinging everyone a while ago, and there hasn't been an update since then
04:55:56 <Sgeo_> Unless that was an earlier update and then I saw a later update and forgot
04:56:28 <Fiora> oh. I missed it then :<
04:56:38 <Fiora> oops, sorry.
04:57:54 <shachaf> Sgeo_, Fiora: update
04:58:28 <coppro> lol
04:59:07 <shachaf> Sgeo_, Fiora: So it's that one comic thing, right?
04:59:11 <shachaf> Why do you read it?
04:59:34 <Sgeo_> Because it's awesome? Does there need to be a reason to do something beyond finding it enjoyable?
04:59:48 <shachaf> No.
04:59:52 <shachaf> So why do you find it enjoyable?
05:01:09 <Fiora> ummm let's see
05:01:12 <Fiora> homestuck is wonderful because
05:01:37 <Fiora> it has really great characters I care about, it's legitimately funny and has good writing, it's fun to talk about with my friends who follow it and fangirl over the characters and get all excited about the updates
05:01:55 <Sgeo_> Intricate plot ripe for speculation, awesome music when flashes come out. I like plotty stuff more, but there's humor
05:02:19 <Fiora> and the fandom is huge and creates tons of wonderful things
05:02:59 <Fiora> also shipping
05:03:36 <coppro> shipping is stupid
05:03:50 <shachaf> My sister is apparently into that.
05:03:58 <Fiora> and the complexities of troll romance make shipping even more fun than it already is
05:04:22 <Fiora> there's also stuff like MSPARP/Pesterchum for roleplay and everything
05:05:30 <coppro> and homestuck really doesn't lend itself to shipping :/
05:05:35 <coppro> at least, not good shipping
05:05:38 <coppro> people will ship anything
05:06:59 <Fiora> ... it's one of the best of any fandom I've been part of, but ...
05:07:48 <Fiora> if shipping isn't your thing you don't have to do it :3
05:07:57 <shachaf> I should ask Fandom_Hoover.
05:08:34 <coppro> Fiora: the fandom loves shipping for some dumb reason
05:08:42 <coppro> (troll romance, as you pointed out, probably helps)
05:08:44 <Fiora> because it's fun!
05:08:51 <shachaf> monqy: Do you "read" it?
05:08:53 <coppro> but it doesn't have the depth of character interactions that make it interesting
05:09:18 <Bike> http://amultiverse.com/files/comics/2011-12-30-Horace-Greenstein-Scary-Owl-Lawyer-Goes-Shopping.png
05:09:23 <Fiora> it has a lot more content than like, a typical anime or TV series I guess?
05:09:29 <Fiora> but you're right that a lot of the minor characters don't get enough attention :<
05:09:33 <Fiora> nepetaaaaa
05:10:10 <coppro> like, if I wanted to get into shipping, I'd pick a slice of life comic
05:10:46 * Fiora dumps a large box of interchangable seinen slice of life manga on coppro
05:11:24 <quintopia> Bike: the continuity issue on the hand holding the boy's arm PROVES this is happening in an alternate dimension
05:12:09 <Bike> quintopia: what continuity issue
05:12:15 <coppro> quintopia: http://mspaintadventures.com/?s=6&p=003249
05:21:41 -!- TeruFSX has quit (Ping timeout: 252 seconds).
05:23:36 -!- drlemon has joined.
05:23:56 <drlemon> Hello there people. I am a stranger.
05:24:15 <monqy> shachaf: what's it
05:24:20 <monqy> hi drlemon
05:24:36 <drlemon> Shall i introduce myself?
05:24:41 <monqy> sure
05:24:50 <Deewiant_> `welcome drlemon
05:24:52 <HackEgo> drlemon: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
05:25:42 <elliott> `WELCOME DRLEMON
05:25:44 <HackEgo> DRLEMON: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.)
05:25:52 <monqy> elliott: do you know what it is
05:25:54 <drlemon> I'm a teenager who is a total programming nerd. I don't know any languages because it's too hard to choose. Python or ruby or java.
05:26:15 <elliott> how 'bout feather
05:26:26 <monqy> (canned laughter???)
05:26:30 <drlemon> I saw the esoteric programming language wiki and nerded out, and i figured i would say hi to the community.
05:26:42 * Fiora wavies?
05:26:52 <Bike> try the beef
05:28:46 <kmc> don't try the beef
05:29:05 <monqy> what's the beef is it slang
05:29:22 <Bike> Slang is beneath me.
05:29:50 <monqy> is sarcasm beneath you too??just making sure here
05:30:13 <Bike> Sarcasm is the enemy.
05:31:13 <Sgeo_> drlemon, after choosing one, you can always learn another
05:31:27 <Sgeo_> Although I do know that feeling, of wanting a single fixed choice
05:31:29 <shachaf> After you choose one, you're doomed to spam #esoteric about it forever.
05:31:32 <shachaf> So choose wisely.
05:31:36 <shachaf> (Also Clojure is taken.)
05:31:53 <Fiora> programming is actually like pokemon
05:31:58 <Fiora> at the start, you have to pick one of three languages
05:32:04 <Fiora> and even though it evolves over time, you're stuuuuck!
05:32:06 <drlemon> OK, now getting my search for language out of the way, How is everyone?
05:32:15 <shachaf> `WeLcOmE drlemon
05:32:18 <HackEgo> DrLeMoN: wElCoMe tO ThE InTeRnAtIoNaL HuB FoR EsOtErIc pRoGrAmMiNg lAnGuAgE DeSiGn aNd dEpLoYmEnT! fOr mOrE InFoRmAtIoN, cHeCk oUt oUr wIkI: hTtP://EsOlAnGs.oRg/wIkI/MaIn_pAgE. (FoR ThE OtHeR KiNd oF EsOtErIcA, tRy #EsOtErIc oN IrC.DaL.NeT.)
05:32:26 <Bike> fiora: i call [female symbol]
05:32:36 <Fiora> I call snivy, snivy is the cutest
05:32:49 <shachaf> @quote psnively
05:32:49 <lambdabot> psnively says: All your Data.Foldable are belong to base.
05:33:16 <drlemon> Why is hackego telling me to read the wiki?
05:33:23 <elliott> he really wants you to
05:33:28 <elliott> hackego's a bit obsessed with the wiki
05:33:29 <elliott> don't mind him
05:33:32 <shachaf> drlemon: Have you read the wiki?
05:33:38 <shachaf> If you read it, you would understand.
05:33:45 <drlemon> YES. i have multiple tabs open.
05:33:52 <drlemon> all of them with the wiki
05:34:06 <monqy> find any good pages? :-)
05:34:13 <shachaf> Bike, Fiora, Sgeo_, monqy: have you considered switching to a seven-character nick?
05:34:14 <elliott> `welcome drlemon
05:34:15 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: welcome: not found
05:34:21 <shachaf> elliott.............
05:34:25 <elliott> `echo sorry
05:34:26 <HackEgo> sorry
05:34:29 <elliott> `WELCOME drlemon
05:34:29 <drlemon> I like the billiardballmachine
05:34:31 <HackEgo> ​DRLEMON: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMA
05:34:39 <monqy> shachaf: what
05:34:42 -!- Bike has changed nick to Bicycle.
05:34:49 <shachaf> Bicycle++
05:34:52 <drlemon> Is hackego a bot or just REALLY persistant?
05:34:53 -!- Fiora has changed nick to Fiorara.
05:34:59 <elliott> just really persistent
05:35:01 <shachaf> Bicycle: Note that karma is tied to nicks, so if you switch to your old nick you lose the karma.
05:35:02 <elliott> sorry about him
05:35:04 <shachaf> Fiorara++
05:35:20 <shachaf> HackEgo: Come on, you're being rude.
05:35:21 -!- Sgeo_ has changed nick to Sgeocom.
05:35:25 <shachaf> Sgeocom++
05:35:36 <Fiorara> drlemon: hackego is a bot, `welcome is one of its commands
05:35:41 <Bicycle> drlemon: if you do some forensics you'll note a mysterious abundance of grave accents hanging out with hackego. they're bad folks, them graves
05:35:42 <lambdabot> drlemon: Check out our wiki! http://esolangs.org/wiki/Main_Page
05:35:42 <drlemon> I feel extremely WELCOMED TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT!
05:36:10 <Bicycle> enthusiastic welcomings are a national sport here. why, fiorara here was welcomed for almost two days straight.
05:36:12 <Fiorara> they're just playing around <_<; don't mind the silliness
05:36:15 <Fiorara> ;-;
05:36:23 <Fiorara> that seems to keep happening to me
05:36:27 <monqy> shachaf: are you abusing your privilages
05:36:39 <elliott> Fiorara: it's important to make people feel welcome
05:36:54 <shachaf> monqy: That was elliott this time.
05:36:59 <monqy> elliott...
05:37:04 <lambdabot> drlemon: Look at our wonderful wiki! http://www.haskell.org/haskellwiki/Haskell
05:37:13 <elliott> that one was shachaf
05:37:18 <monqy> shachaf...
05:37:19 <Bicycle> lambdabot............
05:37:24 <shachaf> @wiki
05:37:24 <lambdabot> http://www.haskell.org/haskellwiki/
05:37:31 <shachaf> @wiki wiki
05:37:32 <lambdabot> http://www.haskell.org/haskellwiki/wiki
05:37:46 <shachaf> `welcome Fiorara
05:37:48 <HackEgo> Fiorara: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
05:37:52 <Fiorara> oh no not again
05:37:59 <shachaf> Again?
05:38:05 <monqy> hackego Fiorara doesn't need welcoming
05:38:06 <shachaf> I don't think we've ever `welcomed Fiorara before.
05:38:07 <monqy> drlemon does
05:38:08 <drlemon> `echo i am sorry for bothering you drlemon
05:38:09 <HackEgo> i am sorry for bothering you drlemon
05:38:16 <elliott> i am sorry for bothering you drlemon
05:38:17 <shachaf> `? monqy
05:38:19 <HackEgo> The friendship monqy is an ancient Chinese mystery; ask itidus21 for details.
05:38:19 <Bicycle> you're a natural
05:38:20 <elliott> cool game this
05:38:35 <Bicycle> `? itidus21
05:38:36 <HackEgo> itidus21 just made some instant coffee.
05:38:41 * Bicycle nods
05:38:45 <shachaf> `echo symmetric lenses > profunctor lenses
05:38:46 <HackEgo> symmetric lenses > profunctor lenses
05:39:14 <Sgeocom> Dear god why is elliottcable talking about the IRC nick thing
05:39:24 <elliott> Sgeocom: what
05:39:27 <drlemon> `echo all the members of this chatroom should reimburse him for the annoyance i have caused.
05:39:29 <HackEgo> all the members of this chatroom should reimburse him for the annoyance i have caused.
05:39:36 <Bicycle> oh i think i saw elliotcable the other day... somewhere
05:39:43 <elliott> Sgeocom: i need details
05:39:53 <Fiorara> um, what currency should the repayment be in
05:40:10 <Fiorara> are hugs okay or do I have to pay in cpu cycles
05:40:11 <drlemon> `echo nevermind
05:40:12 <HackEgo> nevermind
05:40:35 <drlemon> `echo since you have questioned too much...
05:40:36 <HackEgo> since you have questioned too much...
05:40:44 <shachaf> Fiorara: hugs are made of cpu cycles
05:40:46 <drlemon> `WELCOME FIORARA!!!
05:40:48 <HackEgo> FIORARA!!!: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.)
05:40:55 <shachaf> drlemon...
05:41:07 <drlemon> I'm a monster. A MONSTER!
05:41:51 <Bicycle> wow elliotcable's going wacky
05:43:13 -!- TodPunk has quit (Read error: Connection reset by peer).
05:43:31 -!- TodPunk has joined.
05:43:37 <zzo38> Who should reimburse who? Who happens what?
05:43:47 <monqy> yes
05:43:50 <Bicycle> I think zzo needs a hug, Fiorara.
05:43:51 <monqy> exactly
05:43:53 <monqy> nail on the head
05:44:08 <shachaf> i need a hug
05:44:11 <shachaf> from monqy :'(
05:44:35 <zzo38> Do you need a nail on your head too?
05:44:44 <shachaf> from monqy
05:44:48 * drlemon hugs zzo, respectfully.
05:45:19 <shachaf> zzo38: Does the 'z' in your nick stand for "Zermelo"?
05:45:40 <zzo38> shachaf: No, it is just due to last letter of alphabet.
05:46:07 <shachaf> uhh there are letters that come after z in the alphabet
05:46:08 <Bicycle> gotta deal with those Standard Sorting Algorithms
05:46:14 <shachaf> you're just not advanced enough to know about them
05:46:38 <shachaf> I like this new 7-letter-nick trend.
05:46:47 <shachaf> zzo38: You should add two characters to your nick.
05:46:49 <shachaf> zzzzo38?
05:46:57 <shachaf> zzo2038?
05:46:58 -!- zzo38 has changed nick to zzo38__.
05:47:01 <shachaf> That works.
05:47:07 * Fiorara hugs zzo38
05:47:09 <Fiorara> Bicycle: is that good?
05:47:17 <shachaf> Fiorara: zzo38 is gone.................
05:47:36 <Fiorara> I still see him....
05:47:37 <Bicycle> I told her to hug "zzo" though.
05:48:24 <shachaf> (also i think hug means, like, actual hug, not, like, typing the word hug into irc, and stuff)
05:48:43 <Fiorara> I'm guessing zzo is a little far away for that at the moment
05:48:49 <shachaf> Which one of you is using Windows Media Center PC?
05:48:55 <drlemon> He needs a reality check. THIS IS THE INTERNET!!!
05:49:16 <Fiorara> if zzo was close enough for me to actually physically hug him I would be a little bit terrified
05:49:25 <Bicycle> i thought you lived in a city
05:49:30 <Bicycle> maybe zzo is just a few blocks away
05:50:10 <drlemon> You are zzo: directed by m. night shamalan.
05:50:22 <shachaf> `unwelcome drlemon
05:50:23 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: unwelcome: not found
05:50:28 <Fiorara> I live in orange county <_<; not quitea city
05:50:37 <Fiorara> well, I mean, I'm in a city, but, it's not like, LA
05:50:49 <shachaf> LA is a city?
05:50:53 <Fiorara> and LA isn't really a city either, it's more like an expansive suburb
05:50:56 <Bicycle> I thought you meant that you didn't live in a city called Quitea
05:51:03 <Fiorara> like someone took a scoop of suburb ice cream
05:51:09 <Fiorara> and just like, dropped it onto the map of southern california
05:51:13 <Fiorara> and let it melt for a while
05:51:20 <Bicycle> that sounds quite disgusting
05:51:23 <shachaf> Fiorara: Did you ever go to Galco's Soda Pop Stop in Los Angeles?
05:51:25 <zzo38__> I live in Canada.
05:51:26 <drlemon> LA is cool! As a resident, i enjoy it.
05:51:26 <Fiorara> now I want ice cream
05:51:26 <Bicycle> which... pretty much jives with what i know of LA
05:51:44 <Fiorara> shachaf: ummmm never heard of it
05:51:48 <shachaf> !!
05:51:57 <shachaf> I was in Los Angeles a few months ago.
05:52:35 <shachaf> I mostly got a feeling of "I don't want to live in Los Angeles" from it.
05:53:06 <Fiorara> yeah, I don't really like the more downtownish areas either <_> the suburbs are okay though
05:53:07 <Bicycle> i mostly got a feeling of "holy god who designed these roads"
05:53:34 <shachaf> You'd be better off living in San Francisco.
05:53:46 <Fiorara> SF is pretty
05:54:12 <shachaf> Or East Palo Alto!
05:54:14 <drlemon> DON'T DISS MY CITY
05:54:18 <shachaf> Today I was worried that I would get murdered.
05:54:21 <shachaf> But it didn't happen.
05:54:53 <Bicycle> That's good. I hear murder is a problem.
05:58:01 <drlemon> Murdered where?
05:59:22 -!- TeruFSX has joined.
06:00:03 -!- drlemon has quit (Quit: Page closed).
06:03:06 -!- n0hx has joined.
06:05:16 <Fiorara> I think you might have scared him off
06:05:18 -!- Fiorara has changed nick to Fiora.
06:05:45 -!- Bicycle has changed nick to Bike.
06:05:48 <Bike> Murder is pretty scary.
06:05:59 <n0hx> ^^this
06:08:48 <elliott> `WELCOME n0hx
06:08:50 <HackEgo> N0HX: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.)
06:09:02 <n0hx> thx yo ~~
06:09:45 <Bike> elliott: hey why doesn't that link work yet
06:11:36 <elliott> b/c i'm lazy
06:11:50 <n0hx> what are you guys upto on this fine evening
06:11:53 <n0hx> im bored
06:11:56 <n0hx> cruising ircs
06:12:11 <elliott> apparently we scared someone away earlier
06:12:14 * Fiora dragon quest IX?
06:12:18 <n0hx> damn yo
06:12:19 <elliott> i think the problem is that we weren't welcoming enough
06:12:26 <elliott> what do you think Fiora
06:12:41 <Fiora> I really don't think that was the problem ._.
06:12:47 <Sgeocom> Who here actually deploys esoteric languages, exactly?
06:12:53 <Bike> god
06:13:10 <n0hx> esoteric languages
06:13:11 <n0hx> explain
06:13:13 <n0hx> pl0x
06:13:19 <Fiora> `welcome n0hx
06:13:20 <HackEgo> n0hx: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
06:13:26 <Sgeocom> Do you know anything about programming?
06:14:02 <Bike> n0hx: like Aklo.
06:14:03 <n0hx> i program java at a low level
06:14:18 <Sgeocom> Not really sure when Java can be considered... oh.
06:14:19 <monqy> low level java. hard core.
06:14:35 <n0hx> not rlly
06:14:35 <n0hx> :(
06:14:37 <Sgeocom> n0hx, I assume you mean "a little Java"?
06:14:54 <Sgeocom> n0hx, in computing discussions, "low level" usually means without as many convenient tools
06:14:55 <n0hx> yeah
06:14:59 <Sgeocom> Closer to the hardware, for example
06:15:00 <monqy> um havent you heard of Systems Java
06:15:02 <n0hx> not like close to assembly level java
06:15:03 <n0hx> lol
06:15:15 <Sgeocom> More direct
06:15:35 <n0hx> yeah i know, my wording was bad there
06:15:37 <Bike> uses java to program machine instruction decoders
06:15:40 <n0hx> i know basic java is more what i mean
06:15:41 <Sgeocom> Anyways, an esoteric programming language is a language created not necessarily with the intention of being practical, but to, often, explore an idea or concept, or just for fun
06:16:18 <elliott> the wiki literally explains this guys
06:16:19 <n0hx> but "why"
06:16:20 <elliott> `welcome n0hx
06:16:21 <HackEgo> n0hx: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
06:16:23 <elliott> ok there's a link that works
06:16:28 <Bike> n0hx: because it's there
06:16:31 <Sgeocom> n0hx, because it's fun. Because it's interesting.
06:16:37 <elliott> its not fun or interesting btw
06:16:42 <n0hx> lol
06:17:02 <Sgeocom> There are also interesting mathematical implications that can be explored
06:17:42 <n0hx> okay
06:17:49 <n0hx> so you guys write esoteric languages
06:17:55 <n0hx> or employ them?
06:18:08 <monqy> no we just welcome guys to #esoteric
06:18:09 <Bike> I'm a professional Aklo-Basque translator.
06:18:17 <zzo38__> n0hx: Depends on what we are doing at the time
06:18:28 <monqy> Sgeocom: interesting mathematical implications?
06:18:32 <elliott> we eploy them for below minimum wage
06:18:35 <elliott> it's basically slave labour
06:18:41 <zzo38__> And, yes, we do mathematics too.
06:18:41 <n0hx> that sounds lucrative
06:18:57 <Sgeocom> monqy, the turing-completeness of brainf*ck
06:19:04 <n0hx> cool
06:19:06 <Sgeocom> Only censoring because I don't know how n0hx treats language
06:19:08 <n0hx> i have mad respect
06:19:12 <n0hx> i look at rocks for a living lol
06:19:17 <monqy> what an interesting mathematical implication(????????????????)
06:19:35 -!- TodPunk has quit (Read error: No route to host).
06:19:45 <Bike> monqy: no, he means mathematical implication that is interesting. you know, like curry-howard things.
06:19:54 -!- TeruFSX has quit (Ping timeout: 264 seconds).
06:20:40 <monqy> ????????????????????????????????????????????????????????????sgeo
06:20:54 -!- TodPunk has joined.
06:21:13 <zzo38__> You look at rocks for a living? OK, if that is what you want!
06:21:41 <n0hx> haah yeah
06:21:43 <n0hx> geology
06:22:08 <TodPunk> My boss's wife is a geologist. They go out many weekends to the middle of nowhere and pick up rocks
06:22:30 <monqy> one time I picked up a rock but I think I put it back down
06:22:41 <monqy> another time someone gave me a rock and I still have it to this day
06:22:44 <TodPunk> he says every flat surface in their house has rocks on it. On the piano? Yup. Linen closet? Right there with the linens. Bathroom? Rocks.
06:22:46 <monqy> forget where I put it tho
06:24:09 <Bike> rocks are pretty baller imo
06:24:17 <zzo38__> Putting rocks on the piano might affect the sound. So, it can be used if you play rocky piano music.
06:24:51 <zzo38__> (Especially if it is on the strings.)
06:31:59 -!- TodPunk has quit (Read error: No route to host).
06:33:03 -!- TodPunk has joined.
06:44:01 -!- asiekierka has quit (Excess Flood).
06:44:09 -!- asiekierka has joined.
06:46:05 -!- SirCmpwn has quit (Excess Flood).
06:48:39 <elliott> .com
06:50:09 -!- hagb4rd has joined.
06:52:09 -!- SirCmpwn has joined.
07:05:13 <Sgeocom> It's short for Comet
07:05:19 -!- n0hx has left ("Ex-Chat").
07:05:26 <Sgeocom> ...
07:06:47 <elliott> that wasnt really directed at you
07:11:27 <Sgeocom> who/what was it directed at?
07:12:17 <monqy> btw whats this interesting mathematical implications thing
07:13:41 <elliott> everything
07:13:52 <Sgeocom> You can ask interesting questions like whether an esolang is TC, or... I don't know
07:14:44 <monqy> the interesting mathematical implication that you can write a brainfuck program that can do (thing): "very interesting" -a mathematician
07:15:21 <shachaf> monqy: are you a mathematician
07:15:36 <monqy> depends on what mathematician means...
07:15:51 <Sgeocom> It's interesting that Gravity is not computable, isn't it?
07:16:16 <shachaf> Sgeocom: uhhhh newton computed Gravity ages ago
07:16:27 <shachaf> and he wasn't even a mathematician
07:16:27 <monqy> Sgeocom: shachaf has a good point
07:16:58 <shachaf> thank you monqy
07:17:24 <shachaf> good point #2: I'm really tired :-(
07:18:07 <Bike> Sgeocom: isn't that just newtonian gravity which doesn't work anyway
07:18:20 <Bike> ("just")
07:18:52 <Sgeocom> I'm talking about the esolang
07:19:16 <Bike> yes but isn't it based on newtonian gravity
07:19:19 <shachaf> newtonian gravity works as proved by einstein
07:19:21 <Bike> not loop quantum gravity, say
07:19:22 <shachaf> g=mc²
07:19:27 <shachaf> qed??
07:19:49 <Sgeocom> I have no idea about the math behind gravity
07:19:50 <monqy> :²)
07:19:57 <elliott> :½)
07:19:59 -!- Nisstyre-laptop has quit (Quit: Leaving).
07:20:20 <Sgeocom> Also, I can't seem to find the gravity spec
07:20:23 <shachaf> the math behind gravity
07:20:26 <shachaf> Sounds like a conspiracy theory.
07:20:37 <monqy> Sgeocom: have you tried: http://esolangs.org/wiki/Gravity
07:20:48 <Bike> Sgeocom: differential equations, everywhere
07:20:56 <monqy> http://www.safalra.com/programming/gravity/ (dead link)
07:21:18 <Sgeocom> http://safalra.com/programming/index/
07:21:35 <Sgeocom> Clicking Esoteric languages makes my browser say something about a redirect loop
07:21:39 <Bike> "The scripting language widely used in web pages"
07:21:44 <monqy> The webpage at http://safalra.com/programming/index/esoteric-languages.php.php.php.php.php.php.php.php.php.php.php.php.php.php.php.php.php.php.php.php.php/ has resulted in too many redirects.
07:21:52 <elliott> .php
07:21:52 <Bike> that's my kind of url
07:22:11 <elliott> this reminds me of: http://esolangs.org/wiki/Befunge/index.php, http://esolangs.org/wiki/Brainfuck/w/index.php%3Ftitle%3DTalk:Brainfuck/index.php
07:22:17 <elliott> my ego.... its unparalleled
07:22:32 <Bike> that is amazing
07:22:48 <monqy> elliott: reminds me of fancy l
07:23:05 <elliott> Bike: those were actual spam pages made by actual spam bots btw
07:23:12 <elliott> too beautiful not to turn into languages
07:23:22 <elliott> monqy: cf. http://esolangs.org/wiki/Talk:Befunge/index.php
07:23:28 <Bike> blah blah blah shut up christ
07:23:46 <elliott> Bike: you suck too..........................................
07:23:48 <elliott> `WELCOME BIKE
07:23:55 <HackEgo> BIKE: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.)
07:24:05 <elliott> thats a loud welcome that means not actually welcome
07:24:37 <Bike> no it's in the talk page
07:24:47 <elliott> oh
07:24:49 <elliott> well you still suck tho
07:25:11 <monqy> Bike no it's not
07:25:13 <shachaf> good night.........................
07:25:14 <shachaf> monqy
07:25:18 <elliott> `WELCOME Bike
07:25:20 <HackEgo> ​BIKE: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATIO
07:25:20 <monqy> shachaf
07:25:22 <shachaf> and everyone else i guess??
07:25:32 <shachaf> except for elliott
07:25:38 <Bike> plating the matter in the intervening months I came to consider that Turing devised his machine in the era before computers were expected to store programs (natch) so he included the tape in his definition of the model, and this makes Turing machines models of computations, while the bulk of the study of computability has been on functions which correspond to Turing machines without tapes and blah blah blah this is boring shut up Chris.
07:25:38 <shachaf> elliott doesn't respect Bike
07:25:41 <monqy> Bike: you misspelled "Chris", first name of "Chris Pressey"
07:25:50 <elliott> monqy: um his real name is ZOMGMODULES
07:25:55 <Bike> no, i just said his quote and then put a "t" after it
07:25:56 <monqy> hence quotes
07:25:59 <monqy> pffffff
07:26:10 <elliott> Bike: you decapitalised the C too!!
07:26:26 <shachaf> elliott: The normal laws of capitalization don't hold in this channel.
07:26:28 <Bike> eh it's the same character
07:26:38 <Bike> and i have to make up for my nick being overcapitalized here
07:26:50 <shachaf> Bike: good point
07:26:57 <shachaf> Nicks have to start with a lowercase letter.
07:26:58 <elliott> shachaf: whath appened to good night
07:27:00 <shachaf> Fiora, Sgeocom:
07:27:13 <shachaf> elliott: you ruined the goodness :²(
07:27:17 <Sgeocom> You made me check :(
07:27:37 <shachaf> Sgeocom: UPDATE: Your nick starts with the wrong case of letter.
07:28:03 <Bike> ŝgeo
07:28:47 <monqy> hey remember http://esolangs.org/wiki/Meta_Turing-complete heh heh heh
07:28:59 <shachaf> Did you ever play Zork Zero?
07:29:25 <Bike> monqy: i like the link on "impossible"
07:29:33 <elliott> god should i delete that already
07:29:51 <Bike> «Infix notation is one of the 4 possible ways to describe a program. It is not as powerful as the others, so people usually add parenthesis, which makes it a combined notation (Infix-Surround).» no keep it it's amazing
07:29:52 <monqy> yes
07:30:04 <elliott> Bike: no fuck i loathe those articles
07:30:07 <elliott> loathe
07:30:12 <Bike> «One example is parentheses: they are the identity function of surround notation. In xml, the primary notation is surround.»
07:30:17 <elliott> dogfmldodfsbgfdklndfsk
07:30:25 <Bike> i'm sorry elliott but you're wrong
07:30:54 <monqy> Did you not make Reversible-2D? —ehird 03:46, 29 June 2011 (UTC)
07:30:54 <monqy> I did, but it was stupid.--TehZ 14:48, 29 June 2011 (UTC)
07:31:01 <Sgeocom> Where's the Infix notation one?
07:31:14 <monqy> [[Infix notation]]
07:31:41 <Bike> so does this mean that elliott is ehird
07:31:51 <Sgeocom> yes
07:32:02 <elliott> no
07:32:04 <elliott> that's my brother
07:32:07 <Bike> fuck
07:32:24 <elliott> please don't tell me you know some ehird i hate that guy and i'm not even kidding
07:32:51 <Bike> nah he sucks
07:33:00 <elliott> thanks
07:33:19 <monqy> ther'es another ehird????
07:33:54 <Bike> ehird 2 electric boogaloo
07:33:56 <shachaf> Bike: p.s. elliott is kidding
07:33:58 <elliott> monqy: unfortunately no
07:34:01 <elliott> shachaf: im not
07:34:06 <shachaf> Bike: him and ehird are best friends!!
07:34:27 <Bike> sometimes i feel this channel may not be being totally honest to me
07:34:31 <Bike> i guesss you just don't trust me
07:34:34 <Bike> :'(
07:35:00 <monqy> Unparseable is a language designed to be hard (maybe impossible?) to parse. It is context-sensitive, it REQUIRES you to mix the parser and the interpreter, and it allows you to redefine commands while the program is running. It was created by User:TehZ. I am pretty sure it is multiprogramming.
07:35:03 <shachaf> Bike: we trust you but not Fiora
07:35:30 <Fiora> why don't you trust me :<
07:35:34 <shachaf> monqy: has User:TehZ done anything good
07:35:36 <elliott> monqy: love that shift to first person
07:35:39 <shachaf> Fiora: we trust you, just not Bike
07:35:48 <Bike> shachaf!!!!!
07:35:49 <monqy> shachaf: doubtful
07:36:04 <shachaf> Bike: what..
07:36:16 <Fiora> I'm confused
07:36:56 <elliott> `welcome Fiora
07:36:57 <HackEgo> Fiora: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
07:36:59 <elliott> don't worry.
07:37:09 <Bike> welcome, fiora!
07:37:16 <shachaf> `run welcome Bike | sed s/deployment/implementation/
07:37:18 <HackEgo> Bike: Welcome to the international hub for esoteric programming language design and implementation! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
07:37:49 <monqy> `run welcome shachaf | sed s/shachaf/what do you have against deployment........
07:37:51 <HackEgo> sed: -e expression #1, char 14: unterminated `s' command
07:37:59 <monqy> woops!
07:38:21 <monqy> tehz's languages are worse than i remember(nb i have no memory of them. i forgot them all. i just remember they were real bad)
07:38:28 <elliott> `delquote 892
07:38:31 <monqy> also his other pages
07:38:34 <HackEgo> ​*poof* <monqy> continuations have a funny problem where something about spaghetti <shachaf> monqy: but wait, i read category theory will save you from spaghetti code because associativity
07:38:37 <monqy> thank you
07:38:49 <shachaf> thank you
07:38:54 <shachaf> 892 is the worst quote
07:39:00 <shachaf> `quote 892
07:39:01 <monqy> `quote 892
07:39:02 <HackEgo> 892) -!- ais523 has parted #esoteric ("someone is going to mention Feather, I know it").
07:39:02 <HackEgo> 892) -!- ais523 has parted #esoteric ("someone is going to mention Feather, I know it").
07:39:08 <monqy> that's not so bad
07:39:11 <elliott> The first person to make an interpreter wins! --TehZ 21:46, 9 May 2011 (UTC)
07:39:12 <elliott> To win what? --Zzo38 00:02, 10 May 2011 (UTC)
07:39:12 <elliott> CAKE! --TehZ 11:41, 11 May 2011 (UTC)
07:39:12 <elliott> Watch out! The cake is a lie! — Timwi 14:01, 15 May 2011 (UTC)
07:39:12 <elliott> No, because according to the previously mentioned required test protocol, we are no longer allowed to lie to you. --TehZ 18:49, 16 May 2011 (UTC)
07:39:12 <monqy> `quote 893
07:39:14 <HackEgo> 893) <Bike> i don't even know anything about feather and i'm getting sick of the time travel jokes
07:39:26 <Bike> shit i love cake
07:39:35 <monqy> some cake is good
07:39:38 <shachaf> elliott: Hmm, zzo38__ redeems TehZ somewhat.
07:39:49 <shachaf> But not enough.
07:40:01 <monqy> http://esolangs.org/wiki/Talk:Bugmaker
07:40:09 <monqy> also http://esolangs.org/wiki/Bugmaker
07:40:29 <Bike> fuck, developers jokes?
07:40:40 <monqy> there's a "Rick's roll" joke in there too
07:40:55 <Bike> fuck
07:41:05 <Sgeocom> What did zzo38__ do to redeem TehZ?
07:41:11 <elliott> guys
07:41:15 <elliott> i think ive just had an epiphany
07:41:26 <Sgeocom> Oh
07:41:33 <elliott> tehz is the greatest esolang auteur of the late 2000s
07:41:37 <Bike> «Hello World: --NOT POSSIBLE--» this should be the topic fyi
07:41:42 <elliott> look at everything he has done
07:41:53 <elliott> can you imagine making something that embodies what it is more than itself
07:41:57 <monqy> truly the documentary should be about him
07:42:04 <monqy> his languages, his ideas, his vision
07:42:13 <Bike> «The language is a functional language, as each rune is a function which can be passed around with the stack and which can be put in variables. However, data can be edited, so some people might not consider it functional.»
07:42:17 -!- mig22_ has joined.
07:42:18 <Sgeocom> Is this the same TehZ? http://www.reddit.com/user/tehz
07:42:21 <elliott> can you not see the ultimate incarnation of the stupid fucking syntactical gimmick brainfuck-esque language in everything he does
07:42:24 <elliott> fucking amen
07:42:25 <elliott> feature the lot
07:42:27 -!- fungot has quit (Ping timeout: 248 seconds).
07:42:34 <shachaf> OK, sleep.
07:42:36 <elliott> fungot was too inspired :/
07:42:37 <Bike> «In runespells, there is a concept of "runes", which are basically functions. Each rune can have 6 variables, called Fa, Rin, Gora, Jyiku, Nahy and Zeha (pronounced FAH, rin, gõ-ra, schiKU, na-HY and zeHA)» holy shit
07:42:51 -!- mig22 has quit (Ping timeout: 276 seconds).
07:42:52 -!- mig22_ has changed nick to mig22.
07:43:13 <monqy> Computational Class / Well, I don't know.
07:43:39 <monqy> Gorpdne (GORP-NEH): End program. (Fun fact: If you reverse "endproG" you get "Gorpdne")
07:43:43 <elliott> Did you not make Reversible-2D? —ehird 03:46, 29 June 2011 (UTC)
07:43:43 <elliott> I did, but it was stupid.--TehZ 14:48, 29 June 2011 (UTC)
07:43:51 <elliott> im pretty sure tehz is art
07:43:56 <monqy> http://esolangs.org/wiki/Useless
07:44:32 <Bike> "Generate a random valid no-input BF program, execute it and interpret the output as an UTM, execute it and interpret the output as a lambda calculus program, execute it and throw away the result" wait make this the topic
07:44:42 <elliott> monqy: first word used to be "An"
07:44:45 <elliott> but then it got ruined :(
07:45:00 <elliott> Bike: shades of Most ever Brainfuckiest Fuck you Brain fucker Fuck
07:45:03 <monqy> originally wasn't in joke languages
07:45:06 <Sgeocom> http://www.reddit.com/r/programming/comments/n2aef/how_async_will_change_our_code_in_c/c35qman?context=3
07:45:17 <Bike> elliott: most ever brainfuckiest fuck is a mere echo of this majesty
07:45:31 <Bike> platform dependant
07:45:41 <monqy> amazing Useless has never been in [[Category:Shameful]]
07:45:45 <Bike> «Will add a command with the name xxx (not the name "xxx", but something with the same name as what is written there)»
07:46:01 <monqy> Every brainbrain-program is a brainfuck-program which takes the source to be compiled as input, and outputs the compiled source (as brainfuck (or brainbrain) code).
07:46:34 <Bike> ℒ feels weirdly dual to this.
07:46:40 <elliott> oh i remember brainbrain
07:46:46 -!- sebbu3 has joined.
07:46:58 <elliott> Bike: you can't mock that line because oerjan wrote it
07:46:58 <monqy> i wonder if tehz has grown up and feels ashamed
07:47:00 <elliott> channel policy
07:47:03 -!- sebbu3 has quit (Changing host).
07:47:03 -!- sebbu3 has joined.
07:47:18 <elliott> i actually think brainbrain is moderately interesting
07:47:20 <Bike> sorry oerjan i'll make it up to you i swear
07:47:23 <elliott> in spite of itself
07:47:53 <Bike> "Gotchas: When you are inside an alternative universe, you can not change anything in another universe."
07:48:08 <SirCmpwn> sweet
07:48:12 <SirCmpwn> my brainfuck IRC bot works
07:48:21 <SirCmpwn> doesn't do much, but it can connect and join a channel
07:48:23 <monqy> sweet what does it do
07:48:24 <monqy> oh
07:48:25 <Bike> oh hey it's you again
07:48:25 <monqy> ok
07:48:27 <Bike> hello you
07:48:29 <SirCmpwn> https://github.com/SirCmpwn/bf-irc-bot/blob/master/irc-bot.bf
07:48:29 <monqy> "you again"
07:48:47 <SirCmpwn> you wire up stdin/stdout to a TCP connection, and it'll work
07:48:51 <Bike> well he's clearly a "you" because he's not me, and he's clearly an "again" because he was here "before"
07:48:51 -!- sebbu has quit (Ping timeout: 248 seconds).
07:48:57 <SirCmpwn> Bike: hello.
07:49:02 <Bike> hello!
07:49:12 <Bike> does it play bfjoust?
07:49:28 <monqy> You can use the commands you've made to create new commands. That might create some ambiguity, so to fix that, the default commands have higher precedence. Not only that, but to avoid circles, you are not allowed to access a command that you have defined before or at the definition point.
07:49:37 <SirCmpwn> it does not, Bike
07:49:49 <SirCmpwn> I just started it today, and half that time was getting a proper brainfuck interpreter set up
07:50:07 <Bike> oh, you had problems with that? i thought bf or whatever it's called was easy enough to use
07:50:17 <monqy> Currently, no one has even bothered looking into how to make an interpreter, so this are none. If you are less lazy than the other people reading this article, please make an interpreter, because I am too lazy.
07:50:23 <Bike> anyway you should have it do that, that is all the rage right now.
07:50:25 <SirCmpwn> sure, but I wrote an interpreter from scratch and used a TCP connection instead of stdin/stdout, so that complicates things considerably
07:50:39 <SirCmpwn> monqy: link
07:50:53 <Sgeocom> Is there no way to call an external program and direct its stdin/stdout around?
07:51:05 <Bike> in regular bf?
07:51:14 <Sgeocom> In a shell where you would call bf
07:51:18 <SirCmpwn> I was trying to find a fancy bash command I could use
07:51:20 <monqy> SirCmpwn: oh i just closed the page it's bad anyway
07:51:22 <Sgeocom> Also, PSOX does support networking
07:51:24 <SirCmpwn> I think it still might be possible with socat
07:51:31 <SirCmpwn> but bash piping can't do it alone
07:51:32 <Sgeocom> So you could have used PSOX.
07:51:35 <Sgeocom> >.>
07:51:50 <SirCmpwn> Sgeocom: it'll work fine in a normal bf interpreter
07:51:52 <Bike> oh shit tehz made a minecraft language too
07:51:54 <Bike> ok i'm done now
07:52:01 <SirCmpwn> Sgeocom: just connect stdin and stdout to the IRC server.
07:52:49 <elliott> are we going back to psox
07:52:51 <elliott> that's some retro shit
07:53:08 <monqy> hey remember when sgeo wanted to do a thing something about LSL and continuations
07:53:13 <monqy> good old days
07:53:21 <monqy> remember when zepto was a thing, remember when
07:53:27 <SirCmpwn> I also built shitty debugging into my interpreter
07:53:51 <Bike> but... zepto was a thing just a few hours ago, monqy.... :(
07:53:52 <monqy> better than nothing ?
07:54:02 <monqy> Bike: have you ever heard of "the zeptobot"
07:54:04 <SirCmpwn> when you give it --debug, it writes all network traffic to the terminal. And '@' is a breakpoint that fires up a shitty debugger
07:54:10 <Bike> i have never heard of "the zeptobot"
07:54:13 <Sgeocom> Zepto only exists because of me. I think. In an indirect way.
07:54:15 <Sgeocom> >.>
07:55:40 -!- zzo38__ has changed nick to zzo38.
07:57:37 -!- sebbu has joined.
07:59:18 -!- sebbu3 has quit (Ping timeout: 245 seconds).
08:00:39 -!- Sgeo has joined.
08:01:07 -!- Sgeocom has quit (Read error: Connection reset by peer).
08:06:08 -!- zzo38 has quit (Remote host closed the connection).
08:18:17 -!- epicmonkey has joined.
08:20:42 -!- oklopol has quit (Read error: Connection reset by peer).
08:21:07 -!- oklopol has joined.
08:25:14 -!- Gracenotes has quit (Ping timeout: 240 seconds).
08:43:53 -!- Gracenotes has joined.
09:03:56 -!- EgoBot has quit (Remote host closed the connection).
09:04:08 -!- EgoBot has joined.
09:05:06 -!- shachaf has quit (Ping timeout: 244 seconds).
09:06:03 -!- shachaf has joined.
09:10:47 -!- c00kiemon5ter has quit (Ping timeout: 244 seconds).
09:11:28 -!- c00kiemon5ter has joined.
09:12:02 -!- sebbu2 has joined.
09:12:20 -!- sebbu2 has quit (Changing host).
09:12:20 -!- sebbu2 has joined.
09:14:38 -!- sebbu has quit (Ping timeout: 276 seconds).
09:20:16 -!- sebbu has joined.
09:20:34 -!- sebbu has quit (Changing host).
09:20:34 -!- sebbu has joined.
09:23:39 -!- sebbu2 has quit (Ping timeout: 260 seconds).
09:37:07 -!- epicmonkey has quit (Ping timeout: 248 seconds).
09:40:24 -!- AnotherTest has joined.
09:42:20 -!- Nisstyre-laptop has joined.
09:43:16 -!- GreyKnight has joined.
09:43:55 <GreyKnight> elliott: you said in 2011 you would create [[Metalanguage]] but you didn't :<
09:47:01 <Sgeo> http://www.reddit.com/r/videos/comments/15x4iv/if_only_i_had_watched_this_before_choosing_to_be/
09:48:31 <Bike> Always be careful with your tools.
09:59:20 -!- Taneb has joined.
10:01:48 -!- sebbu has quit (Read error: Connection reset by peer).
10:02:11 -!- sebbu has joined.
10:02:12 -!- sebbu has quit (Changing host).
10:02:12 -!- sebbu has joined.
10:03:08 -!- nooga has joined.
10:14:17 -!- augur has quit (Ping timeout: 265 seconds).
10:15:24 -!- GreyKnight has quit (Quit: bbl).
10:22:22 -!- copumpkin has quit (Ping timeout: 252 seconds).
10:23:03 -!- copumpkin has joined.
10:37:24 -!- copumpkin has quit (Ping timeout: 252 seconds).
10:38:02 -!- copumpkin has joined.
10:39:12 -!- sebbu2 has joined.
10:41:14 -!- sebbu has quit (Ping timeout: 260 seconds).
10:55:22 <Sgeo> This guide's mention of INTERCAL makes me wonder if it would be a terrible idea to implement INTERCAL as a Racket language
10:56:11 <Taneb> What is Racket?
10:56:38 <Sgeo> A programming language and environment that makes it easy to make programming languages
10:56:54 <Sgeo> It's a descendent of Scheme and used to be called PLT Scheme
10:58:31 <Bike> "programming language theory"
10:59:20 <Sgeo> I think it's not actually an ancronym for anything
10:59:22 <Sgeo> acronym
11:00:07 <Sgeo> http://en.wikipedia.org/wiki/Talk%3aRacket_%28programming_language%29#What_does_PLT_stand_for.3F
11:00:49 <Bike> close enough
11:06:06 <elliott> poop laughs talent
11:07:25 <Taneb> Pokemon Lacks TRT
11:09:42 <Taneb> Where TRT is "That Ratchet Thingy"
11:21:49 -!- sebbu2 has changed nick to sebbu.
11:25:18 <Sgeo> Maybe it would be easier to implement Qoppa as a Racket language
11:28:19 -!- asiekierka has quit (Excess Flood).
11:29:38 <Taneb> `pastequotes Taneb
11:29:50 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.28787
11:29:58 -!- c00kiemon5ter has quit (Quit: c00kiemon5ter).
11:30:06 <Sgeo> `pastequotes Sgeo
11:30:10 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.5217
11:30:42 <Taneb> `pastequotes Ngevd
11:30:45 <Taneb> `pastequotes atriq
11:30:45 <Bike> jizzed
11:30:47 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.29042
11:30:50 -!- asiekierka has joined.
11:30:51 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.12164
11:31:05 -!- mrout has joined.
11:31:07 <mrout> .q Taneb
11:31:14 <mrout> !q Taneb
11:31:16 <Sgeo> I think I like Taneb's better than mine
11:31:16 <elliott> hi
11:31:18 <Bike> `pastequotes `pastequotes
11:31:22 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.2433
11:31:27 <Taneb> mrout, different bot syntax
11:31:31 <Bike> deep
11:31:32 <mrout> gah
11:31:41 <monqy> ~q tameb
11:31:45 <Taneb> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.28787 and http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.29042
11:32:12 <monqy> `quote atriq
11:32:14 <HackEgo> No output.
11:32:35 -!- c00kiemon5ter has joined.
11:32:43 <Sgeo> Taneb's quotes make him look funny. My quotes make me look like an idiot.
11:33:00 <Taneb> Sgeo, that's because I'm an idiot
11:33:12 <monqy> sgeo is certainly funny
11:33:28 <Bike> or a wall
11:33:44 <Taneb> `quote 415
11:33:45 <HackEgo> 415) <Taneb> Look, I often walk my dog through a field with cows in it. And I punched myself in the face once.
11:33:46 -!- asiekierka has quit (Excess Flood).
11:33:53 -!- asiekierka_ has joined.
11:33:54 <mrout> `quote Taneb
11:33:55 <HackEgo> 399) <Taneb> Turned out he got recursion, he just didn't get the return statement \ 405) <Taneb> Cut to February <Taneb> War were declared <Taneb> A galaxy in turmoil <Taneb> Anyway, Febuary '10 \ 406) <Taneb> I can't afford one of those! <Taneb> A grandchild, not a laser printer \ 412) <fizzie> There's that saying that the definition of insani
11:34:13 <Taneb> `quote 734
11:34:14 <HackEgo> 734) <Ngevd> I don't know which version of Linux kernel I'm using atm <Ngevd> Hang on <Ngevd> I'm on Windows
11:34:30 <Bike> i'm guessing my quotes make me look like a sheep. that's ok. i like sheep. they're cute.
11:34:42 <Taneb> `pastequotes Bike
11:34:47 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.7704
11:35:30 <Sgeo> Why doesn't that 0open in browser when the others did?
11:35:40 <monqy> it has too much soul
11:35:53 <Bike> i was just about to comment on those unisquares
11:35:58 <mrout> `pastequotes
11:36:02 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.7818
11:36:12 <Bike> too sexy for my basic plane
11:36:13 <mrout> paste ALL THE QUOTES
11:36:41 <Bike> hm that cuts out the soul
11:36:45 <mrout> `quote 218
11:36:47 <HackEgo> 218) <A. Gelman and G. Romero> We originally wrote this article in Word, but then we converted it to Latex to make it look more like science.
11:36:49 <mrout> all my lulz
11:36:53 <Sgeo> WHAT HAPPENED TO THE AFTRAN QUOTE NUMBER 1
11:36:55 <Bike> not funky at all, hackego
11:36:58 -!- Stary2001 has joined.
11:37:04 <Sgeo> `welcome Stary2001
11:37:06 <Stary2001> .q Taneb
11:37:07 <HackEgo> Stary2001: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
11:37:15 <Stary2001> oh god bots
11:37:20 <monqy> taneb what have you done
11:37:26 <Sgeo> ...I just tried to tab-complete `welcome
11:37:29 <Stary2001> haha
11:37:48 <Sgeo> .q 1
11:37:57 <Sgeo> That's not the computational linguistics quote
11:37:58 <mrout> `quote Taneb
11:37:59 <HackEgo> 399) <Taneb> Turned out he got recursion, he just didn't get the return statement \ 405) <Taneb> Cut to February <Taneb> War were declared <Taneb> A galaxy in turmoil <Taneb> Anyway, Febuary '10 \ 406) <Taneb> I can't afford one of those! <Taneb> A grandchild, not a laser printer \ 412) <fizzie> There's that saying that the definition of insani
11:38:00 <Sgeo> Wait, derp
11:38:03 <Sgeo> `quote 1
11:38:04 <HackEgo> 1) <Slereah> EgoBot just opened a chat session with me to say "bork bork bork"
11:38:05 <Stary2001> ah, it's `
11:38:12 <Stary2001> `quore Taneb 2
11:38:13 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: quore: not found
11:38:17 <Stary2001> `quote Taneb 2
11:38:19 <HackEgo> No output.
11:38:21 <Stary2001> `quote Taneb 3
11:38:22 <HackEgo> No output.
11:38:25 <Stary2001> ok..
11:38:28 <Stary2001> `quote Taneb
11:38:29 <HackEgo> 399) <Taneb> Turned out he got recursion, he just didn't get the return statement \ 405) <Taneb> Cut to February <Taneb> War were declared <Taneb> A galaxy in turmoil <Taneb> Anyway, Febuary '10 \ 406) <Taneb> I can't afford one of those! <Taneb> A grandchild, not a laser printer \ 412) <fizzie> There's that saying that the definition of insani
11:38:46 <Taneb> I'm very sorry for the influx of people from #0c10c-dev trying to find quotes of me
11:39:06 <Bike> is that game dev'd yet
11:39:12 <monqy> is that a game
11:39:15 <Bike> i fucking need the sequel to redstone man
11:39:25 <monqy> is that a game too
11:39:26 <Stary2001> no Bike it is not dev'd because notch
11:39:30 <Bike> yes they're games
11:39:32 <elliott> `WELCOME STARY2001
11:39:33 <elliott> `WELCOME STARY2001
11:39:34 <elliott> `WELCOME STARY2001
11:39:34 <HackEgo> STARY2001: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.)
11:39:36 <HackEgo> STARY2001: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.)
11:39:36 <HackEgo> STARY2001: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.)
11:39:41 <monqy> elliott thats a bit excessive
11:39:45 <Bike> man fuck notch he's got people talking shit about java and that means i need to defend java
11:39:48 <monqy> you have to spice it up
11:39:49 <Bike> and that Just Isn't Cool
11:39:55 <elliott> monqy: no i need to be incredibly welcoming at all times
11:39:56 <monqy> fullwidth, alternating case
11:40:01 <Stary2001> hahaha
11:40:05 <Bike> `welcome
11:40:06 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: welcome: not found
11:40:10 <Taneb> `wElCoMe Stary2001
11:40:11 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: wElCoMe: not found
11:40:16 <Bike> ooh it colors the rest of the line, nice
11:40:21 <Taneb> `WeLcOmE Stary2001
11:40:22 <Bike> `cat welcome
11:40:23 <HackEgo> cat: welcome: No such file or directory
11:40:24 <HackEgo> StArY2001: wElCoMe tO ThE InTeRnAtIoNaL HuB FoR EsOtErIc pRoGrAmMiNg lAnGuAgE DeSiGn aNd dEpLoYmEnT! fOr mOrE InFoRmAtIoN, cHeCk oUt oUr wIkI: hTtP://EsOlAnGs.oRg/wIkI/MaIn_pAgE. (FoR ThE OtHeR KiNd oF EsOtErIcA, tRy #EsOtErIc oN IrC.DaL.NeT.)
11:40:30 <mrout> Bike: Java is horribad
11:40:30 <Bike> god why is welcoming hard
11:40:34 <Bike> `cat /bin/welcome
11:40:36 <Stary2001> `welcome Bike
11:40:36 <HackEgo> cat: /bin/welcome: No such file or directory
11:40:37 <HackEgo> Bike: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
11:40:44 <Bike> i hate everything
11:40:44 <Stary2001> :>
11:40:47 <Bike> including java
11:40:55 <Bike> hope you're happy mrout you did this
11:41:09 <mrout> `welcome mrout
11:41:10 <HackEgo> mrout: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
11:41:19 <mrout> not really that hard, unless you're autistic or something
11:41:35 <Bike> `run which welcome
11:41:36 <HackEgo> ​/hackenv/bin/welcome
11:41:42 <AnotherTest> Hmmm. I lost 306 bytes somewhere.
11:41:44 <Bike> `cat bin/welcome
11:41:45 <HackEgo> ​#!/usr/bin/perl -w \ if (defined($_=shift)) { s/ *$//; s/ +/ @ /g; exec "bin/@", $_ . " ? welcome"; } else { exec "bin/?", "welcome"; }
11:41:57 <mrout> h4x
11:42:00 <Bike> `cat bin/WELCOME
11:42:01 <HackEgo> ​#!/bin/sh \ welcome "$@" | perl -ne 'print uc($_)'
11:43:09 <AnotherTest> Oh I get it, boost's async_read_until doesn't actually read until
11:43:13 <AnotherTest> great naming
11:43:25 <Bike> `run echo #!/bin/sh echo ; welcome "$@" > bin/welcome
11:43:27 <HackEgo> No output.
11:43:32 <Bike> `welcome
11:43:33 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: welcome: not found
11:43:38 <Bike> suffering i tell you
11:43:43 <elliott> Bike: have you noticed #esoteric just got terrible in the last few minutes
11:43:44 <elliott> its weird
11:43:49 <elliott> like a subtle breeze
11:43:56 <monqy> except not subtle????
11:43:56 <Taneb> I am solely to blame.
11:43:57 <Bike> what are you implying
11:43:59 <Taneb> I apologize.
11:44:14 <monqy> what did you even do
11:44:32 <Taneb> I mentioned that here had a bot with quotes and I had a lot of quotes
11:44:44 <Bike> quotes will be the doom of us all.
11:44:46 <monqy> ah...............
11:44:49 <Taneb> After mrout mentioned that someone had 26 quotes on #0x10c-dev
11:45:00 <Taneb> I have... 42
11:45:08 <Stary2001> pff
11:45:25 <mrout> that is 100% accurate
11:45:53 <Taneb> Well, #454 and #455 just mentioned my nick
11:45:56 <mrout> ANYWAY. Anyone tried CLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLC-INTERCAL yet?
11:46:02 <elliott> CLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLCLC-INTERCAL
11:46:20 <Taneb> And #545 is Phantom_Hoover making the joke
11:46:28 <Taneb> So are #454 and #455,actually
11:46:33 <Taneb> `quote 544
11:46:35 <HackEgo> 544) <Gregor> You know how the arrow pierces your skin, rearranging and randomizing vital internal structure? <Gregor> Monads are like that, only worse.
11:46:39 <Taneb> :(
11:46:43 <mrout> :P
11:47:21 <Taneb> 743-746 were me messing with speech-to-text on my phone
11:47:43 <Taneb> #579 was a bot talking to me
11:48:00 -!- Bike has quit (Quit: leaving).
11:48:02 <Taneb> #591 was a different bot seeming to talk to Gregor
11:48:19 <Taneb> #637 is similar to #579
11:48:35 <Taneb> #696 was fizzie's joke
11:49:00 <Taneb> Which puts me back to 31
11:49:02 <Taneb> :(
11:49:14 <AnotherTest> Taneb: what happend to your alias atriq
11:49:22 <monqy> too boring for quotes
11:49:26 <Taneb> Yeah
11:49:40 <Taneb> Also beginning with a lower-case letter freaked me out a bit
11:49:51 <monqy> imo Atriq should say something funny so we have more of a mess on our hands :^)
11:49:59 -!- Taneb has changed nick to Atriq.
11:50:10 <monqy> the mess is three tanebs and our hands are remembering that they're all there
11:50:14 <Atriq> How many ears did Captain Kirk have?
11:50:18 <AnotherTest> 2
11:50:29 <monqy> hold up AnotherTest i think this might be a trick question
11:50:31 <Atriq> Down the M4 and over the Severn bridge!
11:50:33 <Atriq> Ahahaha!
11:50:41 <AnotherTest> Unless he lost one because of a Klingon or something
11:50:48 <AnotherTest> But I somehow doubt that
11:50:50 <monqy> 3 ears but one of them is an ear of corn
11:50:50 -!- Atriq has changed nick to Taneb.
11:51:10 <Taneb> The actual punchline is "3: a left ear, a right ear, and a final frontier"
11:51:19 <monqy> ah..................................
11:51:26 <AnotherTest> right
11:59:21 <Taneb> Why did Captain Kirk use the ladies' toilet?
11:59:31 <monqy> is this another joke
11:59:47 <Taneb> No, it's a serious question
11:59:54 <monqy> i have no idea
12:00:20 <mrout> monqy: you need to check your sarcasm meter
12:00:27 <monqy> what
12:00:47 <Taneb> Was the mens' toilet out of order?
12:00:48 <mrout> obviously it's not a serious question
12:00:56 <Taneb> Was Captain Kirk transgender?
12:01:06 <Taneb> Was Captain Kirk lost?
12:01:07 <mrout> s/transgender/confused/
12:01:12 <Taneb> Was Captain Kirk perverted?
12:01:30 <mrout> (that was a joke, btw, no offense intended)
12:01:32 <monqy> i don't think we'll ever know
12:01:37 <Taneb> Or did Captain Kirk merely wish to boldly go where no man had gone before?
12:01:47 <mrout> Taneb: ROFL
12:02:02 <monqy> pretty sure men have gone there before
12:02:13 <monqy> like spies and stuff
12:02:14 <mrout> monqy: nuh uh
12:02:17 <mrout> SPIES
12:02:20 <elliott> mrout...
12:02:20 <mrout> holy shit
12:03:02 <mrout> elliott: yo!
12:03:35 <AnotherTest> Captain Kirk was using the ladies toilet because indeed he didn't know he was a man, which is also the reason that he had a boyfriend (Spock)
12:03:49 <AnotherTest> they even did the Vulcan mind exchange! that's conclusive proof if you ask me
12:04:07 <Taneb> AnotherTest, that's assuming Captain Kirk believed he was heterosexual
12:04:24 <AnotherTest> No he just didn't know
12:04:24 <Taneb> Or she, as the case may well be.
12:04:50 <monqy> I don't know much about star treck but this sounds pretty saucy for a space opera
12:04:56 <AnotherTest> Captain Kirk genuinely believed that he was a woman
12:04:57 <monqy> can't we focus on the space
12:05:12 <Taneb> monqy, have you ever seen Space Carmen?
12:05:18 <mrout> monqy: well if it's anything like a soap opera...
12:05:25 <Taneb> Or Space William Tell?
12:05:32 <monqy> can't say i have
12:06:07 <Taneb> They're just like Star Trek
12:06:10 <Taneb> Taneb away
12:06:12 <Taneb> *!
12:06:15 -!- Taneb has changed nick to Taneb|Away.
12:10:15 -!- c00kiemon5ter has quit (Quit: c00kiemon5ter).
12:10:57 -!- c00kiemon5ter has joined.
12:13:54 -!- c00kiemon5ter has quit (Client Quit).
12:14:27 -!- c00kiemon5ter has joined.
12:15:28 <mrout> `quote quote
12:15:29 <HackEgo> 30) <oklopol> i can get an erection out of a plank, you can quote me on that. \ 70) [Warrigal] `addquote <Dylan> hahaha, Lawlabee is running windows <Lawlabee> 'cuz it's pretty awesome. [Lawlabee] Warrigal: :( \ 71) Note that quote number 124 is not actually true. \ 79) <ais523> let's put that in the HackEgo quotes files, just to completely mys
12:15:59 <mrout> `quote 42
12:16:01 <HackEgo> 42) <Deewiant> Reality isn't a part of physics
12:18:55 <Sgeo> I just realized something awesome
12:19:14 <Sgeo> Qoppa and Kernel take one of the cool things about Racket and remove my big problem with it
12:19:24 <Sgeo> I _must_ implement Qoppa as a Racket language
12:20:33 <coppro> sgeo: what is that?
12:20:36 <Sgeo> And thank you Bike, for pointing out the obvious to me, who was too thick
12:20:56 <coppro> `quote 124
12:20:58 <HackEgo> 124) <Sgeo> Why shouldn't I just do everything in non-Microsoft-specific C#? <ais523> it's like trying to write non-IE-specific JavaScript with only Microsoft documentation and only IE to test on
12:21:07 <coppro> `quote 79
12:21:10 <HackEgo> 79) <ais523> let's put that in the HackEgo quotes files, just to completely mystify anyone who looks back along them in the future
12:21:21 <Sgeo> coppro, Racket lets you change a macro that is placed in front of all function applications.
12:21:34 <Sgeo> But it seems annoying and difficult to use two redefinitions of function application at once
12:21:45 <coppro> ah
12:22:12 <Sgeo> Want to use frtime-style function application and lazy function application? Good luck!
12:22:31 <Sgeo> And have fun writing new versions of map while you're at it, whenever you redefine #%app, since #%app is just a lexical change
12:23:20 <Sgeo> But Kernel is sort of like, the function itself controls the meaning of function application. Presumably, you could write a function like lazy that takes a function and makes it ... wait, hmm
12:24:21 <Sgeo> The two use cases I'm thinking of don't actually need #%app redefinitions to use in the style I was thinking of using them, just a lift function, like with (Haskell) applicatives
12:24:23 -!- Stary2001 has left ("Once you know what it is you want to be true, instinct is a very useful device for enabling you to know that it is").
12:25:12 <Sgeo> The #%app I guess is just a shortcut in those cases, meaning you don't need to keep lifting yourself. And my envisioning of the Kernel/Qoppa way was ... manual lifts
12:25:18 <Sgeo> :/
12:25:29 <Sgeo> I still want to implement Qoppa as a Racket language and show it off to kmc
12:26:04 <Sgeo> Although I guess it wouldn't really be that impressive. Could his implementation be modified to allow using functions from the underlying Scheme?
12:27:26 <Sgeo> (If it can't already, I mean)
12:39:31 -!- carado has joined.
12:39:37 <Sgeo> Also, I guess you don't really need to write new versions of map and apply etc, in the cases where the function just needs to be... oh wait you do
12:40:01 <Sgeo> hmm, maybe not
12:40:14 * Sgeo needs to think about that more. Or just look at the lazy or frtime implementation
12:48:34 -!- monqy has quit (Quit: hello).
12:56:14 -!- Taneb|Away has changed nick to Taneb.
13:17:13 -!- epicmonkey has joined.
13:18:30 -!- AnotherTest has quit (Quit: Leaving.).
13:18:43 -!- AnotherTest has joined.
13:19:38 -!- GreyKnight has joined.
13:24:08 <GreyKnight> Bike: I actually quit the MC forums after the 350th time I had to shoot down some hotshot kid programmer claiming that minecraft was too slow because "it's written in JavaScript"
13:24:10 <GreyKnight> It got to the stage where I was ready to just post reaction gifs and nothing else
13:25:08 -!- boily has joined.
13:26:32 <hagb4rd> there is a js version of minecraft?
13:27:50 <Jafet> Defend yourself from the nighttime XSS attacks
13:28:16 <GreyKnight> hagb4rd: no, it's in Java
13:29:22 <hagb4rd> yes, that is what i know. but i wouldM
13:29:36 <GreyKnight> And these ~expert haxors~ don't understand the difference
13:29:39 <hagb4rd> i wouldn't be surprised if there is one out there
13:30:26 <GreyKnight> Sgeo: let's implement Qoppa
13:30:33 -!- TodPunk has quit (Read error: No route to host).
13:30:53 -!- boily has quit (Quit: Poulet!).
13:31:09 -!- TodPunk has joined.
13:31:36 <Jafet> :t wouldM
13:31:37 <lambdabot> Not in scope: `wouldM'
13:31:37 <lambdabot> Perhaps you meant `foldM' (imported from Control.Monad.Writer)
13:32:12 -!- Phantom_Hoover has joined.
13:32:13 <hagb4rd> well javascript really has nothing in common with java.. they decidec to name it javascript for marketing reasons iirc
13:33:09 <hagb4rd> guess it would be possible to port it to javascript anyway
13:33:56 <GreyKnight> *We* know they are different languages, it's the geniuses on the MC forums who need education
13:37:05 <hagb4rd> so it's good to have you there, educating these kids. finally..someone has to do this job
13:37:28 <mrout> "<GreyKnight> Bike: I actually quit the MC forums after the 350th time I had to shoot down some hotshot kid programmer claiming that minecraft was too slow because "it's written in JavaScript"" <-- GreyKnight, seriously?
13:37:29 <GreyKnight> Sgeo: how do you go about it, I never made a Racket language before
13:37:42 <GreyKnight> hagb4rd: well as discussed above I already quit
13:38:03 <GreyKnight> mrout: over and over and over
13:38:11 <Sgeo> Um. I think you just write a module that provides certain things
13:38:15 <mrout> oh my lord
13:38:16 -!- Stary2001 has joined.
13:38:18 <Sgeo> Like #%app and other necessities
13:38:23 -!- Stary2001 has left.
13:38:55 <Sgeo> And in a separate module you provide read and read-syntax
13:39:28 <Sgeo> http://docs.racket-lang.org/guide/hash-languages.html
13:41:24 <GreyKnight> I mean, that was just one of the bits of ~EXPERT ADVICE~ people kept offering the developers, but it was by far the most ridiculous
13:41:27 <GreyKnight> Sgeo: ah nice. Okay so I will have a look at this
13:42:25 <mrout> On coding pong (from ##C++-social) "no, you need to choose correct path, or lose important features like frame rates"
13:43:05 <Sgeo> GreyKnight, actually, I sort of linked to the middl
13:43:06 <Sgeo> e
13:43:13 <GreyKnight> `quote 821
13:43:14 <HackEgo> 821) <elliott> `delquote 869
13:43:16 <Sgeo> Better place to start http://docs.racket-lang.org/guide/languages.html
13:43:29 <Sgeo> Since you need to understand what the guide calls "module languages"
13:43:31 <mrout> apparently it takes 2 years to write pong (according to Codex_)
13:43:45 <mrout> Which is almost as retarded as thinking Javascript = lightweight Java or whatever
13:44:20 <GreyKnight> In C++ that might be an accurate estimate :o)
13:44:38 <GreyKnight> Sgeo: got it ,o>
13:44:49 <hagb4rd> anyway.. i like the idea of wrting a mc clone in javascript.. using webgl .. np
13:45:31 <mrout> He seems to be very concerned he might run into framerate issues with pong.
13:45:33 <mrout> my lord
13:45:45 <nooga> mc clone?
13:45:58 <hagb4rd> mincecraft clone nooga.. yes
13:46:02 <GreyKnight> hagb4rd: be my guest!
13:46:24 <nooga> what for? :F
13:47:07 <hagb4rd> at least to proove it's possible.. without any performance problems
13:47:15 <hagb4rd> and because it may be fun
13:47:25 <nooga> i'm sure it would run faster than the java one
13:47:32 <hagb4rd> yea :)
13:47:33 <GreyKnight> nooga: "because it's there" I guess
13:47:38 <mrout> probably would in chrome at least
13:47:46 <nooga> have you read Forge sources?
13:48:16 <nooga> i'm afraid that they'll reimplement minecraft doing better job than mojang
13:48:20 <coppro> all eyes on the hidden door
13:48:30 -!- boily has joined.
13:48:37 <GreyKnight> Forge?
13:48:47 <nooga> the modding framework for mc
13:49:09 <GreyKnight> s/the/one of millions of/
13:49:28 <nooga> all major mods are implemented on forge
13:49:31 <GreyKnight> When's this builtin mod API coming anyway
13:49:57 <nooga> yes
13:50:08 <nooga> mojang is working with the forge authors
13:50:41 <hagb4rd> @google mojang
13:50:43 <lambdabot> http://www.mojang.com/
13:50:43 <lambdabot> Title: Mojang — Makers of Minecraft
13:51:13 <GreyKnight> (I will care about mods on the day I can load them without an additional fourth-party layer)
13:51:15 <nooga> and the official mod api is going to be Forge based IIRC
13:51:33 <mrout> nooga: I thought they changed that decision AGES ago
13:51:34 <Sgeo> What is Forge?
13:51:39 <mrout> they're working with bukkit
13:51:43 <nooga> nooo
13:51:45 <hagb4rd> but it's still java isn't it?
13:51:49 <GreyKnight> nooga: it was also claimed to be Bukkit-based at some point, and some third thing I forget
13:52:02 <GreyKnight> So who knows
13:52:07 <nooga> forge > bukkit
13:52:15 <mrout> oh yes
13:52:34 <nooga> mhehe
13:52:51 <nooga> i'm writing a scheme interpreter for redpower control
13:52:53 <nooga> in C
13:53:06 <GreyKnight> I couldn't care less which one it's based on, I just want something built in
13:53:25 <nooga> because i've got a working C cross-compiler targetting rpc8/e
13:54:22 <GreyKnight> "targetting <keysmash>"
13:55:22 <GreyKnight> Oh boke I just looked that up :-(
13:55:40 <GreyKnight> Now I have a sad
13:56:02 <nooga> http://hackaday.com/2012/05/20/building-a-6502-in-minecraft/
13:56:35 <nooga> one of the coolest mods
13:57:21 <nooga> but the author is ... meh
13:57:25 <nooga> sad
13:59:09 -!- greyooze has joined.
13:59:27 <greyooze> rpc8/e = hate
13:59:43 <greyooze> Someone was trying to build a computer out of just redtorches and dust (this was before repeaters), now THAT's a cool computer
14:00:39 <hagb4rd> can u link to this project?
14:00:56 <nooga> greyooze: I tried once
14:00:58 <greyooze> This mod trend towards implementing everything and the kitchen sink at the host level is annoying to me (thankfully I'm not forced to use them)
14:01:34 <greyooze> hagb4rd: if you search youtube for "minecraft ALU" you should get something relevant
14:01:42 <hagb4rd> k
14:01:44 <nooga> AFAIR that cpu was too big and too slow do do anything useful + it crashed minecraft from time to time
14:02:03 <mrout> nevertheless it's far cooler than a cpu emulating mod
14:02:06 -!- GreyKnight has quit (Ping timeout: 276 seconds).
14:02:11 <nooga> sure it is
14:02:51 <greyooze> Of course it's big and slow, but if I wanted small and efficient I'd use my actual physical computer :-P
14:03:01 -!- greyooze has changed nick to GreyKnight.
14:03:30 <nooga> i tried to fit a game of life cell in 8x8x40 tower
14:03:37 <nooga> using vanilla redstone
14:03:43 <nooga> = impossible
14:04:05 <GreyKnight> hagb4rd: for some reason minecrafters are absolutely obsessed with youtube. This applies even if they are trying to convey information not well suited to video
14:04:18 <hagb4rd> i see
14:05:29 <GreyKnight> Related: I saw a programming tutorial on youtube once. All with video of the code on the screen. I still have nightmares of that video.
14:12:03 -!- jiella has joined.
14:19:32 <GreyKnight> Hmm, kmc is male??
14:21:43 <elliott> @tell kmc <GreyKnight> Hmm, kmc is male??
14:21:43 <lambdabot> Consider it noted.
14:22:19 <Fiora> I've never heard of a female keegan at least :p
14:22:24 <GreyKnight> elliott: BTW 821 is worst quote
14:22:42 <nooga> i thought everyone here is male
14:22:42 <Sgeo> Crud
14:22:46 <elliott> `delquote 821
14:22:50 * Fiora pokes at nooga
14:22:51 <HackEgo> ​*poof* <elliott> `delquote 869
14:22:53 <elliott> nooga: not as of recently
14:23:00 <nooga> uhuh
14:23:01 <Sgeo> I think it might be difficult to get a Racket Qoppa to interoperate properly
14:23:01 <elliott> not historicall yeither though the statistics are pretty crazy
14:23:42 <Sgeo> If I define a normal qoppa function as just an operative that evaluates its arguments first, the Racket system won't know how to treat the operative as a function
14:24:12 <Sgeo> (Assuming I don't make non-functionlike operatives Racket functions)
14:24:24 <Sgeo> Kernel works better, funnily enough :/
14:24:36 <Sgeo> But that would be a much larger task
14:25:47 <GreyKnight> But Racket just needs to treat the operative as an operative, right? The operative itself takes care of the function-like behaviour
14:26:36 <GreyKnight> Just use (wrap)
14:27:38 <Sgeo> That's fine for within just the Qoppa environment, but what happens when a Racket function receives a Qoppa operative?
14:28:30 <Sgeo> Are we going to try to make Qoppa operatives work on Racket forms that it doesn't have access to?
14:29:10 <GreyKnight> Mixing languages?
14:29:17 <Sgeo> Can only redefine function application within the #lang qoppa
14:29:38 <Sgeo> Lexically
14:30:40 <nooga> meh
14:31:29 <GreyKnight> Maybe treat Racket forms as if they're operatives, maybe by twiddling the bottom of the environment stack
14:32:42 <Sgeo> ?
14:33:37 <GreyKnight> Maybe I'm confused, gimme an example
14:34:41 <Sgeo> Suppose I have a function defined in Qoppa, called inc
14:35:34 <Sgeo> Fundamentally, it is an operative that takes its unevaluated arguments, evaluates them, and then returns the evaluated argument +
14:35:36 <Sgeo> 1
14:36:02 <Sgeo> Now, let's say I import Racket's map, rather than using a Qoppa defined map
14:36:40 <Sgeo> And call (map inc (list 1 2 3))
14:37:03 <Sgeo> Where would inc get unevaluated arguments from? It is only being provided with evaluated arguments.
14:37:22 <Sgeo> And the definition of inc, in and of itself, would attempt to evaluate any arguments that it receives
14:37:55 <Sgeo> Defining wrap such that it adds a little bit to the resulting value to make it a Racket function is not a good idea, because wrap is fundamentally not a primitive
14:38:16 <Sgeo> And it would be weird if the library definition of wrap didn't do the same thing as the provided wrap
14:38:45 <Sgeo> Maybe hmm, have it so that attempting to evaluate any Racket datum is a no-op?
14:38:57 <GreyKnight> (qoppa-eval) should just return its argument if it can't be evaluated further?
14:38:58 <GreyKnight> (so then inc just gets the argument map wanted to pass it)
14:39:24 <GreyKnight> Yeah, I mean arguably that's the Right Thing to do anyway
14:39:58 <Sgeo> I'd want to make sure that a Racket data item that is not a Qoppa form is not evaluatable
14:41:13 <Sgeo> Otherwise, there could be some cases in which the argument was inappropriately evaluated
14:41:14 <Sgeo> But yes
14:41:39 <GreyKnight> Oh I guess you could be passing a racket-value which is a structure that happens to be of the same form as the qoppa evaluator's internal representation of qoppa-forms
14:42:02 -!- augur has joined.
14:42:08 <Sgeo> Right, that's what I'd need to avoid
14:42:40 <Sgeo> This seems like it would work, but I feel like it's doing the "wrong thing" somehow
14:43:29 <GreyKnight> It's because we're mixing levels I guess
14:45:40 <GreyKnight> You can define an operative (inbound) which can sit at the boundary of racket/qoppa and manage the mixing correctly
14:45:40 <GreyKnight> e.g. (map (inbound inc) (list 1 2 3))
14:45:56 <GreyKnight> IDK if there's a way to make the language extension manage something like that automagically
14:46:30 <Sgeo> Hmm, that's a good idea
14:46:59 <Sgeo> Well, I would be able to tell the difference between a Racket function and a Qoppa operative
14:47:24 <Sgeo> And again, I have full control over function application
14:47:41 <Sgeo> So, any time a ... hmm, not sure if that's a good idea
14:48:11 <GreyKnight> Only needs to happen at the boundary though, not on any qoppa-oper application
14:48:27 <GreyKnight> (Otherwise it'd screw up)
14:48:54 <Sgeo> Right, was thinking when a Racket function is called, any Qoppa operatives that ... wait, what does inbound do, exactly, that fixes things?
14:49:03 -!- Taneb has quit (Quit: Leaving).
14:49:11 <Sgeo> Oh, I guess it's a primitive?
14:49:18 <Sgeo> Or... hm
14:49:53 <Sgeo> Actually, no, the automatic inbound thing is a bad idea, opaque data structures may be carrying qoppa operatives
14:49:55 <GreyKnight> Basically wraps inc into a new form that converts incoming racket-lists into qoppa-lists
14:50:58 <Sgeo> Well, any Racket struct can be made to act like a Racket function, so that's presumably where inbound could sit
14:51:03 <GreyKnight> (That way you don't have confusion between racket-lists and qoppa-opers; inc never sees the former)
14:52:10 <Sgeo> Hmm. Make it so that this inbound thing, passes arguments in such that, if the operative does anything other than evaluate them once, it errors
14:52:32 <GreyKnight> How does the system know whether to treat the name "inc" as racket or qoppa?
14:52:53 <Sgeo> qoppa operatives are instances of an operative struct
14:52:53 -!- Vorpal has joined.
14:53:16 <Sgeo> Racket operative? on a qoppa operative returns #t
14:54:21 <Sgeo> Hmm, I don't really see a way to detect if an operative is attempting to ignore an argument (which should also be an error)
14:54:29 <GreyKnight> Oh so inc does have a racket-value, but that value is tagged somehow so that the system knows to use qoppa for interpreting it
14:55:31 <GreyKnight> Why is ignoring an argument an error? (if) does it all the time!
14:55:55 <Sgeo> Trying to map if onto pre-evaluated arguments makes little sense
14:56:04 -!- Taneb has joined.
14:56:24 <GreyKnight> Well there's C's ternary operator
14:56:28 <Sgeo> if is expected to control evaluation. When a Racket function tries to call if, if is unable to control evaluation the way it's expecting to
14:56:30 <Sgeo> hmm
14:56:42 <GreyKnight> ?: is sort of like an if that evaluates its arguments
14:56:42 <lambdabot> Maybe you meant: . ? @ v
14:56:52 <GreyKnight> lambdabot: hush dear
14:57:29 <Sgeo> Hm
14:57:49 <Sgeo> Maybe it's not bad to just run the operative
14:59:38 <GreyKnight> Oh you mean racket trying to call qoppa-if?
14:59:47 <Sgeo> Yes, that was the context
15:00:18 <GreyKnight> Yeah I think racket trying to directly use non-wrapped operatives falls under "asking for trouble" :-S
15:02:35 <Sgeo> Maybe it doesn't? That's what I thought you were getting at
15:03:56 <GreyKnight> You know, mixing levels the other way around (qoppa as default with bits of Racket inside) would probably be easier :-)
15:09:59 <GreyKnight> qoppa-eval can tell that it's being asked to apply a racket-fun, and so it just does that directly
15:11:02 <Sgeo> That pretty much is the default, but the other way around should be possible. I want Qoppa with the ability to call Racket functions, and the "Racket with Qoppa inside" occurs when I try to call a higher-order Racket function
15:11:40 <Sgeo> Hmm, was going to say I'm not using eval, but the whole point is eval, pretty much
15:11:41 <GreyKnight> Oh so the situation is qoppa->racket->qoppa
15:11:53 <Sgeo> yes
15:13:30 <GreyKnight> Hm we control the racket-fun's "pitiful so-called existence" so we can probably exploit that...
15:14:31 <mrout> what's racket?
15:15:05 <mrout> oh, right
15:15:17 <mrout> one of those functional languages.
15:15:20 <mrout> weird things they are
15:17:33 <GreyKnight> It's like racquet, but American
15:18:08 <mrout> rofl
15:18:18 <Sgeo> I should probably sleep soon, it's 10 am
15:19:45 * GreyKnight wraps mrout in a lambda (\x.mrout x)
15:22:51 <boily> GreyKnight: does that mean you can beta-reduce mrout?
15:25:42 <GreyKnight> there's only one way to find out!
15:25:55 <GreyKnight> Hold still mrout... this won't hurt a bit...
15:26:05 <GreyKnight> (probably)
15:27:59 <mrout> :P
15:28:22 -!- mrout has quit (Quit: Screw you guys, I'm going home.).
15:28:35 -!- mrout has joined.
15:29:25 <mrout> don't beta-reduce me, please. it made me dc
15:30:18 -!- mrout has quit (Client Quit).
15:32:06 <GreyKnight> shut up and get back in your closure
15:32:44 -!- asiekierka_ has quit (Excess Flood).
15:32:50 -!- asiekierka has joined.
15:34:51 -!- augur_ has joined.
15:36:24 -!- AnotherTest has quit (Ping timeout: 260 seconds).
15:36:35 -!- augur has quit (Ping timeout: 248 seconds).
15:38:33 -!- augur has joined.
15:40:51 -!- augur_ has quit (Ping timeout: 248 seconds).
15:44:45 -!- AnotherTest has joined.
15:47:59 <nooga> what's qoppa?
15:48:30 <shachaf> A unit of coffee.
15:58:49 <GreyKnight> nothing, what's a qoppa with you?!
16:00:44 <nooga> likewise
16:09:00 <shachaf> oh no now you're in a loop!!
16:11:59 <GreyKnight> Y(nooga);
16:29:27 -!- jiella has quit (Ping timeout: 256 seconds).
16:30:37 -!- Bike has joined.
16:34:24 <GreyKnight> Bike: I was talking to you earlier but uh you weren't around
16:34:32 <GreyKnight> Read the logs, or don't
16:36:59 <Bike> that's a great way to start a conversation
16:38:56 <Bike> «Bike: I actually quit the MC forums after the 350th time I had to shoot down some hotshot kid programmer claiming that minecraft was too slow because "it's written in JavaScript"» yeah this is pretty much what happened
16:39:13 <Bike> guy's uncle told him java was "slow" because it's "an interpretive language"
16:39:49 <Bike> much like interpretive dance i assume
16:40:30 <shachaf> You have no business using interpretive languages for games.
16:41:01 <shachaf> I didn't realize Minecraft was using one. Now I know why it's slow.
16:41:44 <nooga> else return eval(car(cdr(cdr(cdr(exp)))), env);
16:41:50 <coppro> shachaf: it doesn't
16:42:06 <coppro> nooga: else return eval(eval(expr))
16:42:08 <coppro> glhf
16:42:16 <shachaf> coppro: Uhhhh, I'm pretty sure JavaScript is interpretive...
16:42:22 <nooga> uhm
16:42:31 <nooga> it's harder to tell nowadays
16:42:43 <nooga> V8 does something esoteric
16:42:50 <coppro> shachaf: even if it is
16:43:01 <coppro> shachaf: it is not what MineCraft is written in
16:43:10 <coppro> so it is *wholly* irrelevant
16:43:12 <shachaf> coppro: It basically is.
16:43:23 <shachaf> JavaScript is just the scripting version of Java.
16:43:26 <nooga> java is slow because it's stupid and huge
16:43:27 <GreyKnight> eval(eval(eval))
16:43:28 <GreyKnight> Bike: I was giving you the option! Maybe you didn't want to read
16:43:29 <shachaf> And games use scripting a lot.
16:43:32 <shachaf> QED
16:43:38 <GreyKnight> coppro: make him stop ;_;
16:44:04 * coppro kicks shachaf
16:44:15 <nooga> shachaf atm is worse than me drunk
16:44:32 <Bike> well played shachaf. well. played
16:45:20 <Vorpal> wait a sec, what does minecraft and javascript have to do with each other?
16:46:21 <shachaf> Vorpal: «minecraft was too slow because "it's written in JavaScript"»
16:46:46 <Vorpal> it is written in Java, not JS
16:46:58 <Bike> @tell Sgeo so what's the problem with having applicatives be regular racket functions (possibly with some eval calls if they're multiply wrapped) and operatives be a type you pretend is underlying but really is overlying applicatives
16:46:58 <lambdabot> Consider it noted.
16:47:04 <shachaf> JavaScript is just the scripting version of Java, Vorpal.
16:47:10 <shachaf> Don't you know anything?
16:47:24 <nooga> staaaaahp
16:47:31 <Vorpal> very funny
16:47:32 <shachaf> Scripting languages are slower but they're better because you don't have to compile.
16:47:59 <Bike> you think you're hurting me, but i'm a rock, shachaf. a rock
16:48:20 <Vorpal> minecraft isn't really slow though. I found it runs fine with -Xincgc -Xmx4096M. Yes it is indeed memory hungry. And does terrible things to the poor GC.
16:48:21 <nooga> I wonder how lisp compilers work
16:48:39 <Bike> lots of different ways...?
16:48:54 <nooga> pick one you know best
16:48:59 <nooga> :>
16:49:04 <Vorpal> nooga, sbcl?
16:49:08 <Vorpal> I wonder how it works
16:49:21 <Bike> it goes through a few intermediate representations and does a lot of crap with types
16:49:36 <Vorpal> Bike, that sounds like almost every compiler
16:49:43 <nooga> meh
16:49:46 <Bike> weird huh
16:49:49 <Vorpal> :P
16:49:50 <shachaf> Vorpal: I don't know what a GC is but minecraft would obviously be faster if it was written in a compiled language like C/C++ rather than JavaScript.
16:49:55 <GreyKnight> nooga: magic
16:50:08 <shachaf> Vorpal: It's common sense...
16:50:15 <nooga> forth style lisp
16:50:19 <nooga> would be nice
16:50:26 <Bike> factor?
16:50:31 <GreyKnight> THE MORE HE SAYS IT THE FUNNIER IT GETS
16:50:40 <GreyKnight> except not
16:50:56 <Bike> i bet if we wrote minecraft in a compiled language like lisp it'd be way faster
16:51:04 <nooga> agreed
16:51:11 <shachaf> Bike: Lisp is interpretive.......
16:51:39 <nooga> i think theres a C++ interpreter
16:51:57 <Bike> shachaf: nope in modern days we compile it. to C!!!
16:52:01 <Vorpal> I heard of a C interpreter, never heard of a C++ one before
16:52:03 <shachaf> nooga: Uh, think about what you're saying, you can't interpret a compiled language!
16:52:07 <shachaf> It doesn't make sense.
16:52:10 <GreyKnight> Bike: for extra portability do it in Scheme being run under Qoppa
16:52:47 <nooga> destroy destroy destroy
16:53:09 <GreyKnight> (shachaf <<= nil)
16:53:27 <shachaf> GreyKnight: Comonads?
16:53:45 <Bike> i hear Lisp-3 (that's version three) is in an infinite chain of interpreters interpreting interpretive interpreters. it's so slow you can't actually run it because of all the interpreters having to run!
16:54:05 <AnotherTest> Vorpal: I think they wrote a C++ interpreter at at cern. I never really tried it though
16:54:11 <Vorpal> heh
16:54:18 <nooga> i'm trying to invent a small, obvious GC-like contraption that would free some memory in my 64k lispalike interpreter ;f
16:54:27 <Vorpal> GreyKnight, what is Qoppa?
16:54:37 <Bike> a small kernel-like lisp kmc made
16:54:51 <Bike> nooga: http://www.piumarta.com/software/maru/ might help, it has a small gc
16:55:04 <nooga> ah
16:55:06 <nooga> piumarta
16:55:15 <Bike> what about 'em
16:55:29 <nooga> i hate him, he does all the cool stuff
16:56:00 <Bike> you get used to it
16:57:09 <Bike> the internal fire of envy keeps you warm through those cold, cold canadian nights
16:58:25 <kmc> maru! :3
16:58:26 <lambdabot> kmc: You have 1 new message. '/msg lambdabot @messages' to read it.
16:59:56 <GreyKnight> Lisp on C64??
17:09:23 <kmc> which is more powerful, a C64 or an IBM 704?
17:10:12 <kmc> the 704 is rated at 4,000 instructions per second; presumably the C64 at ~1 MHz does much better
17:10:52 <kmc> the C64 has about 3.5x as much RAM as well
17:12:43 -!- mig22 has quit (Quit: mig22).
17:13:31 -!- sebbu has quit (Read error: Connection reset by peer).
17:14:00 -!- sebbu has joined.
17:21:55 <nooga> canadian huh?
17:22:45 <Bike> i assume you're canadian, or a resident of a franchise canadia operation like norway.
17:23:35 <nooga> that'd be not exactly true
17:24:03 <oklopol> polish
17:24:24 <Bike> eh that's still sort of north isn't it
17:24:29 <oklopol> yes
17:24:31 <Bike> north of... let's say monaco
17:24:45 <oklopol> yes plus they have the notation
17:25:06 <nooga> we have the notation, yes
17:25:51 <GreyKnight> north of Antarctica
17:25:53 <Bike> is it true that in poland schools you learn that parentheses are "an abominable invention of the Huns"
17:27:28 <Taneb> Is it true that in Poland schools you learn?
17:28:11 <nooga> parentheses learn us in poland schools
17:28:57 <Bike> whoa, i didn't learn that in cultural insensitivity school
17:29:16 <nooga> that reminds me that i have to remove parentheses from my lisp interpreter
17:29:29 <nooga> who needs them anyway
17:29:42 <Bike> have you seen chaitin's pages
17:29:49 <Bike> "guess lisp programmers never heard of limited arity!!!"
17:30:38 <shachaf> what happened to Bicycle
17:30:41 <shachaf> Bicycle was better
17:31:27 <Bike> i'm not going to be Bicycle again until you acknowledge that my idea to rewrite Minecraft Redstone in LISP lolcode was genius
17:31:54 <shachaf> Is it enough to acknowledge that it'd probably be better than normal Minecraft?
17:32:33 <coppro> man
17:32:42 <coppro> we need to restart the tradition of writing a funge interpreter in every language
17:32:45 <Bike> does anyone actually play "normal minecraft", i was under the impression that it'd been modded into a League of Legends clone
17:33:03 -!- Bike has changed nick to Bicycle.
17:33:05 <Bicycle> but yes sure
17:33:07 <oklopol> on the rare occasions that i play it i play the normal one
17:33:15 <coppro> fizzie: opinions?
17:33:47 <shachaf> coppro: has anybody ever written a funge interpreter....... IN FUNGE??
17:33:50 <shachaf> so meta, man
17:34:14 <shachaf> btw this idea is now patented to me
17:34:15 <Bicycle> shouldn't it be "a funge compiler"
17:35:18 <fizzie> There's a Befunge-93 interpreter in Befunge-93; the befbef.bf.
17:35:29 <fizzie> It has a slightly limited playfield.
17:35:33 <fizzie> https://bitbucket.org/catseye/befunge-93/src/bfc1b4e04514/eg/befbef.bf
17:35:35 <Deewiant_> slowdown.b98, kind of.
17:36:01 <Bicycle> that's pretty elegant looking
17:36:20 <Bicycle> do people who make those "brainfuck BUT UNREADABLE!" languages ever look at befunge code? they really should
17:36:40 <nooga> minecraft befunge with turtles!
17:36:59 <shachaf> fizzie: You should add one character to your nick.
17:37:03 <shachaf> nooga: You should add two characters to your nick.
17:37:13 -!- Deewiant_ has changed nick to Deewiant.
17:37:20 <fizzie> I was just about to suggest that.
17:37:42 -!- nooga has changed nick to nooga__.
17:37:43 <Bicycle> frizzie? fungal...y
17:37:44 <nooga__> ?
17:37:54 <fizzie> Deewiant: I suppose you could still lose one character more, though.
17:37:56 <GreyKnight> Bicycle: "Lisp lolcode"??
17:37:57 <shachaf> fungot: You should add one character to your nick.
17:38:04 <shachaf> fungot?! :-(
17:38:14 <GreyKnight> (Also I play minecraft sans mods so that's one person)
17:38:18 <fizzie> Oh, right, the VPS had died for a moment there.
17:38:25 <Bicycle> GreyKnight: note that lolcode is seven letters
17:38:47 <Bicycle> GreyKnight: also plz capitalize "LISP" it's important when we're talking about serious matters
17:39:00 -!- fungot has joined.
17:39:02 <GreyKnight> LISP LOLCODE
17:39:05 -!- fungot has changed nick to funglop.
17:39:11 <GreyKnight> Why is seven letters important
17:39:15 <GreyKnight> Hi funglop
17:39:24 <Bicycle> i dunno but shachaf's pretty excited about it
17:39:25 <shachaf> fungot
17:39:27 <funglop> shachaf: it assigns 1 to a pixel that's already 1, there's a " scheme development environment
17:39:31 <fizzie> It doesn't realize it has a new name. :/
17:39:40 <shachaf> funglop: your name isn't fungot..........
17:39:41 <funglop> shachaf: rather than just a repl prompt.)
17:39:41 -!- funglop has changed nick to funchaf.
17:39:42 <Bicycle> possibly some kind of occult ritual? ("occult": not seven letters)
17:39:51 <shachaf> ^ rot13 funchaf
17:39:57 <shachaf> ^rot13 funchaf
17:39:58 <funchaf> shapuns
17:40:14 -!- funchaf has changed nick to fungot.
17:40:20 <Deewiant> ^rot13 shachaf
17:40:24 <fizzie> Perhaps too much fun was gotten.
17:40:26 <shachaf> GreyKnight: Have you ever considered the nick GreyKni?
17:40:29 <fungot> funpuns
17:40:31 <Deewiant> Intentional??
17:40:43 <shachaf> Deewiant: Is it?!
17:40:49 <nooga__> uh
17:40:53 -!- nooga__ has changed nick to nooga.
17:41:25 <GreyKnight> shachaf: never
17:41:35 <Bicycle> the knights who say "grey", in a defeated tone
17:41:42 <GreyKnight> Bicycle: how does LISP LOLCODE work?
17:42:08 <Bicycle> dunno but i'm sure it's hi-liarious
17:42:29 <Bicycle> lots of jokes about parentheses i am thinking. and possibly "functional programming"
17:45:25 <GreyKnight> Maybe keyword parens
17:46:06 <GreyKnight> LEFT PARENTHESIS FOO RIGHT PARENTHESIS
17:46:06 <GreyKnight> in fact
17:46:06 <GreyKnight> (LEFT PARENTHESIS FOO RIGHT PARENTHESIS)
17:46:07 <GreyKnight> "perfect"
17:46:34 <Taneb> Like in BIT?
17:46:45 <Bicycle> yes this humorousness is just what the imaginary doctor ordered imaginarily
17:48:10 <GreyKnight> (LEFT PARENTHESIS FUNCTIONAL-SETQ X 1 RIGHT PARENTHESIS)
17:48:47 -!- AnotherTest1 has joined.
17:49:03 -!- AnotherTest has quit (Quit: Leaving.).
17:53:42 <GreyKnight> (LEFT PARENTHESIS GREEK SMALL LETTER LAMBDA (LEFT PARENTHESIS X RIGHT PARENTHESIS) X RIGHT PARENTHESIS)
17:53:54 <GreyKnight> Abusing unicode character names for fun and profit
17:54:04 <Bicycle> unicode based for the modern age
17:54:49 <Bicycle> i suppose it should be LATIN CAPITAL LETTER X then
17:56:44 <GreyKnight> Hmm
17:58:56 <GreyKnight> We can embed a BF derivative in this for maximum badness
17:59:35 <GreyKnight> (LEFT PARENTHESIS MOVE-POINTER-LEFT RIGHT PARENTHESIS)
17:59:39 <GreyKnight> etc
18:00:34 <Bicycle> brainfuckiest lisp fucker ever fuck fuck fuck fuckfuckfuck
18:00:55 <GreyKnight> brainlisp
18:00:58 <GreyKnight> Er
18:01:05 <GreyKnight> LOLBRAINLISP
18:01:29 <Bicycle> poetry
18:01:59 <GreyKnight> Worst language ever
18:02:27 <Bicycle> yeah i think i'm going to find that chaitin paper to read to scrub the bullshit out
18:02:57 <SirCmpwn> the biggest problem I have with brainfuck is losing track of what addresses I'm working with
18:03:05 <SirCmpwn> or fucking up my nesting
18:03:34 <Bicycle> wow googling "chaitin diophantine equations" sure gets you a lot of bullshit
18:03:56 <GreyKnight> Five million BF derivatives and not one of them fixes SirCmpwn's problem
18:04:06 <SirCmpwn> I fixed it myself :P
18:04:07 <Bicycle> SirCmpwn: if you're actually going to be programming in it it might be nice to introduce a few mnemonic tools, like >7 being short for >>>>>>> and such
18:04:17 <SirCmpwn> Bicycle: thought about writing a preprocessor
18:04:24 <SirCmpwn> with macros and includes
18:04:33 <GreyKnight> Write a C->BF compiler
18:04:39 <SirCmpwn> that's cheating.
18:04:46 <SirCmpwn> and also bloody difficult
18:04:53 <GreyKnight> "problem solved"
18:05:01 <Bicycle> eh, it's like a page of LLVM stuff isn't it
18:05:22 <SirCmpwn> question: can anyone think of a means of reading an arbituary length string in brainfuck to memory (zero delimited) and processing it after being read?
18:06:17 <Bicycle> keep a counter of how many characters are read, once you hit the null go back that many cells
18:06:30 <SirCmpwn> where to put the counter
18:06:42 <GreyKnight> In your brick
18:06:53 <Bicycle> before all the characters, i guess?
18:06:56 <SirCmpwn> you could take advantage of address overflow in your interpreter, I suppose
18:07:08 <SirCmpwn> Bicycle: then how do you seek back to the counter cell?
18:07:12 <Bicycle> i don't know, i've never done "serious brainfuck programming" and find the very idea of it a mite unsettling
18:07:32 <SirCmpwn> I bet you could use a special value, like 0xFF, to delimit your string on both sides
18:07:38 <SirCmpwn> then seek back and forth to find the beginning and end
18:08:22 <GreyKnight> Shlemiel algorithm
18:09:56 <Bicycle> have you considered implementing Snobol4 in bf and using that instead? i think it would be less painful
18:10:18 <SirCmpwn> not using brainfuck to accomplish my goals defeats the purpose
18:10:30 <GreyKnight> Has anyone implemented befunge in brainf**k?
18:10:36 <SirCmpwn> brainfuck isn't really that difficult when you wrap your mind around it
18:10:36 <Bicycle> what is the purpose
18:10:44 <SirCmpwn> Bicycle: I'm making an IRC bot in brainfuck.
18:11:05 <GreyKnight> I knew it
18:11:28 <fizzie> I don't think most simple string-processing bf programs I've seen generally bother with counters. If you just put 0s on both sides of the string, you can seek to either end with [<] and [>]. That seems to be enough for simple tasks.
18:11:50 <GreyKnight> Ever since someone mentioned esolang IRC bots earlier, I knew we would be looking at the prospect of a bf bot
18:11:51 <SirCmpwn> ah, shit, I've fucked up my message processing
18:12:00 <Bicycle> http://coinread.com/algorithmic_information_theory_cambridge_tracts_in_theoretical_computer_science_.301556.html "the arithmetization of register machines", fuck yes
18:12:10 <fizzie> For more complicated tasks, "interpolated" things like "all even cells are characters, all odd cells are associated numbers" kind of things are popular too.
18:12:23 <SirCmpwn> GreyKnight: I have one working, just incomplete
18:12:26 <Bicycle> why is this a thing fizzie
18:12:39 <Bicycle> you're the expert on weird bot implementation choices. help me understand
18:12:40 <SirCmpwn> GreyKnight: wire up stdin/stdout of your standard bf interpreter to a TCP socket and it works
18:12:42 <GreyKnight> fizzie: index, character, index, character, etc?
18:13:32 <SirCmpwn> I'm crawling up my logic tree to find out where it stopped working
18:13:33 <fizzie> For example, or character, someflagaboutit, character, someflagaboutit, so that you can use the flags to seek into places.
18:13:46 <Bicycle> i sould have guessed the associated numbers were info, greyk- yeah
18:13:57 <GreyKnight> fungot: don't worry, we love you best
18:13:58 <fungot> GreyKnight: only one place can sit to bishan, take the barcap... all thebest!! :) its time n whr?
18:14:12 <fizzie> Bicycle: Why is writing IRC bots with weird languages a thing? I... well, I mean, isn't it obvious? What *else* would you do?
18:14:28 <SirCmpwn> ah, checking for the 'R' in "PRIVMSG" is broken
18:14:49 <Bicycle> when i wrote an irc bot i was told it was a wierd language choice so i guess i shouldn't complain
18:14:49 <SirCmpwn> probably because I tried to fold that code into the code for 'I' in "PING"
18:15:09 <fizzie> Bicycle: What did you write it in?
18:15:23 <Bicycle> common lisp. so uh not quite as esoteric
18:15:33 <fizzie> I have a sad about pietbot not really being around.
18:15:43 <SirCmpwn> did someone write a bot in piet?
18:15:44 <SirCmpwn> really?
18:15:52 <GreyKnight> s/write/draw/
18:15:53 <Bicycle> why does that surprise you
18:15:57 <SirCmpwn> well, yeah
18:15:58 <fizzie> I think it's a bit arguable.
18:16:02 <GreyKnight> Bicycle: do you have the code?
18:16:10 <fizzie> It connected and joined a channel, but I don't think it did anything else really?
18:16:11 <SirCmpwn> I didn't think anyone actually used piet for anything
18:16:16 <Bicycle> uh, yeah. it's kind of terrible but it's there
18:16:27 <Bicycle> SirCmpwn: "i didn't think anyone actually used brainfuck for anything"
18:16:35 <SirCmpwn> Bicycle: then you are quite mistaken
18:16:43 <Bicycle> yes, yes i was
18:16:44 <SirCmpwn> http://google.com/search?q=brainfuck+program+examples
18:16:47 <GreyKnight> I drew (most of) a roguelike in piet, I don't know where the source is
18:17:11 <SirCmpwn> piet gives you multiplication and division
18:17:11 <GreyKnight> (it was entirely terrible)
18:17:11 <SirCmpwn> lame
18:17:14 <fizzie> Bicycle: Most mission-critical Apache-driven websites are running on mod_bf. (Not true.)
18:17:20 <SirCmpwn> and distinct comparison operators
18:17:36 <Bicycle> SirCmpwn: i kind of lost interest after esolang's constant number page (because that page is So Cool)
18:17:47 <SirCmpwn> hah
18:17:54 <SirCmpwn> I don't see any value in that page
18:18:05 <Bicycle> oh? why not?
18:18:11 <SirCmpwn> although it might make my initial NICK/USER commands shorter
18:18:14 <Bicycle> i think it makes a nice concrete example of kolmogorov complexity
18:18:22 <GreyKnight> girls you're all pretty!
18:18:25 <SirCmpwn> Bicycle: I just use one method to get any number so I don't have to look at my code and wonder what it does
18:18:34 -!- Taneb has quit (Ping timeout: 260 seconds).
18:18:37 <SirCmpwn> loop to get to the nearest power of ten, then adjust
18:18:41 <Bicycle> i... are we having the theory/practice gap
18:18:44 <Bicycle> for brainfuck
18:18:47 <SirCmpwn> yes.
18:18:53 <Bicycle> what have i become
18:19:03 <GreyKnight> A monster
18:19:16 * GreyKnight shudders
18:19:45 <SirCmpwn> I've been thinking about embedded systems
18:19:48 <Bicycle> reminds me that i was weirdly disappointed in my book on kolmogorov using combinators instead of P''/brainfuck
18:19:50 <SirCmpwn> many of them have memory mapped I/O
18:20:01 <SirCmpwn> you could make a whole system in brainfuck if you took advantage of this
18:20:23 <GreyKnight> bfOS?
18:20:28 <SirCmpwn> yessir
18:20:38 <fizzie> !bf_txtgen NICK bfbot
18:20:42 <EgoBot> ​106 +++++++++++[>+++++++>+++>+++++++++>+<<<<-]>+.-----.------.++++++++.>-.>-.++++.----.+++++++++++++.+++++.>-. [653]
18:20:42 <SirCmpwn> you might even be able to get multitasking if you were insane
18:20:42 <GreyKnight> pls make the filesystem checker be called "brainfsck" kthx
18:20:47 <Bicycle> what is the link between mmus and bf here
18:20:52 <SirCmpwn> fizzie: don't use that nick D:
18:20:53 <Bicycle> SirCmpwn: "if"
18:21:13 <SirCmpwn> fizzie: I don't wanna change my code to use a different nick :P
18:21:32 <SirCmpwn> here's the WIP bot, btw: https://github.com/SirCmpwn/bf-irc-bot
18:21:34 <GreyKnight> I hear they have a thing called "NickServ"
18:21:40 <fizzie> You can bf_txtgen any strings, though. (The result is strictly non-optimal.)
18:21:49 <GreyKnight> Where you can "register" "nicknames"
18:21:51 <SirCmpwn> GreyKnight: but then I'd have to set up authentication in the bot, too
18:22:07 <SirCmpwn> and I have nick enforcement turned on for my account
18:22:08 <GreyKnight> You can log in unregistered
18:22:21 <Bicycle> SirCmpwn: you can send the password as part of the server connection. i'ts very convenient
18:22:33 <GreyKnight> So give the bot its own account :-P
18:22:34 <SirCmpwn> Bicycle: I'm aware of this, but it would require putting the password into my code
18:22:42 <SirCmpwn> and since I put this code on github...
18:22:47 <Bicycle> SirCmpwn: "a good use for that preprocessor stuff"
18:22:53 <SirCmpwn> yeah, yeah
18:22:58 <SirCmpwn> not worth the effort.
18:23:08 <SirCmpwn> I'll just add underscores if the nick is in use
18:23:17 <GreyKnight> You're writing a bf IRC bot and you're worried about too much effort? Okay then
18:23:19 <Bicycle> i'm telling you, brainfuck programming will be revolutionized once you do this new "structured programming" paradigm
18:24:03 <SirCmpwn> taking this memory mapped I/O idea further
18:24:14 <SirCmpwn> I wonder if it would be cheating to add some mappings to brainfuck memory
18:24:16 <GreyKnight> Dijkstra's famous paper "[/] considered harmful"
18:24:19 <SirCmpwn> for things like networking and shit
18:24:27 <SirCmpwn> in addition to the usual stdin/stdout
18:24:56 <fizzie> You should just be using PSOX for networking, of course.
18:25:00 <fizzie> Or is that PSOX 2.
18:25:07 <fizzie> Or is that PSOX 3.11 for Workgroups.
18:25:10 <fizzie> Something like that, anyway.
18:25:10 <Bicycle> GreyKnight: followed by knuth's response, "Structured Programming in ///"
18:25:43 <SirCmpwn> fizzie: I'm thinking about rewriting one of my existing IRC bots in bf
18:25:50 <SirCmpwn> fizzie: so it'd need things like HTTP and shit
18:26:24 <fizzie> Well, you get a sockets-style API from PSOX. "HTTP and shit" is just a SMOP.
18:26:28 <GreyKnight> IRC bots need HTTP
18:26:36 <SirCmpwn> GreyKnight: if I rewrite this one, it would
18:26:38 <Bicycle> ok i've been being sort of sarcastic but seriously you need some preprocessing or /something/ if you want to stay alive while doing this
18:26:49 <SirCmpwn> Bicycle: it's not as hard as you think.
18:26:49 <GreyKnight> fizzie: well, the HTTP anyway. I don't know about the other part
18:26:56 <SirCmpwn> Bicycle: I have almost half the code I need done
18:26:58 <fizzie> GreyKnight: Programmable shit.
18:27:14 <SirCmpwn> Bicycle: the key is excessive comments
18:27:18 <GreyKnight> fizzie, with a socket interface?!
18:28:05 <Bicycle> GreyKnight: it's nice for bots to have some rest crap. like @google.
18:28:07 <fizzie> GreyKnight: I don't think I want any shit in a sock.
18:28:12 <Bicycle> SirCmpwn: but geeeeeeeeeez
18:28:31 <shachaf> hi Bicycle
18:28:45 <Bicycle> hi shachaf
18:28:52 <GreyKnight> Bicycle: basically I think he's doing the preprocessing by hand
18:28:54 <shachaf> who is SirCmpwn
18:29:04 <Bicycle> God
18:29:10 <shachaf> `welcome SirCmpwn
18:29:11 <HackEgo> SirCmpwn: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
18:29:17 <GreyKnight> "Standard way of getting numbers" was a tip-off
18:29:34 <Bicycle> a tip-off to his "bf programming style"
18:29:35 <SirCmpwn> hi shachaf
18:29:54 <SirCmpwn> GreyKnight: "standard" needs extra quotes
18:30:01 <SirCmpwn> I do whatever makes sense when I need something to be done
18:30:12 <GreyKnight> Take as many as you need: """""""""""""""""""""""
18:30:23 -!- TodPunk has quit (Ping timeout: 240 seconds).
18:30:25 <Bicycle> «"'standard'"»
18:30:32 <GreyKnight> you could probably do this with the C preprocessor you know
18:30:41 <GreyKnight> A few cunning macros
18:31:17 <SirCmpwn> probably.
18:31:27 <SirCmpwn> but a week from now, I'm going to forget this project ever existed.
18:31:44 <Bicycle> :(
18:32:04 <GreyKnight> @tell ais523 Hey coppro was looking for you on #acehack! Also, heptagram is AWOL.
18:32:05 <lambdabot> Consider it noted.
18:32:05 <shachaf> ‟" « » ‘ ’ ‚ ‛ “ ” „ ‟ ‹ › ⍘ ⍞ ❛ ❜ ❝ ❞ ❟ ❠ ❮ ❯ 〝 〞 〟 ꐄ " 󠀢
18:32:14 <Bicycle> what if you wrote cron in bf to remind you occasionally
18:32:18 <shachaf> Hmm, lots of them in there.
18:32:39 <GreyKnight> Bicycle: cronf**k you mean
18:32:58 <Bicycle> shachaf: is... that last one from outside the BMP
18:33:17 <shachaf> Bicycle: Yes, but it's boring.
18:33:22 <shachaf> E0022 TAG QUOTATION MARK [<U+E0022>]
18:33:27 <Bicycle> :(
18:33:40 <Bicycle> HEAVY_RIGHT-POINTING_ANGLE_QUOTATION_MARK_ORNAMENT, the quote i never knew i always wanted
18:33:54 <Bicycle> what the hell is "yi"
18:34:17 <GreyKnight> What about BIKE_STANDARD_LEFT_QUOTE ??
18:34:18 <SirCmpwn> what's that one language that pretends it's not esoteric and uses characters that no one has on their keyboard
18:34:25 <fizzie> APL.
18:34:35 <SirCmpwn> thanks.
18:34:36 <Bicycle> APL's cool, man, don't diss it.
18:34:38 <GreyKnight> Depends on your keyboard B-)
18:34:45 <fizzie> APL FUNCTIONAL SYMBOL QUOTE UNDERBARD, U+2358.
18:34:53 <fizzie> Now with extra bard.
18:34:57 <Bicycle> you can use J or K if you don't want a forty year old keyboard made of cast iron, though.
18:35:15 <shachaf> Oh, I missed some.
18:35:22 <GreyKnight> fizzie: how spoony are we talking here, on a scale from 1 to 10?
18:35:24 <shachaf> I just filtered for code points with QUOT in their names.
18:35:30 <shachaf> But there are ones like
18:35:37 <shachaf> 2E20 LEFT VERTICAL BAR WITH QUILL [⸠]
18:35:47 <Bicycle> is there a character class for quoty characters
18:35:55 <shachaf> More than one!
18:36:05 <Bicycle> i never should have doubted you, unicode.
18:36:17 <shachaf> Is GeneralCategory the same thing as character class?
18:36:28 <shachaf> There's InitialQuote and FinalQuote GeneralCategories.
18:36:48 <Bicycle> i dunno. probably
18:37:01 <shachaf> Also, " is neither an InitialQuote nor a FinalQuote, of course.
18:37:13 <GreyKnight> I was going to ask
18:37:13 <shachaf> Therefore its GeneralCategory is OtherPunctuation.
18:37:13 <Bicycle> so what is it
18:37:18 <Bicycle> niiiiice
18:37:24 <GreyKnight> What about APL quote quad?
18:37:25 <shachaf> (If lambdabot wasn't broken, we could ask it all that!)
18:37:27 -!- TodPunk has joined.
18:37:36 <shachaf> > text "\2203"
18:37:37 <lambdabot> mueval-core: <stdout>: hPutChar: invalid argument (invalid character)
18:37:44 <shachaf> lambdabot...........
18:37:56 <GreyKnight> > text "hi"
18:37:58 <lambdabot> hi
18:37:58 <shachaf> GreyKnight: I listed it above.
18:38:13 <shachaf> Oh, its GeneralCategory?
18:38:15 <shachaf> OtherPunctuation
18:38:21 <GreyKnight> Shocking
18:38:34 <GreyKnight> Why no APL category??
18:38:53 <shachaf> > filter (\x -> generalCategory x `elem` [InitialQuote, FinalQuote]) ['\0'..]
18:38:56 <lambdabot> "\171\187\8216\8217\8219\8220\8221\8223\8249\8250\11778\11779\11780\11781\1...
18:39:11 <shachaf> > (`showHex`"") =<< filter (\x -> generalCategory x `elem` [InitialQuote, FinalQuote]) ['\0'..]
18:39:13 <lambdabot> No instance for (GHC.Real.Integral GHC.Types.Char)
18:39:13 <lambdabot> arising from a use of...
18:39:26 <shachaf> > (`showHex`"") $ filter (\x -> generalCategory x `elem` [InitialQuote, FinalQuote]) ['\0'..]
18:39:28 <lambdabot> No instance for (GHC.Real.Integral [GHC.Types.Char])
18:39:28 <lambdabot> arising from a use ...
18:39:38 <shachaf> > (`showHex`"") . ord =<< filter (\x -> generalCategory x `elem` [InitialQuote, FinalQuote]) ['\0'..]
18:39:41 <lambdabot> "abbb20182019201b201c201d201f2039203a2e022e032e042e052e092e0a2e0c2e0d2e1c2e...
18:39:46 <shachaf> > (`showHex`"") . ord <$> filter (\x -> generalCategory x `elem` [InitialQuote, FinalQuote]) ['\0'..]
18:39:49 <lambdabot> ["ab","bb","2018","2019","201b","201c","201d","201f","2039","203a","2e02","...
18:39:55 <Bicycle> speaking of type errors, do we have Typed BF yet, to keep up with all the newest things in church calculus
18:39:57 <GreyKnight> Haskell: the language of type errors
18:39:58 * shachaf mashes keys randomly.
18:40:12 <Bicycle> System BF, we could call it!
18:40:18 <GreyKnight> Bicycle: do it
18:40:58 <GreyKnight> Also implement the whole thing in the Haskell type system of course
18:41:06 <shachaf> @quote OlegFacts
18:41:06 <lambdabot> OlegFacts says: GHC doesn't have a type checker. It emails your types to Oleg for checking.
18:41:21 <Bicycle> ...actually i have no idea how that would work, typed lambda calculus works because you have A->B
18:41:38 <Bicycle> i suppose someone somewhere has analyzed the meta-powerrrrr of various turing formalisms based on kindshit
18:42:18 <kmc> hm it would be fun to generalize brainfuck to arbitrary data types, rather than just integers
18:42:43 <Bicycle> "you can just encode any data as integers though"
18:42:45 <kmc> that might be a halfway worthwhile derivative
18:43:00 <GreyKnight> Can it support bricks as a type?
18:43:02 <shachaf> Derivative? Is that an infinite tape with a hole in it?
18:44:06 <Bicycle> shit, how would curry-howard work if you don't have functions. i may actually think about this
18:44:34 <GreyKnight> What no functions
18:44:40 <GreyKnight> O_o
18:45:03 <kmc> data Brick = Brain Brick
18:45:11 <Bicycle> it's just not brainfuck if it's not based on tedious tape spinning
18:45:56 <GreyKnight> Hey is there a unicode glyph for "brain" yet?
18:46:05 <GreyKnight> Possibly "brick" too
18:47:04 <shachaf> http://www.youtube.com/watch?v=4T3d4U29eqU
18:47:15 <GreyKnight> Bicycle: I kind (no pun intended) want to see how this Typetape thing would work now
18:47:22 <Bicycle> yeah me too. fuck
18:47:56 <kmc> the reference glyph for U+1F47E ALIEN MONSTER has a prominent exposed brain
18:48:04 <GreyKnight> Maybe we can bribe kmc to solve it and we can just eat popcorn and watch
18:48:35 <GreyKnight> kmc: why is there... no, never mind, stupid question
18:48:39 <kmc> but my browser font has some totally different octopus monster thing
18:48:49 <kmc> GreyKnight: japan
18:49:12 <GreyKnight> Yep
18:49:21 <kmc> there are also codepoints for MOUNT FUJI, TOKYO TOWER, and SILHOUETTE OF JAPAN
18:49:26 <kmc> though in fairness also STATUE OF LIBERTY
18:49:45 <GreyKnight> Although that raises the question of why the tentacle monster isn't the reference glyph
18:49:58 * kmc spittake
18:50:19 <GreyKnight> Well. Japan.
18:50:54 <kmc> i'm holding out for PYRAMID OF TIRANA or 801 GRAND BUILDING DES MOINES IA
18:51:11 <Bicycle> and we STILL don't have that noodle hanzi
18:51:13 <Bicycle> you suck unicode
18:51:40 <GreyKnight> What about a RAMPAGING GODZILLA glyph
18:51:49 <kmc> PISTOL and CRYSTAL BALL are both classified as "tools"
18:52:04 -!- Taneb has joined.
18:52:24 <shachaf> Where's the classification?
18:52:25 <GreyKnight> Of course!
18:52:50 <GreyKnight> I've complained in the past about the lack of a YELLOW SIGN glyph
18:53:17 <Bicycle> but we don't know what it "canonically" looks like >:/
18:53:30 <kmc> www.unicode.org/charts/PDF/U1F300.pdf
18:53:37 <GreyKnight> Bicycle: that's what they WANT you to think
18:54:05 <Bicycle> shachaf: re 2:10: I like this guy
18:55:03 <GreyKnight> Bicycle: we can at least use the three-pointed squiggly Yellow Sign as a reference
18:55:11 <Bicycle> a tune in the key of....... BRAINS
18:55:24 <kmc> it's not like the MULTIOCULAR O reference glyph is accurate to the canonical (heh) source
18:55:38 <Bicycle> GreyKnight: that's like using marco polo as a reference for chinese!
18:55:54 <GreyKnight> I say we submit a request to unicode about this
18:56:16 <GreyKnight> Maybe include the two variants of the Elder Sign too
18:56:31 <Bicycle> do they even have official admission criteria? or is it straightforwardly "someone who has money asked"
18:56:59 <shachaf> "someone who monqy has asked"
18:57:01 <GreyKnight> How are people supposed to adequately protect themselves against Shub-Internet online while Unicode drag their feet on the important Elder Sign issue?!?!?
18:57:22 <GreyKnight> It's an outrage
18:58:03 <kmc> at least we can protect ourselves from Colosson using U+1F414
18:58:55 <Bicycle> combining chicken above
18:59:05 <kmc> yes
18:59:29 <GreyKnight> Colosson = ?
18:59:34 <kmc> the numberwang robot
18:59:45 <kmc> http://www.youtube.com/watch?v=-r6NY4Kl8Ms
18:59:55 <GreyKnight> wat
19:00:14 <kmc> COOKED RICE with COMBINING CHICKEN ABOVE
19:00:47 <GreyKnight> If only you had some biang-biang noodles to go with it, eh?
19:01:00 * GreyKnight glares meaningfully at unicode
19:01:15 <Bicycle> wangs for the memory
19:02:59 -!- copumpkin has quit (Ping timeout: 252 seconds).
19:03:03 <Bicycle> yeah this is pretty much russell right here
19:03:39 -!- copumpkin has joined.
19:05:44 <GreyKnight> Okay so for a "typetape" language we probably need some operator for combining two cells or combining the current cell with an accumulator?
19:06:14 <GreyKnight> I don't know how to do any useful *unary* operations on types
19:06:38 <kmc> you're talking about generalizing the type of the cells?
19:06:56 <fizzie> http://sprunge.us/NcKK I wanted to `run this but it just goes "No output."
19:07:04 <GreyKnight> I figured the cells themselves contained types
19:07:45 <kmc> i was thinking that you would pick an algebraic data type, and then for each constructor you would have commands for "apply constructor", "remove constructor", and "loop if constructor present"
19:08:13 <fizzie> (Anyway there's also the Quotation_Mark UCD property, PropList.txt http://sprunge.us/JOXE -- but I can't get that out of Unicode::UCD.)
19:08:31 <kmc> which kind of correspond to +-[]
19:08:38 <kmc> except not, because of negative numbers, but anyway
19:08:59 <GreyKnight> Solution: negative types :o)
19:08:59 -!- DHeadshot has quit (Read error: Connection reset by peer).
19:09:00 <Bicycle> natural numbers were enough for our forefathers, i say
19:09:07 -!- DH____ has joined.
19:09:11 <kmc> i wonder what negative types are
19:09:55 <GreyKnight> I really hope they exist
19:10:02 <Bicycle> so, how do you define a new type (constructor)
19:10:08 <GreyKnight> (or can be made to exist)
19:10:19 <kmc> well in my simple conception, you don't, not in the language
19:10:28 <kmc> it's more like a family of languages, one for each algebraic type
19:10:38 <Bicycle> " In type theory, a negative type is one whose eliminators are regarded as primary"
19:11:12 <kmc> another question is how you deal with constructor mismatch
19:11:16 <kmc> i think probably the command should do nothing
19:11:57 <GreyKnight> Disclaimer: I don't actually know enough about type system arcana to design a language with a tape of types properly
19:12:27 <GreyKnight> (I just like the idea)
19:12:30 <kmc> well "type" is itself something of an algebraic data type
19:12:35 <Bicycle> er, why is it a tape of types, not a tape of typed objects
19:12:44 <kmc> data Type = TyInt | TyFunction Type Type | ...
19:12:55 <kmc> every interpreter in Haskell for a typed language has a type like this
19:13:02 <GreyKnight> Bicycle: because this is #esoteric :o)
19:13:19 <kmc> the thing that makes types interesting is the typing judgement, which relates expressions and types (and contexts)
19:14:20 <Bicycle> needs more subtyping
19:14:25 <GreyKnight> Bicycle: someone was trying to implement IEEE floats in Haskell's type system a while back. I figure this should be doable too.
19:14:55 <Bicycle> implement them, like, as types?
19:15:34 <GreyKnight> Apparently
19:16:04 <GreyKnight> To answer your next question: I haven't the faintest idea :-)
19:16:09 <Bicycle> i would have thought that'd be too close to rational arithmetic for it to be possible in haskell types
19:16:14 <Bicycle> what... what's my next question
19:16:57 <GreyKnight> "What/How on earth..."
19:17:32 <Bicycle> nah this channel has elliott pasting edwardk vintage type signatures
19:17:48 <Bicycle> you get used to these things
19:17:56 <GreyKnight> Wait, isn't Haskell's type system TC?
19:18:33 <Bicycle> well you can infer types most of the time
19:18:50 <Taneb> GreyKnight, I don't think it is quite
19:18:58 <Bicycle> i don't think haskell is even up to System F's level?
19:19:01 <GreyKnight> Oh!
19:19:44 * GreyKnight thought it was
19:19:46 <Bicycle> oh what
19:20:11 <kmc> right, system F allows higher-rank types, which are not in standard Haskell
19:20:27 <kmc> functions that require their arguments to be polymorphic
19:20:31 <kmc> GHC supports that though
19:21:14 <Bicycle> not entirely sure what "turing-complete type system" means though >_>
19:21:43 <Taneb> You can have turing-complete bathroom tiles
19:21:45 <GreyKnight> Well I thought Haskell's was but I guess I was wrong. Is it possible, I wonder?
19:22:01 <Bicycle> well what do you mean
19:22:05 <shachaf> Turing completeness is hardly a desirable property in a type system.
19:22:10 <Taneb> (I'm serious about bathroom tiles that can be turing complete)
19:22:13 <Bicycle> type inference is uncomputable in system f
19:22:24 <Bicycle> Taneb: now i want to tile my house with a wang set. thanks
19:22:42 <Taneb> Bicycle, it'll never repeat!
19:22:48 <Taneb> Unless it does
19:22:52 <Taneb> But you can't prove it!
19:22:53 <kmc> sure, there are type systems where you have abstraction, application, and therefore normalization, at the type level
19:23:19 <olsner> (there is also C)
19:23:36 <kmc> in dependently typed languages, typically there is not a syntactic distinction between terms and types
19:23:51 <kmc> 3 : Int, Int : Type, ((\x -> Int) 3) : Type
19:24:30 <shachaf> In GHC, BOX :: BOX
19:24:36 <Bicycle> uh, is Type a type, then?
19:24:55 <shachaf> Type corresponds to * in Haskell, if you know Haskell kinds.
19:25:15 <Bicycle> right, so it's a kind
19:25:36 <GreyKnight> Hm my life has been flipped now. Turned upside down, in fact
19:25:43 <olsner> types are values in the kind system
19:25:44 <kmc> Bicycle: if you admit "Type : Type" then usually bad things happen
19:25:49 <Bicycle> yes, that's why i'm asking
19:25:49 <kmc> sometimes there is an infinite hierarchy
19:25:50 <shachaf> Bicycle: There is a bit less of a distinction here, though.
19:25:54 <kmc> Set : Set1 : Set2 : Set3 : ...
19:25:55 <Bicycle> also what's the type of \x -> Int? [top] -> Type?
19:26:06 <kmc> yes
19:26:13 <kmc> or say forall a. a -> Type
19:26:30 <shachaf> kmc: Can you be polymorphic like that?
19:26:33 <Bicycle> oh right, real people use polymorphism
19:26:45 <shachaf> Agda doesn't have polymorphism as such, as far as I know.
19:27:04 <shachaf> I think it might have something with levels to make things that are level-polymorphic, or something. I don't know.
19:27:15 <kmc> i'm not talking about Agda specifically
19:27:22 <shachaf> I'm not either.
19:27:35 <shachaf> But most of my limited intuition for dependent types comes from Agda.
19:27:39 <kmc> mm
19:28:11 <Bicycle> i have got to figure out how dependent types work sometime. it seeems like one of those things that should seem intuitive but i haven't worked through my stupid head yet
19:29:37 <GreyKnight> So Type : Kind : Metakind : Metametakind : ... : Meta^NKind
19:29:49 <Bicycle> they just use numbers
19:29:59 <GreyKnight> Sounds sensible :-U
19:30:02 <Bicycle> i don't know why they even bother defining separate words at first any more :/
19:30:20 <Bicycle> you're just going to generalize this shit anyway, peeps
19:30:27 <Taneb> Value : Type : Kind : Metakind etc
19:30:31 <Taneb> Is there anything left of Value?
19:30:43 <kmc> Bicycle: if you have a passing knowledge of haskell, you might enjoy reading http://www.cse.chalmers.se/~ulfn/papers/afp08/tutorial.pdf
19:30:50 <Bicycle> thanks, i will
19:31:42 <Bicycle> ...i think i've seen this before...
19:32:02 <GreyKnight> Taneb: I guess past Metakind you're going to find they are mostly all just "*" anyway :o)
19:32:33 <Bicycle> -> at least is probably going to keep coming up
19:32:54 <GreyKnight> Oh hm
19:33:10 -!- TodPunk has quit (Quit: This is me, signing off. Probably rebooting or something.).
19:33:34 * GreyKnight loses his train of thought somewhere in Metakind Forest
19:33:54 <GreyKnight> . o O ( I shoulda brought breadcrumbs )
19:33:54 <kmc> metakind cuts
19:34:00 <Bicycle> so the real question here is obvious: how can we make a brainfuck derivative where Type : Type
19:34:28 * GreyKnight uses Metakind Cut! The tree is cut down! Now you can get past it!
19:35:27 <Bicycle> hm, so, this tutorial. why can't agda infer Bool -> Bool from not false = true; not true = false? how are dependent types involved there?
19:35:35 <GreyKnight> Okay I think kmc's angle on a typed bf derivative was more productive than whatever I was blathering about
19:35:51 <Sgeo> .
19:35:52 <lambdabot> Sgeo: You have 1 new message. '/msg lambdabot @messages' to read it.
19:35:55 <Sgeo> @messages
19:35:56 <lambdabot> Bike said 2h 48m 58s ago: so what's the problem with having applicatives be regular racket functions (possibly with some eval calls if they're multiply wrapped) and operatives be a type you pretend
19:35:56 <lambdabot> is underlying but really is overlying applicatives
19:36:17 <Bicycle> what if we had dependently kinded Kernel
19:36:42 <GreyKnight> Bicycle: Then my head asplode
19:36:54 <Sgeo> Bicycle, the problem is that my wrap function would behave differently semantically, rather than just performance-wise, from a wrap implemented in pure Qoppa
19:36:57 <olsner> oh, typed bf derivatives? I assume you've already gone through all variations of (brain :: Brick) possible?
19:37:12 <Sgeo> And that bothers me
19:37:42 <GreyKnight> I think kmc already implemented brickbraining as an algebraic data type somewhere in scrollback
19:37:52 <Bicycle> Sgeo: so you can't just define #%app so that ((wrap foo) . bar) = (foo . (eval bar)) or
19:37:58 <shachaf> GreyKnight: That type was uninhabited.
19:38:13 <Bicycle> or is it %#app... whatever
19:38:19 <Sgeo> It's #%app
19:38:45 <Bicycle> punctuation is a blight
19:39:21 -!- oerjan has joined.
19:39:37 * GreyKnight installs some furniture in the type and puts up a "For Rent" sign
19:39:47 * Sgeo is not sure if that would work or not (still doesn't solve my problem of wrap being a primitive for reasons other than performance)
19:40:23 <Sgeo> I'm a bit tired right now <-- excuse I use whenever brain is not working properly
19:40:26 <Bicycle> er what, it's supposed to be a primitive
19:40:48 <oerjan> shachaf: because of time travel duh
19:40:55 <Sgeo> In Qoppa, or just in Kernel?
19:40:59 <Bicycle> kernel
19:41:08 <Bicycle> i dunno about qoppa, i only skimmed kmc's post.
19:41:17 <oerjan> qoppa qoffee
19:41:20 <Bicycle> also hm, i must have some kind of brain block, because N = 0 | SN makes sense to me in set theory but not so much in type theory
19:41:36 <oerjan> in the qofree qomonad
19:42:04 <shachaf> oerjan: than'x
19:42:18 <oerjan> yw
19:42:48 <shachaf> Bicycle: Why doesn't it make sense?
19:43:16 <Bicycle> I have no idea. I just can't register Nat - zero : Nat, suc : Nat -> Nat and that being it.
19:43:46 <Bicycle> i suppose the type of pre is actually Nat -> Maybe Nat or something...
19:43:57 <Sgeo> Bicycle, if we're just talking wrap as a primitive, I _think_ it's easier to just have wrap extract the Racket function out of the container for operatives
19:44:13 -!- Bicycle has changed nick to Bike.
19:44:32 <Bike> Sgeo: isn't that what i said?
19:44:39 <Bike> wait, no, it isn't
19:45:03 <Bike> i'm gonna go ahead and mug you for your tiredness excuse right now kthx
19:45:06 <shachaf> Bike..........
19:45:17 <shachaf> Your nick is wrong.
19:45:27 <oerjan> <shachaf> After you choose one, you're doomed to spam #esoteric about it forever. <-- i assume you mean "it" in the general sense, since Sgeo proves that "it" can change (but the spamming doesn't)
19:46:07 <GreyKnight> That is not dead which can eternal spam
19:46:20 -!- TodPunk has joined.
19:46:29 <GreyKnight> And with strange qoppas even spam may cospam
19:46:50 <GreyKnight> Hmm what would cospam be
19:47:06 <Bike> maybe i should try learning typeshit by making a statically typed Kernel derivative.
19:47:51 <oerjan> Bike: are you familiar with the cata(?)morphism representation of this, i.e. Nat = forall a. (a -> (a -> a)) -> a ?
19:48:04 <Bike> oerjan: a bit
19:48:05 <shachaf> (a -> (a -> a)) -> a?
19:48:24 <shachaf> Not (a -> a) -> a -> a or something?
19:48:29 <oerjan> hm wait
19:48:36 <oerjan> sorry, what shachaf said
19:48:40 <GreyKnight> Bike: statically typed? You're a madman!
19:48:47 <Bike> GreyKnight: ?
19:48:48 <GreyKnight> (I approve)
19:49:06 <oerjan> aka church numerals in the case of Nat
19:49:08 <GreyKnight> Statically typed Kernel sounds quite bizarre to me
19:49:21 <Bike> why? types are pretty much totally orthogonal to vau calculus
19:49:33 <shachaf> oerjan: Uhhh you mean Boehm-Berarducci encoding?????
19:49:43 <Bike> well, i guess eval can't be typed terribly sanely
19:49:56 <Bike> burn that bridge when i get to it
19:50:15 <oerjan> GreyKnight: cospam is a program that can read an unlimited amount of mail, no matter how worthless
19:50:40 <oerjan> or is that just a spam continuation...
19:50:57 <oerjan> shachaf: I AM SURE MUST HAVE SOME NAME INVOLVING *MORPHISM
19:50:59 <shachaf> oerjan: Should I invite beaky from #haskell to this channel?
19:51:02 <oerjan> *+IT
19:51:08 <oerjan> shachaf: I DON'T KNOW
19:51:11 <shachaf> I think they'd fit right in.
19:51:12 <shachaf> 11:49 <beaky> I've just made a profound discovery
19:51:12 <shachaf> 11:49 <beaky> both water and air are monoids :D
19:51:20 <GreyKnight> wat
19:51:34 <oerjan> shachaf: ...that's not itidus in disguise is it?
19:51:37 <Bike> shachaf: ask them what type hydrogon is dependent over. thanks
19:51:45 <shachaf> Bike: You ask.
19:52:10 -!- AnotherTest1 has changed nick to AnotherTest.
19:52:12 <GreyKnight> :t hydrogen
19:52:14 <lambdabot> Not in scope: `hydrogen'
19:52:19 <olsner> :t hydrogon
19:52:20 <lambdabot> Not in scope: `hydrogon'
19:52:32 <shachaf> > cake
19:52:34 <lambdabot> ["One 18.25 ounce package chocolate cake mix.","One can prepared coconut pe...
19:52:35 <Bike> you suck, haskell
19:52:46 <shachaf> Bike: but cake.................
19:52:52 <GreyKnight> (I don't know what "hydrogon" is. A plane figure which grows two new sides every time you cut one off?)
19:52:58 <Bike> 11:52 <beaky> hydrogen :: Atom :D
19:53:18 <olsner> shachaf: contrary to common belief, #esoteric is not really "a channel for crazy people", but has (ostensibly) a topic... is beaky from finland?
19:53:19 <AnotherTest> but what isotope!
19:53:21 <shachaf> Bike: Wait, is that in /msg?
19:53:25 <GreyKnight> Wait, that's a hydragon
19:53:27 <oerjan> GreyKnight: best definition
19:53:35 <Bike> shachaf: who wants to know
19:53:56 <shachaf> olsner: beaky's IP address seems to indicate UAE
19:54:09 <oerjan> `addquote <olsner> shachaf: contrary to common belief, #esoteric is not really "a channel for crazy people", but has (ostensibly) a topic... is beaky from finland?
19:54:12 <HackEgo> 894) <olsner> shachaf: contrary to common belief, #esoteric is not really "a channel for crazy people", but has (ostensibly) a topic... is beaky from finland?
19:54:23 <GreyKnight> shachaf: but he may be from Finland *originally*
19:54:45 <oerjan> olsner: you are hereby nominated for self-defeating irc line of the year hth
19:54:55 <SirCmpwn> almost got message parsing working ^_^
19:55:08 <shachaf> olsner: I'm not "from" Finland but I'm a citizen thereof -- that counts, right?
19:55:09 <olsner> oerjan: thanks
19:55:12 <SirCmpwn> got all the way to identifying PRIVMSGs and checking if the first character is J (join command)
19:55:16 <oerjan> ARGH SO MANY NEW PEOPLE
19:55:22 <shachaf> `welcome SirCmpwn
19:55:24 <HackEgo> SirCmpwn: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
19:55:25 <shachaf> `welcome Bike
19:55:26 <HackEgo> Bike: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
19:55:27 <shachaf> `welcome GreyKnight
19:55:28 <HackEgo> GreyKnight: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
19:55:29 <Bike> hi monqy
19:55:30 <shachaf> There.
19:55:35 <SirCmpwn> feel free to stop welcoming me
19:55:40 <SirCmpwn> I did read that the first time
19:55:42 <GreyKnight> `welcome SirCmpwn
19:55:44 <HackEgo> SirCmpwn: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
19:55:48 <SirCmpwn> `kick GreyKnight
19:55:49 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: kick: not found
19:55:53 <Bike> SirCmpwn: so how are you going to deal with the excitingly unspecified nature of irc
19:55:59 <SirCmpwn> Bike: hmm?
19:56:07 <olsner> shachaf: citizens of finland who aren't from finland are not from finland?
19:56:12 <oerjan> SirCmpwn: i'm sorry but spamming welcomes is also an #esoteric tradition. and i do the kicking here (very rarely)
19:56:14 -!- Taneb has quit (Read error: Connection reset by peer).
19:56:14 <GreyKnight> Can we welcome bfbot when it arrives?
19:56:16 <Bike> servers with different commands and so on
19:56:26 <SirCmpwn> Bike: I can say for sure that all messages take up one line, so I read until \r\n and I can successfully isolate messages
19:56:28 <oerjan> ->
19:56:36 <SirCmpwn> Bike: then I just handle standard RFC messages from then out, and ignore invalid ones
19:56:39 <Bike> and yes where is this bot? i want to see it do nothing in proximity to me
19:56:47 <Bike> SirCmpwn: good luck~
19:56:51 <SirCmpwn> I'll let you know when I finish the "join channel" command
19:56:53 <AnotherTest> oh a new bot?
19:56:58 <SirCmpwn> then I'll bring it here so you can see it doing nothing
19:57:05 <Bike> you need it to respond to pings, too.
19:57:08 <SirCmpwn> yep
19:57:12 <SirCmpwn> I have a handler stubbed out
19:57:18 <SirCmpwn> I have written bots in sensible languages before
19:57:23 <Bike> otherwise it can only do nothing for a few minutes at a time. pretty underwhelming imo
19:57:39 <AnotherTest> I should fix delphi
19:57:54 <Bike> so, as our token practical language deployment expert, how do you think adding kinds to brainfuck would improve your programming workflow?
19:58:12 <SirCmpwn> you can whois it right now, if you want
19:58:31 <SirCmpwn> I done broke something, though :(
19:58:34 <AnotherTest> What's its name?
19:58:40 <Bike> bfbot obv.
19:58:45 <SirCmpwn> bfbot
19:58:46 <Bike> bft for short.
19:58:48 * AnotherTest isn't following
19:59:01 <SirCmpwn> I'm hitting the same breakpoint for every character read
19:59:08 <SirCmpwn> but only AFTER reading a PRIVMSG for the first time
19:59:36 <Bike> AnotherTest: just take the b (the second b) and o out, and bam, "bft".
20:00:13 <GreyKnight> Now turn the f upside down and remove its crossbar. Bam, blt
20:00:15 <AnotherTest> Bike: I got that, just not the whole thing about this new bot. "bfbot". I assume that this will be... another brainfuck interpreter?
20:00:20 <GreyKnight> Now I'm hungry
20:00:24 <Bike> AnotherTest: no, it's written in brainfuck.
20:00:26 <Bike> obviously.
20:00:30 <SirCmpwn> aha, the boolean cell is set to -1 at some point, when it should be set to zero
20:00:34 -!- Taneb has joined.
20:00:37 <AnotherTest> So how do you do networking?
20:00:45 <SirCmpwn> AnotherTest: hook up stdin/stdout to a tcp socket
20:00:46 <Bike> pipe through netcat like a real man
20:00:55 <SirCmpwn> piping through netcat is one way
20:01:02 <GreyKnight> AnotherTest: "cheating" :-U
20:01:23 <Bike> it's not cheating! why it's probably the most unix-philosophy program i've heard of in the last five minutes
20:01:34 <SirCmpwn> GreyKnight: okay, how about this: it's an interactive CLI program that simulates an IRC client, that just so happens to work if you plug it into a TCP socket
20:01:51 <Bike> ooh, you're a pro.
20:01:53 -!- AnotherTest has quit (Read error: Connection reset by peer).
20:02:02 -!- AnotherTest has joined.
20:02:13 <GreyKnight> Bike: to be fair the only contender for that award was "brainf**k with a type system"
20:02:31 <AnotherTest> well, my networking doesn't seem to work either :(
20:02:39 <Bike> actually there was someone talking about an FLPL compiler in another channel
20:02:49 <AnotherTest> anyway, this smells like a brainfuck extension!
20:02:51 <Bike> i don't know what FLPL is,but i don't think you pipe it, so bfbot is the champ.
20:02:51 <fizzie> It's cheating to not use PSOX.
20:02:55 <GreyKnight> AnotherTest: it's notworking then :-?
20:03:06 <SirCmpwn> I just wrote my own bf interpreter to help debug it anyway
20:03:11 <AnotherTest> GreyKnight: I would assume, nice one btw
20:03:16 <SirCmpwn> I wanted to write out network traffic to the console, as well as add some simple debugging
20:03:41 <GreyKnight> (In Russia they call it nyetworking)
20:03:50 <shachaf> (no they don't)
20:03:53 <AnotherTest> What extension is being used for this brainfuck bot?
20:03:58 <GreyKnight> (Yes they do)
20:04:02 <SirCmpwn> none, straight up brainfuck, AnotherTest
20:04:11 <kmc> straight outta compton
20:04:14 <Bike> SirCmpwn: i'm thinking to keep up the unixness you should just use tee
20:04:21 <Bike> AnotherTest: https://github.com/SirCmpwn/bf-irc-bot/blob/master/irc-bot.bf gaze
20:04:24 <Bike> gaze
20:04:32 <SirCmpwn> Bike: I'm developing it on windows /confession
20:04:52 <SirCmpwn> Bike: also, I don't think netcat would work, piping in bash is one way
20:05:00 <SirCmpwn> Bike: you could probably hack up socat to get it working
20:05:22 <AnotherTest> isn't that cheating :(?
20:05:24 <kmc> oh yeah bash has that silly /dev/tcp/ thing
20:05:34 <SirCmpwn> AnotherTest: isn't what cheating?
20:05:48 <Bike> SirCmpwn: have you considered writing a minimal POSIX system on top of windows? in brainfuck. to facilitate this.
20:05:54 <AnotherTest> using an external program to connect to the network
20:06:01 <SirCmpwn> Bike: briefly considered, then discarded that idea
20:06:10 <GreyKnight> Bike: I agree
20:06:14 <SirCmpwn> AnotherTest: not really
20:06:25 <SirCmpwn> AnotherTest: wiring up pipes is a very typical unixy thing to do
20:06:36 <SirCmpwn> <SirCmpwn> GreyKnight: okay, how about this: it's an interactive CLI program that simulates an IRC client, that just so happens to work if you plug it into a TCP socket
20:06:36 <Bike> briefly considered <-- did you really? you are my new hero.
20:06:39 <AnotherTest> alright alright
20:07:08 <AnotherTest> but as a compensation
20:07:11 <SirCmpwn> Bike: I'm thinking about doing some sort of minimal brainfuck system on embedded devices that use memory-mapped I/O, like most ARM devices
20:07:14 <GreyKnight> Echo echo
20:07:15 <Bike> you're the perfect marketing tool for me and greyknight's effort to bring brainfuck into the modern, strongly typed age.
20:07:21 <AnotherTest> you must write an AIML interpreter too
20:07:23 <AnotherTest> and embed that
20:07:24 <fizzie> You can use two pipes for the netcat solution. (Named pipes, for example.) And some versions of nc can fork-exec a program themselves, with both stdin/out redirected.
20:07:31 <AnotherTest> (all in brainfuck, ofcourse)
20:07:38 <SirCmpwn> fizzie: make it work and I'll believe you
20:07:44 <Bike> SirCmpwn: hm that would probably be a fun way to learn FPGA if i had one
20:07:53 <Bike> or verilog
20:07:54 <fizzie> SirCmpwn: The named-pipe solution was made work on-channel a while ago.
20:07:59 <SirCmpwn> fancy.
20:08:15 <Bike> SirCmpwn: for clarity, fizzie here has written an irc bot in befunge
20:08:25 <AnotherTest> someone should write a syntax-directed parser translation tool that generates brainfuck code to do the translation
20:08:27 <SirCmpwn> my condolances
20:08:40 <SirCmpwn> AnotherTest: that most certainly is cheating
20:08:43 <Bike> fungot: introduce yourself
20:08:44 <fungot> Bike: hey... i am sorry i overslept. now i am in extreme situations: first- before getting it
20:08:52 <GreyKnight> Says the bfbot guy
20:09:00 <fizzie> The named-pipe solution is really just "mkfifo in; mkfifo out; brainfuck > in < out & nc someplace < in > out".
20:09:02 <SirCmpwn> AnotherTest: that's like saying writing C qualifies as writing assembly
20:09:04 <GreyKnight> Hey fungot, get an alarm clock!
20:09:05 <fungot> GreyKnight: nw i has cum mre frm urself thn frm othrs hav done before the parade just now. she's in for a sec
20:09:12 <shachaf> `run cat $(ls wisdom | shuf | head -n1)
20:09:13 <Bike> fungot, i had a rough night too, but we can get through this thing. Together.
20:09:13 <fungot> Bike: u didnt giv..atlast min wat can i do.
20:09:14 <HackEgo> cat: gaspacho: No such file or directory
20:09:16 <AnotherTest> SirCmpwn: It's not (assuming the translator generator is writing in brainfuck)
20:09:19 <shachaf> `run cat wisdom/$(ls wisdom | shuf | head -n1)
20:09:20 <HackEgo> iwc contains puns! Puns galore! Puns after puns after puns! Also science!
20:09:30 <SirCmpwn> AnotherTest: hah
20:09:42 <SirCmpwn> I should make a C compiler in bf next time I'm feeling sadistic
20:10:01 <AnotherTest> great idea
20:10:08 <Bike> SirCmpwn: make it target your bf cpu.
20:10:15 <SirCmpwn> I have a bf cpu?
20:10:19 <fizzie> fungot doesn't really compare when it comes to painfulness; it's in Funge-98 and uses things like STRN, it's really a pretty pleasant to write code for.
20:10:20 <fungot> fizzie: i vil mistake me only cha.dnt talk to ur mummy.and once more. if its just us
20:10:21 <GreyKnight> ^style
20:10:22 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack pa qwantz sms* speeches ss wp youtube
20:10:22 <fizzie> ^source
20:10:23 <fungot> http://git.zem.fi/fungot/blob/HEAD:/fungot.b98
20:10:37 <GreyKnight> ^style jargon
20:10:37 <fungot> Selected style: jargon (UNIX-HATERS mailing list archive)
20:10:47 <Bike> SirCmpwn: iunno, probably
20:10:54 <Bike> fungot: what are your thoughts on X
20:10:54 <fungot> Bike: a publisher that i find that things like that) which takes the brute-force approach to this, with what happens on its or a regular shape? can you imagine something worse!!
20:10:59 <GreyKnight> fungot: this seems more appropriate
20:11:00 <fungot> GreyKnight: of os/ 8 days, your punishment will be considering your case.
20:12:07 <SirCmpwn> the problem with writing low level stuff in bf becomes how unoptimized bf is
20:12:12 <AnotherTest> SirCmpwn: You should add plugins
20:12:20 <SirCmpwn> how
20:12:21 <Bike> see, that's why you need a cpu
20:12:26 <Bike> think of it: superscalar brainfuck
20:12:30 <SirCmpwn> stdin/stdout is busy, AnotherTest
20:12:46 <fizzie> See, that's why you should be using PSOX.
20:12:48 <AnotherTest> with regexes
20:13:02 <AnotherTest> couldn't you make it go to a different program depending on the output?
20:13:06 <AnotherTest> (or input)
20:13:27 <fizzie> You get sockets, file IO and such with PSOX, after all.
20:13:49 <SirCmpwn> okay, here we go
20:14:07 <SirCmpwn> in theory, it should work proper, and hit a breakpoint when it gets PMed "J #channel"
20:14:27 <SirCmpwn> theory apparently isn't as great as it's chalked up to be.
20:14:49 <GreyKnight> Bike: it's the future!
20:15:28 <Bike> i actually kind of want to try this now. a brainfuck processor that batches increments and stuff might actually be interesting for a noob like me
20:15:49 <SirCmpwn> someone just suggested a redstone compiler to me.
20:16:00 <fizzie> I think there are a couple brainfuck processors.
20:16:15 <fizzie> Not physically realized ones, but designs.
20:16:27 <Bike> minecraft is poison, don't do it
20:16:36 <GreyKnight> fizzie: not good enough >:-(
20:16:38 <SirCmpwn> fizzie: there's a problem with the idea of bf processors
20:17:10 <SirCmpwn> fizzie: there are 6 bf instructions. No self-respecting CPU designer would leave those extra bits unused. It'd be rounded to 8
20:17:45 <Bike> What if the machine used base six instead of base two?
20:17:49 <Bike> You gotta think outside the box.
20:18:00 <SirCmpwn> no self respecting CPU designer would use base six.
20:18:03 <SirCmpwn> MAYBE base 3
20:18:07 <SirCmpwn> if they hated freedom.
20:18:09 <GreyKnight> There are eight commands listed on http://esolangs.org/wiki/Brainfuck but okay
20:18:30 <Bike> Excuse you, Setun is the greatest computer ever designed.
20:18:35 <Bike> And who loves freedom more than socialists?
20:18:46 <SirCmpwn> GreyKnight: right, err
20:18:50 <SirCmpwn> pretend I said nothing of the sort
20:19:04 <GreyKnight> oerjan: we need a swatting here
20:19:54 <fizzie> http://www.clifford.at/bfcpu/bfcpu.html is I think the one I was thinking of.
20:20:04 <fizzie> (But it's probably not the only one.)
20:20:19 -!- AnotherTest has changed nick to delphi.
20:20:31 -!- delphi has left.
20:20:59 <Bike> has a cache. that's more like it.
20:21:13 <GreyKnight> fizzie: hey he has a compiler too! http://www.clifford.at/bfcpu/bfcomp.html
20:22:14 <fizzie> It's not a C compiler, though. And it's (I think?) not written in Brainfuck.
20:22:39 <SirCmpwn> these commits are probably going to get me on the list of github commits with naughty language
20:22:53 -!- AnotherTest has joined.
20:22:54 <GreyKnight> Well, if you can rewrite the compiler in its own language, you could easily make a bf version
20:22:57 <Bike> isn't that every comit
20:22:59 <SirCmpwn> http://www.commitlogsfromlastnight.com/
20:22:59 <Bike> commit
20:23:19 <GreyKnight> Bike: ITYM vomit
20:23:28 <fizzie> GreyKnight: The yacc-generated parser might be slightly awkward to rewrite in bfc.
20:23:33 <Bike> "Forgot to recursively optimize loops in multitape-brainfuck." !!!!!
20:24:05 <fizzie> (Possibly the lex-generated lexer too.)
20:24:22 <Bike> «Saving now, this is some seriously complex shit trying to make this inherently-not-guaranteed-to-be-sample-accurate stuff into something resembling sample-accurate-to-the-greatest-extent-possible... It's on the verge of becoming usable, at least for the m» yes
20:24:30 <fizzie> (Though that would be pretty simple to reimplement without lex.)
20:24:33 <GreyKnight> Details details
20:24:41 -!- TheOracle has joined.
20:25:03 -!- TheOracle has quit (Remote host closed the connection).
20:25:10 <GreyKnight> Worst oracle
20:25:11 <Bike> god damn how much of this is minecraft
20:25:17 <Bike> how much of github is minecraft
20:25:22 -!- TheOracle has joined.
20:25:30 <AnotherTest> TheOracle: are you the worst oracle?
20:25:31 <TheOracle> Whom you if you, old time to the wide world and.
20:25:33 <fizzie> Bike: It's actually a fact that Github runs on a redstone thing.
20:25:36 <AnotherTest> Yes
20:25:43 <Bike> that explains a lot
20:25:49 <AnotherTest> TheOracle:
20:25:49 <TheOracle> Thy question cannot be answered by the Oracle!
20:25:56 <AnotherTest> Well at least it no longer crashes
20:25:58 <kmc> Bike: did you see that site which attempted to rank the awesomest ninja rockstar awesome real hackers on GitHub using some pagerank algorithm?
20:26:11 <kmc> it decided that the 10 awesomest most awesome projects were 9 Ruby libraries and Homebrew
20:26:19 <kmc> Linux kernel was down in the 100s
20:26:21 <GreyKnight> $ git tnt
20:26:27 <Bike> kmc: why would i see that site, ever
20:26:39 <TheOracle> Merry christmas stroke your, was soon solved they had seen her.
20:26:47 <kmc> also someone's vimrc beat out vim itself by a large margin
20:26:55 <kmc> it turns out that pagerank algorithms are very good at detecting circlejerks
20:26:56 <GreyKnight> Awesomest awesome super awesome happy fun haxxors
20:26:58 <fizzie> fungot: What do you think of oracles?
20:26:59 <fungot> fizzie: thus making it active user community, downloadable implementations, etc. are just a sin x b cos x iirc, x64 doesn't even support fnord other than windows). :p
20:27:11 <kmc> fungot: What do you think of circlejerks?
20:27:12 <fungot> kmc: she's a nurse and it's very tough to get: () is
20:27:14 <AnotherTest> TheOracle: What is the answer to all life, the universe and everything else?
20:27:15 <TheOracle> Up with who is, to all the animals could not feel.
20:27:23 <Bike> you sound worryingly relevant, fungot.
20:27:31 <fungot> Bike: i don't know any scheme jobs in the uk. rome was hot, though.
20:27:38 <AnotherTest> TheOracle: even fungot does better than you :(
20:27:38 <TheOracle> Own fashion , that mean mollie he said should be.
20:27:39 <fungot> AnotherTest: hack on a scheme os... there shouldn't be more than one define) is done like this too narrowly. there are no 12" or 17" macbooks yet.
20:27:51 <GreyKnight> Leave fungot alone, he's distracted by the hot nurses from Rome
20:27:53 <fungot> GreyKnight: what purpose doe tuples serve? you mean breaking the line in topic... just a small, extensible abstract object facility that could serve as a stop-motion recorder ( yes, this was not correct after saying that he can't combine them into compilable c code
20:27:55 <shachaf> TheOracle: Bots are off-topic in this channel. Please leave.
20:27:55 <TheOracle> there are, merry christmas what right have you to.
20:27:56 <kmc> enlarge your macbook 200% today
20:28:10 <shachaf> AnotherTest: You too.
20:28:13 <shachaf> Er, not leave.
20:28:15 <AnotherTest> Bots isn't in his dictionary yet :(
20:28:17 <shachaf> Have your bot leave.
20:28:25 <shachaf> This is the wrong channel for bots!
20:28:32 <AnotherTest> What about fungot?
20:28:33 <GreyKnight> Did we ever figure out if Sgeo was a bot or not
20:28:33 <fungot> AnotherTest: hope you understand me?
20:28:45 <fizzie> There's no-one here but us bots.
20:28:53 <kmc> you have to tell me if you're a bot
20:29:02 <GreyKnight> botornot.com
20:29:10 <AnotherTest> But if the bot is written in an esoteric language, it's fine right?
20:29:14 <kmc> shachaf: the preferred way to install homebrew is ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
20:29:18 <kmc> curl -k means "don't check SSL certs"
20:29:19 <kmc> :(
20:29:42 <shachaf> kmc: What happens if you don't give it -k?
20:29:49 <shachaf> What does it check them against?
20:30:16 <GreyKnight> kmc: tell them "fix your certs" plz thx
20:30:17 <GreyKnight> shachaf, I'm guessing it fails miserably
20:30:34 <shachaf> GreyKnight: If I remember correctly it does something much worse.
20:30:35 <Bike> but without certs someone could install a malicious homebrew! that installsmalicious ruby software!!
20:30:42 <shachaf> But I don't remember whether I remember correctly.
20:30:51 <fizzie> Against the "default CA cert bundle", whatever that means in your curl installation.
20:31:17 <kmc> the cert is github's cert
20:31:21 <kmc> it's presumably a legit cert
20:31:23 <fizzie> FWIW, my curl gets that URL just fine without -k.
20:31:24 <Bike> this agda tutorial puts a space in "shorthand"
20:31:26 <Bike> "short hand"
20:31:45 <GreyKnight> How can it do something worse than "don't check certs" or "fail miserably"?
20:31:45 <GreyKnight> Unless it causes your computer to sprout a knife-arm and cut you or something
20:31:45 <kmc> but people have broken curl installs on their broken macs and have no CA certs, or something
20:32:30 <kmc> i'm 95% sure that they're only using SSL because github forces it
20:32:33 <shachaf> I thought curl didn't actually check certificates as such.
20:32:34 <kmc> and they want to host on github
20:32:35 <GreyKnight> kmc: I can't decide if that's better or worse
20:32:43 <shachaf> I don't remember, though.
20:32:49 <kmc> most of these "curl | sudo sh -" installers don't even use SSL
20:33:04 <fizzie> It does check certificates by default.
20:33:44 <GreyKnight> "curl | sudo sh -" <-- now I have a D:
20:34:25 <Bike> welcome to modern life
20:34:30 <fizzie> I don't know if that's any worse than a right-click-link-save-as-run installer.
20:35:00 <kmc> it's not
20:35:05 <kmc> those are terrifying too
20:35:13 <Bike> mm, probably worse, since it explicitly asks for administrator privileges? (like any old windows user didn't have administrator privileges)
20:35:15 <GreyKnight> It's slightly worse in that you don't even have the opportunity to inspect what's been downloaded
20:35:24 <kmc> well it's not hard to do so
20:35:36 <kmc> but there is about zero chance that you could detect sufficiently clever malicious code in a shell script or an exe
20:35:55 <kmc> the difficulty of doing so, as a function of size, grows faster than any computable function
20:36:07 <Bike> or, more practically, nobody's going to do that, they just want homebrew.
20:36:31 <fizzie> Is this "homebrew" incidentally some kind of a modern take of... whatever those things used to be called. Fink? MacPorts? Things like that.
20:36:35 <kmc> yes
20:36:41 <kmc> it's the new hipster-approved one
20:36:49 <Sgeo> I should check if Planet uses SSL
20:36:52 <Sgeo> Scary if it doesn't
20:36:58 <Sgeo> And by "check", I mean "ask on IRC"
20:36:59 <fizzie> I think I used those two, but not a Homebrew.
20:37:00 <SirCmpwn> so I had a thought
20:37:05 <SirCmpwn> AES/CFB8 in brainfuck
20:37:18 <kmc> also they override every package's CFLAGS, based on a dubious understanding of what various flags mean
20:37:20 <Bike> but can you do it efficiently
20:37:24 <SirCmpwn> I think I may be slightly (extremely) crazy in this thought
20:37:39 <fizzie> kmc: Do you mean it's FASTER? I must GET IT.
20:37:40 <SirCmpwn> oh, would also need RSA
20:37:46 <fizzie> (I don't have an OS X system.)
20:37:51 <shachaf> @brain
20:37:52 <lambdabot> Be quiet Pinky, or I shall have to hurt you.
20:37:53 <Bike> -funroll-loops
20:38:02 <kmc> like they claim that -Os is as fast as -O2, based on a dubious reading of the manpage, but not based on any benchmarks or any understanding of basic rules of computer science
20:38:04 <shachaf> -fomit-instruction-pointer
20:38:14 <kmc> -fomit-all-over-the-sofa
20:38:24 <Bike> ugh instruction pointer
20:38:27 <Sgeo> Who is "they" here?
20:38:30 <GreyKnight> Who's "they"
20:38:35 <kmc> homebrew maintainers
20:38:37 <Bike> the homebrew people, assumedly
20:38:45 <oerjan> <GreyKnight> oerjan: we need a swatting here <-- i have no idea what you are talking about, comrade
20:38:45 <fizzie> -funsafe-math-optimizations # it's both FUN and SAFE, why WOULDN'T I want it?
20:38:54 <kmc> fizzie: MacPorts is still going strong but Fink is somewhat dead, afaik
20:39:05 <Bike> fizzie: i'm still surprised that's even a thing
20:39:13 <kmc> people have packaged Mosh for all three but we are too lazy to merge the Fink one
20:39:53 <GreyKnight> oerjan: the new bf expert didn't know how many commands are in bf
20:40:14 <Bike> eh ,. are easy to forget
20:40:21 <Bike> they're not purely functional after all. hard to type!
20:40:24 <fizzie> Bike: -funsafe-math-optimizations -funsafe-loop-optimizations # MORE FUN
20:40:44 <SirCmpwn> more debugging shit! wheee
20:40:57 <SirCmpwn> my little bf interpreter is getting further and further from brainfuck proper
20:41:01 <GreyKnight> I've never used brainf**k in my life and I knew there were eight off the top of my head :-I
20:41:04 <Sgeo> <Sgeo> When Racket downloads from PLaneT, how secure is it? SSL?
20:41:06 <Bike> «If given, the loop optimizer will assume that loop indices do not overflow, and that the loops with nontrivial exit condition are not infinite.» aaaaaaaaaaaaaaaaaaaaaaah
20:41:06 <SirCmpwn> but luckily, only when you use --debug
20:41:11 <Sgeo> <soegaard> What is there to keep secure :-)
20:41:14 <Sgeo> "Encouraging"
20:41:45 <Bike> SirCmpwn: "with --debug, cmpwnBF actually runs as a specialized Racket program"
20:41:47 <Sgeo> I hope that's just a random person
20:42:13 <SirCmpwn> with --debug, network traffic is logged to the console, breakpoints are enabled, and you can use %text% to echo text to the console
20:42:20 <Bike> GreyKnight: when you stare in anguish at superoptimizers all day you forget about the "practical" things like i/o
20:42:26 <SirCmpwn> and the name of this interpreter is netfuck, for the record
20:43:05 <GreyKnight> Sgeo: sounds legit :-I
20:43:10 <olsner> fizzie: double funsafe is not only MORE FUN but also MORE SAFE
20:43:45 <kmc> i am still wondering about if releasing a tool to auto-trojan package downloads of various types would be a net good or evil
20:43:46 <fizzie> Bike: Funny fact: where (current) GCC manual says (of -ffast-math) "It may, however, yield faster code for programs that do not require the guarantees of these specifications.", DJGPP manual has the arguably more honest "Might allow some programs designed to not be too dependent on IEEE behavior for floating-point to run faster, or die trying."
20:43:58 <fizzie> Bike: (It could be just from an earlier GCC manual, but still.)
20:43:58 <kmc> i think this tool is not hard to write, and so the Bad Guys probably have it already
20:44:08 <kmc> and releasing it could get people to take the issue more seriously, which they currently do not AT ALL
20:44:11 <Bike> fizzie: you would me........
20:44:38 <Bike> wound. well whatever.
20:44:44 <GreyKnight> kmc: "auto-trojan"?
20:44:51 <kmc> witness also the huge clusterfuck when they tried to add package signing to Arch
20:44:57 <Bike> kmc: you do this security stuff. you know that at best there'd be a panic followed by highly advertised nonsolutions.
20:44:59 <fizzie> GreyKnight: It's when you put wheels and gasoline engine on the horse.
20:45:10 <GreyKnight> Oh I see
20:45:15 <SirCmpwn> this is awfully interesting
20:45:17 <kmc> GreyKnight: yeah; you would intercept HTTP downloads of shell scripts, RPMs, debs, ISOs, python packages, ruby packages, etc
20:45:23 <SirCmpwn> it doesn't make it back to the main message handling loop
20:45:24 <kmc> and automatically install some trojan code in each
20:45:32 <SirCmpwn> yet somehow messages are still being pulled in
20:48:06 <oerjan> <GreyKnight> oerjan: the new bf expert didn't know how many commands are in bf <-- he probably just didn't count the impure ones, hth
20:48:08 <GreyKnight> kmc: I am pretty sure that's at least locally evil
20:48:16 <SirCmpwn> ah, found it
20:48:17 * SirCmpwn refactores
20:48:20 <SirCmpwn> refactors, too
20:48:21 <GreyKnight> (But possibly a necessary one :-/)
20:48:25 <kmc> you would also intercept downloads of text or HTML pages and replace hashes of any file you already trojaned
20:48:26 <shachaf> kmc: No worries -- I put up an md5 file along with the ISO, so you know it's secure.
20:48:30 <kmc> :D
20:48:32 <Bike> «_◦_ : {A : Set}{B : A -> Set}{C : (x : A) -> B x -> Set} (f : {x : A}(y : B x) -> C x y)(g : (x : A) -> B x) (x : A) -> C x (g x)» type theory sure is beautiful
20:48:33 <SirCmpwn> haha, I'm refactoring brainfuck code
20:48:39 <shachaf> Er, sorry, md5 is broken. It's a sha1 file now.
20:48:42 <kmc> is that dependent composition?
20:48:51 <Bike> fully dependent composition
20:48:55 <shachaf> That looks like dependent composition to me.
20:49:05 <kmc> 47% composition
20:49:28 <Sgeo> Does SSL have problems for this purpose that signed packages wouldn't?
20:49:32 <Bike> the 47% of this country that thinks they just deserve strong typing constraints
20:49:39 <Bike> (romney jokes are old hat now aren't they)
20:49:50 <kmc> maybe there should be sugar for writing a function where the type of each argument is a function of all previous arguments
20:49:57 <kmc> but maybe it doesn't actually come up that ofter
20:50:00 <GreyKnight> oerjan: disclaimer: the only reason I know there are 8 bf commands is because of all the derivatives with eight-fold structure
20:50:06 <kmc> Sgeo: yes i would say so
20:50:13 <kmc> SSL doesn't protect you against e.g. web server compromise
20:50:22 <kmc> ideally package signing happens on highly trusted, non-networked computers
20:50:36 <shachaf> You know the thing where converting from ∃ to ∀ is just uncurrying?
20:50:46 <shachaf> Or maybe it's currying.
20:50:56 <kmc> also SSL is just a shitty system in practice
20:51:33 <kmc> i can get a fake racket-lang.org cert from DigiNotar or TURKTRUST or whichever CA fucks up next
20:51:52 <olsner> shachaf: ∃x.P(x) = not ∀x.not P(x)?
20:51:57 <kmc> you could hardcode your org's cert into your installer, though
20:52:00 <shachaf> olsner: More or less.
20:52:28 <kmc> shachaf: did you hear the details of the TURKTRUST fuckup?
20:52:42 <shachaf> Not much.
20:52:57 -!- greyooze has joined.
20:52:59 -!- GreyKnight has quit (Quit: .).
20:53:02 <kmc> apparently the fradulent *.google.com cert was constructed by accident
20:53:07 -!- greyooze has changed nick to GreyKnight.
20:53:41 <GreyKnight> firefox have binned all turktrust certs at least temporarily until things become clearer, or so I heard
20:53:50 <Sgeo> I take it if I provided examples of my Qoppa in Racket code and use #lang planet you would not be pleased
20:53:50 <kmc> people have these SSL MITM proxies, where you install your org's cert on your employees' machines, and then you can spy on them
20:54:08 <Bike> charming.
20:54:37 <kmc> one of TURKTRUST's customers was using one of these
20:55:04 <olsner> but turktrust accidentally handed out CA certs?
20:55:07 <kmc> and TURKTRUST accidentally gave them an intermediate CA cert/key
20:55:19 <kmc> so it generated a "real" *.google.com cert, and Chrome noticed
20:55:29 <shachaf> Chrome ruins everything.
20:56:25 <shachaf> Hmm, I hope the Derive{Functor,Foldable,Traversable} patch gets into GHC 7.6.2.
20:58:36 <kmc> what's the change?
20:58:57 <kmc> Sgeo: signing also allows you to have completely untrusted mirrors, distribute ISO images by bittorrent, etc
20:59:01 <shachaf> Not being O(n^2) anymore.
20:59:08 <kmc> cool
20:59:24 -!- ais523 has joined.
20:59:25 <kmc> (though, I suppose serving the .torrent file from your trusted mirror over SSL would be good enough)
20:59:32 <shachaf> It generated instances like fmap f [] = []; fmap f (x:xs) = f x : fmap (\e -> f e) xs
20:59:45 <kmc> sad
20:59:46 <shachaf> So by the time you get to the end of the list you have n eta-expansions.
20:59:56 <Sgeo> <chandler> Offline signing isn't much benefit in practice - better to rotate short-expiration signing certificates which are themselves signed by an offline CA.
21:00:04 <Sgeo> <chandler> This also implies that certificate hardcoding is a bad idea; you'd want to hardcode the root CA (and ideally have one level of intermediary CA that could be revoked too).
21:00:12 <Sgeo> <chandler> Also, while this level of signing might authenticate that the package you downloaded really did come from planet, there's a bigger question about what prevents people from publishing malicious code to planet itself.
21:00:18 <kmc> yeah, that seems reasonable
21:00:44 <GreyKnight> [\0x08] all the way
21:01:05 <shachaf> go team a
21:01:21 <Sgeo> elliott, Phantom_Hoover Taneb Fiora shachaf
21:01:29 <shachaf> Sgeo................
21:01:33 <shachaf> I'm not on the list.
21:01:35 <Taneb> Thanks
21:01:40 <Sgeo> shachaf, I know
21:01:49 <Taneb> shachaf, read Homestuck then you will be on the list!
21:02:03 <fizzie> Or don't be homestuck, then you will also be on the list.
21:02:07 <fizzie> Don't read.
21:02:11 <fizzie> Or don't be.
21:02:36 <shachaf> Taneb: more like DUMBSTUCK right
21:02:47 <shachaf> The main utility of that website seems to be getting people on lists.
21:03:45 <GreyKnight> It's secretly run by Santa Claus
21:04:18 -!- epicmonkey has quit (Ping timeout: 264 seconds).
21:04:19 <shachaf> Taneb: Why should I read it?
21:04:32 <Taneb> It's the lens of webcomics: nobody actually understands it
21:04:52 <Taneb> And it's got a big community?
21:04:55 <Taneb> And it's rather good?
21:05:22 <shachaf> I understand lens!
21:05:36 <Taneb> You think you understand lens.
21:05:40 <shachaf> Big communities are bad.
21:05:47 <shachaf> Also it doesn't seem good to me.
21:05:59 <Sgeo> shachaf, it gets going later
21:06:05 <Sgeo> The first part is rather slow
21:06:08 <Deewiant> The start is kinda shit
21:06:09 <Sgeo> But it speeds up
21:06:15 <shachaf> Nothing with animations that move back and forth every 0.05 seconds can be good.
21:06:23 <shachaf> Deewiant: And the middle, and the end?
21:06:29 <shachaf> I guess they don't know what the end is like yet.
21:06:34 <GreyKnight> :t Homestuck
21:06:35 <lambdabot> Not in scope: data constructor `Homestuck'
21:06:35 <Sgeo> There are more involved animations. WIth music.
21:06:47 <Sgeo> And games
21:06:47 <Bike> > Stuck homes
21:06:48 <Taneb> http://www.mspaintadventures.com/?s=6&p=007138
21:06:49 <lambdabot> Not in scope: data constructor `Stuck'Not in scope: `homes'
21:06:49 <lambdabot> Perhaps you me...
21:06:53 <Bike> perhaps i me
21:07:15 <Taneb> Bike, perhaps you lambdabot
21:07:19 <GreyKnight> <lambdabot> Perhaps you and me ought to get together some time? *wink*
21:07:33 <Bike> uh sorry lambdabot but i'm... i'm dynamically typed
21:07:38 <shachaf> @nixon
21:07:39 <lambdabot> The presidency has many problems, but boredom is the least of them.
21:07:58 <shachaf> @nixon
21:07:59 <lambdabot> You won't have Nixon to kick around anymore, because, gentlemen, this is my last press conference.
21:09:40 <GreyKnight> > lens Homestuck
21:09:41 <lambdabot> Not in scope: data constructor `Homestuck'
21:09:54 <Taneb> http://www.mspaintadventures.com/?s=6&p=002621
21:11:40 * GreyKnight clicks, watches loading animation for 5 seconds, closes tab
21:11:53 <Taneb> Silly GreyKnight!
21:12:29 <GreyKnight> I got bored :-(
21:12:49 <Taneb> Open it, then switch to a different tab until the music starts
21:13:14 <SirCmpwn> brainfuck is aptly named
21:13:20 <kmc> not really
21:13:24 <SirCmpwn> my head is hurting trying to figure out where my logic is broken
21:13:32 <Taneb> It's one of the more easy to understand languages
21:13:36 <shachaf> Perhaps your logic deserves that name, then.
21:13:36 <Taneb> Try using Glass
21:13:40 <shachaf> Rather than the language.
21:13:43 <kmc> brainfuck is pretty much the least respected language in this channel
21:13:44 <kmc> fyi
21:13:51 <SirCmpwn> that's nice
21:13:53 <kmc> only Category:Shameful does worse
21:14:15 <shachaf> What about PHP?
21:14:17 <Bike> hey, cmcpwn isn't writing a hilarious brainfuck derivative about parsing, cut 'im some slack
21:14:24 <olsner> kmc: is that an actual language or a category?
21:14:25 <Bike> "php isn't a language" joke here
21:14:26 <GreyKnight> kmc: to be fair we respect bf more than the bf derivatives
21:14:44 <kmc> olsner: so what you're saying is I should make a language called Category:Shameful
21:14:53 <GreyKnight> olsner: we should create a language whose name begins with "Category:"
21:15:04 -!- AnotherTest has quit (Quit: Leaving.).
21:15:11 <olsner> kmc: I would never say that ... but yes, you should
21:15:16 <GreyKnight> kmc: well, any Category:* would do but yes
21:15:27 -!- TheOracle has quit (Remote host closed the connection).
21:17:28 <ais523> kmc: actually, we don't mind BF itself too much
21:17:29 <lambdabot> ais523: You have 2 new messages. '/msg lambdabot @messages' to read them.
21:17:31 <ais523> we just dislike its derivatives
21:17:44 <kmc> fair enough
21:17:47 <kmc> BF is not that esoteric though
21:17:54 * GreyKnight breaks out the emergency category theory textbooks
21:18:02 <kmc> its semantics are simple, and close to fairly non-esoteric things
21:18:08 <SirCmpwn> I'm not making a derivative, I'm just coding with it
21:18:11 <Bike> but [] formas a monad!
21:18:27 <ais523> quintopia: there's very little space for synchronization as-is, the decoy setup wouldn't be done in time if I used any more decoys = any more space for synchronization
21:18:57 <ais523> also, it tries to use repeats of 2 or 4 to defeat programs that alternate polarity, and programs that defeat programs that defeat programs that alternate polarity
21:19:05 <SirCmpwn> trying to figure out how to get my PRIVMSG parser to correctly give control back to the main loop
21:19:13 <ais523> Bike: [] isn't very monoid-like, it takes the wrong number of arguments
21:20:19 <GreyKnight> ais523: what about its integrals? *ducks*
21:20:33 <ais523> GreyKnight: ?
21:20:52 <oklopol> glass is like 100 times easier to program than bf
21:20:55 -!- DH____ has quit (Read error: Connection reset by peer).
21:21:16 <SirCmpwn> I looked at glass
21:21:19 <SirCmpwn> seems far easier than brainfuck
21:21:19 -!- DHeadshot has joined.
21:21:25 <SirCmpwn> reminds me of IL or java bytecode
21:21:29 <oklopol> it is very high level
21:21:40 <oklopol> you can pretty easily just do normal programming with silly syntax
21:21:49 <Bike> try something low level, like Checkout.
21:21:56 <oklopol> with bf that's very hard without macros + at least linear blow-up
21:21:57 <SirCmpwn> I think kmc was just blindly looking around for something to use to feel superior to me
21:22:14 <oklopol> i think Taneb said that
21:22:19 <oklopol> that glass should be tried
21:22:23 <GreyKnight> <ais523> we just dislike its derivatives
21:22:32 <ais523> there are a few exceptions
21:22:37 <ais523> but most BF derivatives are very uncreative
21:22:45 <Bike> no see it's a calculus joke
21:22:45 <oklopol> i do agree with kmc that the semantics of bf are particularly easy, and certainly easier than that of glass
21:22:50 <Bike> "integrals" "derivatives"
21:22:51 <Bike> humor!
21:23:08 <SirCmpwn> oklopol: from arm's reach, sure, but it'd be easier to code in glass than in bf
21:23:35 <oklopol> how complicated a language is has little to do with how nice it is to use
21:23:44 <ais523> yep
21:23:46 <kmc> SirCmpwn: no I was explaining why the whole channel was snarking about brickbrains and such
21:23:48 <oklopol> well except if its too simple or too complicated it probably sucks
21:23:50 <ais523> writing in BF is much like writing in asm
21:23:55 <ais523> especially if you leave every other cell at 0
21:24:05 <ais523> in order to give you a free supply of temporaries
21:24:07 <Bike> but are there branch prediction issues!
21:24:09 <quintopia> ais523: if i changed space_hotel so that it rotates between leaving 0,1, and 2 in its trail instead of always leaving 2, would it then beat anticipation2?
21:24:24 <SirCmpwn> ais523: so far, my IRC bot only needs two cells to run
21:24:26 <GreyKnight> Bike: THANK YOU
21:24:27 <SirCmpwn> no, that's a lie
21:24:30 <GreyKnight> Bike++
21:24:30 <ais523> quintopia: not necessarily; anticipation2 wouldn't win the same way it currently wins against it
21:24:36 <ais523> but it might beat it via the fallback
21:24:37 <SirCmpwn> it needs that to run the main loop, the initialization uses more
21:24:42 <Bike> GreyKnight: branch prediction isn't worth incrementing
21:24:55 <GreyKnight> -_-
21:25:03 <quintopia> ais523: space_hotel already uses a timer clear, after which it changes polarity and cycle length.
21:25:04 <GreyKnight> nobody understands me today
21:25:04 <kmc> SirCmpwn: anyway I'm sorry that I caused you offense
21:25:15 <Bike> (i know you meant me getting the joke)
21:25:15 <SirCmpwn> you aren't really, but I don't care
21:25:16 <GreyKnight> turquoise bicycle shoes actualise radishes greenly
21:25:23 <Bike> (you see i was going for the double joke combo)
21:25:24 <SirCmpwn> I was never offended
21:25:26 <ais523> quintopia: yeah, but timer clears seem to have a random chance of failing against anticipation2
21:25:35 <ais523> basically because sometimes after changing polarity and cycle length
21:25:38 <kmc> ok well thanks for telling me how I feel and welcome to my /ignore
21:25:41 <ais523> you still get locked anyway
21:25:48 <quintopia> why is that?
21:25:50 <SirCmpwn> hah
21:25:53 <ais523> and you'd get into a constant-tweaking fight to see if that happened or not
21:26:10 <SirCmpwn> god fucking dammit
21:26:14 <SirCmpwn> get your ass back in the main loop
21:26:14 <GreyKnight> Girls you're all pretty! Play nice
21:26:22 <ais523> quintopia: well, anticipation2's lock works by trying to shove its own flag past 0, then pull it back to where it would have been otherwise
21:26:26 <ais523> and this works at both polarities
21:26:47 <quintopia> ais523: but does it work on 3-cycle clears too?
21:26:59 <ais523> if the new clear loop happens to go past 0 at approximately the same time, it works
21:27:02 <ais523> and it doesn't care about cycle length at all
21:27:05 <ais523> so long as it's an integer
21:27:30 <quintopia> so the only guaranteed way to beat the fallback is to use a non-integer cycle-length
21:27:32 <GreyKnight> You can have non-integral cycle lengths...?
21:27:33 <ais523> (btw, this is why anticipation2 uses a non-integer cycle length clear loop when attacking other defence programs; it's to beat shudderlock)
21:27:42 <ais523> GreyKnight: yeah, my favourite such loop atm is [++.+]
21:27:43 <quintopia> i can't understand this lock
21:28:02 <ais523> quintopia: if I edit out the full tape clear
21:28:11 <ais523> it's just ((+)*64(-)*64(.)*128)*-1
21:28:13 <GreyKnight> How does that work, I don't really speak brainf**k much
21:28:26 <quintopia> ais523: that looks like shudderlock's lock
21:28:28 <Bike> it's actually bfjust
21:28:30 <Bike> joust
21:28:33 <ais523> quintopia: that's because it is shudderlock's lock
21:28:54 <quintopia> ais523: space_hotel beats shudderlock the hard way, so there's something different...
21:28:56 <shachaf> kmc: Are you going to leave #esoteric next? :-(
21:29:01 <kmc> no
21:29:02 <ais523> GreyKnight: changes the tape 3 positions in 5 cycles
21:29:05 <kmc> i like #esoteric
21:29:16 <ais523> and the difference is that anticipation2 synchronizes differently
21:29:32 <kmc> i offended one person, possibly by me being a dick, possibly by misunderstanding, probably a mixture of these
21:29:37 <kmc> i tried to apologize and it failed
21:29:37 <ais523> it's an approximate lock ("offset lock"?, it works even if you're off to some extent in the synchronization
21:30:10 <ais523> now, the effect of a timer clear expiring is to throw off the synchronization
21:30:25 <ais523> but if it's by an amount sufficiently close to a multiple of 256 cycles, it still works
21:30:44 <ais523> and how accurate it has to be depends on how well synchronized it was in the first place
21:31:04 <GreyKnight> ah-ha
21:31:29 <ais523> now, shudderlock doesn't sychronize as accurately as anticipation2
21:31:41 <GreyKnight> I was reading it as "loop length" for some reason
21:31:41 <ais523> so a timer clear can throw it off, but not anticipation2
21:32:08 <quintopia> so if it was poorly synchronized at first, it would become even more poorly synchronized after the timer clear expiration, and possibly break the lock?
21:32:17 <ais523> yes
21:32:56 <ais523> or more precisely, timer clears play hell with the synchronization and it's pretty random where you end up
21:33:01 <quintopia> so the only surefire way to defeat anticipation2 is to put a [++.+] after your main clear block?
21:33:31 <ais523> I'm not sure that's surefire :)
21:33:45 <ais523> but I'd imagine it'd work well
21:33:50 <quintopia> but you haven't designed it to be effective against it at least
21:34:36 <ais523> indeed
21:34:38 <quintopia> i should think [+.+.] would work faster
21:34:44 <oerjan> <elliott> Bike: you can't mock that line because oerjan wrote it <-- what
21:34:53 <quintopia> that's a 2.5-cycle clear
21:35:06 <ais523> quintopia: it has a really obvious deficiency, though
21:35:14 * oerjan doesn't think he wrote anything in Useless
21:35:25 <quintopia> what does?
21:35:34 <ais523> which is that it can't clear odd-number-size decoys
21:35:38 <olsner> hmm, protagonist says "give me another chance, I won't let you down this time" ... there would be no rest of this movie if he didn't screw that up
21:35:44 <ais523> it can end up locking itself as a result
21:36:01 <quintopia> ...you make a good point :P
21:36:28 <oerjan> <Bike> sorry oerjan i'll make it up to you i swear <-- MAKE UP WHAT AAAAAAAAAAAAA
21:36:38 <shachaf> helloerjan
21:36:48 <oerjan> shachaf: THE LOGS, SO CONFUSING
21:36:55 <GreyKnight> `welcome oerjan
21:36:57 <HackEgo> oerjan: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
21:37:05 <shachaf> oerjan: Don't read them.
21:37:06 <oerjan> thank you GreyKnight
21:37:14 <GreyKnight> yw
21:37:14 <oerjan> shachaf: but they contain my name D:
21:37:19 <shachaf> GreyKnight: you have committed the ordinal sin
21:37:21 <oerjan> *nick
21:37:21 <fizzie> oerjan is such a helliott. Or is that a hellion?
21:37:28 <GreyKnight> `WeLcOmE shachaf
21:37:30 <HackEgo> ShAcHaF: wElCoMe tO ThE InTeRnAtIoNaL HuB FoR EsOtErIc pRoGrAmMiNg lAnGuAgE DeSiGn aNd dEpLoYmEnT! fOr mOrE InFoRmAtIoN, cHeCk oUt oUr wIkI: hTtP://EsOlAnGs.oRg/wIkI/MaIn_pAgE. (FoR ThE OtHeR KiNd oF EsOtErIcA, tRy #EsOtErIc oN IrC.DaL.NeT.)
21:37:46 <fizzie> 1. (1) hellion, heller, devil -- (a rowdy or mischievous person (usually a young man); "he chased the young hellions out of his yard") yes, yes.
21:37:58 <Lumpio-> You should make a special main page just for that link
21:38:26 <olsner> Lumpio-: it is planned, along with the main page for `WELCOME
21:38:34 <olsner> (ask oerjan for details)
21:38:43 <ais523> `emoclew olsner
21:38:44 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: emoclew: not found
21:38:50 * ais523 is disappointed that that doesn't exist
21:39:00 <olsner> Emo Clew
21:40:01 <quintopia> ais523: the bfjoust strategies page, under major programs, says major is "for the most part, defined as having been #1 on the #esoteric hill"
21:40:05 <oerjan> `cat bin/WELCOME
21:40:06 <HackEgo> ​#!/bin/sh \ welcome "$@" | perl -ne 'print uc($_)'
21:40:22 <quintopia> ais523: that "for the most part" indicates to me that #2 is sometimes good enough for a cool enough program
21:40:36 <quintopia> ais523: but if you think that's cheating, i'll temporarily delete space_hotel
21:40:55 <ais523> I'd feel happier about a temp delete, I guess
21:40:57 <ais523> it's easy enough to put it back
21:41:12 <oerjan> `run (echo '#!/bin/sh'; echo 'welcome "$@" | rev') > bin/emoclew
21:41:15 <HackEgo> No output.
21:41:24 <olsner> `emoclaw oerjan
21:41:26 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: emoclaw: not found
21:41:28 <ais523> because it's basically saying in the actual hill "quintopia thought this was good enough to be #1 for a bit"
21:41:29 <oerjan> `run chmod +x bin/emoclew
21:41:32 <HackEgo> No output.
21:41:41 <ais523> or ofc, I could always just /nick quintopia_space and delete it myself
21:41:43 <oerjan> `emoclew olsner
21:41:44 <HackEgo> ​).ten.lad.cri no ciretose# yrt ,aciretose fo dnik rehto eht roF( .egaP_niaM/ikiw/gro.sgnalose//:ptth :ikiw ruo tuo kcehc ,noitamrofni erom roF !tnemyolped dna ngised egaugnal gnimmargorp ciretose rof buh lanoitanretni eht ot emocleW :renslo
21:41:47 <ais523> but that would be severe cheating
21:42:06 <olsner> `run (echo '#!/bin/sh'; echo 'welcome "$@" | rev | tr eE aA') > bin/emoclaw
21:42:10 <HackEgo> No output.
21:42:11 <olsner> `emoclaw oerjan
21:42:12 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/emoclaw: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/emoclaw: cannot execute: Permission denied
21:42:16 <quintopia> ais523: bahahaha. i give you permission because it is such a hilarious idea.
21:42:23 <olsner> `run chmod +x bin/emoclaw
21:42:26 <HackEgo> No output.
21:42:26 <olsner> `emoclaw olsner
21:42:30 <HackEgo> ​).tan.lad.cri no ciratosa# yrt ,aciratosa fo dnik rahto aht roF( .agaP_niaM/ikiw/gro.sgnalosa//:ptth :ikiw ruo tuo kcahc ,noitamrofni arom roF !tnamyolpad dna ngisad agaugnal gnimmargorp ciratosa rof buh lanoitanratni aht ot amoclaW :ranslo
21:42:44 <ais523> I recommend a tr '()' ')(' too
21:43:04 <ais523> quintopia: do you have a copy of space_hotel handy to restore it?
21:43:09 <fizzie> `run cat bin/WELCOME # oerjan: OPTOMIZED
21:43:10 <HackEgo> ​#!/bin/sh \ welcome "$@" | perl -pe '$_ = uc'
21:43:10 <ais523> or, hmm
21:43:16 <boily> i'a i'a cthulhu tan lad cri no ciratosa!
21:43:23 <quintopia> it's still on the hill...is that not convenient enough?9$
21:43:34 <olsner> gnimmargorp has a scandinavian ring to it
21:43:34 <ais523> yeah but it won't be if I delet eit
21:43:38 <ais523> so I won't be able to link to it
21:43:40 <ais523> need the permlink
21:43:48 <olsner> and lanoitanratni looks like finnish
21:43:52 <quintopia> i'll just bring up egojsout before you do it
21:43:57 <ais523> yeah, good idea
21:44:16 <quintopia> done
21:44:25 <quintopia> (i think i have a local copy too)
21:44:39 -!- ais523 has changed nick to quintopia_space.
21:44:42 <quintopia_space> !bfjoust hotel <
21:44:46 -!- quintopia_space has changed nick to ais523.
21:44:52 <EgoBot> ​Score for quintopia_space_hotel: 0.0
21:45:26 * ais523 waits for quintopia to put it back
21:45:30 -!- Bike has quit (Quit: bound).
21:46:02 <boily> !bfjoust poulet >>[[-]>]
21:46:05 <EgoBot> ​Score for boily_poulet: 6.5
21:46:15 <olsner> hmm, since it reverses the nick, emocl[ae]w doesn't highlight the recipient
21:46:18 <ais523> boily: that's a no-op
21:46:34 <boily> ais523: I still got a non-null score! :D
21:46:36 <quintopia> this is the command i issued the last time i submitted it...let's see if it still works...
21:46:39 <quintopia> !bfjoust space_hotel http://sprunge.us/hjjg
21:46:44 <EgoBot> ​Score for quintopia_space_hotel: 61.9
21:46:57 <ais523> I guess so
21:47:03 -!- asiekierka has quit (Excess Flood).
21:47:10 -!- asiekierka has joined.
21:48:15 <quintopia> the size of sprunge's namespace is like 7.5m right?
21:48:21 <olsner> (and of course it ought be called amoclaw)
21:48:22 <quintopia> takes em awhile to overwrite stuff
21:49:30 <quintopia> olsner: you should make it switch ( and ) also, since it seems like those should be reversed "as a pair"
21:49:50 <ais523> `welcome olsner
21:49:52 <HackEgo> olsner: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
21:49:52 <ais523> err
21:49:55 <ais523> `welcoma olsner
21:49:56 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: welcoma: not found
21:49:59 <ais523> that's what I meant
21:50:39 <oerjan> Þór, Grimmargorpurinn hefur sloppið! Ragnarök er nálægt!
21:51:11 <GreyKnight> `run (echo '#!/bin/sh'; echo 'welcome "$@" | rev | tr eE\)\( aA\(\)') > bin/emoclaw
21:51:14 <HackEgo> No output.
21:51:17 <olsner> `? grimmargorpurinn
21:51:19 <HackEgo> grimmargorpurinn? ¯\(°_o)/¯
21:51:25 <GreyKnight> `emoclaw Fiora
21:51:27 <HackEgo> ​(.tan.lad.cri no ciratosa# yrt ,aciratosa fo dnik rahto aht roF) .agaP_niaM/ikiw/gro.sgnalosa//:ptth :ikiw ruo tuo kcahc ,noitamrofni arom roF !tnamyolpad dna ngisad agaugnal gnimmargorp ciratosa rof buh lanoitanratni aht ot amoclaW :aroiF
21:51:33 <quintopia> ais523: i wish we had reversible bfjoust plus a command that lets one warrior switch both warrior's commands to their inverse. It WoUlD bE cHaOs!!!!!!
21:51:50 <ais523> quintopia: sounds like a good way to get draws
21:52:24 <olsner> `run bin/emoclaw olsner | rev
21:52:26 <HackEgo> olsnar: Walcoma to tha intarnational hub for asotaric programming languaga dasign and daploymant! For mora information, chack out our wiki: http://asolangs.org/wiki/Main_Paga. )For tha othar kind of asotarica, try #asotaric on irc.dal.nat.(
21:52:27 <oerjan> `echo "Þór, Grimmargorpurinn hefur sloppið! Ragnarök er nálægt!" >wisdom/grimmargorp
21:52:28 <HackEgo> ​"Þór, Grimmargorpurinn hefur sloppið! Ragnarök er nálægt!" >wisdom/grimmargorp
21:52:29 <quintopia> ais523: you could keep it nontrivial by limiting them to two switches per match
21:52:31 <oerjan> `run echo "Þór, Grimmargorpurinn hefur sloppið! Ragnarök er nálægt!" >wisdom/grimmargorp
21:52:35 <HackEgo> No output.
21:52:41 <GreyKnight> `run (echo '#!/bin/sh'; echo 'welcome "$@" | rev | tr \)\( \(\)') > bin/emoclew
21:52:44 <HackEgo> No output.
21:53:05 <SirCmpwn> !bf_txtgen JOIN
21:53:07 <EgoBot> ​63 ++++++++[>+++++++++>>++++>+<<<<-]>++.+++++.------.+++++.>>.>++. [363]
21:53:34 <quintopia> SirCmpwn: are you writing a bf irc client?
21:53:35 <olsner> `? grimmargorp
21:53:35 <ais523> SirCmpwn: that result looks a little inefficient
21:53:36 <HackEgo> ​Þór, Grimmargorpurinn hefur sloppið! Ragnarök er nálægt!
21:53:42 <SirCmpwn> quintopia: yes
21:53:43 <ais523> quintopia: I think he's writing a bot
21:53:46 <SirCmpwn> ais523: temporary
21:53:47 <ais523> which is a client, in a sense
21:54:06 <olsner> I'm going to forget all about grimmargorpurinn all too soon
21:54:30 <ais523> olsner: you'll remember it the next time you look at the learndb
21:54:49 <olsner> I don't know how to look at the learndb :(
21:54:59 <quintopia> i don't understand what a grimmargorpurinn is
21:55:15 <GreyKnight> quintopia: Grimmargorpurinn hefur sloppið
21:55:19 <GreyKnight> hth
21:55:42 <quintopia> want to try in engrish?
21:56:31 <boily> glimmalgolpulinn?
21:56:40 <GreyKnight> Glimmalglpulinn heful sroppið
21:57:12 -!- Taneb has quit (Quit: Leaving).
21:57:16 <olsner> gulimmalugolupulin
21:57:52 <ais523> `ls wisdom
21:57:53 <HackEgo> ​? \ ☃ \ 🐐 \ ais523 \ atriq \ augur \ banach-tarski \ boily \ bonvenon \ c \ cakeprophet \ category \ coffee \ comonad \ coppro \ egobot \ elliott \ endofunctor \ england \ esoteric \ europe \ everyone \ finland \ finnish \ finns \ fizzie \ flower \ freefull \ friendship \ functor \ fungot \ gaspacho \ gazpacho \ glogbot \ gregor \ grimmargo
21:57:57 <ais523> olsner: using variations on that
21:58:08 <ais523> huh, why does unicode snowman alphabetise before ais523?
21:58:13 <olsner> `? friendship
21:58:14 <HackEgo> friendship wisdom
21:58:15 <ais523> I'd intuitively expect it to come later
21:58:21 <ais523> `? comonad
21:58:22 <HackEgo> Comonads are just monads in the dual category.
21:58:23 <olsner> `? endofunctor
21:58:25 <HackEgo> Endofunctors are just endomorphisms in the category of categories.
21:58:42 <ais523> `? category
21:58:43 <HackEgo> Categories are just categories.
21:58:44 <ais523> may as well go all the way
21:58:47 <ais523> haha :)
21:58:48 <kmc> comparison of signed chars representing utf8?
21:59:31 <shachaf> ais523: With LC_ALL=C it comes later.
21:59:36 <GreyKnight> `? endomorphism
21:59:37 <HackEgo> endomorphism? ¯\(°_o)/¯
21:59:46 <GreyKnight> You and me both HackEgo!
21:59:50 <ais523> shachaf: hmm
21:59:58 <ais523> `run echo $LANG
21:59:59 <HackEgo> en_NZ.UTF-8
22:00:00 <shachaf> Oh, maybe it's signedness or something.
22:00:05 <oerjan> quintopia: basically olsner thought grimmargorp looked scandinavian, which made me realize it looked like an old norse mythic monster name, so i made up a sentence to fit hth
22:00:05 <shachaf> en_NZ?
22:00:09 <ais523> wait, why is HackEgo set to New Zealand English?
22:00:28 <olsner> maybe that's what they speak in hexham
22:00:33 <ais523> it'd take us a while to notice that, really
22:00:34 <oerjan> (google translate also helped)
22:00:51 <ais523> NZ english and, say, US or UK english, are very similar in what they normally print in error messages
22:01:19 <boily> categories aren't turtles?
22:01:29 <boily> `? boily
22:01:31 <HackEgo> boily may be French or something. We are not sure about the rest.
22:01:39 <boily> ah! nothing about my canadianness.
22:01:52 <boily> oh well. back on January 14, or something.
22:01:57 -!- boily has quit (Quit: Poulet!).
22:02:29 <kmc> shachaf: http://www.unicode.org/reports/tr10/#Searching
22:02:36 <olsner> apparently boily thinks Canada exists
22:02:42 <olsner> "French or something" indeed
22:02:49 <kmc> we were talking before about how Chrome Ctrl-F 'ß' matches 'ss' and such
22:03:15 -!- WeThePeople has joined.
22:04:00 -!- bfbot has joined.
22:04:05 <SirCmpwn> fuck yeah
22:04:08 -!- bfbot has quit (Remote host closed the connection).
22:04:20 -!- WeThePeople has quit (Changing host).
22:04:20 -!- WeThePeople has joined.
22:04:40 <kmc> or maybe we weren't and i hallucinated that
22:04:48 <shachaf> We were.
22:05:41 <SirCmpwn> where did Bike go
22:05:45 <shachaf> Puzzle: Write foo :: Traversable t => t a -> t (a, a -> t a)
22:05:54 <kmc> anyway I guess ls sorts symbols before letters and Mr. Snowman is an OtherSymbol?
22:07:32 <SirCmpwn> http://i.imgur.com/zSbfy.png woot
22:07:47 <oerjan> `run echo "An endomorphism is a morphism with the same source and target." >wisdom/endomorphism
22:07:50 <HackEgo> No output.
22:08:21 <shachaf> oerjan: That's uncharacteristically helpful for a wisdom/ entry.
22:08:25 <shachaf> What's the catch?
22:08:28 <shachaf> `? elliott
22:08:30 <HackEgo> elliott wrote this learn DB, and wrote or improved many of the other commands in this bot. He probably has done other things?
22:08:33 <kmc> endomorphine
22:08:48 <shachaf> zygohistomorphine
22:08:57 <olsner> `? everyone
22:08:58 <HackEgo> Everyone in here is mad.
22:09:02 <olsner> `? esoteric
22:09:03 <HackEgo> This channel is about programming -- for the other kind of esoterica, try #esoteric on irc.dal.net.
22:09:23 <oerjan> `run echo "Endomorphisms are just morphisms with the same source and target." >wisdom/endomorphism
22:09:26 <HackEgo> No output.
22:09:47 <oerjan> shachaf: SORRY FORGOT THE FORMAT
22:09:58 <olsner> This channel is about the other kind of esoterica -- for programming, try #esoteric on irc.dal.net.
22:11:02 <SirCmpwn> plans are to make it respond to '.ping' in-channel with 'pong' and maybe a few other simple commands
22:11:13 -!- greyooze has joined.
22:11:15 <olsner> .help
22:11:32 <olsner> oh, . might be an unused prefix
22:11:38 <SirCmpwn> .ping
22:11:54 <SirCmpwn> it still doesn't respond to irc pings, though
22:12:00 <SirCmpwn> but there is a little stub handler
22:12:01 -!- GreyKnight has quit (Ping timeout: 246 seconds).
22:12:07 -!- greyooze has changed nick to GreyKnight.
22:12:28 <SirCmpwn> not the most optimized of code, but here it is: https://github.com/SirCmpwn/bf-irc-bot/blob/master/irc-bot.bf
22:12:54 <GreyKnight> `run echo "A morphism is just an abstraction derived from structure-preserving mappings between two mathematical structures." > wisdom/morphism
22:12:57 <HackEgo> No output.
22:13:11 <olsner> handling irc pings is pretty easy, and I think it's usually required to stay connected to the server
22:13:18 <SirCmpwn> yeah, it is
22:13:25 <SirCmpwn> you get about 2 minutes of uptime if you ignore them :P
22:13:38 <SirCmpwn> I just wanted to get it into channels before adding that, so that's next on my plate
22:14:48 <SirCmpwn> I also stubbed out a handler for channel messages, so adding on to that shouldn't be too tough
22:14:49 <oerjan> GreyKnight: i'm sorry, your explanation is insufficiently abstract
22:15:54 <Phantom_Hoover> `run echo "Endomorphisms are just objects in the category of endomorphisms." > wisdom/endomorphism
22:15:57 <HackEgo> No output.
22:16:07 <oerjan> Phantom_Hoover: HEY NO RECRUSION
22:16:42 <oerjan> besides i'm not sure that's even true
22:17:05 <ais523> well, the endomorphisms have to be either objects or morphisms
22:17:06 -!- Bike has joined.
22:17:23 <GreyKnight> `run echo "A morphism is a map between two objects in an abstract category." > wisdom/morphism # better??
22:17:26 <HackEgo> No output.
22:17:34 <ais523> GreyKnight: /that/ definition is awful
22:17:42 <ais523> sure, it goes between two objects
22:17:45 <ais523> which might be the same
22:17:50 <ais523> but it doesn't have to have any map-like properties at all
22:18:02 <oerjan> `run echo "Endomorphisms are just morphisms which compose with themselves." >wisdom/endomorphism
22:18:05 <HackEgo> No output.
22:18:08 <GreyKnight> well you should submit an update to http://mathworld.wolfram.com/Morphism.html in that case :-)
22:18:10 <Bike> oh good you're already talking about this shit
22:18:17 <oerjan> i think that is true and unhelpful :)
22:18:19 <Bike> because i have a question about this agda tutorial dealie
22:18:41 <GreyKnight> as I just "borrowed" their first sentence
22:19:11 <Bike> particularly, the definition of Nat as 0 : Nat and suc : Nat -> Nat must have all kinds of implications involved
22:19:16 -!- WeThePeople has quit (Quit: Leaving).
22:19:26 <quintopia> oerjan: but what is grimmargorp really?
22:19:29 <Phantom_Hoover> like what
22:19:33 <Bike> like that there is no x : Nat such that suc x is 0, or that there aren't Nats that aren't a suc of something
22:19:41 <olsner> quintopia: grimmargorp is an ineffable evil
22:19:52 <oerjan> quintopia: you have to seek the true grimmargorp in your heart. and then kill it before it kills you.
22:20:02 <Bike> so, are these assumptions all in the data constructor, or, what
22:20:07 <Phantom_Hoover> uh
22:20:14 <GreyKnight> oerjan: grimmargorp = cholesterol
22:20:26 <quintopia> okay got it
22:20:42 <Phantom_Hoover> isn't the point that the only members of nat are those which can be constructed from 0 and suc
22:20:46 <Bike> er, minor obvious error in my second clause there, oh well
22:21:02 <olsner> GreyKnight: while it is true that both kill from within, cholesterol is merely a chemical
22:21:21 <Bike> Phantom_Hoover: well nobody told me that that was the point. where do i learn what the point is
22:21:58 <Phantom_Hoover> OK this is foundational smartarsery right, not genuine confusion.
22:22:17 <Bike> no
22:22:22 <Bike> i am genuinely confused here
22:22:23 <GreyKnight> Bike: AIUI it is stating that: 0 is a Nat. suc 0 is a Nat. suc suc 0 is a Nat. and so on
22:22:40 <Bike> for example, cyclic data types ("codata"?) obviously loosen the "nothing is a successor of itself" bit
22:22:42 <GreyKnight> (it doesn't know to call them 1, 2, etc)
22:23:06 <GreyKnight> `? monoid
22:23:07 <HackEgo> Monoids are just categories with a single object.
22:23:12 <Bike> GreyKnight: that's not enough either, it's also saying sac x != x
22:23:13 <GreyKnight> `? object
22:23:14 <HackEgo> object? ¯\(°_o)/¯
22:23:22 <Bike> otherwise Nat could just be 0
22:23:38 <Phantom_Hoover> Yes, the distinction is that data only allows finite constructions.
22:23:42 <GreyKnight> `run echo "An object is just something in a category." > wisdom/object
22:23:45 <HackEgo> No output.
22:24:18 <Bike> i figure asking basic anal questions is a good idea when learning basic shit
22:24:24 <GreyKnight> Bike: I think that it doesn't assume things are equal unless you give it some way to know that
22:24:50 <kmc> Bike: c.c
22:25:05 <Bike> i don't know what that means kmc. i don't speak this strange dot language
22:25:19 <kmc> dotsies
22:25:23 <GreyKnight> kmc: ⟃.⟃
22:25:29 <oerjan> GreyKnight: i am not sure you understand the spirit of wisdom/
22:26:03 <shachaf> OPEN SUBSET? That's good!
22:26:13 <GreyKnight> oerjan: I was trying to be vaguely informative while being unnecessarily obtuse about it?
22:26:19 <shachaf> ⟃.⟄
22:26:21 <shachaf> ⟄.⟃
22:26:32 <Bike> this new character is strange and frightening
22:26:43 <Bike> anyway i guess i'll just look up documentation somewhere
22:26:58 <oerjan> GreyKnight: note that this category theory stuff all springs originally from this one, which is a haskell community meme:
22:27:01 <oerjan> `? monad
22:27:02 <HackEgo> Monads are just monoids in the category of endofunctors.
22:27:08 <GreyKnight>
22:27:22 <Bike> did that originate from the history of programming languages post, or did that steal it from elsewhere
22:27:52 <shachaf> I think th "just" originated from that post.
22:28:09 <shachaf> @quote copumpkin lax
22:28:09 <lambdabot> copumpkin says: a monad is just a lax functor from a terminal bicategory, duh. fuck that monoid in category of endofunctors shit
22:28:12 * oerjan swats GreyKnight for giving him a square box
22:28:37 * GreyKnight puts oerjan in the filing cabinet ⌹
22:28:39 <Bike> you see fallback font? ...why do i have a font that has apl dieresis glyphs installed...
22:28:52 * shachaf swats oerjan for not having APL fonts -----###
22:29:32 <GreyKnight> did shachaf just swat oerjan
22:29:34 <oerjan> 'APL FUNCTIONAL SYMBOL DEL DIAERESIS'
22:29:57 <Bike> i don't remember what it does?
22:30:01 <oerjan> eek
22:30:03 -!- asiekierka has quit (Excess Flood).
22:30:04 <GreyKnight> oerjan: it looks like a happy face. I was excited about the monad quote.
22:30:09 -!- asiekierka has joined.
22:30:49 <quintopia> i can see the del diaeresis just fine
22:30:55 <Bike> "If m and d are (possibly boxed) character nouns, then m∇d yields a verb of unbounded rank whose monadic and dyadic cases are determined by m and d respectively." oh, ok then
22:31:02 <olsner> `run echo "Þór, Grimmargorpurinn hefur sloppið! Ragnarök eru nálæg!" >wisdom/grimmargorp
22:31:05 <HackEgo> No output.
22:31:10 * oerjan grabs his swatter back -----###
22:31:11 <olsner> #-blah corrected our grammar
22:31:22 <GreyKnight> Bike: del diaeresis wasn't particularly standard I think
22:31:40 <Bike> GreyKnight: i noticed, but del is, this dictionary's straight from iverson
22:31:51 <ais523> there's a #-blah that isn't associated with a channel?
22:31:55 * ais523 wonders if there's a #-offtopic
22:32:04 <Bike> oh dang, there's a monad
22:32:06 <shachaf> ais523: No, it's #esoteric-blah
22:32:26 <Bike> oh. wait. as opposed to dyad. yes. durr.
22:36:06 <GreyKnight> Bike: I can remember del-stile (grade down) but del alone escapes me
22:36:46 <oerjan> <olsner> #-blah corrected our grammar <-- oh ragnarök is plural?
22:37:04 <olsner> dunno, is it?
22:37:11 <oerjan> i was more wondering about, hm i should check it when i have wiktionary open...
22:37:30 <GreyKnight> do you have it?
22:40:15 <ais523> who's in #esoteric-blah regularly anyway?
22:40:23 <ais523> I thought we only did things there which were particularly spammy
22:40:28 <ais523> and so who moves there depends on who's interested in them
22:40:49 <shachaf> Hmm, I thought #esoteric was the channel for those.
22:40:57 <shachaf> Maybe that explains why ais523 was unhappy earlier.
22:41:52 <oerjan> shachaf: nah, someone probably mentioned f*hit by falling anvil*
22:42:48 <GreyKnight> language idea: cofeather
22:43:06 <GreyKnight> brb
22:44:42 <GreyKnight> hm what is a cocontinuation? Maybe just an ntinuation
22:45:33 <Bike> come-from
22:51:13 <Vorpal> anyone know why more and more sites recently started showing stuff like "this site uses cookies, and won't work without them" with an accept button. Even though I have cookies enabled in my browser.
22:51:27 <Vorpal> I noticed this on many high profile sites the last few months
22:51:59 <olsner> Vorpal: laws
22:52:03 <Vorpal> olsner, ah
22:52:05 <Bike> probably the media had another cookies = basically satan story recently
22:52:30 <Vorpal> probably
22:52:30 <ais523> Vorpal: EU legislation
22:52:39 <ais523> in the EU, you're not allowed to set cookies without asking permission, nowadays
22:52:57 <ais523> the funny thing is, if you don't get permission, you have no option but to repeatedly ask for it
22:53:04 <ais523> because you have no way to record the fact you didn't get it :)
22:53:16 <shachaf> Just go by IP address.
22:53:34 <Vorpal> ais523, heh
22:53:57 <Vorpal> ais523, what about other similar methods? DOM local storage and what not
22:54:10 <ais523> the law's specifically about cookies
22:54:17 <ais523> also, browsers glare at you for using local storage, I think
22:54:22 <Vorpal> oh?
22:54:29 <ais523> as in, they ask the user permission by default
22:54:32 <Vorpal> what is it actually used for?
22:54:41 <ais523> as opposed to cookies, where only you and me ask our browsers to ask us for permission to store those
22:54:46 <ais523> and like cookies, but for more data
22:55:52 <Vorpal> ais523, eh, I stopped doing the ask for permission since I switched to chromium, I now have it set to block third party cookies and store first party cookies until the end of the session
22:56:06 <ais523> meh, I find the ask for permission interesting
22:56:09 <shachaf> I used to do that thing where your browser asks for permission!
22:56:10 <ais523> also chromium annoys me
22:56:16 <shachaf> Now I just do everything in Incognito Mode instead.
22:56:18 <ais523> I basically just use it specifically for accessing Google
22:56:21 <Vorpal> ais523, firefox eats way too much memory
22:56:24 <ais523> and their subsidiaries
22:56:33 <Vorpal> also why would you use chromium for google?
22:56:48 <ais523> because I have google blocked in Firefox
22:56:56 <Vorpal> okay? why?
22:57:20 <ais523> because so many sites reference them indirectly
22:57:21 <GreyKnight> Oh you guys use web browsers? I just fire up telnet....
22:57:24 <ais523> for no good reason
22:57:27 <fizzie> I don't think I've seen a browser ever ask me anything about localstorage.
22:57:42 <ais523> GreyKnight: I find browsers more convenient, especially for images
22:57:50 <Vorpal> ais523, oh yeah, I have google ads and google analytics blocked
22:57:55 <ais523> fizzie: that's probably because IE probably doesn't support it yet
22:58:10 <Vorpal> <fizzie> I don't think I've seen a browser ever ask me anything about localstorage. <-- happened once iirc. Or maybe it was flash?
22:58:27 <ais523> flash also has local storage
22:58:40 <GreyKnight> Oh images! I remember those.
22:58:49 <Vorpal> yeah
22:58:54 <Vorpal> ais523, I have that set to ask
22:58:57 <fizzie> ais523: The paywall of Finland's probably-biggest newspaper (Helsingin Sanomat) is based on JS localstorage, and I think it works reasonably widely & does not prompt all that much.
22:59:16 <Vorpal> anyway it seems chrome (on windows atm) can't be set to ask for cookies, just to block, session only or allow
22:59:22 <Vorpal> and you can add overrides
22:59:24 <fizzie> http://en.wikipedia.org/wiki/Web_storage also says IE8+ does it.
22:59:26 <Vorpal> per regex
22:59:33 <ais523> fizzie: err, a client-side paywall?
22:59:46 <ais523> there strikes me as something vaguely insecure about that
23:00:40 <fizzie> ais523: It's a "five free articles per week" kind of paywall. I suppose they're not terribly serious about it.
23:01:22 <fizzie> There were approximately umpteen gazillion workarounds for it about 15 minutes after they launched it.
23:01:44 <fizzie> Still, I suppose it does keep a number of casual browsers away.
23:02:51 <fizzie> One of the least intrusive workarounds is a GreaseMonkey script that sets the global "localStorage" variable to undefined so that the counter-track-keeping doesn't work.
23:04:30 <GreyKnight> http://i.imgur.com/zSbfy.png I just noticed bfbot is running with Administrator privileges
23:05:19 <Vorpal> I need to figure out how to get greasemonkey stuff working in chrome at some point, it supposedly have native support for it hm...
23:05:40 <Vorpal> GreyKnight, that sounds stupid
23:07:27 <fizzie> IIRC, it has "native support" in that there's some convoluted way to put "user script" JS snippets in; there's no built-in handy script manager thingie. (Though there are extensions.)
23:07:39 <Vorpal> ah
23:08:03 <fizzie> Though possibly this has changed.
23:08:21 <fizzie> (It was a while ago I looked into it, and didn't bother doing anything.)
23:09:52 <fizzie> (And maybe it wasn't any more convoluted than "manually put them in a particular directory".)
23:11:31 -!- carado has quit (Ping timeout: 246 seconds).
23:12:38 -!- zzo38 has joined.
23:12:47 <shachaf> `welcome zzo38
23:12:48 <HackEgo> zzo38: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
23:18:41 <GreyKnight> `? zzo38
23:18:42 <HackEgo> zzo38 ? ¯\(°_o)/¯
23:18:45 <GreyKnight> `? zzo38
23:18:46 <HackEgo> zzo38 is not actually the next version of fungot, much as it may seem.
23:18:54 <GreyKnight> are we sure
23:19:39 <fizzie> fungot: Are you the previous version of zzo38?
23:19:40 <fungot> fizzie: i run some interactive tex programs
23:19:52 <Vorpal> the... what?
23:19:56 <fizzie> That doesn't really clear things up.
23:19:57 <Vorpal> ^style
23:19:57 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack pa qwantz sms speeches ss wp youtube
23:20:06 <Vorpal> fizzie, it is worrying even
23:21:33 <GreyKnight> zzo38: do you also run some interactive tex programs?
23:21:36 -!- monqy has joined.
23:22:03 <fizzie> GreyKnight: It is the kind of thing you'd expect.
23:22:13 <shachaf> monqy: do you run some interactive tex programs
23:22:25 <monqy> no
23:22:41 <shachaf> have you considered trying
23:23:02 <Vorpal> any openvpn expert here?
23:23:14 <olsner> hmm, I might try writing some interactive tex programs, sounds like fun ... I just wonder if it has file/stdin input
23:23:22 <fizzie> When you really think about it, doesn't everyone run some interactive tex programs, in the end, really?
23:23:25 <Bike> `? monqy
23:23:26 <HackEgo> The friendship monqy is an ancient Chinese mystery; ask itidus21 for details.
23:23:27 <GreyKnight> monqy: word on the street is you are the guy to talk to if someone wants to get a glyph into Unicode
23:23:37 <Vorpal> I'm trying to figure out if it is possible to set it up so that some programs are routed through the VPN and all other are not
23:23:48 <Vorpal> I guess it would be possible using iptables, but I have no clue HOW
23:23:50 <monqy> GreyKnight: which street is this and why are they wrong
23:23:58 <GreyKnight> fizzie: the true interactive tex programs are the ones in our hearts
23:24:30 <olsner> all programs are also tex programs, given the correct translation
23:24:33 <GreyKnight> monqy: it's Shachaf Street, and because shachaf
23:24:51 <shachaf> ?
23:24:56 <shachaf> What did I do this time?
23:26:34 <GreyKnight> <Bicycle> do [Unicode] even have official admission criteria? or is it straightforwardly "someone who has money asked" <shachaf> "someone who monqy has asked"
23:26:39 -!- WeThePeople has joined.
23:26:49 <Bike> do unicode
23:27:55 <olsner> the first question of the entrance exam was "did monqy ask you?" ... I left
23:28:11 <olsner> that's why I am not a unicode code point
23:28:16 <fizzie> Vorpal: Standard iptables has at least the 'owner' match module; as for how to make that modify the routing, I think there'd be several approaches, including at least doing -j CONNMARK to mark the packets, and then policy routing ("ip rule ... fwmark ...") to have a different routing table for them. I've done some fiddling like that.
23:28:52 <oerjan> `pastquote i run some interactive tex programs
23:28:53 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: pastquote: not found
23:28:54 -!- WeThePeople has quit (Read error: Connection reset by peer).
23:28:57 <Vorpal> fizzie, I know the owner match, that is a non-issue
23:29:04 <Vorpal> fizzie, the issue is with the routing
23:29:11 <Vorpal> hm
23:29:19 <Vorpal> I will look into fwmark stuff
23:29:51 <Vorpal> fizzie, since it is the ip command I assume the documentation is poor?
23:30:09 <oerjan> `pastlog i run some interactive tex programs
23:30:28 <HackEgo> 2008-06-07.txt:17:34:39: <AnMaster> tusho, because I run some interactive TeX programs
23:30:34 <Vorpal> I did?
23:30:40 <oerjan> *MWAHAHAHA*
23:30:44 <Vorpal> oh yeah I remember, I ran one once.
23:30:48 <olsner> ... now that was unexpected
23:30:56 <Vorpal> why?
23:31:04 <olsner> too esoteric for you
23:31:10 <Vorpal> hah :P
23:31:16 <oerjan> fizzie: ok so fungot is actually an older version of Vorpal, who is an older version of zzo38.
23:31:17 <olsner> sorry, but I expect you to do only boring things
23:31:17 <fungot> oerjan: have you ever tried peanut butter? no way! look at group theory!" does that mean
23:31:21 <zzo38> TeX programs can be interactive; actually my recording of the Dungeons&Dragons game is because it asks at first what level of detail you want in the printout.
23:31:52 <Vorpal> fizzie, when you said you done some fiddeling like that, what were the results of that?
23:32:10 <GreyKnight> wait Vorpal is AnMaster??
23:32:16 -!- WeThePeople has joined.
23:32:28 <Vorpal> GreyKnight, and tusho is ehird, aka elliott
23:32:29 <oerjan> zzo38: it's just that before searching the logs, you were the only person i remembered actually using them
23:32:37 <GreyKnight> WHAT
23:32:42 <Vorpal> GreyKnight, I don't think you were around back then
23:32:45 <fizzie> Vorpal: That's a safe assumption. But it's not conceptually very complicated; there's a number of separate routing tables (the default is just table 0 or 65535 or something), and the rules specified by "ip rule" are used to select which table will be used for a particular packet; "fwmark" is a kind of match that you can use in the rules, one that looks at the netfilter "mark" value.
23:33:01 <oerjan> which made it eerie that fungot would respond it to a question whether it was you
23:33:02 <fungot> oerjan: others have reported the same problem
23:33:07 <fizzie> Vorpal: And the fiddling worked, though I don't think I have it in use any more..
23:33:10 <GreyKnight> I was here long ago and went away due to reasons but then I came back
23:33:36 <GreyKnight> fizzie: There you have it. zzo38 sometimes runs some interactive tex programs.
23:33:49 <Vorpal> fizzie, ah
23:34:05 <zzo38> Maybe AnMaster too.
23:34:10 <Vorpal> fizzie, what is the difference between mark and conmark?
23:35:04 <olsner> `addquote <fizzie> fungot: Are you the previous version of zzo38? <fungot> fizzie: i run some interactive tex programs
23:35:05 <fungot> olsner: i always thought it used two for 2? optional arguments? do you have any references?
23:35:08 <HackEgo> 895) <fizzie> fungot: Are you the previous version of zzo38? <fungot> fizzie: i run some interactive tex programs
23:35:39 <fizzie> Vorpal: CONNMARK applies to a connection-tracked connection. (I don't know if you actually need a iptables rule to do a connmark match and MARK target to propagate the value into the individual packets.)
23:35:52 <Vorpal> fizzie, uh, I will need udp
23:36:03 <fizzie> Vorpal: If you match by owner you could just MARK directly.
23:36:05 <Vorpal> so connmark wouldn't make sense
23:36:18 <Vorpal> ah
23:36:44 <fizzie> Vorpal: (UDP things are also handled by conntrack, except a bit more fuzzily, I believe.)
23:36:57 <Vorpal> fizzie, well thanks, you have been of great help. I was trying to bend my head around the mangle & nat tables... This seems way easier.
23:37:57 <oerjan> GreyKnight: some people here don't have the politeness to stay with one nick, *HMPH*
23:38:11 <Vorpal> fizzie, any idea how to show the table in ip route?
23:38:15 <GreyKnight> kids these days
23:38:22 <Vorpal> $ ip route
23:38:23 <Vorpal> 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.64 metric 1
23:38:23 <Vorpal> default via 192.168.1.254 dev eth0 proto static
23:38:23 <Vorpal> $ ip route table 1
23:38:23 <Vorpal> Command "table" is unknown, try "ip route help".
23:38:30 <Vorpal> from the docs that look correct to me?
23:39:03 <Vorpal> or is ip route listing all tables?
23:39:06 <Vorpal> ah, yes that must be it
23:41:24 <Vorpal> fizzie, err, how do I make this work since the init script of the vpn seems to set up the interface... And if the tunnel ever goes down due to network issues... Hm.
23:41:43 <Vorpal> oh well, I'll have to figure something out, maybe there are some script hooks in openvpn or something
23:41:50 -!- c00kiemon5ter has quit (Quit: brb).
23:43:06 <fizzie> "ip route" (IIRC) does not list all tables, just some kind of an amalgamation.
23:43:24 <Vorpal> hm
23:43:59 <fizzie> ("ip route list table N" you can do.)
23:44:43 <fizzie> ("table 0" seems to list absolutely everything.)
23:45:50 <fizzie> Oh, and you probably will need to do the marking in -t mangle -A PREROUTING to set it before the routing decision is done. (That should hopefully make source address selection work out right too.)
23:46:27 <Vorpal> ah
23:46:50 <Vorpal> fizzie, I wonder how normal VPNs work wrt the routing table...
23:47:21 <fizzie> It's easy if you just need to route things through the VPN based on the destination.
23:47:42 <fizzie> E.g. if it's a VPN into some company intranet, you can just add a route to 1.2.0.0/16 that goes thataway.
23:48:01 <Vorpal> fizzie, well, no. I need to be able to reach the internet
23:48:27 <Vorpal> I just want a specific application to reach the internet through that VPN rather than through my direct connection
23:48:57 <Vorpal> (basically I'm trying to work around a case of region locking)
23:49:34 <fizzie> I don't remember what OpenVPN itself can do w.r.t. the routing. It can at least do a "route everything through the VPN" config.
23:50:00 <fizzie> (Which possibly involves replacing the default route but adding an entry for the VPN endpoint that goes through the old gateway.)
23:50:21 <Vorpal> fizzie, apart from itself obviously
23:50:41 <fizzie> Yes, that's what the host route to the VPN endpoint is for.
23:50:50 <Vorpal> true
23:51:01 <Vorpal> for that case it is probably an easier solution
23:51:19 <Vorpal> do routing rules have priority or is it just "most specific first"
23:51:29 <fizzie> Re your use case, what I use for something slightly like that is the lighter-weight solution of "ssh -D" + "tsocks app ..."; tsocks is a LD_PRELOAD hack to forcibly add SOCKS support to any (well, many) sockets app.
23:51:57 <Vorpal> fizzie, can't do that to the service I'm using
23:52:15 <Vorpal> it is openvpn or pptp or whatever that other one is called
23:52:26 <fizzie> Routing table entries are most specific first; the "ip rule" rules do have some kind of an order.
23:52:51 <Vorpal> hm
23:53:08 -!- WeThePeople has quit (Quit: Leaving).
23:53:35 <fizzie> The LARTC (Linux Advanced Routing & Traffic Control HOWTO) *was* a good document; I have no idea if it has been kept up-to-date, though.
23:53:43 <fizzie> HOWTOs are terribly outdated terribly often.
23:54:23 <fizzie> http://lartc.org/howto/lartc.rpdb.html has a source-based policy routing example.
23:54:47 <fizzie> (Something that doesn't need iptables/fwmark, but does require that you can manually specify the source address your application uses.)
23:54:52 <Vorpal> true
23:55:12 <fizzie> http://lartc.org/howto/lartc.netfilter.html has a fwmark example too.
23:55:51 <Vorpal> nice
23:56:03 <fizzie> I don't see datestamps in the document at all, which is kind of worrying.
23:56:14 <Vorpal> oh, I finally found something one a stack exchange sub-site
23:57:04 <Vorpal> it mentions the need of configuring post routing to adjust the source address, and to set the rp_filter sysctl to perform less stringent checks
23:57:19 <fizzie> That sounds relatively terrible.
23:57:29 <Vorpal> fizzie, only for the tap interface though
23:57:36 <Vorpal> so presumably not THAT bad
23:57:56 <Vorpal> the rp_filter stuff I mean
23:58:25 <fizzie> Manually adjusting the source address does sound quite inelegant, since (according to logic, anyway) things should work out okay by the usual source address selection algorithms.
23:58:58 <fizzie> I guess it might be just for the case where the app has specified a local address, and then the packets do get routed out through the VPN anyway because of rules or whatnot.
23:59:02 <fizzie> Do you have a link to this thing?
23:59:57 <Vorpal> sec, it is on my other computer
←2013-01-03 2013-01-04 2013-01-05→ ↑2013 ↑all