←2013-01-06 2013-01-07 2013-01-08→ ↑2013 ↑all
00:02:16 <FreeFull> let upIntersect [] _ = []; upIntersect _ [] = []; upIntersect (x:xs) (y:ys) | x < y = upIntersect xs (y:ys) | x > y = upIntersect (x:xs) ys | x == y = x:upIntersect xs ys
00:02:22 <FreeFull> So ugly D:
00:02:31 <FreeFull> How do I make that prettier
00:04:18 <elliott> That's not even valid code.
00:05:24 <shachaf> You can take inspiration from Data.List
00:05:46 * elliott would probably write it as
00:05:48 <elliott> isect [] _ = []
00:05:48 <elliott> isect _ [] = []
00:05:48 <elliott> isect xss@(x:xs) yss@(y:ys) = case compare x y of LT -> isect xs yss EQ -> x : isect xs ys GT -> isect xss ys
00:05:52 <elliott> Ugh. But with newlines.
00:05:54 <elliott> Stupid irssi.
00:05:57 <FreeFull> elliott: What do you mean it's not valid?
00:06:06 <FreeFull> ghci thinks it's valid
00:06:09 <elliott> Oh, wait.
00:06:11 <elliott> It is valid.
00:06:16 <elliott> I just misparsed the guards.
00:06:19 <elliott> Guard syntax is a bit dumb.
00:07:44 <FreeFull> Wouldn't you separate the cases with ; if you don't have newlines
00:07:53 <elliott> I had newlines but irssi messed it up.
00:09:50 <SirCmpwn> \o/
00:09:52 <SirCmpwn> bot works
00:09:59 <kmc> Delta Heavy is a good name for a band
00:10:00 <FreeFull> You probably have paste_join_multiline = ON
00:10:09 <elliott> I want it on some of the time.
00:10:13 <elliott> I want it off the rest of the time.
00:10:13 -!- bfbot has joined.
00:10:22 <SirCmpwn> $I am written in brainfuck!
00:10:22 <bfbot> I am written in brainfuck!
00:10:32 <monqy> `welcome bfbot
00:10:34 <HackEgo> bfbot: 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.)
00:10:36 <shachaf> $/quit
00:10:36 <bfbot> /quit
00:10:41 <shachaf> bfbot is broken.
00:10:42 <FreeFull> SirCmpwn: What does it do for networking?
00:10:55 <FreeFull> $<CTCP>ACTION licks shachaf<CTCP>
00:10:55 * bfbot licks shachaf
00:10:57 <SirCmpwn> FreeFull: standard brainfuck interpreter with stdin/stdout wired into a socket
00:11:30 <FreeFull> SirCmpwn: Did you write it in a different language and then compile to bf?
00:11:34 <SirCmpwn> nope
00:11:37 <SirCmpwn> https://github.com/SirCmpwn/bf-irc-bot
00:11:38 <FreeFull> Ouch
00:11:52 <FreeFull> So not even rlefuck?
00:12:24 <SirCmpwn> straight-up brainfuck.
00:12:36 <SirCmpwn> $weeeee
00:12:36 <bfbot> weeeee
00:12:45 <FreeFull> $
00:13:00 <SirCmpwn> I did write a special brainfuck interpeter to make my life easier
00:13:08 <SirCmpwn> handles talking to the socket, with some debugging stuff
00:13:42 <SirCmpwn> http://i.imgur.com/woXkC.png
00:13:43 <FreeFull> At least it'll be hard for other people to find bugs in your code and exploit your bot
00:14:09 <Bike> i like how the messages print. lliicckkss
00:14:20 <SirCmpwn> green is outgoing data
00:14:22 <FreeFull> SirCmpwn: Redirect the output to a file so you can watch it in a separate terminal
00:14:23 <SirCmpwn> white is incoming data
00:14:45 <Bike> $green is outgoing data
00:14:45 <bfbot> green is outgoing data
00:15:22 <monqy> $⌫
00:15:23 <bfbot>
00:15:28 <SirCmpwn> /msg bfbot J #channel is the only other command
00:15:30 <elliott> $ QUIT
00:15:31 <bfbot> QUIT
00:15:37 -!- bfbot has left.
00:15:39 <elliott> Hah.
00:15:55 <SirCmpwn> you meanie
00:16:09 * SirCmpwn sees about fixing that
00:16:28 <FreeFull> elliott: What did you do
00:16:34 <SirCmpwn> /msg bfbot J 0
00:16:43 <FreeFull> Oh
00:16:54 <FreeFull> People can make it join any channel?
00:16:59 <SirCmpwn> yeah.
00:17:04 <FreeFull> That doesn't sound right
00:17:06 <SirCmpwn> I don't plan to let the bot run actively
00:17:12 <SirCmpwn> it's not like it's useful
00:20:19 -!- nooga_ has quit (Ping timeout: 240 seconds).
00:32:25 -!- DHeadshot has quit (Read error: Connection reset by peer).
00:32:37 -!- DHeadshot has joined.
00:33:14 -!- DH____ has joined.
00:37:48 -!- DHeadshot has quit (Ping timeout: 272 seconds).
00:40:58 -!- nooodl has quit (Ping timeout: 272 seconds).
00:50:00 -!- FreeFull has quit (Ping timeout: 260 seconds).
00:53:50 -!- DHeadshot has joined.
00:58:04 -!- DH____ has quit (Ping timeout: 272 seconds).
00:59:20 <zzo38> In a new kind of C preprocessor I am making, the commands are starting by a dollar sign. One command is $utf8 which will be used to make UTF-8 character constants. Another command is $pool which makes long character constants converted into pool strings.
01:00:43 <zzo38> (Note: this $utf8 command is for character constants only; it cannot be used with string literals, or with names! If you don't specify $utf8 or $pool then it will treat it as single-byte encoding.)
01:04:11 <shachaf> What if I want to use a string literal?
01:04:22 <shachaf> Or a name.
01:08:25 <zzo38> You can still use UTF-8 string literals but they will be treated as a single-byte encoding and not UTF-8, so you need to decode UTF-8 if you want to be able to use Unicode string literals in your program.
01:09:09 -!- zzo38 has quit (Remote host closed the connection).
01:13:16 <coppro> anyone want to play chessers?
01:13:35 <coppro> it's a variant where pieces can only move forward until they hit the back rank, and when a piece captures, it can immediately move again
01:17:59 -!- FreeFull has joined.
01:19:19 <shachaf> kmc: Reading #haskell logs is weird because you're in them.
01:21:47 <kmc> aww
01:21:49 <kmc> thanks?
01:22:46 <oerjan> kmc: no he means you have to quit
01:22:46 <shachaf> Those were the good old days.
01:22:55 <oerjan> oh old logs
01:22:55 <shachaf> oerjan: no :'(
01:23:24 <oerjan> I WAS JOKING PLEASE DON'T CRY
01:23:31 <shachaf> : (
01:23:43 <shachaf> `ls bin
01:23:45 <HackEgo> ​? \ @ \ WELCOME \ addquote \ allquotes \ anonlog \ calc \ define \ delquote \ emoclaw \ emoclew \ etymology \ forget \ fortune \ frink \ google \ hatesgeo \ interp \ joustreport \ jousturl \ json \ karma \ karma- \ karma+ \ learn \ log \ logurl \ lua \ luac \ luarocks \ luarocks-admin \ macro \ maketext \ marco \ No \ pastaquote \
01:23:58 <shachaf> `No
01:23:59 <HackEgo> No output.
01:24:06 <shachaf> `No hi
01:24:07 <HackEgo> No output.
01:24:11 <shachaf> `cat bin/No
01:24:12 <HackEgo> ​#!/bin/sh
01:24:22 <shachaf> `ls bin | tail -n +30
01:24:23 <HackEgo> ls: cannot access bin | tail -n +30: No such file or directory
01:24:27 <shachaf> `ls bin | tail -n+30
01:24:28 <HackEgo> ls: cannot access bin | tail -n+30: No such file or directory
01:24:32 <shachaf> `run ls bin | tail -n+30
01:24:33 <HackEgo> luarocks \ luarocks-admin \ macro \ maketext \ marco \ No \ pastaquote \ paste \ pastefortunes \ pastekarma \ pastelog \ pastelogs \ pastenquotes \ pastequotes \ pastewisdom \ pastlog \ ping \ prefixes \ qc \ quachaf \ quoerjan \ quoerjandom \ quote \ quotes \ randomanonlog \ relcome \ rng \ roll \ rot13 \ run \ runc \ runce \ searchlog \ show \ tc
01:24:43 <shachaf> `quoerjandom
01:24:45 <HackEgo> 16) <fungot> oerjan: are you a man, if there weren't evil in this kingdom to you! you shall find bekkler! executing program. please let me go... put me out! he's really a tricycle! pass him!
01:24:48 <shachaf> `quoerjan
01:24:49 <HackEgo> 514) <oerjan> theorem prover yada yada halting problem. \ 189) <oerjan> elliott: i think i wrote a proof of 0*x = 0 on this channel once \ 614) <oerjan> elliott: it occurs to me that `? welcome is atypical: its information is actually true. \ 361) <elliott_> I'm not even going to try and understand what you're proposing. <oerjan> i understand it
01:24:53 <shachaf> Oh.
01:24:57 <shachaf> Why did I mess up quoerjan?
01:25:02 <shachaf> `cat bin/tc
01:25:02 <oerjan> EVIL
01:25:03 <HackEgo> cat: bin/tc: No such file or directory
01:25:13 <shachaf> `run ls bin | tail -n+60
01:25:15 <HackEgo> runc \ runce \ searchlog \ show \ tclkit \ tell \ toutf8 \ translate \ translatefromto \ translateto \ units \ url \ welcome \ WeLcOmE \ WELCOME \ WELCOMEe \ wl \ word \ words \ wtf \ zalgo
01:25:27 <shachaf> `run echo abc | zalgo
01:25:29 <HackEgo> a̋b̼c͊ \ ̭
01:26:08 <oerjan> `WELCOMEe now what
01:26:21 <oerjan> `WELCOME now what
01:26:26 <shachaf> `run echo 'echo -n "oerjan $@" | zalgo' > bin/zalgoerjan; chmod +x bin/zalgoerjan
01:26:30 <HackEgo> No output.
01:26:34 <shachaf> `zalgoerjan hi
01:26:35 <HackEgo> ŏe͓r̉j͘a͑n͚ ̲h̔i̮
01:26:36 <oerjan> `rm bin/WELCOMEe
01:26:40 <HackEgo> No output.
01:26:50 <shachaf> `cat bin/translateto
01:26:51 <HackEgo> ​#!/bin/bash \ exec translatefromto "auto $1"
01:27:13 <oerjan> i think the translate* commands were bitrotted even before HackEgo's web proxy died
01:27:31 <shachaf> `cat bin/translatefrom
01:27:32 <HackEgo> cat: bin/translatefrom: No such file or directory
01:27:37 <shachaf> `cat bin/translatefromto
01:27:38 <HackEgo> ​#!/bin/bash \ TEXT="$1" \ FROM=`echo "$TEXT" | sed 's/ .*$//'` \ TEXT=`echo "$TEXT" | sed 's/^[^ ]* //'` \ TO=`echo "$TEXT" | sed 's/ .*$//'` \ TEXT=`echo "$TEXT" | sed 's/^[^ ]* //'` \ if [ "$FROM" = "auto" ] ; then FROM="" ; fi \ \ curl -e http://codu.org/ http://ajax.googleapis.com/ajax/services/language/translate \ \ --data-urlenco
01:27:42 <shachaf> `cat bin/translate
01:27:43 <HackEgo> ​#!/bin/bash \ exec translatefromto "auto en $1"
01:28:06 <shachaf> `run echo $'#!/bin/bash\nexec translatefromto "auto no $1"' > bin/translatetoerjan; chmod +x bin/translatetoerjan
01:28:10 <HackEgo> No output.
01:28:20 <shachaf> Or should it be $1 no?
01:28:45 <shachaf> `hatesgeo
01:28:52 <shachaf> `cat bin/hatesgeo
01:28:53 <HackEgo> ​#!/bin/sh \ perl -n -e '/:(.*?)!.*JOIN/; $j{$1}++; END {print "$_ $j{$_};" for sort {$j{$b} <=> $j{$a}} keys %j}' $@
01:29:12 <oerjan> `cat bin/toutf8
01:29:13 <HackEgo> cat: bin/toutf8 : No such file or directory
01:29:17 <HackEgo> No output.
01:29:29 <shachaf> `cat bin/toutf8
01:29:30 <HackEgo> ​#!/usr/bin/python \ import sys \ import chardet \ x = sys.stdin.read() \ enc = chardet.detect(x)['encoding'] \ sys.stdout.write(x.decode(enc).encode('UTF-8'))
01:29:39 <shachaf> `run echo toutf8 | xxd
01:29:41 <HackEgo> 0000000: 746f 7574 6638 0a toutf8.
01:29:53 <shachaf> `cat bin/toutf8
01:29:54 <HackEgo> cat: bin/toutf8 : No such file or directory
01:29:55 <shachaf> Oh.
01:30:05 <shachaf> There I was thinking it was a clever trick.
01:34:16 <shachaf> Hmm.
01:34:28 <shachaf> So whenever I wonder about UTF-8 encoding/decoding of something I do it by hand.
01:34:37 <shachaf> I should probably write a script for that by now, or something.
01:35:30 <oerjan> funny i've been thinking about this all day
01:35:40 <oerjan> one of the bots should have such a script
01:36:22 <oerjan> or two, rather
01:36:56 <oerjan> lambdabot should already have it, but it's encodings are hopelessly broken
01:37:00 <oerjan> *its
01:37:14 -!- TeruFSX has joined.
01:38:46 -!- Phantom__Hoover has quit (Quit: Leaving).
01:40:34 <oerjan> @show ø
01:40:34 <lambdabot> "\195\184"
01:41:16 <shachaf> @show øëïáñ
01:41:16 <lambdabot> "\195\184\195\171\195\175\195\161\195\177"
01:41:47 <oerjan> ^ord øëïáñ
01:41:47 <fungot> 195 184 195 171 195 175 195 161 195 177
01:42:13 <oerjan> actually what i want is a way to get from utf-8 to codepoint
01:42:48 <shachaf> @read "\195\184\195\171\195\175\195\161\195\177"
01:42:48 <lambdabot> øëïáñ
01:43:21 <shachaf> At least lambdabot's bugs are well-behaved.
01:52:46 <FreeFull> > putStr "\195"
01:52:47 <lambdabot> No instance for (GHC.Show.Show (GHC.Types.IO ()))
01:52:47 <lambdabot> arising from a use of ...
01:52:56 <FreeFull> o.o
01:53:09 <shachaf> `zaloerjan
01:53:10 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: zaloerjan: not found
01:53:13 <shachaf> `zalgoerjan
01:53:15 <HackEgo> o͑e̞ȑj̴a̩nͫ ͠
01:53:26 <FreeFull> Why did lambdabot error there
01:53:34 <FreeFull> Oh wait
01:53:35 <FreeFull> Nevermind
01:53:39 <shachaf> `run echo '(echo -n "oerjan $@"; cat) | zalgo' > bin/zalgoerjan; chmod +x bin/zalgoerjan
01:53:42 <HackEgo> No output.
01:53:46 <shachaf> `zalgoerjan hello
01:53:50 <FreeFull> @putStrLn "\195"
01:53:50 <lambdabot> Unknown command, try @list
01:53:53 <FreeFull> @list
01:53:53 <lambdabot> http://code.haskell.org/lambdabot/COMMANDS
01:54:04 <shachaf> `run echo 'echo -n "oerjan $@" | zalgo' > bin/zalgoerjan; chmod +x bin/zalgoerjan
01:54:08 <FreeFull> @vixen
01:54:08 <lambdabot> People react to fear, not love; they don't teach that in Sunday School, but it's true.
01:54:13 <shachaf> `zalgoerjan uhhhh
01:54:33 <FreeFull> @faq
01:54:33 <lambdabot> The answer is: Yes! Haskell can do that.
01:54:49 <HackEgo> No output.
01:55:08 <FreeFull> `poweroff
01:55:21 <HackEgo> No output.
01:55:22 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: poweroff: not found
01:55:24 <HackEgo> No output.
01:55:34 <FreeFull> `/usr/sbin/poweroff
01:55:35 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /usr/sbin/poweroff: No such file or directory \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /usr/sbin/poweroff: cannot execute: No such file or directory
01:55:41 <FreeFull> `/sbin/poweroff
01:55:43 <HackEgo> poweroff: must be superuser.
01:56:17 <FreeFull> @read "a"
01:56:17 <lambdabot> a
01:56:23 <FreeFull> @read "-3"
01:56:23 <lambdabot> -3
01:58:32 <oerjan> i had this hunch the other day that whoever replaced @vixen chose a command that would annoy precisely the kind of people who would complain about the original
01:59:23 <Bike> @vixen
01:59:23 <lambdabot> Castro couldn't even go to the bathroom unless the Soviet Union put the nickel in the toilet.
01:59:24 <oerjan> *who did complain
01:59:38 <oerjan> hint: it's not really @vixen
02:00:14 <shachaf> `zalgoerjan Bike
02:00:15 <HackEgo> o̻eͧr͗j̷a͡nͭ ̕Bͣi̙k̷e͢
02:00:38 <olsner> `zalgoerjan ZALGO
02:00:39 <HackEgo> oͯe̙ȓjͮa͏n̤ ̿Z̖A̰L͛G̵O͙
02:00:50 <shachaf> `zalgolsner
02:00:51 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: zalgolsner: not found
02:00:57 <Bike> "combining double inverted breve"? awesome
02:01:45 <oerjan> maybe you should know that my putty terminal shows almost none of the special zalgo characters.
02:02:00 <olsner> shachaf: it's zalgoerjan, hth
02:02:00 <Bike> I'm sorry.
02:02:04 <elliott> oerjan: @vixen wasn't replaced by anything.
02:02:09 <elliott> lambdabot has typo-correction.
02:02:18 <oerjan> elliott: ...i know.
02:02:26 <oerjan> this does not change my theory.
02:02:35 <elliott> count myself as someone woh would complain about @vixen, fwiw
02:02:47 <Bike> @vixen
02:02:47 <lambdabot> I can see clearly now... that I was wrong in not acting more decisively and more forthrightly in dealing with Watergate.
02:02:49 <oerjan> i don't think the corrected command existed when @vixen did
02:02:53 <shachaf> elliott: Did you complain about @nixon?
02:02:58 <elliott> oerjan: it did
02:03:02 <shachaf> kmc complained about the unfair treatment of one vs. the other.
02:03:05 <oerjan> oh.
02:03:13 <elliott> shachaf: no. I don't think equating them is reasonable.
02:07:44 <kmc> i think my position on @vixen vs @nixon might have changed
02:07:58 <Bike> @nixon
02:07:59 <lambdabot> Don't try to take on a new personality; it doesn't work.
02:08:02 <kmc> i haven't firmly decided because it doesn't matter in the slightest
02:08:05 <shachaf> What's the newsition?
02:09:06 <elliott> sounds like lambdabot is giving kmc advice
02:09:21 <elliott> s/woh/who/
02:09:48 <shachaf> Don't blame kmc. He's from Massachusetts.
02:12:00 <oerjan> can we burn him as a witch instead?
02:12:31 <olsner> yes, we can do that!
02:14:38 <kmc> i have been to salem
02:14:43 <kmc> in fact it was halloween
02:14:45 <kmc> by accident
02:15:01 <kmc> it was a bicycle-date
02:15:26 <oerjan> a cyclic event
02:15:49 <kmc> a bikewise cyclic day
02:15:50 <oerjan> also i'm sorry, apparently you hang witches there, not burn them
02:16:03 <kmc> or stack rocks on them until they are crushed to death
02:16:47 <shachaf> kmc: You should go to Alice's Restaurant.
02:16:56 <shachaf> I guess that's a bit farther than Salem.
02:19:20 <kmc> yes
02:19:25 <kmc> there is a fast boat to/from salem
02:30:46 <oerjan> :t let nextInCycle3 x = ([x ..] ++ [minBound]) !! 1 in nextInCycle3
02:30:47 <lambdabot> (Bounded a, Enum a) => a -> a
02:31:11 -!- Arc_Koen has quit (Quit: Arc_Koen).
02:54:47 <FreeFull> I think @vixen should be cooler
02:57:09 <elliott> @vixen is just @nixon.
02:57:09 <lambdabot> Voters quickly forget what a man says.
02:57:43 <Bike> @vixen should be @nixon, but with all the quotes subtly rewritten into sexual innuendos.
02:57:43 <lambdabot> The Chinese use two brush strokes to write the word 'crisis.' One brush stroke stands for danger; the other for opportunity. In a crisis, be aware of the danger - but recognize the opportunity.
02:58:15 <oerjan> you mean it isn't?
03:00:42 <FreeFull> @vixen should be something completely unrelated to US presidents
03:00:42 <lambdabot> The press is the enemy.
03:02:54 <elliott> It was.
03:41:37 <kmc> shachaf: thanks to you i have to start cups whenever i want to print something, and stop it when i'm done :(
03:42:24 <oerjan> how evil
03:42:29 <shachaf> kmc: Sorry. :-(
03:42:40 <shachaf> You could try not caring.
03:42:48 <shachaf> It works for almost everyone else in the world.
03:43:03 <elliott> kmc: Have you tried not printing things?
03:43:08 <shachaf> Also that.
03:43:24 <shachaf> Also you could adjust it to a different port? I mean, there are literally THOUSANDS of them, how could a malicious person try all of them?
03:44:16 <oerjan> inconceivable!
04:10:13 -!- copumpkin has quit (Ping timeout: 252 seconds).
04:10:49 -!- copumpkin has joined.
04:12:05 <SirCmpwn> 65535 of them, actually
04:12:16 <SirCmpwn> anyway, this made me chuckle: http://www.reddit.com/r/programming/comments/16376h/i_wrote_a_functional_irc_bot_in_brainfuck/c7sejbv
04:47:24 <oerjan> http://www.reddit.com/r/programming/comments/16376h/i_wrote_a_functional_irc_bot_in_brainfuck/c7sda2c has a point.
04:59:51 <kmc> happy orthodox christmas
05:00:08 <oerjan> yay
05:08:58 -!- zzo38 has joined.
05:10:57 -!- TeruFSX has quit (Ping timeout: 276 seconds).
05:29:09 <zzo38> I have found glyphs some people have made up for some dwarf planets (mentioned on a Wikipedia talk page): http://www.zanestein.com/Trans-pluto.htm
05:40:43 <Sgeo> Is PLAI generally considered good?
05:41:05 <Sgeo> I feel like I should read HtDP (I feel like I'm a suckier programmer than I like to think), PLAI and SICP
06:12:55 <kmc> "So to recap, what's good about you opposed to me is that you know you're several degrees less clever than you think you are, and that's somehow morally healthy. Whereas my opinion of my own intelligence, as flawed an evaluation as anyone's is likely to be, is deemed unreliable because of its albeit subjective consistency."
06:13:49 <Bike> "know you're several degrees less clever than you think you are"? is this some kind of doxastic test question
06:32:13 <Sgeo> Dammit Chrome, when I copy a URL that has %20 in it, I don't want it to go into the clipboard as spaces
06:32:26 <monqy> oops sorry -chrome
06:33:48 <Sgeo> Theophilus, dont perform oral sex on girls against the city wall like a dog
06:34:03 <Sgeo> http://www.pompeiana.org/resources/ancient/graffiti%20from%20pompeii.htm
06:35:08 <monqy> oh ive seen that list
06:35:18 <kmc> "On April 19th, I made bread"
06:35:21 <kmc> that's some shit graffiti
06:35:24 <monqy> it's a good list
06:35:40 <kmc> unless "make bread" is slang for shitting
06:35:42 <kmc> which it probably is
06:37:39 <kmc> "The one who buggers a fire burns his penis"
06:37:42 <kmc> words of wisdom
06:37:57 <oerjan> hard-earned ones
06:38:12 <kmc> "We have wet the bed, host. I confess we have done wrong. If you want to know why, there was no chamber pot"
06:38:16 <kmc> what?
06:38:23 <kmc> "no chamber pot, guess i'll just piss in my own bed then"
06:38:50 <Bike> should have taken a cue from all the other graffitists and just pissed on the wall, gawd
06:38:51 -!- oerjan has quit (Quit: Too much shit talk).
06:39:12 <elliott> bye oerjan
06:48:23 <Gregor> VIII.2 (in the basilica); 1882: The one who buggers a fire burns his penis
06:48:25 <Gregor> Insightful
07:02:33 <zzo38> Sgeo: Does Chrome have any option to turn off such things? Many things I have seen in Chrome I don't like; it is why I don't use that one.
07:10:03 <Jafet> "This is a cached version of a page developed by Prof. Prof. Brian Harvey."
07:13:18 -!- atehwa has quit (Ping timeout: 264 seconds).
07:21:18 <quintopia> i profess professing myself sometimes
07:25:52 -!- FreeFull has quit.
07:58:36 -!- c00kiemon5ter has quit (Ping timeout: 272 seconds).
08:03:05 -!- dessos has joined.
08:04:10 -!- dessos has quit (Read error: Connection reset by peer).
08:05:48 -!- dessos has joined.
08:06:30 -!- azaq23 has joined.
08:07:16 -!- dessos has quit (Read error: Connection reset by peer).
08:08:08 -!- dessos has joined.
08:18:57 -!- epicmonkey has joined.
08:25:08 -!- Bike has quit (Quit: leaving).
08:40:15 -!- c00kiemon5ter has joined.
09:30:27 -!- DHeadshot has quit (Read error: Connection reset by peer).
09:59:14 -!- mig22 has joined.
10:01:01 -!- atehwa has joined.
10:02:19 -!- GreyKnight has joined.
10:02:55 <GreyKnight> coppro: No I didn't. Somebody else wrote that.
10:04:05 <GreyKnight> @tell ais523 Please link to your paper on the "simultaneous" question for circuit inputs, when it's out
10:04:05 <lambdabot> Consider it noted.
10:07:46 <GreyKnight> md_5: you want to script Java? Why not use JavaScript, duh
10:08:29 <GreyKnight> Sgeo: I highly recommend SICP at least, it is good stuff
10:11:57 <fizzie> We did PLAI on a course.
10:12:17 <fizzie> On the course that was the sequel of the course that did SICP.
10:12:31 -!- greyooze has joined.
10:12:47 <fizzie> Or maybe it was in fact the sequel of the course that did HtDP but used to do SICP.
10:13:10 -!- GreyKnight has quit (Ping timeout: 252 seconds).
10:13:44 <greyooze> `run echo "A lens is just a store comonad coalgebra!" >wisdom/lens
10:13:44 <greyooze> `? lens
10:13:45 <fizzie> It's all very confusing, because they were phasing out Scheme right when I went through the courses. It got split into two first, and I think my year group was the only one that got the two-part edition.
10:13:50 <HackEgo> No output.
10:13:53 <HackEgo> A lens is just a store comonad coalgebra!
10:14:34 <fizzie> `run ls wisdom/* | wc -l
10:14:35 <HackEgo> 98
10:14:37 <fizzie> So much wisdom.
10:14:55 <Sgeo> fizzie, how was PLAI?
10:17:26 <fizzie> Sgeo: I think it was good. We used a draft version from the author's website, I think. It's very much more about "here's how a programming language is/can be implemented" than "here's what up with this programming thing".
10:17:58 -!- mig22 has quit (Quit: mig22).
10:18:07 <fizzie> Re wisdom, I really like "the monad trail".
10:18:09 <fizzie> `? monad
10:18:11 <HackEgo> Monads are just monoids in the category of endofunctors.
10:18:12 <fizzie> `? monoid
10:18:13 <HackEgo> Monoids are just categories with a single object.
10:18:15 <fizzie> `? endofunctor
10:18:16 <HackEgo> Endofunctors are just endomorphisms in the category of categories.
10:18:17 <fizzie> `? category
10:18:19 <HackEgo> Categories are just categories.
10:18:30 <olsner> `? comonad
10:18:32 <HackEgo> Comonads are just monads in the dual category.
10:18:40 -!- greyooze has quit (Ping timeout: 252 seconds).
10:18:45 <fizzie> `? endomorphism
10:18:46 <HackEgo> Endomorphisms are just morphisms which compose with themselves.
10:18:48 <fizzie> `? morphism
10:18:50 <HackEgo> A morphism is a map between two objects in an abstract category.
10:19:11 <fizzie> That last is missing the "just".
10:19:19 <zzo38> Write it then.
10:19:52 <fizzie> `run sed -i -e 's/is a/is just a/' wisdom/morphism
10:19:54 <Sgeo> Does that monads one come from a brief, incomplete, and mostly wrong history of programming languages, or did that take it from a real statement?
10:19:56 <HackEgo> No output.
10:20:11 <fizzie> `? morphism
10:20:13 <HackEgo> A morphism is just a map between two objects in an abstract category.
10:21:13 -!- nooga has joined.
10:22:32 <zzo38> Sgeo: I don't know.
10:28:39 -!- GreyKnight has joined.
10:29:27 <GreyKnight> Sgeo: monad was the original AFAIK
10:29:28 <GreyKnight> zzo38: re $utf8: but I thought you hated unicode?!?
10:30:00 <zzo38> GreyKnight: I don't really like Unicode, so it is why it is not the default.
10:30:28 -!- EgoBot has quit (Remote host closed the connection).
10:30:34 <zzo38> Sure I could even add VLQ mode if it is useful to someone!
10:30:40 -!- EgoBot has joined.
10:32:20 <GreyKnight> SirCmpwn: some of our favourite languages contain nothing *but* functions
10:32:31 <zzo38> (UTF-8 and VLQ are two ways to encode short or long numbers; in both cases the octets coded 0 to 127 are representing themself number)
10:33:50 <zzo38> But VLQ will not be compatible with programs that expect ASCII.
10:34:50 <Sgeo> o.O KnightOS?
10:34:55 -!- Sgeo has left ("Leaving").
10:34:58 -!- Sgeo has joined.
10:35:05 <Sgeo> Stupid occasionally broken XChat
10:38:06 <GreyKnight> zzo38: didn't you say it preserves ASCII characters though??
10:40:18 <zzo38> GreyKnight: Yes, it will, but if you use VLQ some characters that are not ASCII characters will have bytes corresponding to ASCII characters, causing the program to read stuff that you didn't mean to put in. Therefore, VLQ should not be used to encode text files.
10:42:19 <zzo38> What I mean with the $utf8 command in my program, is that like you can write 'A' in a C program to make 65, then if instead of A you have a UTF-8 sequence (even if it is not in the range of Unicode, or is an overlong encoding, etc), then it is replaced by the number it represents.
10:43:45 -!- GreyKnight has quit (Ping timeout: 260 seconds).
10:47:04 -!- Phantom_Hoover has joined.
11:10:23 -!- zzo38 has quit (Remote host closed the connection).
11:31:29 <Sgeo> How much value can I get out of watching the SICP lectures rather than reading?
11:31:55 <Jafet> $5
11:32:15 <c00kiemon5ter> is that total or per hour ?
11:33:34 -!- GreyKnight has joined.
11:33:59 <GreyKnight> Sgeo: text >> video IMAO
11:34:32 <c00kiemon5ter> what is A there ^
11:34:36 <Jafet> You can collect the $5 from GreyKnight.
11:36:05 -!- asiekierka has quit (Excess Flood).
11:37:06 -!- asiekierka has joined.
11:38:06 <fizzie> A is for "awesome" there, I think.
11:38:36 <GreyKnight> "arrogant"
11:38:36 <GreyKnight> Opposite of IMHO
11:39:31 <GreyKnight> Jafet: I don't have any $s
11:39:32 <fizzie> IMHO, "IMHO" opinions generally aren't all that H.
11:39:38 <c00kiemon5ter> great, so after watching the vids I'll get my $5 from GreyKnight and buy some cookies.
11:39:49 <c00kiemon5ter> wat! I was tricked <.<
11:40:04 <fizzie> I have one dime and one cent, if someone wants to pick them up.
11:40:28 <fizzie> I keep mixing them with local currency accidentally.
11:44:30 -!- GreyKnight has quit (Ping timeout: 264 seconds).
11:46:29 -!- GreyKnight has joined.
11:48:11 <GreyKnight> fizzie: that's why I use IMAO! I am honest you see :o)
11:50:55 <fizzie> I had a sequel comment to make, but got sidetracked and forgot it.
11:52:55 -!- GreyKnight has quit (Ping timeout: 265 seconds).
12:03:17 -!- monqy has quit (Quit: hello).
12:03:45 -!- WeThePeople has joined.
12:14:16 -!- ais523 has joined.
12:22:16 -!- Taneb has joined.
12:25:26 -!- WeThePeople has quit (Remote host closed the connection).
12:39:29 <coppro> Gregor: what?
12:49:57 <Gregor> pooppy: What what?
12:50:42 <coppro> err, not you
12:50:49 <coppro> stupid tabcomplete
13:00:33 -!- TeruFSX has joined.
13:05:51 -!- ais523 has quit.
13:06:29 -!- TeruFSX has quit (Ping timeout: 248 seconds).
13:12:45 -!- aminos has joined.
13:13:24 -!- aminos has quit (Read error: Connection reset by peer).
13:18:55 -!- Phantom__Hoover has joined.
13:20:21 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds).
13:21:33 -!- Phantom__Hoover has quit (Read error: Operation timed out).
13:35:46 -!- Phantom__Hoover has joined.
13:37:08 -!- Phantom__Hoover has quit (Read error: Operation timed out).
13:39:15 * Sgeo re-reads the PSOX spec
13:42:28 <fizzie> Is a new version of PSOX in the works?
13:42:35 <Sgeo> Probably not
13:42:42 <fizzie> In the WROX, then.
13:42:43 <Sgeo> waitwhat
13:42:44 <Sgeo> "0x00 0x02 0x16 0x0A
13:42:44 <Sgeo> Close and delete file descriptor f, and change either the current infile or outfile descriptors, or both, to stdio (0x02 for outfile, 0x03 for infile) if necessary."
13:43:13 <Sgeo> That function does not look like it takes an f
13:43:39 -!- carado has joined.
13:44:33 <Sgeo> It does, the spec just doesn't say it
13:44:34 <Sgeo> Bluh
13:48:17 -!- ais523 has joined.
13:50:50 -!- Taneb has quit (Quit: Page closed).
13:52:58 -!- Phantom__Hoover has joined.
14:00:04 -!- Arc_Koen has joined.
14:04:58 -!- azaq23 has quit (Quit: Leaving.).
14:36:20 -!- Taneb has joined.
14:44:37 -!- Nisstyre-laptop has joined.
14:47:15 -!- Nisstyre-laptop has quit (Client Quit).
14:54:45 -!- Nisstyre-laptop has joined.
15:20:17 -!- Phantom__Hoover has quit (Read error: Operation timed out).
15:21:48 -!- Nisstyre-laptop has quit (Quit: Leaving).
15:33:39 -!- FreeFull has joined.
15:57:44 -!- Phantom_Hoover has joined.
16:00:21 <Sgeo> "For example, in the following code the world is not destroyed as the preceding check fails:"
16:04:07 -!- yiyus has quit (Ping timeout: 260 seconds).
16:06:14 -!- yiyus has joined.
16:07:52 -!- FreeFull_ has joined.
16:08:00 -!- FreeFull_ has quit (Client Quit).
16:23:02 -!- GreyKnight has joined.
16:24:47 <shachaf> kmc: Hmm, I think I got on the wrong train.
16:25:28 <shachaf> Now I'm going all the way to Santa Clara, I guess.
16:26:08 <Sgeo> I'm going to try to reset my sleep cycle today. I think I'll just passively watch the SICP lectures
16:28:51 <shachaf> It won't work.
16:29:58 <GreyKnight> What is PSOX?
16:29:59 <GreyKnight> I can't find anything about it :-(
16:30:00 * GreyKnight pings fizzie and Sgeo in the hopes of getting a link from one of them
16:30:38 -!- GreyKnight has quit (Excess Flood).
16:31:52 <Sgeo> ...
16:32:36 <Sgeo> @message GreyKnight http://esolangs.org/wiki/PSOX
16:32:36 <lambdabot> Maybe you meant: messages messages?
16:33:42 <Sgeo> @tell GreyKnight http://esolangs.org/wiki/PSOX . Note that the latest version has a typo that needs to be fixed, the spec points to a URL that doesn't work (look at repo instead), and the file domain doesn't work (the others do, despite what the readme says)
16:33:42 <lambdabot> Consider it noted.
16:34:27 -!- GreyKnight has joined.
16:34:41 <Phantom_Hoover> hey GreyKnight i hear you're from northern ireland
16:34:49 <Phantom_Hoover> my commiserations
16:34:59 -!- greyooze has joined.
16:35:02 <greyooze> Sgeo: Ugh. That was not my fault.
16:35:26 <Phantom_Hoover> <Phantom_Hoover> hey GreyKnight i hear you're from northern ireland
16:35:26 <Phantom_Hoover> <Phantom_Hoover> my commiserations
16:35:27 <Sgeo> <Sgeo> @tell GreyKnight http://esolangs.org/wiki/PSOX . Note that the latest version has a typo that needs to be fixed, the spec points to a URL that doesn't work (look at repo instead), and the file domain doesn't work (the others do, despite what the readme says)
16:35:32 <greyooze> My connection likes to die slowly, wait five minutes, then transmit everything I said all in one go
16:35:43 <greyooze> > instant excess flood, just add water
16:35:45 <lambdabot> <hint>:1:21: parse error on input `,'
16:36:17 <Sgeo> I'm going to step out soon
16:36:21 <greyooze> Phantom_Hoover: your mother :-D
16:36:26 <Sgeo> Take a very long walk in search of coffee
16:36:36 <Phantom_Hoover> yes, she's from northern ireland too
16:36:46 <Sgeo> Hmm, does 7-Eleven sell coffee
16:37:13 -!- GreyKnight has quit (Client Quit).
16:37:16 -!- greyooze has changed nick to GreyKnight.
16:39:03 <GreyKnight> Sgeo: (RE: PSOX) ah, cool. You're the maintainer?
16:39:03 <lambdabot> GreyKnight: You have 1 new message. '/msg lambdabot @messages' to read it.
16:39:15 <GreyKnight> and/or author
16:39:36 <Sgeo> GreyKnight, primary author. elliott removed a feature.
16:39:51 <GreyKnight> "that's LIKE helping"
16:40:07 <Sgeo> I wouldn't call myself the maintainer. It hasn't been maintained since 2008
16:41:59 <GreyKnight> maybe it's just been perfected and therefore needs no changes :-)
16:42:59 <Sgeo> "Guile also offers some more experimental interfaces in a separate module. As was the case with the Large Hadron Collider, it is unclear to our senior macrologists whether adding these interfaces will result in awesomeness or in the destruction of Guile via the creation of a singularity"
16:43:36 <GreyKnight> Sounds like win-win :^)
16:46:51 <GreyKnight> Sgeo: so are there any outstanding things for PSOX or is it basically a solved problem
16:54:09 -!- GreyKnight has quit (Ping timeout: 256 seconds).
16:56:16 -!- GreyKnight has joined.
17:00:25 -!- AnotherTest has joined.
17:02:21 <FreeFull> I usually just have a fullscreen terminal open in a desktop
17:03:31 <AnotherTest> Hello
17:05:02 <Sgeo> GreyKnight, the file domain is not specified yet
17:05:07 <Sgeo> And unimplemented
17:05:17 <Sgeo> Also, it's rather Brainfuck-centric
17:05:28 <Sgeo> A lot of NULs that some esolangs may be unable to handle
17:05:43 <Sgeo> Choices made with Brainfuck in mind (0 = success)
17:05:44 <Sgeo> etc
17:05:57 -!- GreyKnight has quit (Ping timeout: 248 seconds).
17:05:57 <FreeFull> I wonder how many brainfuck implementations there are in haskell
17:06:34 -!- GreyKnight has joined.
17:07:48 <Arc_Koen> alot
17:10:06 <FreeFull> https://lh3.ggpht.com/_D_Z-D2tzi14/S8TRIo4br3I/AAAAAAAACv4/Zh7_GcMlRKo/s1600/ALOT.png
17:10:12 <GreyKnight> Sgeo: I am having a think about a variant control format that uses printable ASCII characters (seems the most likely range to be useful)
17:10:34 <GreyKnight> ...useful for languages that can't output arbitrary bytes
17:11:23 <GreyKnight> FreeFull: is than an alot :-I
17:11:30 <FreeFull> Yes
17:11:35 <Arc_Koen> FreeFull: that's actually what made me remove the space
17:12:08 <FreeFull> I don't want to imagine an alot of brainfuck
17:12:15 <FreeFull> That would be a poor, poor creature
17:12:52 <ais523> GreyKnight: what about Radixal!!!!?
17:12:52 <lambdabot> ais523: You have 3 new messages. '/msg lambdabot @messages' to read them.
17:12:57 <ais523> that can't even output arbitrary ASCII
17:13:11 <GreyKnight> "tough luck, you're on your own" ;-)
17:13:40 <GreyKnight> hm actually maybe we can have custom format translations along with the existing custom domains
17:13:57 <GreyKnight> that will allow handling bizarro languages like Radixal!!!! which need special cases
17:14:16 <Arc_Koen> FreeFull: but it would be alot of brainfuck *in haskell*
17:14:30 <ais523> specifically, it can't output prime-numbered codepoints, nor a few composite-numbered codepoints either
17:15:04 <GreyKnight> simple ASCII format translation: 0x00 0x01 0x02 maps to the string "`00 01 02`"
17:15:13 <ais523> GreyKnight: http://www.cs.bham.ac.uk/~drg/papers/popl11.pdf may be the paper you're looking for
17:15:15 <GreyKnight> and "``" is a literal "`"
17:15:30 * Arc_Koen adds to todo list: implement a mao engine that includes an esoteric programming language to write new rules
17:15:56 <GreyKnight> Arc_Koen: of course the language must be undocumented except by examples
17:16:01 <Arc_Koen> haha
17:16:13 <Arc_Koen> I don't know about that
17:16:17 <FreeFull> @src fix
17:16:17 <lambdabot> fix f = let x = f x in x
17:16:34 <ais523> GreyKnight: you could take binary as an input format, using arbitrary bytes as digits
17:16:36 <Arc_Koen> I've played mao with friends but it was closer to what Kevan would call "mini-mao"
17:16:39 <ais523> and require the input to start with a 0
17:16:53 <GreyKnight> thanks ais523, getting it now (will read later in the week probably)
17:17:13 <Arc_Koen> my main issue with mao is the "no talking" thing
17:17:27 <Arc_Koen> it was supposed to be fun, therefore we talked a lot
17:17:36 <GreyKnight> Arc_Koen: examples with no comments? :-o
17:17:41 <ais523> Arc_Koen: I find it more fun with no talking
17:17:50 <ais523> and the occasional PoO to argue about the rules (without mentioning them)
17:18:07 <GreyKnight> ais523: this is for Radixal!!!! specifically right? (I don't actually know it that well although I have a rough idea)
17:18:29 <ais523> GreyKnight: my binary suggestion would work with any language that could output two different bytes
17:18:31 <Arc_Koen> ais523: problem is I like to spend time with friends to talk
17:18:42 <ais523> Arc_Koen: I guess
17:18:46 <Arc_Koen> in my opinion if a card game is stealing your time with our friends, then you should probably not play it
17:18:47 * FreeFull isn't good at using fix
17:18:49 <GreyKnight> ais523: oh right, I see what you mean now
17:19:11 <Arc_Koen> plus it was our first game
17:19:26 <ais523> FreeFull: basically, fix \f.(stuff including f) is identical to "let rec f = "
17:19:34 <ais523> err, "let rec f = (stuff including f)"
17:19:46 <ais523> normally, the stuff including f would be a function itself
17:19:55 <Arc_Koen> if I introduce it with an obnoxious "I'm not gonna tell you what we are playing and you must shut up during the whole thing" I don't think they would have played
17:19:58 <Sgeo> Did I just put my pop-tarts in the microwave twice
17:19:58 <Sgeo> I have no diea
17:19:58 <Sgeo> idea
17:20:12 <Arc_Koen> but we had alot of fun so maybe we can try a more maoish version next time
17:20:39 <Arc_Koen> anyway I have to go, have a good evening
17:22:55 -!- greyooze has joined.
17:23:26 <greyooze> Sgeo: I haven't had those in years
17:23:43 <greyooze> now I'm hungry
17:23:46 -!- nooodl has joined.
17:24:06 -!- GreyKnight has quit (Ping timeout: 264 seconds).
17:24:06 * greyooze eats nooodl
17:24:11 -!- greyooze has changed nick to GreyKnight.
17:24:44 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds).
17:25:20 * nooodl dies...--More--
17:25:20 -!- Phantom_Hoover has joined.
17:27:48 -!- Vorpal has joined.
17:28:51 * GreyKnight presses space
17:29:47 <FreeFull> ais523: I can't figure how to do anything with fix other than make an infinite list with fix (3:)
17:31:17 <ais523> FreeFull: let exp2 = fix \f.\x. if (x == 0) then 1 else f(x-1)*2
17:31:23 <ais523> f is the recursive call
17:31:25 <ais523> and x the argument
17:32:38 <FreeFull> <interactive>:29:5: parse error on input `\'
17:32:48 <ais523> FreeFull: that's Verity, not Haskell
17:32:53 <FreeFull> Oh
17:32:56 <ais523> not sure what it looks like in Haskell syntax, someone can probably translate for me
17:33:43 <GreyKnight> FreeFull: \x.foo is, I think, (lambda (x) foo) in Scheme if that helps you translate
17:34:23 <FreeFull> So (\x -> foo) ?
17:34:32 <GreyKnight> (I don't recall Haskell's lambda syntax, I think it uses -> in place of the . ?
17:34:32 <GreyKnight> )
17:34:58 <ais523> GreyKnight: yeah, that makes sense
17:35:56 <FreeFull> Ok, fix (\f -> (\x -> if (x == 0) then 1 else f(x-1)*2)) works
17:36:06 <FreeFull> How would you use fix for recursion though?
17:36:11 <nooodl> > let exp2 = fix (\f x -> if (x == 0) then 1 else f(x-1)*2) in (exp2 5)
17:36:12 <lambdabot> 32
17:36:17 <FreeFull> Wait, nevermind
17:36:24 <ais523> FreeFull: that /is/ using fix for recursion
17:36:48 <FreeFull> I guess you have to provide a parameter =P
17:37:25 <ais523> FreeFull: you need to provide a lambda for the parameter
17:38:17 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
17:38:40 <GreyKnight> yay
17:38:40 <GreyKnight> basically it provides a letrec
17:38:46 <FreeFull> ais523: I meant for your example
17:39:17 <ais523> FreeFull: look at what nooodl did
17:39:29 <FreeFull> What if I wanted to use fix just to create the [1..] infinite list, without giving 1 as the parameter but rather having 1 inside the function
17:39:35 <FreeFull> I mean, inside the lambda
17:39:49 -!- Phantom_Hoover has joined.
17:40:58 <nooodl> hmm
17:40:58 <nooodl> > let f' = fix (\f x -> x : f (x + 1)) in f' 1
17:40:59 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28...
17:41:23 <nooodl> i don't think you can really get that 1 into the fix...
17:41:48 <FreeFull> > fix (\f -> 1:[(head f + 1)])
17:41:49 <lambdabot> [1,2]
17:42:35 <nooodl> > fix (\x -> ((x+1):))
17:42:36 <lambdabot> Occurs check: cannot construct the infinite type: a0 = [a0] -> [a0]
17:42:46 <FreeFull> > fix (\f -> 1:(map (+1) f))
17:42:47 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28...
17:42:52 <nooodl> oooh nice
17:43:00 -!- GreyKnight has quit (Ping timeout: 248 seconds).
17:43:31 -!- GreyKnight has joined.
17:44:07 <nooodl> man, that's a great fix example
17:44:10 <nooodl> i love it
17:44:53 <FreeFull> Seems fix (\x y z -> z:(map y x)) is the same as iterate y z
17:45:51 <nooodl> shouldn't that be: iterate = \y z -> fix (\x -> z:(map y x))
17:47:14 <FreeFull> > let itest = fix (\x y z -> z:(map y x)) in itest (+1) 1
17:47:16 <lambdabot> Couldn't match expected type `[a0]'
17:47:16 <lambdabot> with actual type `(a0 -> a...
17:47:26 <FreeFull> You're right
17:47:39 <FreeFull> > let itest = \y z -> fix (\x -> z:(map y x)) in itest (+1) 1
17:47:41 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28...
17:47:52 <fizzie> @pl \x -> z:(map y x)
17:47:53 <lambdabot> (z :) . map y
17:48:30 <fizzie> It's better because it has ":)" in it, and not ":(".
17:48:43 <FreeFull> @pl \x -> (x:)
17:48:44 <lambdabot> (:)
17:50:23 <nooodl> > fix $ (1:) . map succ
17:50:25 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28...
17:50:35 <nooodl> it's so... elegant...
17:50:53 <nooodl> (now that it has :) in it)
17:51:54 <GreyKnight> @help pl
17:51:54 <lambdabot> pointless <expr>. Play with pointfree code.
17:53:12 <GreyKnight> oh right
17:53:12 <GreyKnight> most pointless bot command ever :o)
17:53:34 <GreyKnight> I guess pointless transformation can be automated then?
17:54:06 <ais523> yes
17:54:13 <ais523> although the bot doesn't always do a perfect job of it
17:54:18 <ais523> transforming by hand gives better results
17:59:00 <fizzie> @pl \f g (a,b) -> (f a, g b)
17:59:00 <lambdabot> flip flip snd . (ap .) . flip flip fst . ((.) .) . flip . (((.) . (,)) .)
18:00:15 <GreyKnight> flipping 'eck
18:00:39 <fizzie> Also unpl is not exactly an inverse of pl.
18:00:42 <fizzie> @. unpl pl \f g (a,b) -> (f a, g b)
18:00:42 <lambdabot> (\ aa f -> (\ p w -> ((,)) (aa (fst p)) (f w)) >>= \ af -> snd >>= \ ae -> return (af ae))
18:01:04 <fizzie> @. unpl pl (\ aa f -> (\ p w -> ((,)) (aa (fst p)) (f w)) >>= \ af -> snd >>= \ ae -> return (af ae))
18:01:05 <lambdabot> (\ t f -> (\ l o -> ((,)) (t (fst l)) (f o)) >>= \ w -> snd >>= \ al -> return (w al))
18:01:25 <GreyKnight> @help unpl
18:01:25 <lambdabot> pointful <expr>. Make code pointier.
18:01:26 <fizzie> Aw, no more iterations?
18:01:35 <GreyKnight> it only claims to make the code *pointier* :o)
18:02:10 <fizzie> It's identityish enough for simple things.
18:02:11 <fizzie> @. unpl pl \x -> z:(map y x)
18:02:11 <lambdabot> (\ d -> z : (map y d))
18:05:55 <FreeFull> @unpl \x -> x
18:05:55 <lambdabot> \ x -> x
18:05:56 <oonbotti> ERROR:Word not found
18:06:06 -!- GreyKnight has quit (Remote host closed the connection).
18:06:06 -!- Bike has joined.
18:06:29 <FreeFull> fizzie: flip flip
18:06:37 <fizzie> flip flip fizzie
18:06:43 <fizzie> @ty flip flip
18:06:43 <lambdabot> b -> (a -> b -> c) -> a -> c
18:06:56 -!- GreyKnight has joined.
18:07:03 <FreeFull> :t flip
18:07:04 <lambdabot> (a -> b -> c) -> b -> a -> c
18:07:22 <fizzie> Well, that makes sense.
18:07:25 <GreyKnight> is there a more obfuscated way to describe lenses? The word "store" is almost easy to understand...
18:07:25 <GreyKnight> `? lens
18:07:27 <HackEgo> A lens is just a store comonad coalgebra!
18:07:50 <FreeFull> GreyKnight: Describe it in terms of Brainfuck
18:08:02 <fizzie> > flip flip 3 (+) 4 -- look, ma, it's infix
18:08:03 <lambdabot> 7
18:08:04 <GreyKnight> more category theory plox
18:08:45 <GreyKnight> bonus points if you can introduce another "co-" term
18:08:52 <nooodl> coflip
18:09:01 <FreeFull> cogreyknight
18:09:04 <fizzie> cocostore.
18:09:22 <FreeFull> colens
18:09:40 <c00kiemon5ter> cookie!
18:09:43 <GreyKnight> @let coflip a = a
18:09:45 <lambdabot> Defined.
18:09:58 <GreyKnight> what's a regular okie :-I
18:10:00 <FreeFull> @let coflip = id
18:10:01 <lambdabot> <local>:5:1:
18:10:01 <lambdabot> Equations for `coflip' have different numbers of arguments...
18:10:13 <nooodl> why is coflip id
18:10:54 <GreyKnight> actually really coflip should have type (a -> b -> c) -> a -> b -> c, I guess?
18:10:55 <GreyKnight> (disclaimer: I didn't reverse all the arrows in that type :o)
18:11:45 <FreeFull> That's the same as a -> a though
18:12:07 <FreeFull> Wait
18:12:07 <GreyKnight> but we require the input to be a function :-I
18:12:21 <FreeFull> :t (\f x y -> f x y)
18:12:23 <lambdabot> (t1 -> t2 -> t) -> t1 -> t2 -> t
18:12:28 <FreeFull> There you go
18:12:45 <FreeFull> Guess it's not the same
18:14:02 <GreyKnight> perfect
18:14:04 <GreyKnight> @let coflip = (\f x y -> f x y)
18:14:05 <lambdabot> <local>:5:1:
18:14:05 <lambdabot> Equations for `coflip' have different numbers of arguments...
18:14:07 <GreyKnight> @undefine coflip
18:14:28 <GreyKnight> @let coflip = (\f x y -> f x y)
18:14:30 <lambdabot> Defined.
18:14:54 <GreyKnight> > 2 (coflip (/)) 4
18:14:56 <lambdabot> Could not deduce (GHC.Num.Num ((t0 -> t0 -> t0) -> a0 -> t))
18:14:56 <lambdabot> arising fro...
18:15:17 <Bike> :t coflip flip
18:15:18 <lambdabot> (a -> t2 -> c) -> t2 -> a -> c
18:15:26 <GreyKnight> :<
18:16:28 <nooodl> what does "co-" mean generally
18:16:45 <GreyKnight> reverse ALL the arrows
18:16:56 <Bike> the dual, in some vague sense
18:17:47 <GreyKnight> > (flip (/)) 2 4
18:17:48 <lambdabot> 2.0
18:17:50 <GreyKnight> > (coflip (/)) 2 4
18:17:52 <lambdabot> 0.5
18:18:04 <GreyKnight> Perfect.
18:18:53 * GreyKnight wonders if a copumpkin is an Easter egg
18:23:06 <GreyKnight> Hm the unix pipe symbol is sort of flip (.)
18:23:37 <FreeFull> :t (€)
18:23:37 <lambdabot> fd:9: commitBuffer: invalid argument (invalid character)
18:23:41 <FreeFull> @t (€)
18:23:41 <lambdabot> Maybe you meant: tell thank you thanks thx ticker time todo todo-add todo-delete topic-cons topic-init topic-null topic-snoc topic-tail topic-tell type . ? @ ft v
18:23:44 <FreeFull> Oh wait
18:23:46 <FreeFull> lambdabot sucks
18:24:08 <GreyKnight> unfortunately | is already a syntax character in Haskell >:-(
18:24:17 <kmc> :t (>>>)
18:24:18 <lambdabot> Control.Category.Category cat => cat a b -> cat b c -> cat a c
18:24:32 <kmc> that specializes to (a -> b) -> (b -> c) -> (a -> c) i.e. flip (.)
18:24:39 <GreyKnight> oh good
18:24:44 <kmc> it's really obnoxious that (.) and (>>=) etc. flow in opposite directios
18:24:49 <GreyKnight> @botsnack
18:24:49 <lambdabot> :)
18:24:59 <Bike> :t (.)
18:25:01 <lambdabot> Functor f => (a -> b) -> f a -> f b
18:25:12 <GreyKnight> :t <<=
18:25:13 <lambdabot> parse error on input `<<='
18:25:13 <FreeFull> :t fmap
18:25:14 <lambdabot> Functor f => (a -> b) -> f a -> f b
18:25:50 <FreeFull> Bike: The standard is (.) :: (b -> c) -> (a -> b) -> a -> c but I guess lambdabot is using a different prelude
18:25:57 <kmc> yes
18:26:04 <kmc> lambdabot uses the "let's confuse beginners for fun" prelude
18:26:11 <GreyKnight> is this that Caleskell thing I keep hearing about
18:26:13 <kmc> yes
18:26:29 <FreeFull> > 3 4
18:26:30 <lambdabot> Could not deduce (GHC.Num.Num (a0 -> t))
18:26:30 <lambdabot> arising from the ambiguity chec...
18:26:35 <FreeFull> Ah, doesn't work anymore
18:26:41 <GreyKnight> :t lens
18:26:41 <lambdabot> Functor f => (s -> a) -> (s -> b -> t) -> (a -> f b) -> s -> f t
18:26:56 <GreyKnight> wow that's almost simple, where's the big crazy one?
18:27:09 <kmc> a programming language that doesn't ignore math is great, but i wish they would ignore more of the awful syntax mathematicians use
18:27:13 <FreeFull> It takes three functions and returns a function?
18:27:42 <FreeFull> kmc: In OO, . pretty much reads like unix |
18:28:00 <Bike> single-character identifiers are the future
18:28:09 <FreeFull> In Haskell, you sometimes have to read right, sometimes have to read left
18:28:52 <GreyKnight> Bike: Sure! Look at APL, for instance
18:29:20 <GreyKnight> Request: boustrophedron associativity
18:29:25 <FreeFull> APL is the paragon of readibility
18:29:33 <Bike> i thought APL had multi-character identifiers, just none in the standard.
18:30:05 <Sgeo> COFFEE
18:30:13 <GreyKnight> well yes but who uses *that* misfeature
18:30:45 <Bike> true
18:30:46 <Sgeo> I'd do a "Scheme is like Tcl" thing but the comparison actually makes sense on its own, rather than by looking at a twisted little thing that I have in mind
18:30:53 <Sgeo> *some sense
18:31:16 <Sgeo> But anyway: Scheme is like Tcl: They have a lot of OO systems to choose from and suffer for it
18:31:17 <FreeFull> Everyone knows that in Scheme you can use arbitrary strings in place of code
18:32:35 -!- GreyKnight has quit (Remote host closed the connection).
18:33:31 -!- GreyKnight has joined.
18:34:08 <GreyKnight> Sgeo: lua suffers from this a bit too
18:35:39 <GreyKnight> Thankfully you can usually at least do calls/field references on lua objects from an arbitrary object system with the same syntax
18:37:12 <Sgeo> shachaf, UPDATE
18:40:51 -!- GreyKnight has quit (Remote host closed the connection).
18:41:32 -!- zzo38 has joined.
18:41:33 -!- GreyKnight has joined.
18:54:16 <GreyKnight> I wonder if we can turn Monopoly into an esolang
18:55:00 <GreyKnight> Use some of the houserules to shovel money back into the system and it can run indefinitely
18:55:17 <AnotherTest> GreyKnight: a tape of properties you can buy? :D
18:55:26 <GreyKnight> Hm
18:55:48 <GreyKnight> I was hoping to use something close to standard equipment
18:56:17 <AnotherTest> You could maybe spend money to allocate memory?
18:57:04 <GreyKnight> Eh not a veryy interesting model of computation so far
18:57:11 <AnotherTest> It'd be non deterministic
18:57:13 <GreyKnight> veryyyyy
18:57:24 <AnotherTest> You'd have to throw dices
18:57:36 <AnotherTest> and see how much further you can move
18:57:53 <AnotherTest> alright my idea sucks
18:58:14 <FreeFull> Screw monopoly
18:58:16 <AnotherTest> (as in, it's not innovative, and just generally boring)
18:58:21 <FreeFull> Snakes and ladders
18:58:24 <zzo38> I thought of, can a program be written which decode NTSC NES/Famicom output making the 6-bit palette numbers (although some are duplicates and cannot be decoded uniquely) for each pixel?
18:58:38 <GreyKnight> FreeFull: oh that has potential
18:58:48 <GreyKnight> Fewer moving parts than monopoly too
18:59:15 <FreeFull> Add in laziness and make the board infinite
18:59:31 <Bike> b-but then how do you pass Go!
18:59:35 <AnotherTest> Is there a programming language yet where you have to play chess or something yet?
19:00:15 <AnotherTest> s/yet (where)/\1
19:02:27 -!- asiekierka has quit (Excess Flood).
19:02:34 -!- asiekierka has joined.
19:02:47 <AnotherTest> Ok that idea is bad too
19:02:58 <AnotherTest> and way too vague
19:03:07 <GreyKnight> Depends how you go about it
19:03:21 <GreyKnight> There is "esoteric chess" but it's purely a game
19:04:06 <FreeFull> :t (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)
19:04:08 <lambdabot> a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k -> l -> m -> n -> o -> p -> q -> r -> s -> t -> u -> v -> w -> x -> y -> z -> t28 -> t29 -> t30 -> t31 -> t32 -> t33 -> t34 -> t35 -> t36 -> t37 ->
19:04:08 <lambdabot> t38 -> t39 -> t40 -> t41 -> t42 -> t43 -> t44 -> t45 -> t46 -> t47 -> t48 -> t49 -> t50 -> t51 -> t52 -> t53 -> t54 -> t55 -> t56 -> t57 -> t58 -> t59 -> t60 -> t61 -> t62 -> t63 -> (a, b, c, d, e,
19:04:08 <lambdabot> f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47, t48, t49, t50, t51, t52, t53, t54,
19:04:08 <lambdabot> t55, t56, t57, t58, t59, t60, t61, t62, t63)
19:04:23 <GreyKnight> O_O
19:04:47 <AnotherTest> what about a language that requires solving the discrete logarithm problem?
19:05:07 <AnotherTest> ok no
19:05:37 <zzo38> How does "esoteric chess"?
19:06:02 <FreeFull> Chess where each spot is an instruction
19:06:14 <FreeFull> Which combines with the piece to become an operand
19:06:29 <FreeFull> And the first player to create a quine while obeying the conventional rules of chess wins
19:06:31 <GreyKnight> zzo38: I don't have a link handy, check chessvariants
19:07:23 <AnotherTest> Are there any concurrent esoteric programming languages actually?
19:07:49 <zzo38> GreyKnight: I performed a search on chessvariants and did not find it.
19:08:30 <GreyKnight> zzo38: there are symbols on the board and subsymbols on the pieces. As well as normal ("exoteric") moves, you can make "esoteric" moves which take your piece to the square which has the symbol of your current square XOR the piece's subsymbol
19:09:01 <GreyKnight> AnotherTest: not many, at least
19:09:12 <AnotherTest> that might be interesting
19:09:31 <AnotherTest> although it would have to have more than just being concurrent
19:11:29 <GreyKnight> zzo38: http://home.deds.nl/~spike/hesse/intrachange/ref/index.html
19:12:43 <zzo38> OK
19:13:27 <GreyKnight> It was inspired by the Glass Bead Game so he gets quite philosophical
19:14:47 <shachaf> Sgeo: Thanks!
19:14:57 <Sgeo> shachaf, you're welcome
19:15:12 -!- monqy has joined.
19:16:55 -!- asiekierka has quit (Excess Flood).
19:17:02 -!- asiekierka has joined.
19:20:45 -!- glogbackup has joined.
19:21:56 -!- AnotherTest has quit (Quit: Leaving.).
19:32:46 <zzo38> Yes I can see that, a lot having to do with the I Ching. But I still do not completely understand how the esoteric moves are determined. Maybe if I read again later I might understand better
19:34:35 <GreyKnight> It's fairly badly explained IMAO
19:45:42 <zzo38> Yes, it does seem badly explained.
19:49:46 <GreyKnight> Each square has what is effectively a six-bit symbol, and there are eight backrow pieces so they are labelled with three-bit symbols
19:51:32 <GreyKnight> Er no
19:51:42 <GreyKnight> Each of the six piece *types* corresponds to a particular bit in the square symbols
19:54:29 <GreyKnight> White pieces can only be on squares where their bit is on, black pieces where it's off
19:55:23 <GreyKnight> If you try to make a move into a disallowed square, you instead make an esoteric move to the corresponding square with that bit flipped
20:03:20 -!- Phantom_Hoover has quit (Read error: Operation timed out).
20:03:38 -!- ogrom has joined.
20:06:32 -!- asiekierka has quit (Excess Flood).
20:08:08 -!- asiekierka has joined.
20:13:07 <SirCmpwn> so I'm learning whitespace this weekend
20:13:41 <SirCmpwn> and then I'll be merging the brainfuck bot into the whitespace bot's code
20:14:45 <GreyKnight> While maintaining comments of course
20:14:54 <SirCmpwn> hah.
20:15:21 <SirCmpwn> I'm writing some code to turn psuedo-assembly into whitespace
20:15:29 <SirCmpwn> because I can think of nothing I want to do less than actually code in whitespace
20:16:56 <c00kiemon5ter> I am looking into factor today
20:20:15 -!- Phantom_Hoover has joined.
20:22:20 <c00kiemon5ter> stack-based concatenative languages seem fun
20:22:31 <c00kiemon5ter> yesterday I was looking at forth
20:22:51 <Taneb> c00kiemon5ter, check out Fueue. It's queue-based and ridiculous
20:24:05 <SirCmpwn> whitespace is not well documented
20:24:12 <SirCmpwn> how the fuck do labels work, for instance
20:25:01 <Taneb> They're just go-to points?
20:25:49 <SirCmpwn> sure
20:25:53 <SirCmpwn> but how do you identify them
20:25:59 <SirCmpwn> do they have a name? are the referred to relatively?
20:26:27 <SirCmpwn> oh, I see
20:26:30 <SirCmpwn> it's mentioned further up
20:27:00 <GreyKnight> Esolangs are well-known for their clear and well-organised documentation
20:28:35 -!- sebbu has quit (Read error: Connection reset by peer).
20:29:07 -!- sebbu has joined.
20:29:07 -!- sebbu has quit (Changing host).
20:29:07 -!- sebbu has joined.
20:29:40 <SirCmpwn> and how do subroutines work
20:29:47 <SirCmpwn> do they push a return address like sensible people
20:29:52 <SirCmpwn> or do they just store it in some undefined location
20:30:23 <Taneb> The latter
20:32:53 <SirCmpwn> incorrect
20:32:57 <SirCmpwn> the reference implementation uses the stack
20:32:58 <Taneb> Okay
20:33:13 <Taneb> Reference implementation is not the specification
20:33:53 <Taneb> I think an implementer is allowed to do whatever as long as behaviour is consistent
20:33:58 <GreyKnight> Well, for some esolangs it's the closest thing :-)
20:37:24 <SirCmpwn> this is the little assembly syntax I wrote up for whitespace: https://gist.github.com/f5f866bb98f4e6791334
20:37:30 <SirCmpwn> should make my life easier
20:39:35 -!- zzo38 has quit (Remote host closed the connection).
20:39:41 <fizzie> But isn't that cheating? ;)
20:39:49 <SirCmpwn> yes.
20:41:40 <GreyKnight> Writes bf by hand // Cheats at Whitespace
20:42:17 <GreyKnight> (in fairness he never claimed to be consistent, so it's okay in my book)
20:42:28 <SirCmpwn> well, brainfuck can actually be read with relative ease
20:42:45 <SirCmpwn> and I'm not preprocessing anything, I'm just mapping mnomics to whitespace code
20:43:15 <GreyKnight> *mnemonics
20:43:19 <SirCmpwn> yes, right
20:43:59 <GreyKnight> MNomic: a monad for representing nomic rulesets
20:44:27 <SirCmpwn> mnemonics, got it.
20:44:48 <Taneb> GreyKnight, that... would be virtually impossible to code
20:45:00 <GreyKnight> :<
20:45:26 <GreyKnight> Wait, *virtually* impossible? So really possible, okay :-D
20:45:49 <Taneb> Who knows, I've never tried
20:46:00 <Taneb> I bet if you used Cont and IO, it's doable
20:46:23 <GreyKnight> yay
20:46:38 <Taneb> God, my web-page looks dreary
20:47:25 <GreyKnight> Link?
20:47:27 <kmc> woah a 787 caught fire on the ground at my local airport
20:47:53 <Taneb> http://www.vandoorn.talktalk.net/esoteric/
20:48:05 <hagb4rd> hope it didn't take off then
20:48:22 <kmc> indeed
20:49:31 -!- GreyKnight has quit (Remote host closed the connection).
20:49:52 -!- GreyKnight has joined.
20:50:13 -!- GreyKnight has quit (Client Quit).
20:51:00 -!- GreyKnight has joined.
20:53:43 <GreyKnight> Taneb: I recommend setting the CSS property cursor: pointer; on your headers there, it will make it more obvious that they do something
20:54:27 <Taneb> Yeah, I'll change the colour scheme while I'm at it
20:54:39 -!- oerjan has joined.
20:55:14 <GreyKnight> MIBBLLII: best bf derivative
20:55:32 <Taneb> What makes you think it's a BF derivative?
20:56:18 <GreyKnight> well, I use the term loosely
20:57:46 <Taneb> Can you guess which is my favourite language on that page?
20:58:24 <GreyKnight> Fueue?
20:58:40 <Taneb> It's actually Luigi
20:59:05 <GreyKnight> Real Fast Nora's Hair Salon 3: Shear Disaster Download needs some more detail I think
20:59:16 <fizzie> Taneb: Are you actually Mario?
20:59:34 <Taneb> fizzie, I'm Princess Daisy
20:59:41 <GreyKnight> Idea: Mario Kart esolang
20:59:50 <hagb4rd> no! don't change the colour scheme! it actually is fine
21:00:16 <Taneb> hagb4rd, it looks really grim
21:00:28 <hagb4rd> i like it.. somehow
21:00:42 <hagb4rd> it's pretty basic
21:00:55 <hagb4rd> minimal
21:01:30 <GreyKnight> maybe put a coloured bar behind the page title too
21:01:31 -!- asiekierka has quit (Excess Flood).
21:01:37 -!- asiekierka has joined.
21:04:33 <oerjan> `? lens
21:04:34 <HackEgo> A lens is just a store comonad coalgebra!
21:04:58 <shachaf> What's with the "comonad"?
21:05:08 <oerjan> `run sed -i 's/!$/./' wisdom/lens
21:05:08 <FreeFull> `? comonad
21:05:11 <oerjan> `? lens
21:05:12 <HackEgo> Comonads are just monads in the dual category.
21:05:14 <HackEgo> No output.
21:05:15 <HackEgo> A lens is just a store comonad coalgebra.
21:05:23 <FreeFull> `? dual
21:05:24 <shachaf> That's like saying "IO monad" instead of "IO"
21:05:26 <HackEgo> dual? ¯\(°_o)/¯
21:05:36 <GreyKnight> I don't know, I just copy-and-pasted it from something elliott said
21:05:48 <FreeFull> `? monad
21:05:49 <HackEgo> Monads are just monoids in the category of endofunctors.
21:05:53 <Taneb> `? monoid
21:05:56 <HackEgo> Monoids are just categories with a single object.
21:06:00 <Taneb> `? category
21:06:02 <HackEgo> Categories are just categories.
21:06:06 <FreeFull> `? object
21:06:08 <HackEgo> An object is just something in a category.
21:06:10 <Taneb> `? endofunctor
21:06:12 <HackEgo> Endofunctors are just endomorphisms in the category of categories.
21:06:13 <hagb4rd> what i really can't look at any more is black font on white background.. it just burns my eyes at night (though i dropped contrast and brightnes as far as "possible")
21:06:16 <FreeFull> `? single
21:06:17 <Taneb> `? endomorphism
21:06:18 <HackEgo> single? ¯\(°_o)/¯
21:06:19 <HackEgo> Endomorphisms are just morphisms which compose with themselves.
21:06:23 <GreyKnight> shachaf: what
21:06:24 <Taneb> `? morphism
21:06:26 <HackEgo> A morphism is just a map between two objects in an abstract category.
21:06:30 <Taneb> `? map
21:06:32 <HackEgo> map? ¯\(°_o)/¯
21:06:35 <FreeFull> `? abstract category
21:06:37 <HackEgo> abstract category? ¯\(°_o)/¯
21:06:43 <FreeFull> `? category
21:06:45 <HackEgo> Categories are just categories.
21:06:56 <FreeFull> `? HackEgo
21:06:58 <HackEgo> HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing.
21:07:04 <shachaf> FreeFull...........................
21:07:08 <FreeFull> `? shachaf
21:07:10 <HackEgo> shachaf sprø som selleri
21:07:18 <Taneb> `? Taneb
21:07:19 <GreyKnight> FreeFull: these work in private message too...
21:07:20 <HackEgo> Taneb is not elliott, no matter who you ask. He also isn't a rabbi although he has pretended in the past.
21:07:28 <GreyKnight> `? spam
21:07:31 <HackEgo> spam? ¯\(°_o)/¯
21:07:37 <olsner> hmm, what *is* an abstract category?
21:07:43 <Taneb> `? Ngevd
21:07:45 <HackEgo> ​ps1Zug6˯6Wok٩歲L3R V`1Y+I|Qf㷆4Ô'Y!>eͲ|!?αv9X;fꙿ.\&LH6#QAkN}Яm?GJ.1,o^SF!cפ>'k=VHpϖ$Qr.h>]!sqI[0iM+.9>kvPil˱23)M;ߢ%Kl1Aj\5C.˶zjr۷.1lrj<]'#Ze?F"jPBY
21:07:50 <FreeFull> Aw jeez
21:08:22 <shachaf> olsner: I think it has to do with the category of papers.
21:08:35 <FreeFull>
21:08:59 <hagb4rd> how are these entries modified?
21:09:47 <oerjan> `learn Spam is a delicious meat product. See http://www.spamjamhawaii.com/
21:09:50 <HackEgo> I knew that.
21:09:56 <hagb4rd> cool
21:09:57 <GreyKnight> they're just text files
21:09:58 <GreyKnight> in the wisdom/ directory
21:10:08 <olsner> spam jam, nice
21:10:18 <hagb4rd> thx greyknight
21:10:56 <hagb4rd> `run ls wisdom | paste
21:10:59 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.18219
21:11:07 <GreyKnight> `run "See `? for further details." > 'wisdom/`?'
21:11:09 <HackEgo> bash: -c: line 0: unexpected EOF while looking for matching `"' \ bash: -c: line 1: syntax error: unexpected end of file
21:11:13 <GreyKnight> oh right
21:11:21 <GreyKnight> `run 'See `? for further details.' > 'wisdom/`?'
21:11:25 <HackEgo> bash: See `? for further details.: command not found
21:11:30 <GreyKnight> `run echo 'See `? for further details.' > 'wisdom/`?'
21:11:34 <GreyKnight> -_-;;
21:11:34 <HackEgo> No output.
21:13:40 <oerjan> `run echo "Morphisms are just elements of the Hom-set of a pair of objects." >wisdom/morphism
21:13:41 <hagb4rd> `url ?
21:13:44 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/?
21:13:46 <HackEgo> No output.
21:14:04 <hagb4rd> `url wisdom/?
21:14:06 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/wisdom/?
21:14:10 <FreeFull> `cat /dev/urandom
21:14:12 <HackEgo> ​/ls>~(Caj)HlW@ˈlkm,FncCr&4WU-,L'<;sJD$,z7>ZؔEZJLY&j:."$]<ØDPR2~rvW~{o.)(b3lc5a+@)
21:14:21 <oerjan> `run echo "Hom-sets are just sets of morphisms between two objects." >wisdom/hom-set
21:14:25 <HackEgo> No output.
21:14:32 <oerjan> `? object
21:14:34 <HackEgo> An object is just something in a category.
21:14:51 <oerjan> `echo "Objects are just elements of a category." >wisdom/object
21:14:52 <HackEgo> ​"Objects are just elements of a category." >wisdom/object
21:15:40 <oerjan> `run grep "is just" wisdom/*
21:15:44 <shachaf> Categories are just objects in the category of categories.
21:16:01 <GreyKnight> hagb4rd: it's `?
21:16:04 <GreyKnight> `? `?
21:16:06 <HackEgo> See `? for further details.
21:16:12 <HackEgo> No output.
21:16:29 <oerjan> `? quine
21:16:31 <HackEgo> ​`? quine
21:16:36 <oerjan> thought so
21:16:49 <GreyKnight> `? brick
21:16:51 <HackEgo> brick? ¯\(°_o)/¯
21:17:08 -!- carado has quit (Ping timeout: 246 seconds).
21:18:05 <GreyKnight> `run echo "Brick goes in brain. A common punishment for perpetrators of brainf**k derivatives." > wisdom/brick
21:18:09 <HackEgo> No output.
21:18:27 <oerjan> darn i was just about to write something like that
21:18:43 <GreyKnight> `run sed -i 's/A common/The statutory/' wisdom/brick
21:18:47 <HackEgo> No output.
21:19:06 <oerjan> `run sed -i 's/[*][*]/uc/' wisdom/brick
21:19:09 <HackEgo> No output.
21:19:13 <oerjan> `? brick
21:19:15 <HackEgo> Brick goes in brain. The statutory punishment for perpetrators of brainfuck derivatives.
21:19:54 <olsner> `? brain
21:19:54 -!- ogrom has quit (Quit: Left).
21:19:55 <HackEgo> brain? ¯\(°_o)/¯
21:20:07 <oerjan> `? brainfuck
21:20:09 <HackEgo> brainfuck? ¯\(°_o)/¯
21:20:17 <GreyKnight> "brain: a receptacle for bricks" ?
21:20:22 <olsner> `run echo "Brains are just bricks." >wisdom/brain
21:20:25 <HackEgo> No output.
21:20:31 <monqy> `? brainf**k
21:20:33 <HackEgo> brainf**k? ¯\(°_o)/¯
21:20:45 <GreyKnight> `run sed -i 's/just/just receptacles for/' wisdom/brain
21:20:49 <HackEgo> No output.
21:21:05 <oerjan> `learn brainfuck is the anti-derivative of esolangs.
21:21:08 <HackEgo> I knew that.
21:21:28 <GreyKnight> I was going to say it "is the integral of the family of terrible esolangs"
21:21:36 <shachaf> `cat bin/learn
21:21:38 <HackEgo> ​#!/bin/sh \ topic=$(echo "$1" | sed 's/ .*//' | tr A-Z a-z) \ info=$(echo "$1" | sed 's/[^ ]* //') \ echo "$1" >"wisdom/$topic" \ echo "I knew that."
21:21:40 <oerjan> ooh maybe that's better
21:21:58 <hagb4rd> i love this statement
21:21:59 <oerjan> `learn brainfuck is the integral of the family of terrible esolangs."
21:22:01 * GreyKnight was assuming bin/learn just consisted of "echo 'I knew that'"
21:22:02 <HackEgo> I knew that.
21:23:12 <oerjan> `run echo "There is no such thing as brainf**k. You may be thinking of brainfuck." >'wisdom/brainf**k'
21:23:16 <HackEgo> No output.
21:23:17 <shachaf> oerjan: You should make a `learn variant that accepts the full sentence directly.
21:23:22 <shachaf> Rather than using echo.
21:23:23 <oerjan> `? brainf**k
21:23:25 <HackEgo> There is no such thing as brainf**k. You may be thinking of brainfuck.
21:23:32 <monqy> `? brainf*ck
21:23:34 <HackEgo> brainf*ck? ¯\(°_o)/¯
21:23:39 <shachaf> hi monqy
21:23:41 <shachaf> `? monqy
21:23:42 <monqy> hi shachaf
21:23:43 <HackEgo> The friendship monqy is an ancient Chinese mystery; ask itidus21 for details.
21:23:47 <monqy> `? shachaf
21:23:49 <HackEgo> shachaf sprø som selleri
21:23:53 <shachaf> `ls wisdom/
21:23:54 <HackEgo> ​`? \ ? \ ☃ \ 🐐 \ ais523 \ atriq \ augur \ banach-tarski \ boily \ bonvenon \ brain \ brainf**k \ brainfuck \ brick \ c \ cakeprophet \ category \ coffee \ comonad \ coppro \ egobot \ elliott \ endofunctor \ endomorphism \ england \ esoteric \ europe \ everyone \ finland \ finnish \ finns \ fizzie \ flower \ freefull \ friendship \ functor \
21:24:00 <shachaf> `? functor
21:24:02 <HackEgo> Functors are just morphisms in the category of small categories
21:24:08 <GreyKnight> `? ☃
21:24:10 <HackEgo> ​☃ brrr...
21:24:11 <monqy> `? friendship
21:24:13 <HackEgo> friendship wisdom
21:24:27 <GreyKnight> `? fungot
21:24:28 <fungot> GreyKnight: it's just like any other
21:24:30 <HackEgo> fungot cannot be stopped by that sword alone.
21:24:53 <GreyKnight> fungot: It is not! This one's got your name on it.
21:24:53 <fungot> GreyKnight: and each bitstring has the same bug as moz firefox ( fnord doesn't work
21:25:33 <augur> `? augur
21:25:35 <HackEgo> augur took no cakes.
21:25:36 <oerjan> ^style ct
21:25:37 <fungot> Selected style: ct (Chrono Trigger game script)
21:25:37 <augur> :(
21:25:42 <augur> i want a cake!
21:25:45 <augur> `take a cake
21:25:47 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: take: not found
21:25:50 <oerjan> fungot: what's that sword all about
21:25:50 <fungot> oerjan: time to shove off you go! didn't you create him? that kino guy!
21:26:12 <oerjan> `? Gregor
21:26:13 <HackEgo> Gregor ? ¯\(°_o)/¯
21:26:15 <oerjan> `? Gregor
21:26:16 <HackEgo> Gregor took forty cakes. He took 40 cakes. That's as many as four tens. And that's terrible.
21:26:19 <GreyKnight> `take 40 cakes (as many as four tens)
21:26:21 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: take: not found
21:26:49 <oerjan> `cat bin/?
21:26:51 <HackEgo> ​#!/bin/sh \ topic=$(echo "$1" | tr A-Z a-z) \ [ -e "wisdom/$topic" ] || { echo "$1? ¯\(°_o)/¯"; exit 1; } \ cat "wisdom/$topic"
21:28:22 <GreyKnight> `? feather
21:28:23 <oerjan> `run sed -i 's/a-z/a-z | sed "s\/ *$\/\/"/' bin/'?'
21:28:24 <HackEgo> feather? ¯\(°_o)/¯
21:28:26 <HackEgo> No output.
21:28:31 <oerjan> `cat bin/?
21:28:32 <HackEgo> ​#!/bin/sh \ topic=$(echo "$1" | tr A-Z a-z | sed "s/ *$//") \ [ -e "wisdom/$topic" ] || { echo "$1? ¯\(°_o)/¯"; exit 1; } \ cat "wisdom/$topic"
21:28:38 <kmc> berlin brandenberg airport opening is delayed to 2014
21:28:44 <oerjan> `? Gregor
21:28:46 <HackEgo> Gregor took forty cakes. He took 40 cakes. That's as many as four tens. And that's terrible.
21:28:51 <oerjan> FINALLY
21:29:20 <oerjan> no more shall we be downthrodden by the evil of nick autocompletion
21:29:42 <shachaf> oerjan: You should delete the space after the nick anyway...
21:29:51 <oerjan> SHUSH YOU
21:30:10 <shachaf> For example, when I typed that, I pressed: o e r <tab> <backspace> <backspace> : <space> Y o u ...
21:30:17 <shachaf> I do that everywhere.
21:30:47 <GreyKnight> I have my client fill in the ": " automatically if it's at the start of a line
21:30:49 <oerjan> wait is there really nothing about feather
21:30:54 <oerjan> `? feather
21:30:56 <HackEgo> feather? ¯\(°_o)/¯
21:30:59 <oerjan> `? ais523
21:31:01 <HackEgo> Agent "Iä" Smith is an alien with a strange allergy to avian body covering, which he is trying to retroactively prevent from ever evolving.
21:31:01 <kmc> `quote feather
21:31:03 <HackEgo> 891) -!- ais523 has parted #esoteric ("someone is going to mention Feather, I know it"). \ 892) <Bike> i don't even know anything about feather and i'm getting sick of the time travel jokes \ 893) <shachaf> oerjan: Comonads? <oerjan> shachaf: no, feather
21:31:09 <kmc> `quote feather
21:31:11 <HackEgo> 891) -!- ais523 has parted #esoteric ("someone is going to mention Feather, I know it"). \ 892) <Bike> i don't even know anything about feather and i'm getting sick of the time travel jokes \ 893) <shachaf> oerjan: Comonads? <oerjan> shachaf: no, feather
21:31:35 <GreyKnight> oerjan: it wiollen haben be written antilater
21:31:54 <shachaf> kmc: `quote doesn't randmize when you give it an argument. :-(
21:32:00 <kmc> ok
21:32:05 <kmc> `quote kmc.*feather
21:32:07 <HackEgo> No output.
21:32:10 <kmc> fuck it
21:32:12 <hagb4rd> kmc: yea, it's the second delay (because of some fire security mismanagement). the costs of it rise from planned 2bio€ to 4,3bio€..top new around here
21:32:27 <oerjan> GreyKnight: the ais523 one is an allusion.
21:32:30 <hagb4rd> *news
21:32:35 <shachaf> @quote kmc
21:32:35 <lambdabot> kmc says: types substitute for documentation much better than documentation substitutes for types
21:32:41 <shachaf> @quote <
21:32:41 <lambdabot> Plugin `quote' failed with: getRandItem: empty list
21:32:49 <shachaf> @quote kmc
21:32:49 <lambdabot> kmc says: maybe the 9,639,482nd time we argue about C++ we will finally resolve the issue
21:33:01 <shachaf> (spoilers: they didn't)
21:33:02 <kmc> hagb4rd: wow, that's a huge jump
21:33:13 <hagb4rd> yep
21:33:15 <oerjan> `run ls *quo*
21:33:16 <HackEgo> quotes \ quotese
21:33:22 <oerjan> `run ls bin/*quo*
21:33:24 <HackEgo> bin/addquote \ bin/allquotes \ bin/delquote \ bin/pastaquote \ bin/pastenquotes \ bin/pastequotes \ bin/quoerjan \ bin/quoerjandom \ bin/quote \ bin/quotes
21:33:53 <olsner> `quoerjan
21:33:54 <monqy> `cat quotese
21:33:55 <HackEgo> 685) <fizzie> oerjan: Hey, what's your country code for telephonistic dialling from the outside world? <oerjan> fizzie: +47 <fizzie> oerjan: Ooh, you're, like, right next to Sweden there. <fizzie> I... guess you are geographically, too. \ 873) <oerjan> i think the problem is you're trying to interpret finnish as logic. \ 262) <fungot> oerjan: ar
21:33:56 <HackEgo> ​<Slereah> EgoBot just opened a chat session with me to say "bork bork bork" \ <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order. \ <AnMaster> that's where I got it <AnMaster> rocket launch facility gift shop \ <Warrigal> GKennethR: he should be t
21:34:07 <olsner> `quoerjandom
21:34:09 <HackEgo> 7) <oerjan> what, you mean that wasn't your real name? <Warrigal> Gosh, I guess it is. I never realized that.
21:34:47 <ais523> is that just a random oerjan quote?
21:34:50 <ais523> `quoerjandom
21:34:51 <HackEgo> 804) * oerjan makes a brainfuck derivative for quoting xkcds
21:34:54 <ais523> I guess so
21:35:31 <oerjan> `quoerjan
21:35:33 <HackEgo> 361) <elliott_> I'm not even going to try and understand what you're proposing. <oerjan> i understand it perfectly. it's completely nuts. \ 376) <oerjan> adding quotes by yourself is strictly prohibited and will lead to you being banned \ 636) * oerjan concludes that unsafeCoerce has no effect on strictness \ 95) <oerjan> insufficient time dilati
21:35:55 <hagb4rd> `cat bin/quoerjandom
21:35:56 <HackEgo> quoerjan | shuf -n 1
21:36:12 <oerjan> `cat bin/quoerjan
21:36:14 <HackEgo> allquotes | grep oerjan | shuf
21:36:40 <ais523> oerjan: did you add 376?
21:36:48 <oerjan> MAYBE
21:38:32 <oerjan> `rm bin/quoerjandom
21:38:35 <HackEgo> No output.
21:38:53 <oerjan> after recent changes that has become even more redundanter
21:38:58 <shachaf> oerjan: Hmm, I think we should restore quoerjan and quoerjandom to their old state.
21:39:26 <shachaf> `quoerjan
21:39:28 <HackEgo> 382) <Phantom_Hoover> oerjan, little do you realise that everything you say and do is part of that great monad tutorial we call life. \ 514) <oerjan> theorem prover yada yada halting problem. \ 635) <CakeProphet> but yeah the caliphates expanded their empire by conquering people and then forcing them to either convert to Islam or die. [...] <oerjan
21:39:33 <shachaf> `zalgoerjan hi monqy
21:39:34 <HackEgo> o͖eͪr̗j̓a͈nͩ ͣh͂ȉ ̍mͩo͑n͔q͐yͥ
21:39:54 <hagb4rd> `cat bin/pastelog
21:39:56 <HackEgo> ​#!/bin/sh \ cd /var/irclogs/_esoteric \ \ pasterandom() { \ if [ "$1" -gt 150 ]; then \ echo "No." \ exit \ fi \ for i in $(seq "$1"); do \ file=$(shuf -en 1 ????-??-??.txt) \ echo "$file:$(shuf -n 1 $file)" \ done | paste \ } \ \ if [ "$1" ]; then \ if expr "$1" + 0 >/dev/null 2>&1; then \
21:40:27 <hagb4rd> `cat bin/log
21:40:28 <HackEgo> ​#!/bin/sh \ cd /var/irclogs/_esoteric \ if [ "$1" ]; then \ grep -P -i -- "$1" ????-??-??.txt | shuf -n 1 \ else \ file=$(shuf -en 1 ????-??-??.txt) \ echo "$file:$(shuf -n 1 $file)" \ fi
21:40:31 <olsner> `quote fungot
21:40:31 <fungot> olsner: that no one was allowed to use the crane, enter any two of these letters, a b y.
21:40:33 <HackEgo> 11) <fungot> GregorR-L: i bet only you can prevent forest fires. basically, you know. \ 14) <fizzie after embedding some of his department research into fungot> Finally I have found some actually useful purpose for it. \ 16) <fungot> oerjan: are you a man, if there weren't evil in this kingdom to you! you shall find bekkler! executing program. plea
21:40:44 <Bike> qungot?
21:41:07 <shachaf> Bike: That's not how it works.
21:41:14 <shachaf> We should have a parallel bot, HackEgoerjan.
21:41:15 <FreeFull> `run echo $0
21:41:17 <HackEgo> bash
21:41:34 <FreeFull> `echo $0
21:41:36 <HackEgo> ​$0
21:41:42 <FreeFull> `pwd
21:41:44 <HackEgo> ​/hackenv
21:42:00 <Bike> shachaf: fungoerjan?
21:42:31 <hagb4rd> #esoerjan
21:42:37 <hagb4rd> k
21:42:40 <hagb4rd> enough
21:43:00 <shachaf> Bike: I don't know why I even bother responding to someone with a four-letter nick.
21:43:05 <oerjan> i support #esoerjan if you stop talking about this here
21:43:58 -!- HackEgo has quit (Remote host closed the connection).
21:44:02 <Bike> shachaf, that is uncalled for discrimination.
21:44:17 <oerjan> `? lens
21:44:24 <oerjan> oops
21:44:26 <FreeFull> And hackbot crashed
21:44:36 <GreyKnight> Gregor: :<
21:44:41 <hagb4rd> swat him
21:45:01 * oerjan swats GreyKnight -----###
21:45:06 <hagb4rd> yea
21:45:09 <GreyKnight> ow
21:45:28 <oerjan> it's your own fault for using smileys that look like flies
21:45:46 <shachaf> Speaking of which, http://i.imgur.com/NPo4R.jpg
21:46:18 <oerjan> O KAY
21:46:20 <GreyKnight> compound: ꙮ-)
21:46:24 -!- asiekierka has quit (Excess Flood).
21:46:31 -!- asiekierka has joined.
21:47:20 <olsner> shachaf: funpuns
21:47:32 <shachaf> olsner: byfare
21:47:36 <shachaf> whoa, dude
21:47:38 <FreeFull> Who runs hackbot?
21:47:50 <ais523> FreeFull: HackEgo is GregorR's
21:47:57 <ais523> GreyKnight: HackEgo left for no obvious reason
21:48:22 <FreeFull> I might have done `run rm -rf *
21:48:26 <FreeFull> Just maybe
21:48:34 <oerjan> FreeFull: that won't do anything hth
21:48:45 <FreeFull> Depends on how often the snapshots are
21:48:56 <oerjan> no, it won't, period.
21:49:22 <FreeFull> oerjan: Well, ls said no files found before hackego went off
21:49:32 <oerjan> wat
21:49:48 <GreyKnight> ais523: I know, I was prompting Gregor to see if he would fix it for us
21:50:24 <FreeFull> oerjan: Why did you think it would do nothing
21:50:30 <oerjan> FreeFull: was this in a separate command?
21:50:44 -!- Taneb has quit (Ping timeout: 255 seconds).
21:50:46 <oerjan> FreeFull: because everyone has tried it before, and it does nothing. hth.
21:50:52 * GreyKnight requests a swat for FreeFull
21:50:55 <olsner> I haven't tried it
21:50:58 <FreeFull> oerjan: I did it in PM
21:51:07 <FreeFull> Just `run rm -rf *
21:51:41 <shachaf> oerjan is very hthelpful.
21:51:44 <FreeFull> The `run is important, because otherwise the * becomes a blank
21:51:49 <oerjan> i know
21:52:05 <oerjan> FreeFull: in any case, http://codu.org/projects/hackbot/fshg/ doesn
21:52:08 <olsner> if hth was a single consonant, I wonder how it would sound
21:52:11 <oerjan> t show your command
21:52:27 <FreeFull> oerjan: `run runs it in bash
21:52:41 <FreeFull> And if everything got deleted, it wouldn't show up, would it
21:53:08 <oerjan> FreeFull: ...you have no idea how HackEgo works, do you.
21:53:10 <GreyKnight> the repository is outside the sandbox's scope
21:53:11 <FreeFull> Maybe it doesn't show stuff from PM
21:53:22 <FreeFull> GreyKnight: Yeah, so it can get restored
21:53:38 <FreeFull> But there might be stuff that didn't get commited
21:53:41 <GreyKnight> which means rm inside the sandbox can't delete records from the repository
21:54:00 <FreeFull> Yes, I know that
21:54:05 <oerjan> FreeFull: how did you check that there were no files and what was the response
21:54:21 <FreeFull> I closed the chat afterwards
21:54:28 <FreeFull> But the first ls listed lots of stuff
21:54:44 <FreeFull> The second said there wasn't anything
21:55:06 <oerjan> FreeFull: btw you can get "No output." simply from HackEgo timing out
21:55:32 <oerjan> my bet is it was already crashing and it had nothing to do with files disappearing
21:55:49 <FreeFull> I don't think it was No output.
21:56:15 <GreyKnight> it also doesn't list my most recent privmsg commands (which I was waiting on for a while with no results)
21:56:39 -!- monqy has quit (Quit: hello).
21:57:05 <oerjan> @read "\xe2\x8c\xa8"
21:57:06 <lambdabot>
22:04:23 <GreyKnight> is there a unicode tumbleweed '_'
22:06:39 <oerjan> a unique ode to unicode
22:07:38 <shachaf> ^rot13 oerjan
22:07:39 <fungot> brewna
22:07:57 <FreeFull> ^rot13 is this actually rot13?
22:07:57 <fungot> vf guvf npghnyyl ebg13?
22:08:00 <FreeFull> Yes
22:08:01 <FreeFull> Ok
22:08:24 <oerjan> ^echo Why would you expect fungot not to have normal commands?
22:08:24 <fungot> Why would you expect fungot not to have normal commands? Why would you expect fungot not to have normal commands?
22:09:12 <hagb4rd> ^echo say it twice.
22:09:12 <fungot> say it twice. say it twice.
22:09:36 <kmc> yields falsehood when proceeded by its quotation
22:09:47 <FreeFull> kmc: Good thing it isn't
22:10:29 <hagb4rd> now i get the joke
22:10:32 <hagb4rd> maybe
22:10:40 <kmc> it's from GEB
22:11:11 <GreyKnight> ^echo Banach-Tarski
22:11:11 <fungot> Banach-Tarski Banach-Tarski
22:11:19 <kmc> except i can't spell
22:11:45 <kmc> "yields falsehood when preceded by its quotation" yields falsehood when preceded by its quotation
22:11:48 <kmc> is this statement true or false?
22:12:07 <Bike> no
22:12:17 <kmc> it's a paradox akin to "This statement is false", and yet it avoids explicit self-reference like "this statement"
22:12:35 <Bike> and what do you mean it's from geb? i thought quine came up with it
22:12:39 <kmc> well maybe
22:12:42 <kmc> i know if it through GEB
22:12:49 <kmc> know of*
22:12:49 <Bike> well yeah me too but still
22:12:53 <kmc> damn this cough syrup is strong
22:13:41 <Bike> « He revised traditional quotation into a system where the length of outer pairs of so called q-marks of an expression is determined by the q-marks that appear inside the expression.» god logic is weird
22:15:17 <oerjan> "is weird preceded by its quotation" is weird preceded by its quotation
22:15:45 <GreyKnight> «Uses weird quotation marks» is a property of Bike
22:16:17 <Bike> a property, or a class???
22:16:24 <kmc> 『hell yeah』
22:18:04 * FreeFull pokes Gregor
22:18:11 <kmc> "Q: I'm reading a book which uses italic text to mean something distinct from roman text. Doesn't that mean that italics should be encoded in Unicode?"
22:18:14 <kmc> "A: No. It's common for specific formatting to be used to convey some of the semantic content—the meaning—of a text. Unicode is not intended to reproduce the complete semantic content of all texts, but merely to provide plain text support required by minimum legibility for all languages."
22:18:48 <kmc> and then they added 13 extra copies of the latin alphabet for mathematicians anyway >_<
22:19:27 <Bike> how many typefaces treat blackboard bold like they do italics anyhow
22:19:38 <kmc> maybe latex?
22:20:07 <hagb4rd> well, i agree with that. formating shouldn't be done with encoding
22:20:16 <Bike> i don't think latex is a typeface... am I wrong
22:20:19 <kmc> it's not
22:20:23 <kmc> i meant "the various typefaces used by latex"
22:20:30 <Bike> oh ok
22:20:41 <kmc> hagb4rd: sure, but the question is whether various things are "formatting" or not
22:21:01 <kmc> the question of whether two glyphs are "the same character" formatted differently, or different characters
22:21:08 <kmc> this is a tricky question
22:21:20 <Bike> well, hm, maybe they justify math characters in the same way they justify including cyrillic characters that look just like latin ones?
22:21:58 <kmc> in unicode there is the added wrinkle of round-trip backwards compatibility with legacy encodings
22:22:15 <GreyKnight> 𝕎𝕙𝕒𝕥'𝕤 𝕨𝕣𝕠𝕟𝕘 𝕨𝕚𝕥𝕙 𝕓𝕝𝕒𝕔𝕜𝕓𝕠𝕒𝕣𝕕 𝕓𝕠𝕝𝕕?!
22:22:25 <kmc> so if /any/ historical encoding decided that two things are different characters, Unicode will have a way to represent both, and may list one as deprecated
22:22:47 <kmc> i believe this is the case with ANGSTROM SIGN vs LATIN CAPITAL LETTER A WITH RING ABOVE, for example
22:22:48 <Bike> GreyKnight: jesus that is some bad kerning
22:22:58 <kmc> some normalization will convert the former into the latter
22:23:17 <GreyKnight> Bike: looks okay here (apart from the apostrophe). Get a better font B-)
22:23:31 <hagb4rd> greyknight: it's a good thing if you don't want searchengines to match
22:23:53 <GreyKnight> sekrit messages
22:24:01 <hagb4rd> yes
22:24:03 <kmc> comes through as replacement character here, maybe because screen doesn't support non-BMP chars :/
22:24:33 <Bike> GreyKnight: https://dl.dropbox.com/u/12780151/blackboard.png behold
22:24:50 -!- nooga has quit (Ping timeout: 255 seconds).
22:26:49 <shachaf> kmc: It's awful, isn't it?
22:26:51 <kmc> :)
22:26:52 <kmc> shachaf: yeah
22:26:57 <shachaf> I almost want to switch to tmux.
22:27:01 <kmc> your computer is 98% plugged in!
22:27:11 <kmc> shachaf: tmux supports non-BMP?
22:27:14 <Bike> metal
22:27:15 <shachaf> Yep.
22:27:26 <kmc> blackbold is metal?
22:27:40 <kmc> heavy metal umlaut is so last century
22:27:44 <Bike> yep
22:27:53 <kmc> of course fraktur is metal, this much is well known
22:27:59 <shachaf> Next time I have to restart my IRC session it'll probably be in tmux.
22:28:18 <shachaf> But I haven't restarted it in, uh, almost a year.
22:28:27 <shachaf> I'd have to write down all my channels and what not.
22:28:30 <GreyKnight> Ho ni ble k em ing
22:28:35 <shachaf> And I'd lose scrollback (since I don't keep logs).
22:29:33 <GreyKnight> solution: keep logs
22:29:49 <Bike> retroactively!
22:30:04 <shachaf> Bike: Your IRC client highlights lines that don't contain "shachaf".
22:30:08 <shachaf> Looks like a bug to me.
22:30:59 <Bike> it's kind of hard to track down. I thought I had it working yesterday but actually it just hilighted every line with a seven-letter uncapitalized word in it.
22:31:00 <GreyKnight> FeatherIRC™: Get it yesterday!
22:31:14 <shachaf> What's feather?
22:31:27 -!- nooga has joined.
22:31:34 <GreyKnight> ask me earlier
22:34:36 * GreyKnight is considering turning his capslock into a compose key but is bothered by the potential for mistyping
22:35:17 <ais523> GreyKnight: I did that, compose typos are less damaging than capslock typos
22:35:39 <ais523> it l°ks like this
22:35:52 <shachaf> Uh, but caps lock is escape.
22:36:53 <shachaf> I think I need more than 12 workspaces.
22:38:24 * GreyKnight gœs f® it
22:41:00 <GreyKnight> yay I can type ðs
22:42:49 <hagb4rd> ^ °
22:42:55 <hagb4rd> ^ord °
22:42:56 <fungot> 194 176
22:44:25 <GreyKnight> heh, Compose+<3 gives ♥ :-3
22:45:11 <GreyKnight> I'm disappointed there doesn't seem to be a composition for SMILING CAT FACE WITH HEART-SHAPED EYES though, maybe I should add it
22:45:50 <FreeFull> GreyKnight: ♥ ¤ ☺
22:45:53 <shachaf> I'm disappointed Compose < / 3 doesn't do anything.
22:45:59 <kmc> yeah
22:46:06 <FreeFull> \3
22:47:43 <shachaf> 😲
22:47:48 <shachaf> zomg my font has that.
22:49:27 <shachaf> forM_ ['\x1f600'..'\x1f638'] (putStrLn.(:[]))
22:49:32 <shachaf> I'm surprised that I have fonts for these things!
22:49:48 -!- epicmonkey has quit (Ping timeout: 276 seconds).
22:50:06 <shachaf> 14:35 <ais523> becaUSE INSTEAD OF YOUR SENTENCE LOOKING LIKE THIS
22:50:07 <shachaf> 14:35 <ais523> it l°ks like this
22:50:17 -!- Vorpal has quit (Read error: Operation timed out).
22:50:20 <shachaf> ais523: Either way they look like bizarre Unicode codepoints.
22:50:31 <ais523> takes fewer backspaces to fix the second problem
22:51:30 <shachaf> U+1F6FF FACE WITH FACE-SHAPED EYES [🛿]
22:51:59 <kmc> gaaaaah
22:52:03 <kmc> nightmares
22:52:08 <GreyKnight> (I tried to capslock that '_')
22:52:13 <kmc> multiocular O is already a creepy character as it is
22:53:55 <shachaf> Oh, MULTIOCULAR O would be a great replacement character.
22:53:57 <shachaf> 2F6A9 SPIDER FACE x (cyrillic letter multiocular o - A66E)
22:53:59 <shachaf> Er.
22:54:01 <shachaf> 2F6A9 SPIDER FACE
22:54:01 <kmc> hhttp://upload.wikimedia.org/wikipedia/commons/e/e2/Nine_orders_of_angels.jpeg
22:54:03 <shachaf> x (cyrillic letter multiocular o - A66E)
22:55:35 <Arc_Koen> hh
22:55:40 <kmc> all this stuff about six-winged many-eyed seraphim and four-headed cherubs is pretty messed up
22:55:53 <kmc> seems like a throwback to that old-time polytheism
22:56:28 <GreyKnight> not as messed up as your protocol specifier
22:56:34 <GreyKnight> (also I don't see it)
22:56:36 <shachaf> A66E CYRILLIC LETTER MULTIOCULAR O * used in the epithet 'many-eyed'
22:56:38 <shachaf> Ugh.
22:56:42 <shachaf> What's with this pasting, irssi?
22:56:49 <GreyKnight> hm I need to recycle X in order to load a new .XCompose :-/
22:56:50 <shachaf> I'm pretty sure there was a newline there.
22:56:55 <GreyKnight> in fact ☹
22:56:58 <kmc> GreyKnight: doing your part for the environment
22:57:41 <Bike> kmc: the hebrew apocrypha around it is pretty great too. did you know that adam and even were a thousands-of-miles-tall hermaphrodite, and that metatron's eye is taller than Earth?
22:58:03 <kmc> haha
22:58:08 <kmc> fun times
22:58:46 <GreyKnight> yeswell. There's a reason "apocryphal" acquired its secondary implications :-P
22:59:10 <hagb4rd> well at least polytheism could not be instrumentalized that easy for political issues.. (since monotheism has this "you shall have no other gods then me" part)
22:59:33 <Bike> lol, polytheism apolotical
22:59:37 <kmc> i think polytheism was politicized plenty
22:59:42 <GreyKnight> https://github.com/kragen/xcompose has a composition for U+1F4A9 PILE OF POO
22:59:43 <kmc> what with roman emperors claiming to be gods and all that
23:00:00 <Bike> GreyKnight: it's such a useful character!
23:00:06 <kmc> nice
23:00:12 <hagb4rd> the roman adepted greek gods.. and the greek adepted egyptian gods.. giving them other names
23:00:46 <kmc> <Multi_key> <Multi_key> <p> <o> <o> : "💩" U1F4A9 # PILE OF POO
23:00:57 <kmc> <Multi_key> <Multi_key> <l> <i> <e> : "🎂" U1F382 # BIRTHDAY CAKE
23:00:58 <kmc> c.c
23:01:08 <GreyKnight> and yet still no SMILING CAT FACE WITH HEART-SHAPED EYES, it's outrageous
23:01:10 <shachaf> A4BB YI RADICAL LIE [꒻]
23:01:22 <GreyKnight> COMBINING CAKE ABOVE
23:01:41 <shachaf> 1F60C RELIEVED FACE [<U+1F60C>]
23:01:44 <shachaf> 1F625 DISAPPOINTED BUT RELIEVED FACE [<U+1F625>]
23:02:41 <shachaf> kmc: The problem is that Compose bindings have to be prefix-free
23:03:05 <kmc> yes
23:04:38 <GreyKnight> hm you can tie a *string* to a compose sequence
23:04:52 <GreyKnight> FR assign an executable command >_>
23:05:08 <kmc> so it's a macro system?
23:05:11 <kmc> that's fun
23:06:22 <GreyKnight> hm I wonder if you *can* tie commands somehow... surely I'm not the first person to dream up such madness
23:06:50 <shachaf> VT220 (?) lets you assign key sequences to keys by sending certain escape sequences.
23:07:05 <shachaf> So you can cat a file and have it remap F6 to rm -rf * or something.
23:08:11 <hagb4rd> one thing i don't like about using macros is, you get used to them to the point of addiction.. and you get into problems using another system as your own
23:08:32 <hagb4rd> but maybe that's not a big deal anyway
23:08:35 <GreyKnight> trufax
23:08:50 <kmc> i've not found this to be a major problem
23:09:10 <kmc> likewise I am able to mentally switch between keyboard layouts
23:09:16 <shachaf> kmc C. Dvorak
23:10:25 <kmc> people sometimes try to dissuade others from learning Dvorak on the basis that it is impossible to know two keyboard layouts
23:10:41 <kmc> but it's not true in my experience, or in the experience of millions of bilingual computer users
23:11:13 <shachaf> @yarrrr
23:11:13 <lambdabot> Smartly me lass
23:11:25 <shachaf> arr needs improvements.
23:11:31 <shachaf> @brain are you thinking what i'm thinking?
23:11:31 <lambdabot> Well, I think so, Brain, but do I really need two tongues?
23:16:30 <fizzie> lambdabot does not want to be bilingual.
23:17:06 <shachaf> @brain?
23:17:07 <lambdabot> Oooh, I think so Brain, but I think I'd rather eat the Macarena.
23:17:13 <shachaf> @brain!
23:17:13 <lambdabot> Be quiet Pinky, or I shall have to hurt you.
23:17:42 <GreyKnight> if only we had HackEgo around to play with instead :<
23:18:12 <fizzie> fungot: How many languages do you know?
23:18:13 <fungot> fizzie: like, thanks princess. i'll take that under advisement!!
23:19:22 <hagb4rd> ^help
23:19:22 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
23:19:55 <GreyKnight> fungot: Well excuuuuse me princess!
23:19:55 <fungot> GreyKnight: that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword al
23:20:05 <Bike> deep.
23:20:14 <GreyKnight> Awesome song man
23:21:01 <shachaf> fungot.........................
23:21:02 <fungot> shachaf: shall we get back to the present? he's been known. we reptites will rule the world in a mere door that keeps us bound, hand, foot...and tongue kid? ...oh, it's you, isn't this morbid? the great adventurer toma levine rests in a grave to the north. it's a great place for a picnic! heard that magus's place...
23:21:19 <fizzie> That sword alone sure takes me back.
23:21:23 <GreyKnight> Graveyards: best place for picnics
23:21:31 <hagb4rd> he's going crazy..that's for sure
23:21:43 <GreyKnight> fungot: that sword alone can't stop!
23:21:43 <fungot> GreyKnight: is the gate key okay!! get' em! 200g per night. care, and stay...healthy! my husband...he's...he's...gone... but he left me precious gifts! the seeds...and our child, it's ancient history now...
23:21:58 <fizzie> It's very repetitive, this style.
23:22:01 <kmc> it probably helps that I learned dvorak at an early age when my brain was still all squishy
23:22:15 <fizzie> fungot: Does the Black Omen sparkle brightly in the sun?
23:22:15 <fungot> fizzie: but cyrus! are you leaving! come on, now!!! after them!! hp recovered! the chef's in a snit, trying to get food to the front lines. heard a spell to energize the sword takes immense evil! indeed! this thing. what you have? transform! this trading house. it's the kind! i've decided to stay with these humans! you're a traitor! you're not our king! but, we are far outnumbered!
23:22:36 <kmc> ^mode
23:22:44 <fizzie> ^style
23:22:44 <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:22:47 <kmc> oh right
23:22:51 <kmc> ^style ct
23:22:51 <fungot> Selected style: ct (Chrono Trigger game script)
23:22:53 <hagb4rd> when your was like a flower.. just floating in the breeze
23:22:57 <kmc> fungot: !
23:22:57 <fungot> kmc: these unique items make us invincible!!!
23:23:01 <kmc> fungot: !!!
23:23:02 <fungot> kmc: but cyrus! are you leaving! robo, don't waste your time. alfador only likes you, crono!
23:23:07 <hagb4rd> *your head
23:23:11 <kmc> this is quite the exciting style
23:23:12 <Bike> fungot: the future area was probably my favorite, what about you?
23:23:13 <fungot> Bike: it's time you jumped off this mortal coil... you've changed! marle looks so much like leene, that they will take you to your place of execution?! strange, but!?
23:23:26 <Bike> ct is a lot more violent than i remember, evidently
23:23:29 <GreyKnight> fungot: You're so excited today!
23:23:29 <fungot> GreyKnight: you are strong of will...! that's the pendant the gurus and miss you. fail to live up to your potential! you'll learn! sealed, you'll be in danger. open hatch.
23:24:48 <Jafet> fungot, like us, remembers the most visceral parts.
23:24:49 <fungot> Jafet: but, we are far outnumbered! do not turn, now!!! after them!
23:25:43 <hagb4rd> ^style
23:25:43 <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:26:07 <hagb4rd> what is this set? sounds like shakespear
23:26:33 <fizzie> Yes, that's what people often say about Chrono Trigger.
23:27:08 <fizzie> ^style ff7
23:27:09 <fungot> Selected style: ff7 (Full script of the game Final Fantasy VII)
23:27:10 <Bike> wait until it gets to one of the famous monologues
23:27:11 <fizzie> fungot: What's this game like?
23:27:11 <fungot> fizzie: there's no better manager in the next train's coming in soon.
23:27:33 <fizzie> I think it's one of those train simulators.
23:27:42 <fizzie> (The DOOM TRAIN simulator.)
23:27:49 <GreyKnight> `quote train
23:27:51 <kmc> fungot: train simulator!
23:27:52 <fungot> kmc: what should i do? the plate'll go ping to get that upset... this is the promised land.
23:28:06 <shachaf> I was on a train today.
23:28:09 <GreyKnight> fungot: Crazy motorbike!!
23:28:09 <fungot> GreyKnight: we still have far to go home.
23:28:14 <Jafet> fungot: chocobos
23:28:14 <fungot> Jafet: that, there aren't that many who make first class. same as all these files. that is the materia.
23:28:16 <shachaf> I bought a two-way ticket but ended up walking home instead of taking the train back.
23:28:25 <Bike> http://www.youtube.com/watch?v=2u84cH_bmTA Does fungot have this scene included
23:28:26 <fungot> Bike: but there is no such thing as the model becomes smaller, you never know what she had the feeling that we'll meet on the floor next to me now, i'm gonna be watching from here.
23:28:49 <shachaf> What's a good way to learn about type checking/inference/etc.?
23:28:50 <olsner> shachaf: why did you take the train in the first place if you could've just walked?
23:29:03 <fizzie> Bike: No, because 7 is not 6.
23:29:24 <Bike> are you sure :(
23:29:30 <olsner> shachaf: check some types, infer some stuff, you'll get the hang of it?
23:29:31 <shachaf> olsner: Well, I thought it was farther than it was.
23:29:34 <GreyKnight> > 7 == 6
23:29:36 <lambdabot> False
23:29:48 <shachaf> It ended up being ~4 miles away.
23:30:03 <olsner> hmm, 4 miles is a fairly long walk
23:30:04 <fizzie> Bike: It does have the FF7 crossdressing scene. Or at least should have.
23:30:06 <shachaf> olsner: Type checkers/inferences/...
23:30:16 -!- sebbu2 has joined.
23:30:16 -!- sebbu2 has quit (Changing host).
23:30:16 -!- sebbu2 has joined.
23:30:18 <Bike> fungot: what are your thoughts on yaoi?
23:30:19 <fungot> Bike: hmmm, oh. cloud... say something. i almost fell over. i don't like this.
23:30:29 <Jafet> fungot likes it.
23:30:30 <fungot> Jafet: which shinra is leading the world collecting glowing stones!? gone! my leg's stuck in the first day you came!? you mean by ' back then...
23:30:34 <Bike> oh, cloud....
23:30:41 <GreyKnight> fungot likes it so much he nearly fell over...
23:30:41 <fungot> GreyKnight: i'm impressed! he was some stuff about me!! that's the first problem!
23:30:52 <GreyKnight> (or maybe fungot just dropped the soap)
23:30:52 <fungot> GreyKnight: don't give a damn about the ancients. i hope not...... urrrrrrgh....
23:31:25 <fizzie> fungot: Are you writing a Cloud/Barret slashfic or something?
23:31:25 <fungot> fizzie: i've already decided! if there isn't anyone named yuffie here in sector 7 slums!?
23:31:35 -!- sebbu has quit (Ping timeout: 240 seconds).
23:31:42 <shachaf> Hmm, the train station is ~2 miles from here.
23:32:05 <kmc> where is here
23:32:13 <GreyKnight> it's all plotted out already, already decided. Yuffie is not going to be in it, she will break up fungot's favourite ship Cloud/Barret (OTP!)
23:32:14 <fungot> GreyKnight: we have to be in this house until i was so angry......
23:32:15 <shachaf> Home.
23:32:18 <kmc> epa?
23:32:21 <shachaf> And the walk from the other train station to my destination was another mile.
23:32:23 <shachaf> Yes.
23:32:30 <kmc> i like trains
23:32:41 <shachaf> This isn't just any train, though.
23:32:45 <GreyKnight> fizzie was a train once (there was a wireless network on the train)
23:32:48 <kmc> there's a district named Professorville? really?
23:32:51 <Bike> is it a doom train?
23:32:52 <shachaf> It's Caltrain.
23:32:56 <shachaf> kmc: Really.
23:33:15 <kmc> shachaf: oh, do you live close to the IKEA?
23:33:30 <shachaf> Yep.
23:33:31 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
23:33:43 <kmc> nice
23:33:47 <kmc> do they have cheap swedish meatballs
23:34:04 <shachaf> I've never been in there, actually.
23:34:12 <shachaf> Also I don't eat meatballs.
23:34:16 <kmc> ah right
23:35:02 -!- Phantom_Hoover has joined.
23:35:08 <kmc> they sell a drink called GLÖGG ÄPPLE
23:35:19 <Bike> does it have to be written in caps like that?
23:35:20 <GreyKnight> reindeerbølls
23:35:29 <GreyKnight> YËS
23:35:32 <kmc> Bike: yes, ikea items are always named in uppercase
23:35:34 <Bike> baller
23:35:45 <GreyKnight> IKËÄ
23:35:55 <kmc> it's really a pretty clever usability trick
23:36:21 <olsner> ikea can be pretty clever
23:36:25 <kmc> the item names function basically like part numbers, but are vaguely pronounceable amusing pseudo-scandanavianisms
23:36:41 <kmc> the easy identification of items is helpful e.g. when reselling on craigslist
23:36:47 <shachaf> I wish uppercase didn't exist.
23:36:50 <olsner> most of the names are actual swedish words or person names
23:36:57 <kmc> http://www.ikea.com/ca/en/catalog/products/00112432/ PASTAÄLGAR
23:37:23 <olsner> spaghettimööse
23:37:36 <kmc> KRÄFTSKIVA LYKTA -- Lantern for crayfish party
23:37:49 <kmc> so *that's* what my crayfish parties have been missing!
23:38:49 <olsner> skiva is a weird word ... same as record or slice but here it means party
23:39:09 <GreyKnight> The crayfish were all very disappointed
23:39:24 <kmc> huh
23:40:08 <hagb4rd> party is a weird word.. same as celebration but here it means group?
23:41:13 <shachaf> Hmm, so if you mention the distance to the nearest train station kmc will track you down.
23:41:36 <shachaf> The average person needs two or three train stations to triangulate.
23:41:40 <kmc> it also means group in english
23:41:57 <kmc> and "part of", as in "i'm a party to this conversation"
23:42:10 <kmc> shachaf: i'm just that good
23:42:18 <hagb4rd> yes i actually did mean english
23:42:24 <GreyKnight> group is a weird word... same as a set of elements which is closed under an assocative invertible binary operation with an identity element, but here it means bunch of people?
23:43:07 <hagb4rd> bravi
23:43:13 <hagb4rd> *bravo
23:43:51 <kmc> oh
23:48:55 <GreyKnight> @quote
23:48:55 <lambdabot> fmap says: <ivanm> right, functions <fmap> fortunately lenses subsume that use case
23:49:16 <GreyKnight> oh good, lenses replace functions too
23:49:38 <GreyKnight> I guess we can just go ahead and make an esolang out of primitive lenses?
23:51:09 <kmc> that would be cool!
23:51:59 <shachaf> kmc: I'm probably going to be going from JFK to the Bronx next month.
23:52:10 <Fiora> every time someone says lens I think of an actual lens, and I imagine using a combination of lasers and lenses as an esolang, where the lenses serve as FFT operators
23:52:17 <shachaf> Do you have any kmsecrets for how to do that?
23:52:30 <kmc> Fiora: diffraction gratings are FFTish aren't they
23:52:38 <kmc> i don't really know about this
23:52:59 <kmc> but i'm told that those laser pointers which project images contain basically a fourier transform of the image, as a diffraction grating
23:53:22 <kmc> also if you cut 7 tiny holes in a circle and then put laser light through it, you might get a quasicrystal
23:53:41 <kmc> shachaf: whereabouts bronx-wise?
23:54:30 <Fiora> I think a lens is literlaly an FFT when applied to coherent light?
23:54:37 <shachaf> kmc: Netherland Ave.
23:54:44 <shachaf> I guess it's a big place.
23:55:00 <Fiora> http://cns-alumni.bu.edu/~slehar/fourier/fourier.html see "the optical fourier transform"
23:55:14 <kmc> Fiora: cool!
23:55:15 <kmc> i will read
23:55:41 <GreyKnight> KFiora:
23:56:00 <GreyKnight> (not really FFT related but still pretty cool)
23:56:36 <kmc> shachaf: I don't have any tricks, I would just do what google maps says
23:57:12 <shachaf> I think this will be more trouble than ~Columbus Circle.
23:57:33 <kmc> to some points in the Bronx it would make sense to take the Q44 from Jamaica across the Whitestone Bridge
23:57:59 <kmc> but not to Netherland Ave, which is on the other side of the Bronx
23:59:00 <shachaf> Yes.
23:59:06 <GreyKnight> Fiora: I guess "logic gates" aren't terribly interesting by esolang standards though :-/
23:59:08 <kmc> taking a Metro North train from Grand Central is potentially a reasonable option
23:59:12 <shachaf> I like the definite article in its name.
23:59:18 <kmc> yes
23:59:28 <kmc> Fiora: do you know about the optical solution to the traveling salesman problem?
23:59:33 <Fiora> what O_O
23:59:39 <Bike> ooh that sounds fun
23:59:55 <kmc> i don't remember the details, but you can arrange optical fibers and beam-splitters with lengths corresponding to the distances between cities
23:59:58 * Fiora really loves alternate computational systems and stuff, so the idea of doing computation with lenses or whatever is really cool
←2013-01-06 2013-01-07 2013-01-08→ ↑2013 ↑all