←2012-09-13 2012-09-14 2012-09-15→ ↑2012 ↑all
00:07:52 -!- Jafet1 has quit (Quit: Leaving.).
00:13:47 -!- hagb4rd has quit (Ping timeout: 272 seconds).
00:14:50 -!- augur_ has quit (Remote host closed the connection).
00:23:30 -!- Jafet has joined.
00:24:10 <shachaf> http://slbkbs.org/fluids.jpg
00:26:11 <kmc> water: used by nazis
00:26:21 <kmc> also good filename
00:28:24 * shachaf watched Dr. Strangelove the other day.
00:31:09 <zzo38> I think you can use intonation with Famicom audio? Make the highest note have period 90.
00:32:27 <zzo38> (Actually 180, because of a left shift; and because it adds two, the number you need to put into the register is actually 89.)
00:34:31 <zzo38> And even that is not quite right; the actual period is 1440.
00:38:27 -!- Jafet has quit (Max SendQ exceeded).
00:40:32 -!- Jafet has joined.
00:42:23 <Phantom_Hoover> kmc, see I was about to say something about almonds containing cyanide which was used in the gas chambers
00:42:59 <Phantom_Hoover> But then I realised that I don't actually know if they used cyanide, and I'm not googling "nazi death chamber gas" from this IP.
00:43:09 <kmc> heh
00:43:16 <Phantom_Hoover> I'm probably on enough watchlists already.
00:43:43 <kmc> yeah, zyklon b is a preparation of hydrogen cyanide
01:08:41 -!- Arc_Koen has quit (Quit: Arc_Koen).
01:13:56 -!- kinoSi has quit (Read error: Connection reset by peer).
01:14:25 -!- kinoSi has joined.
01:40:30 <zzo38> I am making "Elemental Solitaire" game on Famicom.
01:41:32 <zzo38> I already got some of it working, including CHR ROM, PRG ROM, music, deck shuffling, title screen, sprites flashing. Now I will add some more, until it is completed.
01:53:11 <Sgeo_> I have repeatedly called PubNub "PubSub"
01:53:11 <Sgeo_> :(
01:53:25 <Sgeo_> Oh, apparently not in here
01:53:31 <shachaf> zzo38: Why stop when it is completed?
01:54:34 <zzo38> To make the program not too large to fit on NROM.
01:54:47 -!- augur has joined.
01:54:56 -!- augur has quit (Remote host closed the connection).
01:58:16 -!- oerjan has joined.
02:10:34 -!- DHeadshot has joined.
02:13:01 -!- DHeadshot has quit (Read error: Connection reset by peer).
02:13:06 -!- DH____ has joined.
02:14:08 <zzo38> So far it uses less than 2K for PRG ROM and CHR ROM together. When it is finished, it might be less than 4K.
02:46:53 <oerjan> LAMBDA LAMBDA LAMBDA LAMBDA APPLY APPLY ONE MORE THAN ONE MORE THAN ONE MORE THAN ZERO
02:46:56 <oerjan> ONE MORE THAN ZERO APPLY APPLY ONE MORE THAN ONE MORE THAN ZERO ONE MORE THAN ZERO ZERO
02:47:26 <ion> BADGER BADGER BADGER BADGER BADGER BADGER BADGER BADGER BADGER BADGER BADGER BADGER MUSHROOM MUSHROOM
02:47:59 <oerjan> \ \ \ \ ((3 1)((2 1) 0))
02:48:56 <oerjan> i'm trying to decode Real Fast Nora's Hair Salon 3: Shear Disaster Download because Koen and I are confused about the intended application order
03:07:16 -!- Jafet has quit (Ping timeout: 255 seconds).
03:14:04 -!- jiella has quit (Quit: Leaving.).
03:26:56 -!- Jafet has joined.
03:29:36 <zzo38> http://tvtropes.org/pmwiki/pmwiki.php/Main/UnwinnableByDesign The situation described under "Why Would You Even Do That?" is not good enough. There should be some objects which you need to vaporize with this button, as well as those which you need to keep.
03:35:21 -!- Jafet has quit (Ping timeout: 244 seconds).
03:55:04 -!- Phantom_Hoover has quit (Remote host closed the connection).
03:59:55 <Sgeo_> NetHack's not on that page :(
04:07:50 <zzo38> If you have an account, add it, if you think it belong, isn't it?
04:28:33 -!- augur has joined.
04:28:43 -!- augur has quit (Read error: Connection reset by peer).
04:29:06 -!- augur has joined.
05:01:36 <oerjan> > 4^4
05:01:37 <lambdabot> 256
05:05:34 <kmc> glad that's settled
05:14:00 -!- kinoSi has quit (Read error: Connection reset by peer).
05:14:05 <oerjan> > chr <$> [72, 101, 108, 108, 115, 44, 32, 119, 111, 114, 108, 100, 33, 10]
05:14:06 <lambdabot> "Hells, world!\n"
05:14:19 <oerjan> hm...
05:14:28 -!- kinoSi has joined.
05:14:34 <oerjan> i assume i made a mistake
05:17:12 <itidus21> lol
05:18:22 <itidus21> > chr <$> [72, 101, 108, 108, 32, 109, 111, 44, 32, 119, 111, 114, 108, 100, 33, 10]
05:18:23 <lambdabot> "Hell mo, world!\n"
05:18:28 <itidus21> agh
05:22:17 <Sgeo_> > chr <$> $ ord <$> "Hello, world!\n"
05:22:17 <lambdabot> <no location info>: parse error on input `$'
05:22:35 <Sgeo_> > (chr <$>) $ ord <$> "Hello, world!\n"
05:22:36 <lambdabot> "Hello, world!\n"
05:22:40 <Sgeo_> :p
05:27:59 <pikhq> > chr <$> ['\0'..]
05:28:00 <lambdabot> Couldn't match expected type `GHC.Types.Int'
05:28:00 <lambdabot> against inferred type ...
05:28:12 <pikhq> Oh, du
05:28:16 <pikhq> > chr <$> [0..]
05:28:17 <lambdabot> "\NUL\SOH\STX\ETX\EOT\ENQ\ACK\a\b\t\n\v\f\r\SO\SI\DLE\DC1\DC2\DC3\DC4\NAK\S...
05:30:15 <shachaf> > chr.[0..]==['\0'..]
05:30:17 <lambdabot> False
05:30:24 <shachaf> Well, of course.
05:30:39 <shachaf> > take(length['\0'..]).chr.[0..]==['\0'..]
05:30:40 <lambdabot> Couldn't match expected type `[a]'
05:30:40 <lambdabot> against inferred type `GHC.Types...
05:30:59 <shachaf> > take(length['\0'..])(chr.[0..])==['\0'..]
05:31:02 <lambdabot> True
05:34:40 <Sgeo_> > ['\0'..]
05:34:41 <lambdabot> "\NUL\SOH\STX\ETX\EOT\ENQ\ACK\a\b\t\n\v\f\r\SO\SI\DLE\DC1\DC2\DC3\DC4\NAK\S...
05:35:07 <Sgeo_> > chr [0..] == ['\0'..]
05:35:08 <lambdabot> Couldn't match expected type `GHC.Types.Int'
05:35:08 <lambdabot> against inferred type ...
05:35:32 <Sgeo_> > map chr [0..] == ['\0'..]
05:35:33 <lambdabot> False
05:35:39 <Sgeo_> Oh
05:35:56 <shachaf> > uncurry(==).zip(chr.[0..])['\0'..]
05:35:58 <lambdabot> [True,True,True,True,True,True,True,True,True,True,True,True,True,True,True...
05:35:58 <pikhq> Sgeo_: [0..] is unbound, ['\0'..] is bound. :)
05:36:03 <shachaf> > and.uncurry(==).zip(chr.[0..])['\0'..]
05:36:04 <lambdabot> Couldn't match expected type `[GHC.Bool.Bool]'
05:36:04 <lambdabot> against inferred typ...
05:36:08 <shachaf> > and$uncurry(==).zip(chr.[0..])['\0'..]
05:36:10 <lambdabot> True
05:36:11 <shachaf> YOU GET THE IDEA
05:39:28 <Sgeo_> What's with the . in place of <$>?
05:40:09 <pikhq> Caleskell has (.) = (<$>)
05:43:04 <Sgeo_> > length ['\0']
05:43:05 <lambdabot> 1
05:43:11 <Sgeo_> Derp
05:43:13 <Sgeo_> > length ['\0'..]
05:43:14 <lambdabot> 1114112
05:43:29 <Sgeo_> Well, that's fast
05:43:29 <pikhq> Or 2^21-1
05:43:41 <pikhq> > 2^21-1
05:43:42 <lambdabot> 2097151
05:43:46 <pikhq> Guess not.
05:44:00 <Sgeo_> > 2^21
05:44:01 <shachaf> > 17*2^16
05:44:01 <lambdabot> 2097152
05:44:02 <lambdabot> 1114112
05:44:37 <Sgeo_> Aren't there a bunch of code points that are invalid?
05:44:44 <Sgeo_> Don't tell me that Char includes those
05:44:50 <pikhq> Oh, duh, it's not 2^21-1 characters in Unicode, it's 17 16-bit planes.
05:45:00 <pikhq> Sgeo_: They are *unassigned* code points.
05:45:05 <pikhq> Unassigned != invalid.
05:45:20 <shachaf> pikhq: No, some are invalid.
05:45:24 <shachaf> 0xD800, for instance.
05:45:25 <Sgeo_> > chr 0xDC80
05:45:26 <lambdabot> '\56448'
05:45:33 <shachaf> > logBase 2 (17*2^16)
05:45:34 <lambdabot> 20.087462841250343
05:45:50 <pikhq> Oh, duh, there's stuff like the surrogate pairs.
05:45:59 <pikhq> Surrogate pairs are explicitly invalid.
05:48:11 <pikhq> ... Huh. In principle you could do *slightly better* than UTF-63 then.
05:48:33 <pikhq> With really stupidly complicated coding schemes.
05:48:48 <pikhq> Let's not.
05:49:05 <pikhq> > logBase 2 (3*17*2^16)
05:49:06 <lambdabot> 21.672425341971497
05:49:17 <pikhq> ... I'm not sure what I was thinking there.
05:49:29 <pikhq> Definitely not anything sane.
05:49:43 <shachaf> pikhq: You can also do better because you can (a) use that extra bit, so exactly 21 bits per codepoint instead of 21+1/3, and (b) only to represent need slightly over 2^20 codepoints.
05:50:38 <pikhq> What's the multiple of lb(17*2^16) nearest a round number, I wonder...
05:51:00 <shachaf> Are surrogate codepoints disallowed in all the planes or just the BMP?
05:51:07 <pikhq> > map (* (logBase 2 (3*17*2^16))) [2..]
05:51:08 <lambdabot> [43.344850683942994,65.0172760259145,86.68970136788599,108.36212670985748,1...
05:53:15 <pikhq> Dammit, a little *over* 4096.
05:54:38 <shachaf> Is 0x1D800 a valid codepoint?
05:54:52 <pikhq> UTF-1024 is the best encoding.
05:55:15 <pikhq> shachaf: I think it's valid but unassigned?
05:55:35 * shachaf was hoping to avoid thinking about how UTF-16 works. :-(
05:55:38 <shachaf> No such luck, eh?
05:55:44 <pikhq> I dunno.
05:56:37 <shachaf> OK, so you get 10 bits per UTF-16 code unit.
05:57:08 <shachaf> So I guess it's valid.
05:58:02 <shachaf> Bah, it comes out bigger than 20 bits either way.
05:58:38 <kmc> UTF-9000
05:58:56 <kmc> i don't remember if the Haskell spec says anything about Chars corresponding to invalid characters
05:59:01 <kmc> but GHC does allow them, as demonstrated above
05:59:15 <shachaf> Data.Text doesn't, though.
05:59:22 <shachaf> (Since it uses UTF-16.)
05:59:25 <kmc> yeah, because it uses UTF-16 efb
05:59:27 <pikhq> UTF-1024 gives you 47 codepoints in a mere 128 bytes.
05:59:44 <kmc> you shuold all use UTF-EBCDIC
05:59:45 <shachaf> So it does an extra pass when you encodeUTF8.
06:00:21 <kmc> aww, my iconv doesn't know about utf-ebcdic
06:00:42 <shachaf> > '\^X'
06:00:43 <lambdabot> '\CAN'
06:00:47 <shachaf> whoa, dude
06:01:11 <pikhq> UTF-64 gives you 47 codepoints in... 126 bytes? Dammit!
06:01:14 <pikhq> I'm wasting more bits!
06:02:33 <zzo38> I made up a kind of UTF-INTERCAL a while ago, which is based on EBCDIC but is not the same as UTF-EBCDIC.
06:02:47 <pikhq> UTF-90008 works, though.
06:03:34 <pikhq> Bah.
06:07:46 <Sgeo_> UTF-63? UTF-32 isn't sufficient?
06:08:01 <shachaf> UTF-63 is really UTF-21.333...
06:08:14 <shachaf> Or UCS-2.666...
06:08:15 -!- yiyus has joined.
06:08:32 * Sgeo_ doesn't entirely understand
06:08:37 <Sgeo_> I plan on sleeping soon though
06:09:38 <pikhq> Sgeo_: UTF-64 packs 3 Unicode codepoints as 21 bits each, and wastes a bit.
06:11:31 <shachaf> It doesn't waste much, fortunately!
06:12:05 <Sgeo_> Ah
06:12:23 <pikhq> It wastes a bit more than a bit, apparently, because a Unicode codepoint is *slightly more* than 20 bits, rather than 21 bits.
06:12:23 <shachaf> Just a bit.
06:12:33 <shachaf> Well, yes.
06:12:43 <shachaf> Why couldn't they arrange it to be exactly 20 bits?
06:12:49 <pikhq> But packing more efficiently is really nontrivial.
06:12:54 <shachaf> 17 planes?
06:12:58 <shachaf> Who comes up with that?
06:13:16 <pikhq> 0x10FFFF jerks
06:13:42 <Sgeo_> Idongettit
06:13:54 <Sgeo_> 0x10FFFF looks familiar
06:14:00 <pikhq> Largest codepoint.
06:14:08 <pikhq> Unicode is in 17 planes of 16 bits each.
06:14:19 <shachaf> Except for the first one.
06:14:34 <pikhq> Which has some of its values scavenged for UTF-16 to work.
06:14:39 <pikhq> (jerks)
06:14:52 <shachaf> > 2^16 - 2048
06:14:53 <lambdabot> 63488
06:15:03 <shachaf> JERKS
06:15:21 <pikhq> UTF-16 is such a terrible encoding.
06:15:44 <pikhq> And honestly has little excuse for existing.
06:16:09 <pikhq> Most things that adopted UCS-2 and later migrated to UTF-16 for legacy reasons came *after* UTF-8.
06:16:54 <pikhq> And even those things that did UTF-16 before 1993 could've migrated to UTF-8 readily.
06:17:01 <pikhq> With less pain, in fact.
06:17:35 <pikhq> Java's really offensive. It was released in '95.
06:18:10 <zzo38> How many files are there for chess games with TeX? Do any of them include AI?
06:19:37 <pikhq> And Windows could've switched easily...
06:19:58 <pikhq> UCS-2 as some stupid cruft for compatibility with NT 3.1?
06:22:21 <zzo38> Some games involve chance, some games involve skill, some games involve hidden information. I like a game involving all three.
06:22:30 <zzo38> This includes games with cards.
06:23:50 <zzo38> What is your opinion about this?
06:34:08 <itidus21> zzo38: my brother accidently his headphones so he got new ones and gave me his old ones. the problem is the cable is broken.
06:35:01 <itidus21> the main options are to do nothing, get someone to repair them, or repair them myself
06:37:32 <zzo38> Fix them by yourself if you know how. If you don't know how, learn how, unless you would rather get someone else to repair them.
06:38:37 <itidus21> the trouble is not so much that i can't afford someone else, but my profit margin is probably quite slim..
06:38:44 <itidus21> the cable is scary complicated
06:39:57 <itidus21> for one thing it appears all the wires merrily touch each other
06:41:23 <oklopol> zzo38: i only like games whose names start with "mine"
06:42:01 <oerjan> `addquote <oklopol> zzo38: i only like games whose names start with "mine"
06:42:14 <HackEgo> 860) <oklopol> zzo38: i only like games whose names start with "mine"
06:42:32 <oklopol> not too far from the truth even, since i only play minesweeper and minecraft.
06:42:58 <oklopol> also minebombers is an awesome game
06:45:25 -!- impomatic has joined.
06:49:27 <oerjan> hm what was it impomatic wondered about again
06:50:01 <oerjan> * impomatic wonders if the topic is inspired by Philip K Dick?
06:50:18 <oerjan> not my part of it, anyway
06:50:52 <oerjan> `pastelogs PEZ
06:50:57 * itidus21 wonders if the total recall remake is inspired by Philip K Dick?
06:51:24 * oerjan cannot recall much about total recall.
06:51:25 <HackEgo> mkdir: cannot create directory `/hackenv': File exists \ http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.16941 \ /hackenv/bin/paste: line 14: /hackenv/paste/paste.16941: No such file or directory
06:51:29 <oerjan> ff
06:51:36 <oerjan> `pastelogs PEZ
06:51:48 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.12806
06:52:59 <oerjan> `pastelogs changed the topic
06:53:04 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.22269
06:53:28 <oerjan> thought that would be too long :(
06:54:55 <oerjan> impomatic: you'll have to ask Gregor
06:56:09 <itidus21> <olsner> why did PEZ become ESME?
06:56:19 <oerjan> _that_ was me.
06:56:21 <itidus21> ha ha ha
06:56:57 <itidus21> the question itself is funny
06:57:54 <itidus21> `pastelogs esme
06:58:04 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.26853
06:59:07 <oerjan> DON'T GO THERE
07:02:34 <zzo38> It [doesn't] works by tapping out "ESME" into Morse code, then writing "Esme" in to the papers.
07:04:25 <impomatic> oerjan: I've been trying to figure out which book the topic reminded me of. Maybe Ubik or A Scanner Darkly?
07:05:06 <oerjan> no idea
07:08:04 <itidus21> @google abandoned fret forgive
07:08:06 <lambdabot> http://irc.netsplit.de/channels/details.php?room=%23esoteric&net=freenode
07:08:06 <lambdabot> Title: #esoteric freenode - Chat Room on IRC - Programming, Computers - irc.netsplit.de
07:09:08 <zzo38> O, it works!
07:12:58 -!- epicmonkey has joined.
07:25:36 <zzo38> The `pastelogs will stop if there is too many lines how to make it skip up to a specified date to continue from there?
07:27:13 <oerjan> i don't think that's been implemented
07:27:25 <oerjan> `cat bin/pastelogs
07:27:30 <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 \ pasterandom "$1" \ else \ lines=$(grep -P -i -- "$1"
07:30:28 -!- epicmonkey has quit (Ping timeout: 252 seconds).
07:31:07 <zzo38> They have "[too many lines; stopping]
07:31:10 <oklopol> mörning
07:31:15 <oklopol> soup
07:31:23 <zzo38> Can you make up command of specifying the first date?
07:31:51 <oerjan> not me
07:32:04 <oklopol> well was fun talking to you guys i gotta go now though
07:42:44 -!- copumpkin has quit (Ping timeout: 260 seconds).
07:43:20 -!- copumpkin has joined.
07:46:58 -!- atriq has joined.
07:50:45 <atriq> @messages
07:50:45 <lambdabot> You don't have any new messages.
07:50:47 <atriq> Yay
07:50:53 <atriq> quintopia, don't you dare
07:51:23 <oerjan> atriq: we had to fix up your hair salon a bit
07:51:48 <oerjan> hackage is down? :(
07:51:54 <atriq> It seems so
07:53:26 <atriq> I'm afraid I'm not the best at explaining things
07:53:58 <oerjan> how does one use parsec with applicative notation...
07:54:30 <zzo38> oerjan: Same as you would use others. Parsec work very well with applicatives
07:54:43 <oerjan> zzo38: i cannot find the bloody instance!
07:55:03 <oerjan> that's what i was trying to load hackage for
07:55:25 <atriq> I'd assume it'd be connected to the Monad instance
07:55:30 <oerjan> no.
07:55:30 <atriq> pure = return, (<*>) = ap
07:55:34 <oerjan> well yes.
07:55:43 <atriq> I mean, defined in terms of
07:55:49 <oerjan> of course i don't want to _write_ it. it should be there already.
07:56:01 <zzo38> It is there already, isn't it?
07:56:06 <oerjan> unfortunately when parsec was originally made, they made operators that clash with it
07:56:18 <zzo38> Then hide those ones.
07:56:18 <oerjan> zzo38: not when i load Text.Parsec
07:56:33 <zzo38> What version do you have?
07:57:26 <zzo38> Maybe, you can use awk or sed to remove the file other than the first date wanted and the one after that one, and then xargs for grep on each one, and do the same as it already does. For example: BEGIN { x=0 } FirstDate==$0 { x=1 } x
07:57:28 <oerjan> ...i don't know how to find out :(
07:58:23 <zzo38> oerjan: I think the command "cabal info" will tell you which versions are currently installed, but I don't know if it work when Hackage is down
07:58:31 <oerjan> i'm on the verge of closing vim and taking a break but i have a principle of not closing a file that doesn't compile
07:58:45 <atriq> Leave it open and wander off
07:58:47 <atriq> ?
07:59:25 <oerjan> atriq: um i have no intention of leaving the computer, which means it is impossible to avoid seeing it in the meny
07:59:28 <oerjan> *u
07:59:32 <oerjan> er taskbar
07:59:36 <atriq> The thingy
08:00:06 <oerjan> this is the universe's way of punishing me for trying to have fun programming
08:00:16 <atriq> That's why you should have no less than 5 computers on your person at any one time like a sensible person
08:02:43 <zzo38> Can you add this AWK program to the pastelogs to make it works with specifying the start date for loading files?
08:02:59 <shachaf> `run run run ls
08:03:03 <HackEgo> bash: run: command not found
08:03:23 * oerjan does the big comment around most of non-working program trick
08:04:00 <oerjan> zzo38: anyone can add programs to HackEgo
08:04:17 <zzo38> How do you add a file on there? Is it possible to connect to codu.org directly on some port number to just send the data and then it make a file of it?
08:04:50 <oerjan> `help
08:04:54 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
08:04:59 <oerjan> use `fetch
08:05:51 <zzo38> O, that's how it works. Wouldn't it be better if they designed to work without URLs so that you do not have to send the file twice?
08:07:19 <oerjan> you _can_ do it with shell commands, but that's not exactly easier
08:08:19 <itidus21> one does not simply add a file on there
08:08:50 <zzo38> Can the filename be specified, or do you have to rename it afterward?
08:09:11 <oerjan> i think it uses the filename at end of url
08:09:23 <impomatic> Any idea how to add a new font to Android without rooting? I need a slashed zero!
08:09:30 <itidus21> 404 -One does not simply request mordor.html-
08:09:35 <oerjan> all feature requests go to Gregor :)
08:09:36 <zzo38> And what for directory name? What if the filename at end of URL is wrong can you use # and a filename?
08:10:12 <oerjan> zzo38: it goes into the current directory /hackenv/
08:10:37 <oerjan> um not sure if there's anything before in the path.
08:12:43 <zzo38> Gregor is not on now?
08:12:54 <oerjan> indeed
08:25:20 <atriq> I wish to thank this channel
08:25:38 <atriq> For helping me understand groups long before I really needed to
08:25:38 <atriq> And also being cool and stuff
08:25:46 <atriq> But one thing
08:25:58 <atriq> Is a group from mathematics the same thing as a monoid from Haskell?
08:26:18 <oerjan> no, monoids don't need inverses
08:26:53 <atriq> Oh, cool
08:27:26 <atriq> Wow
08:27:30 <atriq> I'm really glad I asked that now
08:27:36 <atriq> I had totally missed inverses
08:28:25 -!- nooga has joined.
08:28:30 -!- epicmonkey has joined.
08:33:30 -!- nooga has quit (Ping timeout: 268 seconds).
08:56:25 -!- ais523 has joined.
09:18:41 -!- Cryovat has quit (Read error: Connection reset by peer).
09:22:11 -!- Cryovat has joined.
09:47:57 -!- ssue has quit (Remote host closed the connection).
10:06:26 -!- oerjan has quit (Quit: leaving).
10:16:37 -!- soundnfury has quit (Remote host closed the connection).
10:19:45 -!- epicmonkey_ has joined.
10:20:11 -!- epicmonkey has quit (Ping timeout: 268 seconds).
10:20:54 <zzo38> I thought of a kind of compression by a integer; when it is time to read more data you know what the range will be (not necessarily before that), and then you divmod by the range; the remainder is the data read and the quotient is the data to continue reading next time. I have implemented something using binary division.
10:24:12 <zzo38> Basically I used like this (r=remainder, b=bit array, x=range): For i=high bit to low bit of b: r=(r<<1)|b[i]; b[i]=r>=x; r%=x; Would this work OK?
10:27:01 -!- soundnfury has joined.
10:27:43 -!- zzo38 has quit (Quit: Remote host told you to closed the connection).
10:39:48 -!- ssue has joined.
11:21:43 <atriq> I like today's Lightning Made of Owls
11:22:06 <fizzie`> I am confused about "today" due to a ten-hour timezone change.
11:22:23 <atriq> The most recent
11:22:51 <atriq> http://www.mezzacotta.net/owls/
11:22:56 <fizzie`> My name has also acquired some sort of a gnat.
11:23:02 -!- fizzie` has changed nick to fizzie.
11:24:18 -!- kinoSi0 has joined.
11:26:34 -!- kinoSi has quit (Ping timeout: 244 seconds).
11:48:42 -!- kinoSi has joined.
11:51:27 -!- Phantom_Hoover has joined.
11:52:24 -!- kinoSi0 has quit (Ping timeout: 260 seconds).
11:54:28 -!- Arc_Koen has joined.
12:03:47 -!- Jafet has joined.
12:33:45 <Arc_Koen> hmmm I've been having the following thought
12:34:14 <Arc_Koen> basically for a program to be reversible, it must not allow information to be destroyed right?
12:34:35 <Arc_Koen> but there's nothing wrong with information being created
12:34:43 <Arc_Koen> so now if we run that program backwards
12:35:04 <Arc_Koen> when you meet the creation of new information
12:35:15 <Arc_Koen> the reverse operation is very simple : destroy it
12:35:46 <Arc_Koen> but that would mean the inverse of that reversible program is not reversible
12:37:13 -!- soundnfury has quit (Remote host closed the connection).
12:39:43 <atriq> So, a re-reversible program
12:39:48 <atriq> Can't create information?
12:44:00 <Arc_Koen> yup that's what I think
12:44:39 <Arc_Koen> I think for instance an instruction like "push a random number on stack" is possible on a reversible program, but not in a re-reversible program
12:44:41 <Arc_Koen> or something like that
12:45:03 <Arc_Koen> which means we have to use the word "reversible" with caution
12:45:26 <Arc_Koen> or maybe that just means that a program can be reversible without being deterministic
12:46:40 -!- soundnfury has joined.
12:47:47 <Arc_Koen> we may need to add a note about that on the wiki?
12:48:36 <Arc_Koen> btw, Category:Reversible_computing seems to be missing from the Esolang:Categorization page
12:50:44 -!- impomatic has quit (Quit: impomatic).
13:11:19 <Arc_Koen> atriq: http://esolangs.org/wiki/Talk:Real_Fast_Nora%27s_Hair_Salon_3:_Shear_Disaster_Download
13:12:27 <nortti> that is the strangest name for esolang I have ever seen
13:13:13 <Arc_Koen> nortti: I do fail to understand the pun!
13:13:53 <nortti> Arc_Koen: ?
13:14:02 <Arc_Koen> in the name
13:14:09 <nortti> I know the origin of the name
13:14:32 <nortti> it is still stange
13:15:40 <Arc_Koen> do you mind sharing? :)
13:16:42 <nortti> there was a spammer that created page http://esolangs.org/wiki/Real_Fast_Nora%27s_Hair_Salon_3:_Shear_Disaster (If I remember correctly)
13:16:53 <nortti> that is by the way real movie
13:16:53 <Arc_Koen> oh, ok
13:19:40 <nortti> &g #anime
13:19:40 <nortti> ...
13:19:40 <nortti> I hate typos
13:24:38 -!- aloril has quit (Ping timeout: 240 seconds).
13:24:38 -!- SimonRC has quit (Ping timeout: 240 seconds).
13:24:38 <atriq> It's Nora's Hair Salon 3: Shear Disaster
13:24:38 <atriq> The page the spammer created is the one that still exists
13:28:31 -!- atehwa_ has quit (Ping timeout: 240 seconds).
13:28:31 <nortti> oh
13:28:31 <Arc_Koen> oh, so "real fast" applied to "download"
13:28:31 <Arc_Koen> you shoudl send a thanking mail to that spammer
13:28:31 <nortti> :P
13:28:31 <atriq> I think it's a video game, but I'm not sure
13:28:31 -!- Gregor` has joined.
13:28:31 <Arc_Koen> yes at least that would solve the plot problem
13:28:31 <atriq> No, it's a film
13:28:31 <Arc_Koen> urrh
13:28:31 <atriq> Hmm
13:28:31 <atriq> According to this text I've just recieved, I'm owed 3350 for the PPI I took out.
13:28:31 <nortti> what?
13:28:31 -!- atehwa has joined.
13:28:31 <atriq> Payment Protection Insurance is the current gimmick UK scammers are using
13:29:01 <atriq> Something to do with mortgages, I think
13:29:54 <nortti> https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-snc6/246646_526302850729844_328991127_n.jpg
13:30:24 <atriq> Already seen it, heh
13:30:24 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
13:30:25 <Arc_Koen> atriq: you say real fast nora's hair salon 3 is turing-complete but there's nothing that looks like a proof
13:30:44 <atriq> Arc_Koen, it essentially is Lambda Calculus
13:30:51 <Arc_Koen> except with no brackets
13:31:20 <Arc_Koen> I'm not convinced with "It then takes the next complete expression and wraps it in a lambda."
13:31:31 <atriq> The APPLY is a very long way around brackets
13:31:52 <atriq> APPLY x APPLY y z is x (y z), APPLY APPLY x y z is (x y) z
13:32:31 <atriq> ZERO is an expression
13:32:40 <atriq> ONE MORE THAN x is an expression
13:32:45 <atriq> APPLY x y is an expression
13:32:49 <atriq> LAMBDA x is an expression
13:33:02 -!- SimonRC has joined.
13:33:03 <nortti> so is APPLY basicaly ` of unlambda?
13:33:03 <Arc_Koen> hmm ok
13:33:12 <atriq> nortti, precisely
13:33:46 <Arc_Koen> ok, and about input and output
13:33:58 <atriq> Real Fast Nora's Hair Salon 3: Shear Disaster Download is directly inspired by Lazy K
13:34:29 <Arc_Koen> is <program> equivalent to something like "output := APPLY <program> input"?
13:34:42 <atriq> Yes
13:34:55 <nortti> can it do interactive I/O?
13:35:07 <Arc_Koen> ok, so a program must be a LAMBDA
13:35:08 <atriq> nortti, via laziness, about as much as Lazy K can
13:36:26 <atriq> http://esolangs.org/wiki/Lazy_K#Input_and_output
13:44:00 -!- aloril has joined.
13:44:33 -!- coppro has joined.
13:48:09 -!- copumpkin has joined.
13:49:43 -!- nooga has joined.
13:51:28 -!- MoALTz has joined.
14:32:37 <Arc_Koen> atriq: I'm not sure how there can be any "interactive IO".
14:33:01 <atriq> Laziness. The actual input can be delayed inevitably
14:34:15 <Arc_Koen> yeah, but output cannot be anticipated
14:34:44 <atriq> I'm pretty sure it can
14:35:22 <Arc_Koen> reverse-laziness?
14:35:29 <atriq> Ish, yeah
14:35:44 <Arc_Koen> it should be named Zealous K then
14:36:01 <atriq> More like forwards laziness at the other end
14:36:05 <Arc_Koen> hmmmm
14:36:19 <Arc_Koen> I'd have to take that into account to write an interpreter?
14:36:30 <atriq> No
14:36:42 <atriq> You'd have to take that into account to make an interpreter with interactive IO
14:39:06 <Arc_Koen> ok so the only thing I have to care about are: <program> ::= LAMBDA <expr> <expr> ::= ZERO | ONE MORE THAN <expr> | APPLY <expr> <expr> | LAMBDA <expr>
14:39:48 <Arc_Koen> then apply the program to input, and output the result
14:39:57 <atriq> Yes
14:40:04 <atriq> LAMBDA ZERO should be a cat
14:40:07 <Arc_Koen> ok, that seems pretty straightforwart
14:40:42 <Arc_Koen> hmm yes
14:40:54 * Arc_Koen realizes how unfamiliar he is with lambda-calculus
14:41:01 <atriq> Yeah
14:41:13 <atriq> It may be a good idea to familiarise yourself with lambda calculus first.
14:41:22 <Arc_Koen> it should be ok
14:42:18 <atriq> LAMBDA APPLY ZERO LAMBDA LAMBDA ZERO should be an "at", or a cat that ignores the first character
14:43:37 <Arc_Koen> hmmm
14:43:58 <atriq> I may be wrong, of course
14:44:17 <Arc_Koen> LAMBDA LAMBDA ZERO is the constant function that yields identity
14:44:21 <Arc_Koen> (so, K)
14:44:47 <atriq> No, KI
14:44:53 <Arc_Koen> uh
14:44:57 <atriq> K would be LAMBDA LAMBDA ONE MORE THAN ZERO
14:45:05 <Arc_Koen> oh, right
14:45:58 <Arc_Koen> so, LAMBDA APPLY ZERO KI means to apply input to KI
14:46:14 <atriq> Yes
14:46:21 <Arc_Koen> how is that a "at"?
14:46:35 <atriq> No
14:46:42 <atriq> It means apply KI to input
14:46:55 <Arc_Koen> ohhhh right
14:47:24 <Arc_Koen> so applied to the first char it gives the identity function
14:47:41 <atriq> No
14:47:56 <Arc_Koen> hum?
14:47:56 <atriq> It takes the input (as a church list)
14:48:05 <Arc_Koen> ah, right
14:48:24 <atriq> So, \f -> f 'c' (\f -> f 'a' (\f -> f 't' (\f -> ...
14:48:34 <atriq> And applies KI to it
14:48:49 <atriq> KIab is Ib is b
14:49:01 <Arc_Koen> yes
14:49:22 <Arc_Koen> I don't know what the \f -> ... thing means, though
14:49:57 <atriq> Haskell's notation for lambda calculus
14:50:37 <Arc_Koen> ohhhhkay
14:50:46 <atriq> λf.f 'c' (λf . f 'a' (λf . f 't' (λf. ...
14:50:55 <atriq> is a more conventional notation
14:51:15 * Arc_Koen carefully closes realfasthair.ml
15:24:05 -!- Vorpal has joined.
15:53:00 -!- nooga has quit (Ping timeout: 255 seconds).
15:53:40 -!- quintopia has quit (Ping timeout: 246 seconds).
15:57:54 <Arc_Koen> oh, wait
15:58:13 <Arc_Koen> we bother so much about languages being turing-complete or not
15:58:48 <Arc_Koen> but the church turing thesis does not contain so much as a proof of the "being turing-complete means you can do everything with it" thing?
15:59:32 <kmc> no because you would have to define what "everything" is
15:59:52 <kmc> church turing thesis is not like a mathematical statement that can be proven or disproven
16:00:08 <kmc> it's basically a definition
16:01:30 <kmc> it says that for mathematical purposes we take the fuzzy term "everything you can do" to mean "any function computable by a turing machine"
16:01:56 <kmc> "One can't proceed from the informal to the formal by formal means."
16:02:59 -!- quintopia has joined.
16:03:07 <Arc_Koen> hmmm that sounds very disappointing
16:03:40 <Arc_Koen> I thought they had a formal definition for "everything"
16:04:27 <Arc_Koen> I mean, "any function computable by a turing machine"... what if someone comes up with an example like the ackerman function, but even worse, that can't be computed by a turing machine?
16:04:51 <Arc_Koen> I mean, what you just said sound like "Mr Turing knew he was very smart, so he asked everyone to take for granted that his model was ultimate."
16:05:32 <kmc> that's dr. turing to you, punk
16:05:38 <Arc_Koen> haha
16:06:24 <kmc> perhaps it's more correct to say that the thesis could be disproven
16:06:40 <kmc> if someone comes up with such a function, and then convinces the world that the function is "effectively calculable"
16:07:12 <kmc> but that is not a mathematical disproof either
16:07:25 <kmc> i mean it's quite easy to describe a function which is not computable
16:07:33 <kmc> like the busy beaver function
16:07:41 <kmc> in fact it grows faster than any computable function
16:07:52 <Arc_Koen> what about http://esolangs.org/wiki/CLooP#.23hyper.3B
16:08:01 <kmc> it's up to the philosophers to argue about whether that is "effectively calculable"
16:08:37 <kmc> you know there's this idea that if you drop a computer into a black hole, you can do an infinite amount of computation in a finite time
16:08:42 <kmc> but you can't get the result back out
16:08:47 <Arc_Koen> well, I just lost faith in computer science
16:09:20 <kmc> perhaps in time you will reach a fuller understanding of the relationship between mathematics, philosophy, and empiricism
16:09:39 -!- epicmonkey_ has quit (Ping timeout: 260 seconds).
16:11:50 <Phantom_Hoover> uh
16:11:58 <Phantom_Hoover> is Arc_Koen an idiot now i haven't been watching
16:12:02 <Phantom_Hoover> kmc, plz enlighten
16:12:13 <atriq> Phantom_Hoover, he's like itidus21 but with computer science rather than philosophy
16:12:26 <Arc_Koen> should I feel insulted?
16:12:28 <Phantom_Hoover> hmm he just looks a bit confused
16:12:36 <Phantom_Hoover> i thought we had another anothertest on our hands
16:12:48 <atriq> Arc_Koen, I'm joking
16:12:48 <kmc> it's actually pretty tricky to wrap your head around this stuff
16:12:54 <Phantom_Hoover> Arc_Koen, no you're good for now
16:13:02 <Arc_Koen> ok :)
16:13:18 <Arc_Koen> still it is very disappointing
16:13:30 <kmc> i mean basically
16:13:31 <kmc> <Arc_Koen> I thought they had a formal definition for "everything"
16:13:35 <kmc> that definition is turing machine
16:14:04 <kmc> or if you like lambda calculus, they are equivalently powerful
16:14:08 <Arc_Koen> so basically Turing came up with his Turing machine, Church with his lambda-calculus, they proved the two models were equivalent, and then what?
16:14:13 <kmc> or any of 1,000 other things
16:14:18 <kmc> Arc_Koen: and then computer science happened
16:14:34 <Phantom_Hoover> Arc_Koen, no other way round
16:14:37 <Phantom_Hoover> church was first
16:14:53 <kmc> original gangsta
16:15:36 <Arc_Koen> ok ok; that's a pretty good start and all, but have every computer scientist just said "ok, let's take those models as the ultimate thing, and never question them"?
16:15:43 <kmc> no
16:15:52 <kmc> there is an entire field of studying "what if" more powerful things existed
16:16:08 <kmc> http://en.wikipedia.org/wiki/Arithmetical_hierarchy
16:16:26 <kmc> admittedly most people would call this maths and not CS
16:16:35 <Phantom_Hoover> CS is maths kmc
16:16:47 <kmc> we are all in the gutter, but some of us are looking at the stars
16:17:17 <kmc> Phantom_Hoover: even if CS is a subset of maths my statement makes sense
16:17:45 <kmc> Arc_Koen: http://en.wikipedia.org/wiki/Oracle_machine
16:17:58 <kmc> http://en.wikipedia.org/wiki/Hypercomputer
16:18:34 <Arc_Koen> yup I gave the oracle machine a look when I ran into Category:Uncomputable on the wiki
16:18:54 -!- FreeFull has joined.
16:19:42 <Arc_Koen> well all that stuff sounds very interesting, thank you guys
16:20:53 <Arc_Koen> (still it does sound like "oh btw, did I mention the bridge you've been walking on for the last few years has never been tested? It could potentially collapse at any moment.")
16:23:30 <kmc> not really
16:23:55 <kmc> whenever you're doing anything formal, you have axioms
16:24:03 <kmc> the axioms are not proven, by definition
16:24:15 <kmc> you can argue about whether the axioms match "the real world" but that is a philosophical argument and not a formal one
16:27:03 <kmc> you can't prove that induction works either
16:27:07 <kmc> that should bother you a lot more
16:27:17 <quintopia> i can though
16:27:22 <quintopia> proof by induction
16:27:38 <kmc> yeah induction always worked before, so it must work now
16:27:44 <kmc> anti-induction never worked before, so it must work now
16:28:11 <Arc_Koen> hmm well my answer to "why does induction work?" would be "it's logical"
16:28:57 <quintopia> i cant prove anti-induction! not even by induction! it must be false.
16:28:58 <Arc_Koen> then you're probably gonna tell me about the axiom of choice, but at some point I will lose interest because really, that does sound like philosophy
16:29:20 <Arc_Koen> turing machines never sounded like philosophy to me before, though
16:30:07 <Arc_Koen> I mean, I really thought they had a formal definition of the intuitive "turing-complete means you can use it to compute anything"
16:30:33 <Arc_Koen> I had never really bothered to look for it before today, though
16:31:47 <kmc> but if there were such a formal definition
16:31:48 <quintopia> the church-turing thesis is our religion and godel is our saint
16:32:03 <kmc> you would still be in a position to argue about whether that formal definition matches our intuitive idea of "everything you can do"
16:34:06 <Arc_Koen> kmc: yeah but I wouldn't care about that much
16:34:13 <kmc> but it's the same thing
16:34:22 <Arc_Koen> I mean, "everything you can do" is obviously a very unformal way to say things
16:34:57 <kmc> here look at http://en.wikipedia.org/wiki/Effective_method
16:35:01 <Arc_Koen> I do not expect my brainfuck program to build a time-traveling machine, or to produce coffee
16:35:06 <kmc> this is an attempt at like a semi-formal definition of what we're talking about
16:35:36 <kmc> now imagine that you try to formalize the ideas of "series of rote steps" and "completed in a finite number of steps" and such
16:37:18 <Arc_Koen> In simple terms, the Church–Turing thesis states that a function is effectively calculable if and only if it is computable by a Turing machine.
16:37:24 <Arc_Koen> and then "it cannot be proven"
16:37:36 <Arc_Koen> I'm skeptic. do they have a proof that it cannot be proven?
16:38:21 <Arc_Koen> the Riemann hypothesis, for instance, has not been proven yet, but nobody said it couldn't
16:38:34 <Arc_Koen> (and of course it may be wrong but that's not proven either)
16:38:46 <Arc_Koen> so i'm ok with that
16:38:48 <kmc> you can't formally prove something which is not stated in formal terms
16:39:03 <kmc> "One can't proceed from the informal to the formal by formal means."
16:39:11 <kmc> that's what they mean by "cannot be proven"
16:39:27 <kmc> if you sit down to formalize the idea of "effectively calculable"
16:39:31 <kmc> then you invent something like a turing machine
16:39:34 <kmc> and you're back where we are now
16:39:47 <Arc_Koen> hmm, ok
16:39:50 <kmc> the church-turing thesis is not the same kind of thing as the riemann hypothesis
16:48:07 <kmc> <Arc_Koen> turing machines never sounded like philosophy to me before, though
16:48:13 <kmc> turing machines are not philosophy
16:48:24 <Arc_Koen> that's not what I meant
16:48:25 <kmc> they are a mathematical object, like sets or the natural numbers etc
16:48:37 <kmc> and you can prove things about them with whatever degree of rigor you like
16:48:52 <kmc> but (also like sets and the natural numbers) you can have philosophical arguments about to what degree these things model "the real world"
16:49:49 <soundnfury> yeah, but like, /obviously/ there's a Platonic turing machine in the perfect realm of the forms, dude
16:50:27 <kmc> *bonghit noises*
16:50:58 <atriq> The question is
16:51:06 <atriq> Can the Platonic turing machine feel love?
16:51:10 <soundnfury> hey, not /all/ neoplatonist thinkers in the Western Renaissance developed their philosophy under the influence of drugs.
16:51:16 <soundnfury> Ok, so that's not actually true...
16:51:18 <kmc> just descartes ;)
16:51:34 <soundnfury> ahh, descartes... and the flax fire
16:51:37 <oklopol> are we discussing the matrix of solidity
16:51:58 <kmc> five tons of flax
16:51:59 <Phantom_Hoover> yes
16:52:14 <soundnfury> kmc: ITYM five tons of VAX
16:52:22 <kmc> eight megs and constantly swapping
16:52:29 <atriq> ...
16:52:33 <soundnfury> eventually munches all computer storage?
16:52:36 -!- KingOfKarlsruhe has joined.
16:52:43 <atriq> I think I've spent too long on Tumblr
16:52:45 <atriq> This feels normal
16:52:47 <soundnfury> great OS, shame about the text editor
16:53:51 <oklopol> also on one of the many painful lectures on the church turing thesis i've endured there was some discussion about why "whether the real numbers are what geometry actually talks about" is never questioned while the church turing thesis keeps being debated
16:54:22 <oklopol> and the reason was stated to be the obvious one: the first attempt at a formal definition was wrong.
16:54:50 <oklopol> just wanted to mention this because i thought it was a nice observation. kinda obvious i guess.
16:55:05 <kmc> what was the first attempt? primitive recursion?
16:55:08 <oklopol> yes
16:55:15 <kmc> weren't there some wrong attempts at real numbers too?
16:55:28 <kmc> also plenty of wrong attempts at set theory
16:55:28 <oklopol> yeah i just started wondering about aht
16:55:29 <oklopol> that
16:55:41 <kmc> people do keep arguing about set theory but they get weird looks from most other mathematicians
16:55:44 <oklopol> well set theory also kind of keeps getting questioned by silly people :P
16:56:01 <oklopol> okay i guess silly people also question the reals... but usually for other reasons
16:56:12 <oklopol> hmm, true
16:56:22 * kmc questions the reals
16:56:40 <kmc> i mean, one real contains an infinite amount of information
16:56:43 <kmc> that's just fucked up
16:56:59 <kmc> almost all real numbers can never be defined, used, or thought about it any way
16:57:09 <oklopol> you must have a typo there because you just claimed that a _single number_ is somehow... infinite
16:57:15 <oklopol> that's insane
16:57:16 <oklopol> lol
16:57:26 <oklopol> i mean they can't seriously think that????
16:57:28 <kmc> not that the number has infinite magnitude, but that it contains an infinite amount of information
16:57:38 <oklopol> that's even insaner!
16:57:44 <kmc> just write out the decimal expansion
16:57:51 <kmc> a real number can have an infinitely long, non-repeating decimal expansion
16:57:54 <kmc> in fact almost all of them do
16:57:56 <oklopol> i mean come one where do you put it unless the magnitude???
16:58:05 <oklopol> wait are we still doing a bit
16:58:18 <kmc> i'm the tortoise
16:58:18 <pikhq> Well, they're blatantly non-computable, so they must go in magic places.
16:58:45 <Arc_Koen> oklopol: I don't know, I think the only reason we have real numbers is because rationals didn't include the diagonal of a square, and transcendental numbers didn't include Pi, e or other random constants
16:59:16 <pikhq> The computables are so much better.
16:59:17 <pikhq> :)
16:59:41 <Arc_Koen> I mean, without sqrt(2) and Pi, who would have ever complained about rational numbers? and we currently don't have *needs* for something more than reals, but what-if?
16:59:42 <oklopol> what's your definition of transcendental number?
16:59:50 <Arc_Koen> hum
16:59:55 <kmc> man 2 sqrt
16:59:56 <pikhq> Arc_Koen: We can't even use the reals.
17:00:03 <oklopol> because usually it's the complement of algebraic numbers
17:00:07 <Arc_Koen> I meant non-transcendentals
17:00:10 <pikhq> Arc_Koen: There exist reals which require a halting oracle to compute.
17:00:10 <oklopol> and it in fact does contain pi
17:00:11 <oklopol> okay
17:00:25 <Arc_Koen> pikhq: wait, what?
17:00:54 <pikhq> It is in fact strictly *necessary* for there to be reals which cannot be computed.
17:00:55 <kmc> http://en.wikipedia.org/wiki/Chaitin's_constant
17:01:00 <kmc> in fact almost all reals cannot be computed
17:01:11 <kmc> because there are countably many turing machines and uncountably many reals
17:01:37 <pikhq> Yup. Wrong cardinality.
17:01:41 <kmc> and each of those reals contains an infinite amount of (Kolmogorov) information
17:01:47 <Arc_Koen> oh, well that doesn't bother me
17:01:51 <kmc> IT SHOULD!
17:01:59 <kmc> real numbers is a word masturbation
17:02:02 <kmc> you are educated stupid
17:02:26 <Arc_Koen> I've personally never tried to compute the digits of Pi, yet I've been "using" that number for a very long time
17:02:34 <pikhq> What bothers me is when people refer to the floats as "real numbers".
17:02:48 <kmc> "god is real, unless declared integer"
17:03:00 <pikhq> There are floats that aren't in the set of reals, and vice versa.
17:03:11 <Sgeo_> http://what-if.xkcd.com/11/ Why does Munroe's equation imply there are 16 hours in a day?
17:03:15 <Arc_Koen> pikhq: well, to store data on computer one needs to "approximate" continuous as discrete
17:03:25 <pikhq> Arc_Koen: NAN is not a real, but it is a float.
17:03:44 <kmc> i am not a number, i am a free variable!
17:03:48 <Sgeo_> Haskell has libraries for exact real numbers
17:04:13 <Sgeo_> Um, it does occur to me that not all real numbers can be represented, even with such a library
17:04:25 <pikhq> Sgeo_: By necessity.
17:04:35 <kmc> not just "not all" but "almost none"
17:04:37 <pikhq> Sgeo_: The computable numbers are countable.
17:04:38 <kmc> a set of measure zero
17:04:42 <Sgeo_> pikhq, I know
17:04:56 <soundnfury> kmc: Ok, I get that you prefer computable numbers to reals, but come on, analytic completeness is handy
17:05:01 <oklopol> i think the real problem isn't that float has a few special values, that's just computer blah blah. the real big difference is that the floats aren't even a decent subset of the rationals
17:05:08 <quintopia> Sgeo_: it's hard to keep your mouth open and pointed at the sky while asleep, so he only counts waking hours
17:05:13 <kmc> soundnfury: yeah, well, i'm a computerologist and not a mathematician
17:05:17 <soundnfury> you can't exactly put calculus on a sound footing in the computables
17:05:21 <kmc> is that so?
17:05:23 <kmc> i have heard that you can
17:05:25 <kmc> but did not try
17:05:30 <kmc> you can take limits of computable numbers
17:05:36 <kmc> of computable sequences of computable numbers
17:05:47 <soundnfury> yeah, but said limits are not guaranteed to exist
17:05:56 <soundnfury> unless you have a wacko definition of computability
17:05:57 <Sgeo_> quintopia, it's also hard to live for 300 years.
17:06:06 <oklopol> soundnfury: isn't there some kind of computable analytic completeness for the computable reals which works just as well in computable analysis?
17:06:12 <soundnfury> that says something like a limit of a computable sequence of computables is computable...
17:06:15 <Sgeo_> ...where did I get the number 300 from? It's 195
17:06:19 <oklopol> (which i know 0 about but i've heard the term a lot)
17:06:32 <soundnfury> but really, that causes more problems than it solves
17:07:11 <pikhq> There's a number of properties the floats straight-up don't have.
17:07:11 <kmc> why shouldn't a limit of a computable sequence of computables be computable?
17:07:21 <kmc> pikhq: like reflexivity of equality? ;P
17:07:26 <pikhq> x == x does not hold. a+b == b+a does not hold. And so on.
17:07:27 <pikhq> kmc: Yes.
17:07:59 <soundnfury> kmc: I'm not 100% sure, but all my mathmo's reflexes are screaming "this is not well-founded"
17:08:10 <soundnfury> s/founded/formed/
17:08:36 <kmc> to get the nth digit of the limit, you step through the sequence until the (known, computable) convergence bound is close enough, and then you get the right digit of that number
17:09:01 <soundnfury> I mean, for one thing, recursing this is going to give us some kind of ordinal induction shit
17:09:53 <oklopol> i don't get it
17:10:06 <oklopol> can you elaborate
17:10:40 <soundnfury> and I'm not convinced that the computables are going to be a recursive set and that worries me
17:11:16 <soundnfury> or even recursively enumerable for that matter
17:11:39 <oklopol> i suppose that's true
17:11:41 <soundnfury> oklopol: because once you've got new computables from limits, you can then make sequences with those
17:12:06 <soundnfury> and you can do this lots of times, possibly big-fat-ordinal-ly many times
17:12:13 <oklopol> i see how that'd be a problem if they were some new kind of computable
17:12:24 <soundnfury> (or possibly not, it depends on your defn of computable number)
17:12:25 <pikhq> soundnfury: A set is computable iff it is recursive.
17:12:26 <pikhq> :)
17:12:45 <oklopol> i figured we defined convergence so that you have actual closure under limits
17:13:16 <soundnfury> pikhq: yeah but I'm not convinced the set of computable numbers (where limits are included in the defn thereof) is a computable set
17:14:00 -!- augur has quit (Remote host closed the connection).
17:14:41 <soundnfury> also the definition of a recursive set is for subsets of the naturals, not subsets of the reals, so we have a problem there
17:14:52 <pikhq> The set of computable functions is trivially computable. The set of computable numbers is defined by the subset of the set of computable functions that results in numbers. Thus, the set of computable numbers is a computable set.
17:15:45 <soundnfury> anyway, the point is that trying to stick analytic structure on the computable numbers (or any countable subset of the reals, in fact) gives me the screaming blue willies
17:16:46 <pikhq> (to compute the computable functions: map ASCII strings to naturals. For each natural, test if it parses in $language. This is an inefficient, but functioning, generator of computable functions.)
17:17:24 <kmc> that only demonstrates that they are recursively enumerable, i think
17:17:40 <soundnfury> yeah I think we need to identify reals with functions
17:17:50 <soundnfury> because the computable numbers are a subset of the reals, not a subset of the naturals
17:18:07 <pikhq> Mmm.
17:18:09 <soundnfury> and R is basically 2^N, right?
17:18:23 <pikhq> Actually.
17:18:24 <pikhq> Blah.
17:18:57 <Phantom_Hoover> soundnfury, the computable reals biject with the naturals.
17:19:04 <pikhq> Telling if a given number is computable might be... Nasty.
17:19:23 <kmc> i mean, what form does the turing machine get that number in
17:19:47 <Phantom_Hoover> wait soundnfury would know that
17:19:52 <Phantom_Hoover> what are you people talking about no
17:19:53 <Phantom_Hoover> w
17:19:54 -!- subleq has joined.
17:19:57 <oklopol> telling if a given number is computable sounds like blah blah blah rice's theorem
17:20:01 <subleq> hello
17:20:09 <soundnfury> Phantom_Hoover: sure, they're countable. But viewing them as a kind of natural number doesn't give you analytic structure
17:20:12 <pikhq> oklopol: Yeah.
17:21:16 <kmc> i think "is the set of computable numbers computable" is not a well posed question
17:21:19 <pikhq> Kay, the set of computable numbers might only be recursively enumerable?
17:21:27 <kmc> because how do you feed a possibly not-computable number into your turing machine to ask if it's computable?
17:21:48 <soundnfury> kmc: yes.
17:21:53 <kmc> it's like asking if the set of computable languages is computable
17:22:57 <pikhq> 'course, the set of reals is clearly not computable. :)
17:23:57 <soundnfury> but if you have some oracle that has a real number x, and you're allowed to ask it questions about x (where I haven't defined what 'questions' are but I probably should),
17:24:06 <soundnfury> you can't generally determine whether x is computable
17:24:27 <kmc> yeah
17:24:28 <soundnfury> can you, however, guarantee that if it is you'll eventually determine that?
17:24:30 <Arc_Koen> "Mr Oracle, is x computable?"
17:24:41 <soundnfury> Arc_Koen: yeah, not that
17:24:44 -!- epicmonkey_ has joined.
17:30:44 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
17:35:55 <atriq> "If you compute x, a great empire will fall!"
17:37:16 -!- hagb4rd has joined.
17:39:41 <oklopol> ...but in any case i do agree with soundnfury, it doesn't sound like you'd get an equally nice theory.
17:41:08 <soundnfury> yay, I have been agreed with on #esoteric
17:41:27 <soundnfury> ... who are you and what have you done with the real #esoteric?
17:41:44 -!- MoALTz_ has joined.
17:44:22 -!- MoALTz has quit (Ping timeout: 240 seconds).
17:44:29 -!- jiella has joined.
17:46:52 -!- Nisstyre-laptop has quit (Remote host closed the connection).
17:49:31 -!- augur has joined.
17:49:36 -!- MoALTz has joined.
17:49:55 -!- MoALTz_ has quit (Ping timeout: 244 seconds).
17:50:57 -!- Phantom_Hoover has joined.
17:51:38 <oklopol> well i'm wondering about the same thing since i seem to recall we haven't agreed on much sofar :D
17:55:05 -!- MoALTz has quit (Ping timeout: 244 seconds).
17:55:34 <Phantom_Hoover> hey soundnfury what do you think of germaine greer
18:09:37 -!- zzo38 has joined.
18:12:36 -!- sivoais has quit (Read error: Connection reset by peer).
18:13:08 -!- sivoais has joined.
18:14:20 <Vorpal> anyone knows a good way to convert a .spc tracker file to any sort of wave format
18:14:31 <Vorpal> SPC is an SNES tracker file btw
18:14:39 <Vorpal> the issue is my phone doesn't play those
18:14:41 <zzo38> Use a SNES emulator?
18:14:50 <olsner> "convert" is probably not the right verb
18:14:53 <quintopia> maybe mpt supports that?
18:15:05 <Vorpal> what is mpt?
18:15:10 <quintopia> "play and record" would be closer
18:15:14 <zzo38> (Well, I think the audio chip is a separate program in SNES, so you only need to emulate that chip and not the entire SNES)
18:15:18 <Vorpal> sure whatever the terminology
18:15:20 <quintopia> it is a tracker/player
18:15:28 <Vorpal> I just want a wav file so I can put it on my phone :P
18:15:39 -!- DH____ has quit (Ping timeout: 260 seconds).
18:15:41 <olsner> instead of using the wav file, compress it somehow first
18:15:46 <olsner> and/or get a snes emulator for your phone
18:16:02 <Vorpal> for the first: duh, but wav is easy to compress from
18:16:04 <quintopia> Vorpal: http://www.purezc.com/forums/index.php?showtopic=3612
18:16:07 <zzo38> Do SPC files include a length? Do they contain a program, like NSF and so on do?
18:16:11 <Vorpal> and for the second, I like the stock media player
18:16:20 <Vorpal> I don't want to play the game on the phone either
18:16:34 <Vorpal> zzo38, they are a memory dump of the sound chipset memory iirc
18:16:50 <Vorpal> they do seem to be able to include infinite loops, so I need to restrict that somehow
18:17:00 <Vorpal> quintopia, thanks
18:18:31 <Vorpal> quintopia, well that doesn't seem to end up with a wave file, but rather an .it file
18:18:50 <quintopia> and then you open the .it in mpt and output it to a wave
18:19:17 <quintopia> (after editing it to make sure it only includes the parts you want)
18:19:30 <Vorpal> hm
18:19:44 <Vorpal> surely there is a simpler way to do this?
18:19:53 <Vorpal> since they just play in vlc
18:19:57 <Vorpal> and display a length there
18:19:57 <quintopia> oh
18:19:59 <quintopia> sure
18:20:02 <quintopia> play it in vlc
18:20:16 <quintopia> record it from your sound card with your favorite recording program
18:20:25 <Vorpal> yeah could work
18:23:52 <Vorpal> quintopia, why is it that many modern onboard sound solutions lack a virtual input for the sound output
18:23:54 <Vorpal> :/
18:24:03 <Vorpal> my SB Live has it of course
18:24:09 <quintopia> i wouldnt know. i've never had that problem
18:25:17 <Vorpal> hey there is vlc for android
18:25:22 <Vorpal> I wonder if it can play these files too
18:25:44 <Vorpal> sadly it is still in beta and last I tried it, it was very buggy
18:30:43 -!- FreeFull has quit (Read error: Operation timed out).
18:40:09 <fizzie> I must be missing something that makes "play in VLC, record what's being played" a reasonable thing to do, as opposed to just telling VLC to write the audio to file instead of/in addition to playing it.
18:42:09 <Vorpal> fizzie, oh you can do that?
18:42:11 <Vorpal> awesome
18:42:28 <Vorpal> fizzie, how?
18:42:58 <fizzie> It has that whole stream/save GUI dialog; and the command line that I forget how to use.
18:43:03 <Vorpal> hm
18:43:24 <Vorpal> fizzie, how would converting it work if the tracker file has an infinite loop in it?
18:44:18 <fizzie> If you do the "also play locally", you can press stop when you've had enough, I'd think.
18:44:25 <Vorpal> hm
18:44:38 <fizzie> See http://wiki.videolan.org/Extract_audio if you want the command line magic.
18:44:59 <Vorpal> I guess I could add a bit of fade at the end after or something
18:45:13 <Vorpal> since the music consists of intro followed by infinite loop
18:49:31 <Vorpal> also vlc on phone doesn't do tracker files it seems
18:49:33 <Vorpal> sad
18:52:18 <quintopia> yeah, i pretty much don't understand how RFNHS3:SDD works. this description is terrible.
19:02:58 -!- nooga has joined.
19:05:30 -!- ogrom has joined.
19:14:28 -!- jiella has quit (Ping timeout: 252 seconds).
19:30:31 <atriq> Can someone remind me that extrapolation is a very bad thing?
19:31:07 <Arc_Koen> ok
19:31:20 <Arc_Koen> when do you want that remainder to strike you?
19:31:32 <atriq> Round about now would be nice
19:32:24 <Arc_Koen> I'll ask lambda bot to remind you of that
19:32:36 <atriq> Thanks
19:32:39 <Arc_Koen> @tell atriq EXTRAPOLATION. IS. VERY. BAD.
19:32:40 <lambdabot> Consider it noted.
19:32:55 -!- FreeFull has joined.
19:33:08 <Arc_Koen> what about context?
19:33:21 <Arc_Koen> in some cases I'm pretty sure extrapolations can be good
19:33:28 -!- impomatic has joined.
19:33:38 <atriq> I've been trying to predict how long Act 6 Intermission 3 of Homestuck is going to be.
19:33:38 <lambdabot> atriq: You have 1 new message. '/msg lambdabot @messages' to read it.
19:33:42 <atriq> @messages
19:33:42 <lambdabot> Arc_Koen said 1m 3s ago: EXTRAPOLATION. IS. VERY. BAD.
19:33:50 <atriq> @tell Arc_Koen Thank you.
19:33:51 <lambdabot> Consider it noted.
19:34:03 <atriq> I make it 204
19:34:21 <Arc_Koen> I'm trying very hard right now not to type "@tell atriq you're welcom"
19:34:22 <lambdabot> Arc_Koen: You have 1 new message. '/msg lambdabot @messages' to read it.
19:34:30 <Arc_Koen> @messages
19:34:31 <lambdabot> atriq said 40s ago: Thank you.
19:34:50 <Arc_Koen> @tell atriq You're welcome!
19:34:51 <lambdabot> Consider it noted.
19:34:51 <impomatic> Hmmm...
19:34:54 <Arc_Koen> see, I'm weak
19:34:58 <impomatic> @messages
19:34:58 <lambdabot> You don't have any new messages.
19:34:59 <atriq> @clear-messages
19:35:00 <lambdabot> Messages cleared.
19:35:02 <atriq> AND I AM STRONG
19:35:10 <atriq> AND RUDE.
19:35:38 <Arc_Koen> I didn't know of that command
19:36:03 -!- Nisstyre has quit (Quit: Leaving).
19:44:02 <atriq> Learn something every day
19:44:02 <lambdabot> atriq: You have 1 new message. '/msg lambdabot @messages' to read it.
19:44:09 <atriq> @messages
19:44:09 <lambdabot> Arc_Koen said 8m 37s ago: You're welcome!
19:44:15 <atriq> AAAAH
19:44:18 <atriq> AAAAAAAAAAAH
19:44:20 <atriq> AAAAAAAAAAAAAAAH
19:44:26 <atriq> @nixon Help!
19:44:26 <lambdabot> Don't try to take on a new personality; it doesn't work.
19:44:45 <Arc_Koen> It. Doesn't. Work.
19:44:46 <atriq> ^echo aaaaaaaaaa
19:45:40 -!- FreeFull has quit (Ping timeout: 268 seconds).
19:46:26 <atriq> fizzie, where's fungot?
19:47:31 <fizzie> It may have a thing.
19:47:33 <fizzie> Thing a thing.
19:47:35 <fizzie> Thing.
19:48:10 <fizzie> I tried to thing but thing's a long time.
19:48:17 <fizzie> Okay, now it thinged.
19:48:39 -!- fungot has joined.
19:48:45 <fizzie> (I'm kinda slep.)
19:48:54 <olsner> fungot slep?
19:48:54 <fungot> olsner: did you let it!), and c1 x is x.
19:52:18 -!- nooga has quit (Ping timeout: 264 seconds).
19:52:23 <fizzie> I wokked up some kind of 30 hours ago, but don't want to get all misdiurnaligned.
19:56:14 <olsner> not sleeping for 30 hours seems worse than being a bit misaligned
19:57:33 <fizzie> There weren't really opportunities.
19:57:43 <fizzie> Should've'pt'n'e'lane.
19:58:09 <olsner> what were you doing?
19:58:36 <fizzie> There was this interactive multimedia system, I mostly just fiddled with that.
19:58:44 <fizzie> Those seats don't run. I mean, recline much.
19:59:58 <Arc_Koen> "an interesting problem crossed my path, and when I looked up to the clock, 30 hours had passed already"
20:00:29 <olsner> hmm, "interactive multimedia system"... does that mean you've been playing VIDEO GAMES?
20:00:58 <fizzie> olsner: No, it's the personal video/audio on demand kind of thing. (Okay, it had some games.)
20:01:24 <fizzie> Also including Bejeweled®.
20:02:03 <Arc_Koen> "wait, they have an implementation of lode runner in here? let's try it... holy crap we're tomorrow!"
20:03:47 <fizzie> The person in the next seat was playing some kind of "learn a language" word-matching phrase-filling whatevernot kind of game, and doing that for Finnish.
20:03:52 <fizzie> It was sorta weird.
20:10:30 <zzo38> I made up a word "anticategory" for a semigroupoid(category except identity) which has no endomorphisms.
20:12:23 <olsner> fizzie: did he finnish the game?
20:13:28 <fizzie> olsner: She, and at least some levels, yes.
20:13:43 -!- Sgeo_ has quit (Read error: Connection reset by peer).
20:14:46 -!- Sgeo has joined.
20:15:41 <Vorpal> hi
20:16:29 -!- epicmonkey_ has quit (Ping timeout: 272 seconds).
20:24:52 -!- nooga has joined.
20:46:23 -!- epicmonkey_ has joined.
20:51:46 -!- FreeFull has joined.
20:55:33 <Arc_Koen> haha
20:55:35 <Arc_Koen> finnish
20:58:45 <olsner> Arc_Koen: I suspect fizzie was too slep to notice the pun
20:59:04 <Arc_Koen> well it did take me 40 minutes
21:08:35 <fizzie> olsner: No, I noticed it.
21:08:47 <fizzie> olsner: I just didn't want to dignify it with a response.
21:12:26 <olsner> fizzie: you just did
21:15:48 -!- ogrom has quit (Quit: Left).
21:19:40 <atriq> Goodnight
21:19:42 -!- atriq has quit (Quit: Leaving).
21:37:12 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.88.2 [Firefox 15.0.1/20120905151427]).
21:40:59 -!- pikhq has quit (Read error: Connection reset by peer).
21:41:09 -!- pikhq has joined.
21:43:26 <zzo38> After I make the Elemental Solitaire Famicom game, then I might make up the hangman game on Famicom, using the Famicom keyboard.
21:44:11 -!- Nisstyre-laptop has joined.
21:46:17 -!- trout has changed nick to function.
21:46:26 <quintopia> zzo38: why do you like famicom
21:47:39 <zzo38> I want to try to write some software on it.
21:48:28 <zzo38> (The only hardware I have is a clone, which has a 60-pin slot and some games built-in, many of which do not work properly.)
21:48:55 <zzo38> (I also have no way to program a ROM cartridge. But, I do have emulator, so I can use that.)
21:51:46 <quintopia> is it hard to write for
21:51:55 <zzo38> Somewhat.
21:52:01 <quintopia> 6502 assembly?
21:52:05 <zzo38> Yes.
21:52:16 <zzo38> And decimal mode doesn't work.
21:52:20 <quintopia> did that LFSR PRNG work out for you
21:52:38 <zzo38> I decided not to use it; I am using something else.
21:53:14 <quintopia> what
21:54:44 <zzo38> Rather, it uses ARCFOUR to shuffle the deck many times per frame, and has a limit equal to the number of cards remaining in the deck (at first 52); this limit is reduced when cards are dealt, causing the memory for cards already dealt to remain static until the game is restarted.
21:55:41 <zzo38> (It seems easier to simulate modulus arithmetic if doing it this way, for one thing.)
21:55:57 <quintopia> what is ARCFOUR
21:56:17 <zzo38> The open-source and non-trademarked version of RC4
21:56:39 <zzo38> (Actually only a part of the ARCFOUR algorithm is used; not all of it.)
21:57:08 -!- oerjan has joined.
21:59:16 <oerjan> 12:34:14: <Arc_Koen> basically for a program to be reversible, it must not allow information to be destroyed right?
21:59:19 <oerjan> 12:34:35: <Arc_Koen> but there's nothing wrong with information being created
21:59:31 <oerjan> no, those are equally forbidden.
21:59:44 <Arc_Koen> really?
22:00:17 <zzo38> This is the code to shuffle the cards: http://sprunge.us/PNJM
22:00:25 <oerjan> well i guess you could have a weaker version of reversible as you say
22:00:27 <Arc_Koen> my point was that a program could be "reversible" (not sure that's the right word) without its reverse being reversible as well
22:00:32 <Arc_Koen> yeah :)
22:01:42 <oerjan> although hm
22:02:01 <shachaf> zzo38: Can I access sprunge.us over Gopher?
22:02:07 <oerjan> most programming languages don't actually create information most of the time
22:02:17 <oerjan> since they are deterministic
22:02:51 <zzo38> shachaf: Unfortunately not because it seems to requires a Host: header.
22:02:53 <Arc_Koen> hmm, well you can ask for input, or use functions like a random number, or stuff
22:03:06 <shachaf> zzo38: Gopher doesn't have that?
22:03:11 <shachaf> Wow, what a useless protocol.
22:03:18 <shachaf> The Internet *NEEDS* a Host: header!
22:03:25 <zzo38> Actually, you can do it without a Host: header, as follows: gopher://sprunge.us:80/0http://sprunge.us/PNJM
22:03:37 <zzo38> Actually, you can do it without a Host: header, as follows: gopher://sprunge.us:80/0GET%20http://sprunge.us/PNJM
22:03:39 <Arc_Koen> I'm sure many programming languages have functions to "put stuff back on the input buffer"
22:03:41 <zzo38> That might work.
22:04:07 <Arc_Koen> though "take stuff back from the output buffer" is impossible if it has been flushed
22:04:13 <zzo38> shachaf: With IPv6 you don't need, which is why some gopher is IPv6-only.
22:04:31 <kmc> hahaha
22:05:04 <kmc> gopher will make a comeback!
22:05:25 <zzo38> Except for a problem with the sprunge.us it is using Google server which has a bug making headerless HTTP not working properly.
22:05:29 <zzo38> Please tell Google to fix this.
22:05:39 <shachaf> @google please fix this
22:05:43 <lambdabot> http://pleasefixtheiphone.com/
22:05:43 <lambdabot> Title: Most wanted ever | Please fix the iPhone
22:07:19 <Arc_Koen> oerjan: so did you read the whole log before you joined?
22:08:10 <oerjan> <Arc_Koen> oh, so "real fast" applied to "download"
22:08:21 <oerjan> no i _am_ reading the whole log.
22:08:44 <oerjan> darn i was imagining Nora as the fastest hairdresser ever :(
22:09:09 <Arc_Koen> yeah, it was kinda catchy
22:09:13 -!- epicmonkey_ has quit (Ping timeout: 272 seconds).
22:10:50 <Arc_Koen> so I had an idea for a nondeterministic program
22:11:13 <oerjan> ...Nora apparently died in the first movie, so I guess not.
22:11:40 <Arc_Koen> something that'd use Pascal's triangle - that is, have an "instruction pointer" bounce off several nodes before hitting an instruction to execute
22:11:52 <Arc_Koen> s/rogram/language
22:12:38 <Arc_Koen> and maybe some of the instruction would make the instruction pointer bounce back into that structure. or maybe there can be flow control instructions on the node
22:12:56 <Arc_Koen> (like switches or whatever)
22:13:39 -!- Vorpal has quit (Ping timeout: 252 seconds).
22:13:52 <oerjan> like http://en.wikipedia.org/wiki/Bean_machine ?
22:14:11 <Arc_Koen> yes
22:14:19 <Arc_Koen> (well, if that's what I think it is)
22:14:35 <Sgeo> I have a quick question for everyone, but I want to ask it someplace that's not logged
22:14:46 <oerjan> well i got to it by googling "pascal's triangle binomial distribution balls"
22:14:59 <oerjan> since i couldn't remember what it was called
22:15:16 <oerjan> Sgeo: that's ok it's just hemorrhoids
22:15:54 <Arc_Koen> Sgeo: maybe you can paste it in a place that's cleared every day
22:16:57 -!- nooga has quit (Ping timeout: 252 seconds).
22:18:57 -!- nooga has joined.
22:19:56 <itidus21> Sgeo: is #sgeosquestion logged?
22:20:09 <itidus21> just asking hypothetically
22:24:29 <oerjan> <atriq> LAMBDA APPLY ZERO LAMBDA LAMBDA ZERO should be an "at", or a cat that ignores the first character
22:25:16 <oerjan> \x (\y \z z)
22:25:29 <Arc_Koen> ohhhh
22:25:31 <quintopia> oerjan: can you explain why RFNHS3:SDD is turing-complete?
22:25:42 <Arc_Koen> so \x expr means lambdax.expr
22:25:46 <oerjan> quintopia: because it encodes lambda calculus, duh
22:25:59 <quintopia> i don't get the numbers thing
22:26:09 <quintopia> or rather
22:26:11 <oerjan> quintopia: it's de bruijn notation, i wrote
22:26:11 <quintopia> how application works
22:26:22 <quintopia> i don't understand de bruijn notation really
22:26:57 <oerjan> you replace "n" by the variable of the n'th surrounding lambda. starting at 0'th in this case.
22:27:52 <oerjan> oh wait
22:28:06 <oerjan> duh
22:28:23 <oerjan> \ (0 \ \ 0)
22:28:37 <Arc_Koen> oerjan: though I appreciate the de bruijn link, your explanation on the channel was far more explicit than the one on the wiki page, if I recall correctly
22:28:38 <oerjan> \ x (x \y \z z)
22:29:27 <oerjan> Arc_Koen: well the thing is that actually doing the application with de bruikn indices is a bit complicated - you need to adjust some of the numbers
22:29:40 <Arc_Koen> oh
22:29:47 <Arc_Koen> right
22:30:00 <oerjan> so i couldn't be bothered to write it all out
22:30:01 <Arc_Koen> cause of names clash or something?
22:30:08 <oerjan> not clash.
22:30:22 <Arc_Koen> yeah I know what you mean
22:30:41 <Arc_Koen> quintopia: so basically, by default the variable in a lambda expression is named ZERO
22:30:48 <oerjan> but when you copy an expression to a different level, all the numbers that refer outside the expression need to be added a constant to
22:31:16 <oerjan> while those that refer _inside_ the expression are kept as is
22:31:24 <Arc_Koen> but if you have LAMBDA (... LAMBDA(...)), the ZERO in the innermost lambda is the variable of the innermost lambda; so the variable of the toplevel lambda is ONE MORE THAN ZERO
22:32:12 <Arc_Koen> in particular the variable of a lambda may be named differently in different parts of the expression
22:32:13 <oerjan> ok atriq's at looks right when i fixed my error
22:32:28 <oerjan> Arc_Koen: exactly!
22:32:42 <oerjan> didn't i write that on the wiki...
22:32:48 <Arc_Koen> more or less
22:32:56 <Arc_Koen> but you did write that on this channel :)
22:33:14 <oerjan> ah no
22:33:19 <oerjan> right
22:38:13 <Arc_Koen> quintopia: λx.(x λy.xy) would be written as λ(ZERO λ(ONE ZERO))
22:39:19 <oerjan> Arc_Koen: expanded the wiki explanation a bit, probably still hard to read :P
22:39:28 <shachaf> (λ.0 (λ.1 0))
22:39:49 <Arc_Koen> (except it would actually be LAMBDA APPLY ZERO LAMBDA APPLY ONE MORE THAN ZERO ZERO)
22:40:27 <Arc_Koen> but I feel like I'm hurting my computer when writing like that
22:40:40 <itidus21> no thats your brain
22:40:48 <oerjan> Arc_Koen: rsi-ffic
22:40:58 <kmc> are you programming in Real Fast Nora's Hair Salon 3: Shear Disaster Download?
22:41:07 <kmc> is there a webapp framework for Real Fast Nora's Hair Salon 3: Shear Disaster Download yet?
22:41:23 <Arc_Koen> I don't know what a webapp framework is
22:41:29 <Arc_Koen> but it is in the Unimplemented category
22:41:34 <kmc> it's a framework which helps you write web applications
22:41:35 * oerjan for a microsecond considers replacing ESME by Real Fast Nora's Hair Salon 3: Shear Disaster in the topic
22:42:40 <zzo38> Perhaps send a message to people making sprunge tell them to remove the HTTP headers.
22:42:56 <kmc> we need RFNHS3:SDD.NET
22:43:35 <Arc_Koen> don't forget the Download PART
22:43:56 <Arc_Koen> otherwise people will think the hairdresser is real fast!
22:45:06 <oerjan> 14:46:35: <atriq> No
22:45:06 <oerjan> 14:46:42: <atriq> It means apply KI to input
22:45:21 <Arc_Koen> I think that's a yoga thing
22:45:23 <oerjan> i think atriq is _still_ confused about the term "apply to"
22:46:06 <oerjan> one applies a function to an argument, but he seems to be using it in reverse
22:46:48 <oerjan> but his actual examples show he means RFNHS3SDD to have the usual order
22:47:50 <itidus21> i can only imagine this isn't helped by everything potentially being a function and an argument
22:48:00 <oerjan> indeed
22:48:17 <itidus21> @_@
22:48:42 <oerjan> no no, itidus21 don't faint, it's _okay_ to be right occasionally!
22:49:12 <Arc_Koen> APPLY LAMBDA APPLY ZERO ZERO LAMBDA APPLY ZERO ZERO
22:49:15 <Arc_Koen> hey look, infinite loop
22:49:16 * oerjan swats himself for being evil -----###
22:49:37 <oerjan> (\(0 0) \(0 0))
22:49:44 <oerjan> OKAY
22:50:37 <Arc_Koen> that's actually the example that made me began to not understand how ocaml worked
22:50:41 <Arc_Koen> let x x = x in x x
22:51:31 <oerjan> i don't think that's the same...
22:51:34 <Arc_Koen> (ok it could be less confusing as "let f x = x in f f"
22:51:44 <Arc_Koen> well yes it is
22:51:50 <Arc_Koen> uh
22:51:52 <Arc_Koen> no it's not
22:51:55 <oerjan> itym = x x
22:52:02 <Arc_Koen> wait
22:52:03 <oerjan> which btw cannot type
22:52:09 <Arc_Koen> yes, that was the problem
22:52:13 -!- augur has quit (Remote host closed the connection).
22:52:22 <oerjan> unless you give option -t to ocaml
22:52:28 <Arc_Koen> wait, what?
22:52:55 <oerjan> yes there's an option to allow cyclic types, i used it for an unlambda -> ocaml "compiler"
22:53:18 <oerjan> not quite sure it was called -t
22:53:28 <Arc_Koen> well -t is not in the toplevel otpions
22:53:43 <Arc_Koen> -rectypes Allow arbitrary recursive types
22:53:44 <Arc_Koen> maybe
22:55:16 <oerjan> yeah that's it
22:55:22 <Arc_Koen> # let x x = x in x x;;
22:55:22 <Arc_Koen> - : '_a -> '_a = <fun>
22:55:23 <Arc_Koen> # let x x = x x in x x;;
22:55:23 <Arc_Koen> ^CInterrupted.
22:55:27 <oerjan> http://oerjan.nvg.org/esoteric/unl2caml/
22:55:28 <Arc_Koen> (with otpion -rectypes)
22:55:48 <Arc_Koen> (the second line I interrupted because apparently it was indeed an infinite loop)
22:56:24 <oerjan> :)
22:57:22 <Arc_Koen> # let y = (let x x = x in x x) in y y;;
22:57:23 <Arc_Koen> - : 'a -> 'a as 'a = <fun>
22:57:30 <Arc_Koen> hummmm never had "as 'a" before
22:57:47 <oerjan> haskell has the newtype declaration instead, which requires you to explicitly wrap things but is deleted on compilation
22:58:51 <Arc_Koen> # (let y = (let x x = x in x x) in y y) 3;;
22:58:51 <Arc_Koen> Error: This expression has type int but an expression was expected of type
22:58:51 <Arc_Koen> 'a -> 'a as 'a
22:58:54 <Arc_Koen> what the hell
22:59:01 <Arc_Koen> that was supposed to yield a 3
22:59:53 <Arc_Koen> "let x x = x" makes x the identity; "in x x" is id id which is id; so y is id; so y y is id; so (...) 3 should be 3
23:00:28 <oerjan> Arc_Koen: 'a -> 'a as 'a means a function which takes its own type as argument and result. you cannot pass it an int.
23:00:42 <Arc_Koen> ohhhhhh nice
23:01:01 <Arc_Koen> so hum
23:01:05 <Arc_Koen> I could pass it itself
23:01:10 <Arc_Koen> and... that's about it?
23:01:59 <oerjan> no lots of other things fit, e.g. any pure lambda expression
23:02:28 <oerjan> 'a -> 'a as 'a basically is the closest thing you can get to untyped lambda calculus
23:03:29 -!- impomatic has quit (Quit: impomatic).
23:03:31 <hagb4rd> would be nice to have such comments automatically beeing associated with these 'expressions' by a bot, to be accessible for other users looking for help/comments
23:04:17 <oerjan> hagb4rd: `pastelogs, hth
23:06:11 <hagb4rd> erm can you make make an example for "'a -> 'a as 'a" and "means a function which takes its own type as argument and result. you cannot pass it an int"
23:07:07 -!- DHeadshot has joined.
23:07:25 <Arc_Koen> @tell atriq so your church incrementation excerpt translates to λxyzt.x z (y z t), right?
23:07:26 <lambdabot> Consider it noted.
23:07:33 <oerjan> 16:13:31: <kmc> <Arc_Koen> I thought they had a formal definition for "everything"
23:07:36 <oerjan> 16:13:35: <kmc> that definition is turing machine
23:07:38 <oerjan> 16:14:04: <kmc> or if you like lambda calculus, they are equivalently powerful
23:07:50 <Arc_Koen> haha, now you're getting to the interesting part of the log :)
23:08:06 <shachaf> That's not everything, is it?
23:08:13 * shachaf has no context for that.
23:08:20 <shachaf> You can talk about things more powerful than Turing machines, though.
23:08:52 <oerjan> part of what makes the church-turing thesis so believable is that every time they have invented another way to compute that can actually be realistically achieved, it turns out to be at most that powerful
23:09:18 <Arc_Koen> so what about those quantum computers
23:09:52 <oerjan> still not more powerful. exponentially faster in some cases, but given enough time, they're the same strength.
23:10:21 <Arc_Koen> ah that's disappointing
23:10:22 <oerjan> proof: a classical computer can simulate a quantum computer using exponential time
23:10:44 <Arc_Koen> well we probably have to wait for the time-travel machine then
23:10:52 <oerjan> (it's just complex matrix calculations, after all)
23:12:10 <hagb4rd> can we use the effect of quantum entanglement in some way to speed up things in some way?
23:12:53 <hagb4rd> -some way
23:13:07 <oerjan> hagb4rd: well that's the theory of quantum computing. at most exponential speedup, however. (and not for all calculations, prime factorization is the most famous one.)
23:13:17 <Jafet> Yes. It's called quantum computing
23:13:33 <oerjan> i'll just have to quote the tagline of scott aronson's blog...
23:13:35 <hagb4rd> okay.
23:13:44 <oerjan> *aaronson
23:14:02 <oerjan> "Quantum computers are not known to be able"
23:14:02 <oerjan> to solve NP-complete problems in polynomial time,
23:14:05 <oerjan> and can be simulated classically with exponential slowdown.
23:14:19 <oerjan> why doesn't irssi have dwim pasting :(
23:14:30 <oerjan> *-" +"
23:15:44 <oerjan> <Arc_Koen> @tell atriq so your church incrementation excerpt translates to λxyzt.x z (y z t), right? <-- that looks correct for incrementation, anyway
23:18:01 <oerjan> heh this recent post looks a bit relevant, and funny :P http://www.scottaaronson.com/blog/?p=1121
23:33:14 <Arc_Koen> I'm not sure he explains much
23:34:47 <hagb4rd> "If you want a Turing machine to toast bread, you need to connect it to a toaster; then the TM can easily handle the toaster’s internal logic (unless this particular toaster requires solving the halting problem or something like that to determine how brown the bread should be!). " *laugh
23:38:10 -!- aloril has quit (Ping timeout: 244 seconds).
23:42:32 <itidus21> although, the TM may still be working on the logic long after your hunger passes
23:43:21 <Arc_Koen> another argument in favour of quantum toasting
23:46:17 -!- DHeadshot has quit (Read error: Connection reset by peer).
23:46:33 -!- DHeadshot has joined.
23:51:53 -!- function has changed nick to invariable.
23:52:10 -!- aloril has joined.
23:54:51 -!- nooga has quit (Ping timeout: 252 seconds).
←2012-09-13 2012-09-14 2012-09-15→ ↑2012 ↑all