00:13:27 * dogface settles 00:14:17 What's a shiftwidth? 00:15:01 Why does it indent by 2 in one place and 4 in another? 00:15:29 dogface: rounding error, it's really indented by 3.14 in every step :P 00:16:31 Indenting by 2 in one place and 4 in another seems a weird way to do it, as there aren't many ways to round 3.14 and get 2. 00:16:55 dogface: shiftwidth = how much you indent each time 00:17:00 shiftwidth*0,shiftwidth*1,etc 00:17:05 so you indent 3 spaces, then 6 etc 00:17:07 if shiftwidth=pi 00:17:53 3.14, 6.28, 9.42, 12.56, 15.70, 18.84, 21.98, 25.12, etc. 00:17:59 dogface: exactly 00:18:05 obviously, you have to round it to actually be able to indent :P 00:18:24 Round those and you get 3, 6, 9, 13, 16, 19, 22, 25, etc. The differences are 3, 3, 3, 4, 3, 3, 3, 4 there. 00:18:30 I see no 2. 00:18:36 dogface: I agree. 00:18:43 I was just answering 'what's a shiftwidth' 00:19:15 * dogface suddenly creates a string of length 22 with 7 periods roughly evenly-spaced 00:20:51 Hmm, I'm sure there was a nice Euclidean-algorithm type way of doing that. 00:24:40 -!- adu has joined. 00:25:06 Okay, so 7/22 is 1/4 + 1/3 + 1/3 + 1/3 + 1/3 + 1/3 + 1/3 (for unconventional definitions of +), 1/4 is 1/3 + 0/1, 1/3 is 1/2 + 0/1, and 1/2 is 1/1 + 0/1. 00:25:32 hi 00:25:34 Ello. 00:25:35 hi 00:25:43 dogface: drawing bresenham lines? 00:25:50 oklopol: possibly. I don't know what those are. 00:26:02 well drawing a line on a discrete grid 00:26:27 Quite likely, in fact. If the Bresenham line-drawing algorithm is related to the Euclidean algorithm in any way, gimme. :-) 00:26:46 i have no idea what's happening here, what's the euclidean algorithm? 00:26:48 wusup? 00:27:01 So, I guess " . . . . . . . ." is quite satisfactory, really. 00:27:12 Satisfactory but boring. 00:27:27 i see that as " . . . . . . ." 00:27:28 * dogface yawns dramatically 00:27:42 although with one more . 00:27:53 "...|..|..|..|..|..|..|" 00:28:08 * dogface does the square root of 2 instead 00:28:28 ...its reciprocal, rather. 00:28:44 reciprocal? 00:28:51 The reciprocal of the square root of 2. 00:29:24 rightirght 00:29:32 What about it? 00:29:42 v/2? 00:29:53 -!- tusho has quit ("Leaving..."). 00:30:25 Sgeo: I'm making a string out of . and | where the length is about sqrt(2) times the number of | 00:30:30 Sounds fun, I'm sure. 00:31:13 is this for your thue project 00:31:21 Not at all... yes. 00:31:37 let me rephrase 00:31:38 is this for your thue project 00:31:39 ? 00:31:54 In theory, yes. 00:31:58 okay 00:32:33 Squaring fractions in my head could get difficult. 00:32:37 * dogface shrugs alarmedly 00:33:04 why would it get difficult? 00:33:10 dogface: why? 00:33:13 you don't even have to gcd em 00:33:28 oklopol: they could get big after a little while. 00:33:37 adu: why am I making those strings? 00:33:50 yes 00:34:12 is it for divisibility purposes? 00:34:18 like international paper sizes? 00:34:50 For fun. 00:34:54 o 00:35:12 Strings where the characters are as evenly spaced as possible are aesthetically pleasing, you know. 00:35:19 Great Gadsby, I've got it! Maybe. 00:35:44 if you want to do something for fun you should design an OS 00:36:00 Too difficult. 00:36:17 If it has more a than b, get rid of all the a and it should still be evenly spaced. 00:36:55 No new Freefall yet 00:37:48 i think if i were to write an OS it would be like BRiX 00:39:12 -!- dogface_ has joined. 00:39:28 An OS would be too difficult. :-P 00:41:30 dogface_: that depends 00:41:30 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | !garble Yay! It works!. 00:43:14 dogface: so what about a command-line tool? 00:44:38 dogface: what about a parser for your own programming language? 00:45:23 dogface: or a super-optimizing 2,5-Turing compiler? 00:45:34 -!- RedDak has quit (Read error: 104 (Connection reset by peer)). 00:46:46 one of these has got to be easy 00:49:26 I'll work on optimizing. 00:49:32 -!- olsner has quit ("Leaving"). 00:50:02 Everyone Knows that compiling interpretation is the ultimate form of artificial intelligence. 00:54:07 interpretation? 00:54:55 -!- dogface has quit (Read error: 110 (Connection timed out)). 00:59:39 Yep. 01:07:31 -!- adu has quit. 01:35:18 -!- oerjan has joined. 01:35:48 !garble Yay! It doesn't work! 01:35:56 bah, humbug 01:55:07 Buh, hambag. 01:55:16 How fun. 01:55:45 boh, hwmbwg 02:00:51 http://www.inthekitchen.co.nz/tips/html/Ham.htm 02:02:21 no hits for hwm-bwg :( 02:49:15 Dwd yww knww thwt w ws w vwwwl tww? 02:49:36 Wnd "tww" ws prwnwwncwd thw swmw wwy ws "too", wvwn. 02:52:37 qwwtw sw 02:53:05 thwsw frwwkw wwlsh! 02:53:17 wwll yww stwp thwt 02:53:30 mwybw 03:06:53 lwl 03:21:53 -!- adu has joined. 03:30:09 -!- Sgeo has quit (Remote closed the connection). 03:46:21 -!- Sgeo has joined. 03:50:32 -!- Sgeo has quit (Remote closed the connection). 04:25:15 -!- adu has quit. 04:35:22 -!- dogface_ has quit (Read error: 110 (Connection timed out)). 05:02:31 -!- oerjan has quit ("leaving"). 06:03:44 -!- GreaseMonkey has joined. 06:36:33 -!- Dewi has left (?). 06:36:48 -!- Dewi has joined. 06:37:01 -!- Dewi has quit ("leaving"). 06:40:10 -!- kar8nga has joined. 06:41:30 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | i've never heard of optimizing a language in that same language.. 06:45:57 -!- poiuy_qwert has joined. 06:51:57 oklopol! :o 07:48:27 -!- kar8nga has left (?). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:11:10 -!- olsner has joined. 08:28:33 -!- KingOfKarlsruhe has joined. 08:37:38 The Funge-98 (Pressey, 1998) standard got se1 08:37:39 -> has se <-- can't find that with search 08:38:02 This document will be released under either CC-by-sa2 or GFDL when it is finished. As it is not <-- C. Pressy suggested one of those two, I would need to ask him for other ones 08:46:22 -!- kar8nga has joined. 08:58:27 -!- olsner has quit ("Leaving"). 09:05:02 -!- poiuy_qwert has quit. 09:19:20 -!- asiekierka has joined. 09:20:21 -!- Corun has quit ("This computer has gone to sleep"). 09:20:30 can i do an optbot 09:20:30 asiekierka: is ! 09:20:40 is? you mean, yes? 09:20:41 Okay! 09:20:44 uh... 09:20:52 but im scared about doing it, optoot 09:20:55 but im scared about doing it, optbot* 09:20:56 asiekierka: hm? 09:21:13 Yeah, optbot, totally scared. i can't do an optbot since someone will punch me. IN THE FACE. 09:21:13 asiekierka: One thing I was planning to do differently was to use the lower 2 bits of each RGB, to give 6 bits to work with. This way it's harder to see the program, but it's still faintly there 09:21:23 A good idea, optbot. 09:21:23 asiekierka: my decision is that the world is already good enough without a 1-symbol language 09:21:43 Don't agree. We need a 1-symbol language. But the only way to have it is unary, and unary is bad. 09:21:50 So, optbot, what are you doing? 09:21:50 asiekierka: i've tried to keep as close to the spirit as possible. 09:21:55 Yayz, optbot 09:21:55 asiekierka: # ## # # ## # # ##### 09:22:03 Uh... What was that, optbot? 09:22:04 asiekierka: I'm still not sure what that does. 09:22:22 Oh, ok, optbot. What else can you tell me? 09:22:23 asiekierka: write a parser for it and i'll learn it fully :) 09:22:29 For what, optbot 09:22:29 asiekierka: if I ever want to kill someone off, I'll send them this computer as a gift 09:22:48 Oh wait, optbot. I got it, also, don't change the topic, please. 09:22:48 asiekierka: where [] is a negative list 09:22:53 Maybe, optbot. 09:22:53 asiekierka: I find pointers in C rather simple most time, unless you get something mad like: char **** blah[][] (or something like that, saw it once, horrible) 09:23:11 Uh.... what? i dont get it, optbot 09:23:11 asiekierka: Whiner. 09:23:22 Lol. Optbot, you are a whiner too. 09:23:22 asiekierka: then it'll probably get rather esoteric 09:23:29 Possibly, optbot. 09:23:29 asiekierka: ;) 09:23:35 Yay an emoticon, optbot 09:23:36 asiekierka: 3 09:23:44 optbot: 3? What the 3 means? 09:23:44 asiekierka: also you can use /dev/udp for a udp connection. 09:23:49 optbot: Uh... okay 09:23:49 asiekierka: ah 09:23:57 optbot: uh ah, uh ah, boom de yaya 09:23:57 asiekierka: oklofok, concentrate. 09:24:05 optbot: Wait, what? 09:24:06 asiekierka: okoping 09:24:13 optbot: ?!? 09:24:13 asiekierka: you need to bind a key to that to be able to use it without typing the whole thing 09:24:19 optbot: Agreed 09:24:19 asiekierka: Razor-X does. 09:24:25 optbot: Does what? Agree? 09:24:26 asiekierka: of course, you can't display it or send it to irc... 09:24:31 optbot: :( 09:24:31 asiekierka: there are reactive haskell gui libraries 09:24:35 optbot: ok... 09:24:35 asiekierka: at least you'd shut up 09:24:45 Okay. With that, i agree. Centrainly. 09:27:54 -!- lament has joined. 09:32:26 I just made a little esolang 09:32:34 It's BF with 4 commands added 09:32:43 First is @, a starting point defined (is it a command? Hardly) 09:33:08 Second and third are / and \, mirrors (When you hit a mirror, you bounce off, and the mirror rotates) 09:33:23 Fourth is D, a deflector (reverses program flow, like, if you were going down, you now go up 09:34:50 \ \/\/\/ / 09:34:51 ++++++ 09:34:51 x/ ++++++ 09:34:51 ++++++ 09:34:51 @-\/\/\D 09:34:53 Oh wait 09:34:57 it missed a line 09:35:00 i will just nopaste it 09:35:51 or not 09:42:04 -!- Judofyr has joined. 10:36:33 -!- lament has quit (Read error: 110 (Connection timed out)). 10:43:14 optbot: hi! 10:43:14 asiekierka: long time ago i coded in pascal ;p 10:43:18 optbot: I did too 10:43:18 asiekierka: !help 10:43:25 optbot: What do you need? 10:43:25 asiekierka: heh... I'm nowhere near familiar enough with C to attempt transforming a language into it. 10:43:39 optbot: Oh... i see. Sorry, can't help ya with it. 10:43:39 asiekierka: mayb. 10:43:45 optbot: Agreed, maybe i can 10:43:45 asiekierka: I wrote one with single stepping in C and got bored :) 10:44:13 optbot: Oh, so you can! 10:44:13 asiekierka: Penis. 10:44:20 Optbot: :( 10:44:20 asiekierka: or bsmntbombdood fire up bsmnt_bot with bf, please 10:44:25 Optbot: ??? 10:44:26 asiekierka: exactly 10:44:52 -!- GreaseMonkey has quit ("You're still in denial. It's easier to lie by saying that I'm lying than to face truth."). 10:51:58 -!- kar8nga has quit ("Leaving."). 11:48:48 -!- tusho has joined. 11:50:50 -!- asiekierka has quit (Read error: 104 (Connection reset by peer)). 11:52:18 -!- asiekierka has joined. 11:52:20 :/ 11:52:21 Hi 11:53:35 hi asiekierka 11:54:02 asie is your nick pronounced "I see key err ka" 11:54:03 I had a quite intelligent chat with optbot 11:54:03 asiekierka: Is it because you can has cheezburger that you came to me? 11:54:13 heh 11:54:30 Well, not 11:54:33 Ashiekierkae 11:54:36 asiekierka: don't be shocked - he's actually this guy I trapped in my basement 11:54:44 like random lines could be that lucid :P 11:55:11 so how can he answer in 2 miliseconds 11:55:31 asiekierka: sold his soul to the devil 11:55:33 00:38:02 This document will be released under either CC-by-sa2 or GFDL when it is finished. As it is not <-- C. Pressy suggested one of those two, I would need to ask him for other ones 11:55:40 i don't see why chris pressey determines what licenses you can use 11:55:48 I wonder... 11:56:04 ...is making a portable Brainf**k interpreter and editor feasible? 11:56:14 AnMaster: change 'standard got se' 11:56:14 to 11:56:16 'has se' 11:56:23 asiekierka: Very feasable, very uninteresting. 11:56:33 I will possibly use it 11:56:35 xD 11:56:37 Why? 11:56:48 Imagine if I'm learning in school about esolangs 11:56:49 or somewhere 11:56:50 because it's just an interpreter and an editor put together 11:56:53 oh, I see, portable 11:56:55 Yeah 11:56:57 Yes 11:56:58 portable. 11:56:59 uh, just use notepad 11:57:06 and compile an .exe or whatever of a BF interp 11:57:07 a real notepad? 11:57:09 and put it on a floppy 11:57:10 i mean 11:57:11 portable 11:57:13 asiekierka: start->run->notepad 11:57:16 as in, a portable device 11:57:20 I don't want to drag a laptop with me 11:57:27 tusho, what section, a search doesn't show any "got" in the document 11:57:29 asiekierka: oh, I thought you meant on school computers 11:57:41 A portable device with a NATIVE BF cpu 11:57:43 :) 11:57:55 AnMaster: i have funge108.pdf which was downloaded 7 july 11:58:03 :) 11:58:06 50 pages 11:58:20 tusho, what section is this got in? 11:58:27 I will probably add 8 megabytes or so of flash memory 11:58:30 1MB/slot 11:58:42 Also, 30000 slots 11:58:49 You will be able to toggle whether 8- or 16-bit 11:58:50 50 pages? 65 here... if you check page numbers in the document (last page) it says 59 11:59:13 30000 memory slots 11:59:15 tusho, and well 7 july is a bit old 11:59:17 AnMaster: page ii 11:59:17 1MB/slot for BF programs 11:59:21 30000 for uh 11:59:24 the memory 11:59:25 The Funge-98 (Pressey, 1998) standard got several unclear corner cases1 and is also missing 11:59:25 definitions for non-binar y funges (like ternar y ones). The Funge-98 standard is also written in 11:59:25 an essay style rather than like a standard document. This makes the standard vague on several 11:59:25 occasions and t 11:59:43 tusho, draft 1.3? 12:00:16 So i will need 64kb of RAM, a BF cpu, 8MB flash memory (7 slots+firmware), a... 256x192 or 320x200 screen that's small but readable, and maybe i'll add a serial I/O and functions to support it 12:00:21 Or nope 12:00:21 USB. 12:00:26 because the single got there was I fixed some time ago 12:00:30 And file reading functions 12:00:31 when ais pointed it out 12:00:32 No idea An. 12:00:34 *An 12:00:35 er 12:00:37 AnMaster 12:00:37 tusho, on first page 12:00:43 AnMaster: well, link me to an updated version 12:00:46 http://rage.kuonet.org/~anmaster/funge-108/ 12:00:55 is always the last draft 12:01:10 File reading will be possible through ,. while USB will use a direct connection 12:01:15 AnMaster: self modifying -> self-modifying 12:01:21 same page as the god was 12:01:33 thanks 12:01:34 it's usefulness -> its usefulness 12:01:35 fixed locally 12:01:45 As in, : will write the current cell's value to the PC, and ; will input a value from the PC 12:01:58 tusho, how does it's and its differ exactly 12:02:03 AnMaster: it's -> it is 12:02:09 "it is usefulness" 12:02:24 hmm, tusho's but its? 12:02:28 AnMaster: yes. 12:02:29 then that make no sense :P 12:02:35 *then that makes no sense 12:02:39 tusho, illogical, but ok 12:02:39 also, English makes no sense 12:02:41 deal with it 12:02:43 :) 12:02:51 AnMaster: 12:02:52 Funge-108 is based on Funge-98 (Pressey, 1998) which is currently the official standard for 12:02:52 Funges. Funge-98 has evolved from Funge-97, which was a generalisation of Befunge-97, which 12:02:52 was an improvement over Befunge-96, which was an update of the original Befunge-93 (Pressey, 12:02:52 1993) language definition. 12:02:59 'Funge-98 evolved from' 12:03:04 would be more natural 12:03:30 also, i may make a support for a PS/2 keyboard slot 12:04:01 also AnMaster CC-by-nc-sa would be even worse as it'd greatly hamper writing a commercial befunge interp AnMaster 12:04:03 i believe 12:04:16 tusho, I believe that part was copied from Funge-98 standard 12:04:19 ah, OK 12:04:28 well, AnMaster 12:04:30 'has' is present tense 12:04:38 it's stating what this, funge-98, has evolved from 12:04:44 but you should refer to it in past tense 12:04:47 as it's already happened 12:04:49 well yes 12:04:51 fixed 12:05:08 tusho, remember I started out with Funge-98, then reformatted and rewrote parts 12:05:15 urd 12:05:16 *yes 12:05:32 urd, nice typo hehe 12:05:53 tusho, btw I wrote a funge-like stack in erlang 12:05:57 AnMaster: 12:05:58 "In two dimensions, we have the following terminology: " 12:05:59 -> 12:06:09 tusho, yes, copied from Funge-98 again 12:06:16 "The following terminology is used for two-dimensional funges:" 12:06:21 good thanks 12:06:21 or something 12:06:27 I wanted to get rid of "we" everywhere 12:06:33 didn't manage yet in all places 12:06:59 [[Should we replace the word finger print in Funge-108 to cause less confusion? A finger print may 12:06:59 in Funge-98 either refer to the extension or the string that is used to load that extension. ]] 12:07:04 fingerprint is the actual fingerprint 12:07:08 the string to load it is now the fingerprint's URI :P 12:07:18 so instead of ( taking a fingerprint, it takes a fingerprint's URI 12:07:22 if you wanted terminology for that :p 12:07:32 tusho, I need to refer to the old style 4 letter stuff 12:07:35 in some places 12:07:43 that was what it was about 12:07:43 AnMaster: legacy fingerprint 12:07:45 well 12:07:47 no 12:07:50 AnMaster: legacy fingerprint identifier 12:07:56 ah makes sense 12:08:28 "In Funge-98 the unique ID mentioned above was a 4 letter string, which we refer to as legacy fingerprint identifier." 12:08:29 then 12:08:55 AnMaster: 4 character string 12:09:00 well 12:09:01 AnMaster: no 12:09:02 right 12:09:03 4 byte string 12:09:07 character = unicode 12:09:16 tusho, it could be more in 98 12:09:17 or less 12:09:19 technically 12:09:31 AnMaster: so ... "was an arbitary string"? 12:09:32 if you had a 64-bit funge you could do 8 chars 12:09:38 but no more 12:09:39 ah. 12:09:40 okay then 12:09:49 AnMaster: well, it's not characters 12:09:52 it's a variable number of bytes 12:09:53 tusho, however all fingerprints I know of are 4 bytes 12:10:03 AnMaster: find some way to refer to that :P 12:10:10 (variable for interp) 12:10:36 "In Funge-98 the unique ID mentioned above was a number, often represented as a 4 byte string, which we refer to as legacy fingerprint identifier." 12:10:40 maybe like that? 12:10:52 because technically, all it is is a number 12:11:05 and FPSP or whatever is then bit shifted 12:11:06 well, ok 12:11:09 to fit into that number 12:11:17 if you see what I mean 12:11:33 each letter is simply bit shifted 12:11:37 http://www.google.com/search?q=consbreastution 12:11:40 Clbuttic. 12:11:47 tusho, eh? 12:11:50 is this related to funge? 12:11:56 AnMaster: no. 12:12:41 wtf is "consbreastution" 12:12:51 AnMaster: Swear filtering gone wrong 12:12:56 (Classic -> Clbuttic) 12:12:58 (cl - ass - ic) 12:13:05 cons - tit - ution - consbreatution 12:13:23 oh my 12:16:08 tusho, http://rafb.net/p/u1LNAE18.html 12:16:11 what do you think? 12:16:26 AnMaster: looks pretty idiomatic to me 12:16:33 tusho, meaning? 12:16:39 AnMaster: good 12:16:42 thanks 12:16:42 though, I think you acn do 12:16:46 [H1,H2|T] 12:16:51 you can do that in prolog at least 12:16:52 I blieve 12:16:54 tusho, hmm. will try 12:16:54 *believe 12:17:12 ./fstack.erl:36: syntax error before: ']' 12:17:12 ./fstack.erl:3: function swap/1 undefined 12:17:12 nop 12:17:37 AnMaster: hm 12:17:45 AnMaster: try 12:17:49 [H1|H2|T] 12:17:52 tusho, I'm sure there is some way, I'm still learning the language after all 12:17:54 i don't think you need to nest the []s 12:18:16 wait what 12:18:23 it works for 12:18:24 dup([H|T]) -> 12:18:24 [H, H|T]. 12:18:30 that's constructing 12:18:32 * AnMaster checks if he made some typo in the other 12:18:32 not pattern matching 12:18:33 :P 12:18:35 ah true 12:18:40 though they should be the same 12:18:42 so maybe an erlang flaw 12:18:52 AnMaster: anyway, does [H1|H2|T] work 12:19:11 tusho, not a flaw, well yes, an unmatched ] 12:19:12 ;P 12:19:20 heh 12:19:20 , works 12:19:22 | doesn't 12:19:35 btw, AnMaster 12:19:42 i think idiomatic erlang doesn't put spaces after , 12:19:44 {T,H} 12:19:49 [0,0] 12:19:51 i don't know for certain though 12:19:53 but I seem to recall that 12:20:04 tusho, maybe, I seen both in "Programming Erlang" iirc 12:20:14 ok 12:20:21 actually, I can replace _T with _ 12:20:28 as I don't need to bother about the value there 12:20:32 i've always been interested in erlang because of its insane stuff 12:20:33 you can: 12:20:37 so I can just use _ the anonymous variable 12:20:43 - write a networked server just enough to let people connect via telnet and hang forever 12:20:44 and then 12:20:48 you can write the code 12:20:50 and hot-swap it in realtime 12:20:55 tusho, yes indeed 12:20:56 without the network server shutting down 12:21:10 and you can keep going until you have a fully working telnet game, with the original people still connected 12:21:12 tusho, I plan to write a small Befunge-93 interpreter in erlang 12:21:16 which is totally awesome 12:21:23 would be great for learning sequential erlang 12:21:30 not very concurrent though 12:22:23 AnMaster: ooh, idea for a simple befunge fingerprint 12:22:23 http://rafb.net/p/XmkAAv98.html 12:22:25 new version 12:22:34 'FORK'. It has a command, split 12:22:36 you can specify 12:22:38 well 12:22:40 you give it a direction 12:22:44 (up,down,left,right) 12:22:46 and then fork 12:22:51 and a duplicate IP 12:22:54 spawns from the fork location 12:22:58 in that direction 12:23:02 and there's another instruction 12:23:04 D 12:23:08 which destroys the current IP 12:23:12 (exits the program if there's only one) 12:23:22 maybe if two IPs hit each other they merge 12:23:23 dunno 12:23:52 um 12:24:00 tusho, you know about t and @ right? 12:24:03 in concurrent funge 12:24:05 nope 12:24:06 :D 12:24:36 tusho, they are exactly that, with one difference, the ip split at t always start off in opposite direction of the original ip 12:24:47 AnMaster: darn, I thought I was being amazing there 12:25:06 tusho, it is part of standard funge, well optional extension, but not even a fingerprint 12:25:16 also @ will do exactly what you said in concurrent funge 12:25:24 tusho, and yes cfunge does concurrent funge 12:25:34 AnMaster: you should write a cfunge thing that on startup launches an SDL or whatever window, and then shows you the IPs travelling around fungespace 12:25:36 * AnMaster loves the outcome of this idea of tusho 12:25:38 (as arrows above the text) 12:25:50 I want to do a PRNG in BF later 12:25:52 tusho, could be done with that frontend protocol idea I had 12:25:53 (probably with a configurable delay so you can actually see it) 12:25:58 but that would be fun 12:25:59 I must really make a BF tutorial 12:26:05 you could make befunge works of art 12:26:05 :P 12:26:10 haha 12:26:11 but i cant really teach stuff 12:26:20 asiekierka, as for prng, quite simple 12:26:34 you just need to nest a lot of ? 12:26:46 and make sure all numbers have the same number of ? to reach them 12:26:58 some sort of tree structure 12:27:14 all ? on a given level need to have the same amount of valid exit directions 12:27:25 AnMaster 12:27:27 probably 3, 12:27:28 he is talking about brainfuck 12:27:31 oh 12:27:31 wait 12:27:32 right 12:27:35 BF 12:27:37 = befunge 12:27:39 in my mind 12:27:40 heh 12:27:42 at least now atm 12:27:45 and only your mind 12:27:45 :P 12:27:55 true 12:28:00 in brainfuck 12:28:01 that is harder 12:28:06 Depends on which one 12:28:15 Also 12:28:24 tusho, does haskell have a RNG? 12:28:27 i want to make a BF Function Library 12:28:28 as in 12:28:31 AnMaster: of course 12:28:33 you put up your own small functions 12:28:35 haskell is a real-world langauge 12:28:39 there are companies using it 12:28:39 and then others can use it 12:28:41 webapps made with it... 12:28:46 tusho, but that can't be very functional 12:28:48 a rng 12:28:53 it has external input 12:28:57 so a monad? 12:28:58 AnMaster: it's in the IO monad 12:29:02 well 12:29:02 ah 12:29:04 technically it's not 12:29:09 the actual prng algo is functional 12:29:16 but you need to initially get the glob of data within IO 12:29:24 if you gave it a constant seed it would be purely functional 12:29:32 tusho, is it a secure PRNG? 12:29:38 AnMaster: beats me 12:29:41 probably implementation defined 12:29:47 ah well 12:30:22 tusho, anyway for funge space... erlang got two forms of modifiable memory, the process dictionary, and ETS tables 12:30:31 AnMaster: uh, dude 12:30:35 pass around fungespace functionally 12:30:35 ETS is used for the mnesia database engine so... 12:30:37 :p 12:30:43 it'd be slow but idiomatic 12:30:45 tusho, may be too slow for mycology ;P 12:30:50 AnMaster: you said befunge-93 12:30:50 but probably ok for befunge93 12:30:57 yeah 12:30:58 besides 12:31:01 you ran mycology on bashfunge. 12:31:14 tusho, well I did, but it took a few minutes for the 93 part 12:31:15 :P 12:31:52 but yes tail recursive function to loop over funge space is probably best 12:32:04 with a passed around state 12:32:25 tusho, one issue, I could not do funge-98 in erlang, but I could do 108 12:32:33 reason? all numbers are BIGNUM 12:32:43 y in 98 doesn't have a way to say that in cell size 12:32:46 while it does in 108 12:33:16 wait... I could use binary values I think... 12:33:24 like <> 12:34:03 tusho, anyway tail recursion in erlang is fast 12:34:07 so not an issue really 12:34:15 won't actually pass the state around then I think 12:34:24 but of course new copies will be made 12:35:06 tusho, anyway Befunge-93 is easy to represent, I don't need any hash even 12:35:09 just 25x80 12:35:12 [12:32:27] tusho, one issue, I could not do funge-98 in erlang, but I could do 108 12:35:14 just manually wrap em 12:35:16 means an array of array 12:35:27 tusho, or <> 12:35:33 to extract a 32-bit integer 12:35:37 using the bit syntax 12:35:55 use the power of your imagination 12:35:55 decode_header(<<2#11111111111:11,B:2,C:2,_D:1,E:4,F:2,G:1,Bits:9>>) -> 12:36:01 that is used to extract a MPEG header 12:36:03 in an example 12:36:29 erlang? 12:36:42 oklopol, yep 12:36:43 oklopol: yes 12:36:44 < ID:16, Flgs:3, FragOff:13, 12:36:45 TTL:8, Proto:8, HdrChkSum:16, 12:36:45 SrcIP:32, 12:36:45 DestIP:32, RestDgram/binary>> when HLen >= 5, 4*HLen =< DgramSize 12:36:52 ipv4 header 12:36:58 AnMaster: hmm, some weird kind fof parser DSL? 12:37:06 tusho, eh? 12:37:10 now you lost me 12:37:11 AnMaster: that << >> 12:37:17 <<>> == binary 12:37:18 dsl=domain specific langauge 12:37:20 embedded 'little language' 12:37:25 AnMaster: it seems to be a parser thing 12:37:29 -!- oklopol has quit (Read error: 54 (Connection reset by peer)). 12:37:32 a very fast array of byte array 12:37:45 -!- oklopol has joined. 12:38:03 tusho, http://rafb.net/p/MkZdl121.html 12:38:15 ok 12:38:20 tusho, and the things above was simply pattern matching of binaries 12:38:25 ah I see 12:38:27 very powerful the erlang pattern matching 12:38:28 neat 12:38:40 haskell's pattern matching is powerful too 12:38:47 tusho, on bit level? ;) 12:38:59 yes, if you stored it as a list of bits :P 12:39:19 tusho, read the paste above, then read http://rafb.net/p/A0L2OX22.html 12:39:41 yes 12:39:49 also the odd fi is the pastebin messing up on the unicode ligature fi 12:40:11 yeah we got that 12:40:30 anyway very nice and powerful pattern matching 12:40:51 oklopol, I'm learning erlang you see 12:41:31 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | write -> wrote. 12:41:32 hehe, read that as "i'm mislearning erlang" 12:41:42 * AnMaster slaps oklopol 12:41:46 what did I do wrong? 12:41:54 you slapped me 12:41:58 no 12:42:04 as you said mislearn 12:42:07 yes you did! 12:42:14 14:41… × AnMaster slaps oklopol <<< see, proof 12:42:14 oklopol, I think this one is pretty idiomatic: http://rafb.net/p/XmkAAv98.html 12:42:20 oklopol, yes, but.... 12:42:23 hehe, read that as "i'm mislearning erlang" 12:42:24 * AnMaster slaps oklopol 12:43:48 looks okay 12:44:31 oklopol, you know erlang? 12:46:13 oklopol, if you do, I have a question for you, about how you would do one thing 12:47:10 i know some of it 12:47:19 i guess i know the basics 12:47:47 oklopol, ok, would you use ETS or a passed around state if you implement Funge and need to pass around the funge space? 12:48:05 it can be pretty large 12:48:19 i don't know what ets is 12:48:23 a mutable list? 12:48:34 "ets and dets are two system modules that are used for efficient storage 12:48:34 of large numbers of Erlang terms. ETS is short for Erlang term storage, 12:48:34 and DETS is short for disk ets. 12:48:34 " 12:48:36 yes 12:48:39 a fast mutable list 12:48:46 a table 12:48:50 well definitely that one 12:48:56 i wanted to do a BF quine contest 12:49:01 on which the LARGEST quine wins 12:49:01 oklopol, rather than a passed around state? 12:49:09 So if you have a 64MB quine, you win, lol 12:49:14 asiekierka: that's quite trivial 12:49:20 asiekierka, it is always possible to do a larger one 12:49:24 i know 12:49:28 but who makes the largest 12:49:30 in 6 hours 12:49:32 :) 12:49:32 you could probably write a program to generate one of x size 12:49:48 and then have it generate several GB 12:49:53 anyway I'm not taking part 12:50:06 well, 6 hours, also, i don't allow any programs 12:50:15 how would you know? 12:50:15 any programs? 12:50:16 except the interpreter 12:50:23 hmm 12:50:32 except an interprete 12:50:32 r 12:50:33 what? 12:50:36 how would you know someone didn't just upload the result of a generator he/she wrote 12:51:06 Also, if i found out copies of the same quine (you copied a quine 100 times in a file and it worked), you are dq'ed 12:52:08 asiekierka: one way to make a bf quine is to first create something like numbers 1-8 at the beginning of the memory array 12:52:15 using ++++++>+++> etc 12:52:43 then, you write a latter part, that writes out these numbers, first once again in the form +++>++++> 12:53:04 then in the form of bf code, with some encoding of operations like 1->+, 2->-, 3->[ etx 12:53:20 now, you can bloat bf code in tons of ways, automatically 12:53:26 + -> +--++ 12:53:29 or 12:53:34 instead of " " 12:53:44 you can do +-+-+-+-+-+-+-+-+-+-+-+-+-+-... 12:53:44 [...] -> [[...]] etc 12:53:51 oh i see 12:54:02 now 12:54:13 but if you bloat the code by doing +-+-+ the quine won't be correct anymore. will it? 12:54:18 you can just make the first part, the generation of the raw data, to adapt to the quine 12:54:24 err 12:54:40 Also, i wonder if a contest for a BF randon number generator will be good 12:54:42 to adapt to the code that writes out the raw data 12:54:49 the code will need to be commented 12:55:11 at least to a point where we know what does what 12:55:14 AnMaster 12:55:15 pass around state 12:55:23 it's way more idiomatic, and you're just doing a toy interp besides 12:55:24 Tritonio_: well i'm just trying to show it's trivially reduced to the halting problem to figure out whether the program has been automatically randomized 12:55:54 ok. but is there a way to bloat a quine in a way that it still remains a quine?? 12:56:06 Tritonio_: yes, the one i just explained 12:56:25 :-S I don't get it... (yet) 12:56:42 well 12:56:47 imagine a bf program 12:56:59 that is run with a memory array filled with numbers 1-8 12:57:13 it first iterates through all these numbers 12:57:19 it has to fill the array with these numberss right? 12:57:41 also 12:57:43 and writes out +++> for 3 or +++++> for 5 etc 12:57:44 tusho, hm 12:57:51 i have something 12:57:53 AnMaster: just do it :P 12:57:58 A BF interpreter i made with a friend 12:57:58 you need to learn thinking functionally anyway 12:58:01 Tritonio_: not yet, just imagine this part first. 12:58:08 unless you already got the whole thing 12:58:14 ok 12:58:15 not only it's standalone, as in, you boot it from a floppy, it's also 100% asm and quite fast 12:58:17 tusho, well doing tail recursive is pretty easy 12:58:25 AnMaster: just do it 12:58:25 :P 12:58:28 befunge is trivial 12:58:30 936 12:58:31 *93 12:58:36 anyway, after it's iterated through all the numbers, it returns to the beginning of the memory 12:58:45 and writes all the numbers again 12:58:47 and I will need to pass around some state, like ip location, ip mode and such, anyway 12:58:50 this time as bf commands 12:59:07 so that 1 will become +, 2 becomes -, 5 becomes . etx 12:59:27 now, you can see once we have this program that writes the contents of the memory array out in this way 12:59:34 you can do +-+-+-+-+-+-+-+-+-+-+-+-+-+-... 12:59:34 [...] -> [[...]] etc 12:59:35 err 12:59:45 any decent interpreter would optimize that 12:59:54 AnMaster: read up 12:59:55 geez 12:59:57 context 12:59:58 * AnMaster does 13:00:02 don't reply unless you read the context 13:00:13 now, we just need to convert it to a program creating the numbers 1-8 on the memory array representing the code 13:00:14 ah true 13:00:19 and the quine is done 13:00:38 Ok. 13:01:11 http://asiekierka.boot-land.net/bfboot.zip - an untested version of a standalone bootable bf interpreter a friend made for me in like, 2007 13:01:13 now you can see you can just do anything that semantically keeps the bf program the same, and it will still stay a quine 13:01:16 Test it's speed 13:01:40 yes but by trying to convert it to a program that writes it's code on the array is equally difficult with making a quine from the scratch. So why bother to create the part of the code that prints the memory cells like brainfuick commands? 13:02:00 please 13:02:08 oh wait 13:02:08 am i missing something? 13:02:09 Tritonio_: what? 13:02:11 asiekierka: is it faster than bff 13:02:22 well that's the easiest way to make a quine "from scratch" 13:02:25 I don't know, didnt test it as you must input everything through cli for now 13:02:27 how would you do it then? 13:02:32 But you can check the source 13:03:13 and oh 13:03:19 Tritonio_: yes, you missed something 13:03:39 I think the i/o functions take 20-40 cpu cycles at most 13:03:44 you see, if the program to do all that writing i explained earlier were +++.+,+,+.+,, which we know it's not 13:04:14 then the part that writes it on the memory array would simply be +>+>+>++++++>+>+++++++>+>+++++++>+>++++++>+>+++++++>+++++++ 13:04:49 it's simpler than making a quine, because it doesn't have to write *itself* on the array, just the program 13:04:57 because the program is what does the actual quining 13:06:10 optbot, 13:06:10 tusho: this is why we can't have nice things 13:06:13 this is the usual way to make a quine, you make "data", and you make "code"; code is something that takes the data, and first writes it in the form it was probably created in (here the +++>+++>++++> form), and then as representing something that could be conceived as code 13:06:13 optbot: is it 13:06:14 tusho: I already did 19 13:06:17 optbot: ok 13:06:17 tusho: hmm 13:06:25 now, if you encode "code" in "data", you will have a quine 13:07:01 and because the encoding will usually be trivial, and automatizable, you can do the data creation part automatically for any code you can think of 13:07:07 as long as it has the same functionality 13:07:53 in a language with a greater number of dimensions for the memory than 1, you can trivially wrap it in something like an interpreter for another langauge 13:07:55 *language 13:08:00 and other wicked things 13:08:21 (most languages have an infinite number of dimensions) 13:08:47 oklopol, they do? 13:08:53 i think a language has infinite number of dimensions iff you can store a tree structure natively 13:09:07 *an infinite 13:09:10 oklopol, um, makes sense 13:09:20 sure does 13:09:22 C matches that then 13:09:43 did anyone who already didn't know how quines are done get my explanation there? 13:10:14 well yes, recursive structures means that automatically 13:10:31 basically just an issue with esolangs 13:13:41 tusho, I think passing the funge space around will be very slow, because accessing head of list is fast, but accessing it elsewhere isn't 13:14:00 AnMaster: it doesn't matter if its slow 13:14:07 it's good for learning how to structure things functionally 13:14:13 tusho, also you can't access by index 13:14:20 yes you can, there's a function for it 13:14:27 where? 13:14:31 don't ask me 13:14:40 I don't know erlang, but I know it has a function for accessing an element in an index in a list 13:14:47 because every non-esoteric language with lists has one. 13:14:47 tusho, maybe using a dict, still functional 13:14:53 but should work for this 13:15:07 AnMaster: look around for the right function for al ist 13:15:11 but yea 13:15:15 a dict would be better 13:15:21 tusho, I think a key-value dictionary is better yeah 13:15:32 * AnMaster looks up manual page for dict module 13:15:34 if it doesn't have it, you can write the two lines of code yourself 13:15:43 $ erl -man dict 13:16:29 oklopol, still don't get some parts... Ok first you write some bf code (call it A) that iterates all cells and prints +++> if it encounters a 3 etc. right? 13:17:06 yes 13:17:06 http://rafb.net/p/EXin4t44.html 13:17:09 does that seem sane? 13:17:38 oklopol, also after that the same code has the ability to convert them into brainfuck commands and print them as well. 13:17:40 anyway what you want here for idiomaticity and speed is straw 13:17:49 Tritonio_: yes 13:17:50 in b93 only code and string mode are allowed 13:17:53 -!- Sgeo has joined. 13:18:06 so I'd probably do "stringmode" and then a true/false 13:18:08 so we know A is a very simple bf program that takes about 15 minutes to write 13:18:47 so if it encountered 1,2,3,4 it would print: +>++>+++>++++>+-<> 13:18:54 yes 13:19:23 so then you have to make the last part (+-<>) been able to do what code A is able to do? 13:19:51 and that would change the left part too that creates that values on the memory 13:19:51 there are two things you have to write 13:19:57 you have to write A 13:20:07 as any program whatsoever that does what A is supposed to do 13:20:09 then 13:20:12 you need to write B 13:20:31 which is simply a conversion of A into + -> +>, - -> ++>, etc 13:20:40 then just run BA 13:20:52 tusho, I shall call it efunge 13:20:59 (concatenation of B and A that is) 13:21:06 AnMaster: why call it anything 13:21:11 -!- kar8nga has joined. 13:21:13 just make befunge.erl on your HD 13:21:14 tusho, need to have a name to run it :P 13:21:16 and don't release it 13:21:20 because it's not interesting :-P 13:21:22 tusho, why not release it? 13:21:26 oh well 13:21:26 B is insanely trivial to write, and can be automatized easily 13:21:30 AnMaster: well, you could pastebin it 13:21:30 :P 13:21:34 but just call it befunge.erl 13:21:44 tusho, multiple files 13:21:45 A is a program that just does some printing given data 13:21:48 modules 13:21:49 AnMaster: why 13:21:53 tusho, that is the erlang way :P 13:21:55 befunge-93 is like 30 lines of C AnMaster 13:22:00 it doesn't need multiple modules 13:22:00 I'm trying to be idiomatic! 13:22:08 AnMaster: if you're being sarcastic then fine 13:22:17 but idiomatic erlang does not split up a trivial thing into multiple modules 13:22:22 and befunge-93 is the essence of trivial 13:22:31 tusho, well not trivial, but stack is one module 13:22:34 oklopol, oooh ok! I got it... Thanx! :-) 13:22:34 that could be reused 13:22:41 AnMaster: erlang probably has one built in 13:22:42 go find it 13:22:47 tusho, I looked for it 13:22:57 there is stack trace, but no stack as far as I can find 13:23:12 Tritonio_: yay! :) 13:30:00 -!- asiekierka has quit. 14:23:06 yay I managed to load the funge space into a dict 14:23:11 in a very functional way 14:23:12 tusho, ^ 14:23:19 yay 14:23:31 I think so at least 14:23:42 load and dump works 14:23:46 http://rafb.net/p/b7MKra33.html 14:23:57 * tusho will be very scared on the day when AnMaster starts preferring a functional language to C for a lot of tasks. :P 14:24:10 it'd have a big effect on Hell's temperature 14:24:14 actually, not perfectly 14:24:30 AnMaster: looks pretty idiomatic 14:24:32 ask #erlang? 14:24:35 I must have a off by one error 14:24:45 or something like that 14:24:51 one blank line too much 14:24:55 in dump 14:25:02 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 14:26:07 http://rafb.net/p/H2hZGg31.html 14:26:13 tusho, and error there I think 14:26:14 oh wait 14:26:23 I probably put \n into funge space at load time 14:29:38 yes that was the issue tusho 14:29:44 yay 14:29:48 now repaste and ask #erlang if it's idiomatic 14:29:48 :P 14:29:56 loooks it but who knows 14:30:16 tusho, nah I'll idle there first 14:30:22 to see what sort of channel it is 14:30:25 if it is like ##c.... 14:30:26 AnMaster: i've been in there before 14:30:29 they're very friendly 14:30:31 like #haskell 14:30:35 tusho, I want to see for myself thanks 14:30:53 also I've never seen another channel like ##c in my life 14:32:43 http://rafb.net/p/ljoGPF37.html 14:32:49 tusho, impressive output ^ 14:32:59 Cool. 14:33:13 tusho, by the way, had I used C I would have been done already 14:33:14 ;P 14:33:20 AnMaster: That might be because you know C. :P 14:33:27 true 14:35:57 tusho, I still get some trailing newlines at the end hrrm 14:36:35 oh well, probably a typo in dump 14:45:03 main([A]) -> 14:45:03 Space = fspace:load(A), 14:45:03 loop(#fungeState{}, [], Space). 14:45:10 that will be my main function 14:46:03 AnMaster: Sounds reasonable. 14:46:36 actually make that fState, because I will need to type it a lot 14:48:37 #fState{x=X, y=Y, dx=DX, dy=DY} = State, 14:48:37 NewState = State#fState{ x=X+DX, y=Y+DY }, 14:48:37 loop(State, Stack, FungeSpace). 14:48:43 should work at the end of the main loop 14:48:52 or something like that 14:49:20 that would have been cleaner in C, just += 14:49:21 hehe 14:49:33 oh and make State NewState on last line 14:50:27 AnMaster: also, there's probably an easier way to do it 14:50:37 tusho, oh? 14:50:41 so you can't just say "ah, I don't know Erlang all that way, but this first try evidently proves that it would be cleaner in C" 14:50:46 *way->well 14:50:51 indeed 15:22:02 AnMaster: surely that's enough idling 15:22:04 :P 15:22:14 no 15:22:16 and busy atm 15:38:22 -!- oklofok has joined. 15:38:37 -!- oklopol has quit (Read error: 113 (No route to host)). 15:38:40 -!- Deewiant has quit (Read error: 104 (Connection reset by peer)). 15:43:05 20> efunge:main(["hello.bf"]). 15:43:05 Hello world! 15:43:05 ** exception exit: normal 15:43:07 tusho, ^ 15:43:11 doesn't do most stuff yet 15:43:14 AnMaster: yay 15:43:19 but enough to print a simple string 15:43:22 pastebin it? 15:43:26 91+"!dlrow olleH">:#,_@ 15:43:29 is the program 15:43:31 that it can run so far 15:43:35 it can't run other stuff yet 15:43:44 most other instructions are not yet implemented 15:45:53 -!- dogface has joined. 15:52:30 -!- Deewiant has joined. 15:52:39 -!- MikeRiley has joined. 15:52:43 wow 15:52:47 Deewiant and MikeRiley 15:52:48 seconds apart 15:52:55 on a related note, AnMaster is implementing yet another funge... 15:52:57 but 93 15:52:59 and in erlang 15:53:08 hi tusho 15:53:20 the computer my irssi was running on was booted :-/ 15:53:47 yes 15:53:48 hi deewiant 15:53:51 I'm learning erlang 15:53:56 yo 15:53:58 so I decided to make a small funge93 interpreter in it 15:54:02 for learning 15:54:12 most of it is done really 15:54:17 just a few instructions left 15:55:06 There's a possibility that my brother will be coming to Normish. 15:55:33 dogface: Wrong channel. 15:55:52 If I said it in #rootnomic, I'd be talking to myself. 15:56:03 If you said it in ##nomic you wouldn't. 15:56:33 True. 16:01:32 -!- MikeRiley has quit ("Leaving"). 16:03:08 hmm... almost got there 16:10:35 blergh, seems like erlang always display a [] at input 16:15:12 C:void = erlang:[] 16:16:33 -!- tusho has changed nick to tusho|away. 16:18:46 -!- dogface_ has joined. 16:25:12 oklofok, eh? 16:25:30 oklofok, I need to get one char of input. with no prompt whatsoever 16:25:34 to conform to funge spec 16:25:40 how do I do that in erlang 16:26:06 showing [] is not acceptable 16:31:35 -!- tusho|away has changed nick to tusho. 16:32:47 -!- kar8nga has left (?). 16:39:38 -!- KingOfKarlsruhe has quit (Remote closed the connection). 16:46:43 tusho, it works now for life.bf, but is very very slow 16:48:05 -!- tusho has changed nick to tusho|away. 16:57:25 -!- Hiato has joined. 16:57:30 -!- Hiato has quit (Client Quit). 16:58:05 wumpus now works 16:58:36 Three! Point! One! Four! One! Five! Nine! Two! Six! Five! Three! Five! Eight! Nine! Seven! Nine! Three! Two! 17:01:12 IT'S GREAT TO BE ALIVE! 17:01:31 ON IHANAA OLLA ELOSSA! 17:02:04 a rare example of a sentence shorter in finnish than in english 17:02:13 awesome 17:02:29 GREAT /= IHANAA 17:02:35 I'd say it's more like MAINIOTA 17:02:42 so english wins 17:02:49 dogface_: http://abstrusegoose.com/23 17:07:20 What, was Deewiant also a .fi person? I never knew! (Or if I knew, I already forgot.) 17:07:22 "it's wonderful to be alive" 17:07:37 on mainiota olla elossa sounds ridiculous :D 17:07:44 fizzie: you forgot 17:08:45 /nick oklofik & /nick Deefiant, we should all follow fizzie's example and show our nationalities in our nicks 17:09:04 then perhaps /nick dogfuk? 17:09:05 hmm 17:09:11 actually you're american 17:09:14 I thought fizzie was from ireland 17:09:22 fizz_ie_ and all that 17:09:55 -!- tusho|away has changed nick to tusho. 17:11:14 Deewiant, tusho: http://rafb.net/p/ONXHUD93.html 17:11:23 still input is kind of broken 17:11:32 as it outputs [] at a prompt every time 17:11:46 and the exit status at the end every time 17:12:35 mycorand works 17:13:15 how about mycology itself 17:13:17 mycorand sounds awesome 17:14:05 I'm honored to be mistaken for a Brit. :-P 17:15:13 Deewiant, that is what I posted at http://rafb.net/p/ONXHUD93.html 17:15:14 .... 17:15:22 it is 93 only 17:15:42 ah, I would have thought that's a mycorand paste 17:15:49 Deewiant, eh why? 17:16:08 given that you said "mycorand works" soon after pasting it 17:16:40 -!- kar8nga has joined. 17:16:43 anyway I need to figure out how to 1) run it stand alone, not inside erlang, 2) avoid prompt on input 3) get rid of the "** exception exit: normal" 17:17:23 AnMaster: as for 1) 17:17:26 that's not idiomatic erlang 17:17:32 as it's not ususally used for standalone progs 17:17:35 as opposed to servers, etc 17:17:54 just run it from the repl, or if you must, write a shell script that feeds run(read_file(filename)) to erlang 17:17:54 tusho, it is still kind of idiomatic 17:17:59 ever seen wings3d? 17:18:05 it is a 3D editor coded in erlang 17:18:11 polygon editing 17:18:13 very good 17:18:15 yes and how do you know it's idiomatic? 17:18:15 hmm? 17:18:24 tusho, well can't be 100% sure of that 17:18:28 exactly 17:18:41 and yes shell script is what I plan to use 17:18:50 that is the official way to run standalone 17:18:55 that is what wings3d use too 17:18:56 ! 17:19:37 AnMaster: have you done any of the concurrency or network stuff yet 17:19:43 tusho, not yet no 17:19:52 and probably won't today 17:20:02 tusho, I did test distributed erlang though today 17:20:06 between two computers 17:20:10 was fun 17:20:21 but I haven't actually used such stuff for something useful yet no 17:40:59 -!- ais523 has joined. 17:41:27 hi tusho 17:41:29 optbot! 17:41:29 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | apply is depreciated??. 17:41:38 ais523 17:41:43 i am behind you with a knife 17:41:47 I doubt it 17:41:50 you shall never beat me to greeting me again 17:41:52 it ends ... NOW! 17:41:58 -!- tusho has changed nick to als523. 17:42:03 * als523 has quit (killed by tusho) 17:42:06 -!- als523 has changed nick to tusho. 17:43:01 hmm... too obvious 17:43:07 ! 17:43:48 (a -> m b) -> m a -> m b. a -> m a. 17:44:19 what are the dots for? 17:44:30 Pretend they're semicolons or something. 17:44:30 apart from that it looks like a typical Haskell data type 17:44:50 Or em-en-dashes. 17:46:07 dogface_: flip (>>=). return. 17:48:25 Hmm. 17:48:55 (a -> m b) -> (a -> b) -> m a. 17:49:21 No. 17:49:41 m (a -> b) -> m a -> m b. 17:50:37 Hmm, I wonder what you do get with primitives (a -> m b) -> (a -> m a) and... something else. 17:52:33 * dogface_ looks for an else 17:53:27 Er, (a -> m b) -> (a -> b) -> m a and something else. 17:55:50 That's S, there's no K or I, B is m a -> (b -> a) -> m b, C is (a -> m b) -> b -> m a, and W is (a -> m a) -> m a. 17:56:30 brb. 17:57:14 Is S, B, C and W sufficient to make K? 18:10:20 ais523, hello 18:10:24 hi AnMaster 18:10:30 ais523, I wrote a Befunge 93 interpreter in erlang today 18:10:33 well mostly done 18:10:37 still one bug left 18:10:43 what's the bug? 18:10:44 input displays a [] prompt 18:10:50 which is against the funge specs 18:10:54 can't get rid of it it seems 18:11:03 I'll upload the stuff shortly btw 18:11:56 -!- tusho has changed nick to tusho|away. 18:15:49 -!- Hiato has joined. 18:15:52 http://bzr.kuonet.org/efunge/trunk/files 18:15:56 ais523, tusho|away ^ 18:15:59 and maybe Deewiant ^ 18:16:03 still the input bug 18:16:12 * ais523 looks 18:16:34 ais523, As I'm trying to learn erlang currently, I have gone for "idiomatic, and idiotic" instead of "fast" 18:16:43 well, I don't know erlang 18:17:01 ais523, so it looks like garbage to you? ;) 18:17:02 -!- Hiato has quit (Client Quit). 18:17:17 no, most programming langs are at least slightly readable even to people who don't know them 18:17:22 some esolangs being the exception of course 18:17:43 ais523, what do you think of this erlang code then? 18:17:51 hint: it is functional 18:18:00 ah, I was wondering if it was declarative, it looks like it could be 18:18:04 so I guess knowing haskell and/or LISP could help 18:18:11 ais523, declarative? 18:18:15 like Prolog 18:18:24 never coded prolog 18:18:44 ais523, but I think I heard erlang got some traces of prolog in it's style too 18:18:49 it's almost an esolang, it's too practical to be an esolang but the paradigm is likely to be unlike anything you've ever seen 18:18:53 but that erlang code certainly reminded me of it 18:19:10 you mean prolog or erlang is too like an esolang? 18:19:21 I was talking about Prolog 18:19:23 ah 18:20:19 ais523, fstack.erl is probably the most readable 18:22:47 ais523, so what do you think of erlang so far? 18:23:07 too busy thinking about other things to form an opinion 18:23:17 it's Monday and I was late in as it is, and I have lots of things to do on Mondays 18:23:33 ais523, oh well 18:28:41 * dogface_ searches for compilers from Unlambda 18:29:09 dogface_: I don't think there are any, I wrote an Unlambda -> Underlambda compiler once but deleted it by mistake 18:29:49 The Esolang wiki links to two Unlambda interpretations; I don't know if they're compilers. 18:30:44 nsl.com looks like it could be some official site. "National Science Library" or something. Of course, nsl.org would look even more official, nsl.gov more official still. 18:30:50 Instead, it's "No Stinking Loops". 18:31:22 Implementation number 1 is an interpreter. 18:32:53 -!- pikhq has joined. 18:33:00 -!- poiuy_qwert has joined. 18:34:36 -!- Tritonio_ has quit (Remote closed the connection). 18:35:36 . F# B D . . E . . B . . . G C D . . E . . C . . . 18:35:57 Unlambda is very hard to compile 18:36:04 mostly because of d 18:36:06 (Octave break between E and F.) 18:36:11 which doesn't correspond to anything in most functional languages 18:36:31 All it does is change evaluation order. 18:36:39 yes, I know what it does 18:36:41 Evaluation order is already a pest, I imagine. 18:36:43 but how do you compile it? 18:36:53 The same way you compile everything else about evaluation order. 18:37:24 dogface_: if you're compiling into a strict lang then the evaluation order's the same between Unlambda and your strict functional lang, except for d 18:38:07 I want to compile into a purely functional language, like C bytecode or something. :-P 18:38:33 dogface_: well ehird and I have an Underload -> C compiler, and I think an Underlambda -> C compiler might work along similar lines 18:38:37 continuations are the problem with that, though 18:38:59 What is Underlambda? 18:39:01 -!- tusho|away has changed nick to tusho. 18:39:10 back 18:39:19 a lang I invented, which is designed to be similar to Underload but more practical 18:39:30 and also designed so that Unlambda can be compiled into it 18:39:45 yet that Underlambda itself can be compiled into an imperative lang 18:39:57 Is it an impure functional programming language with side effects, a delay combinator, and continuations? 18:40:31 no delay combinator, and it's concatenative not functional, but otherwise you're about right 18:40:43 I worked out how to get around the delay combinator problem 18:41:01 unfortunately I accidentally deleted the file where I stored that information so I'll have to try to work it out again 18:41:08 luckily though as I did it once I'll have memory to help me 18:41:18 ". F# B D . . E . . B . . . G C D . . E . . C . . ." does this have relevant spaces? 18:41:19 What is a concatenative language? 18:41:31 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | and autoconf detects whether it's available or not and selects the right version. 18:41:33 oklofok: the periods are rests. 18:41:37 dogface_: first see http://esolangs.org/wiki/Underload, that's a concatenative tarpit 18:41:38 dogface_: compose(x,y)=concat(x,y) 18:41:42 for valid programs x and y 18:41:44 that'll give you a good guide 18:41:45 stack-based usually 18:42:06 but the usual form of a concatenative language is one in which all the commands are functions from stacks to stacks 18:42:21 and concatenating two commands in the source is equivalent to composing the functions they represent 18:42:36 and you can put bits of program on the stack and manipulate them like data 18:42:44 So it just executes all commands in sequence, with no jumping allowed? 18:42:52 err 18:42:53 no 18:43:08 combinators can execute commands out of sequence 18:43:13 e.g. Underload has ^ which is eval 18:43:25 dogface: i'm assuming a scale of B C C# D D# E F F# G G# A A# B 18:43:30 and although it always does things in sequence you can create a loop by calling ^ recursively 18:43:53 oklofok: F F# G G# A A# B C C# D D# E was what I was thinking. 18:44:02 e.g. (:^):^ is the simplest possible infinite loop in Underload 18:44:02 * dogface_ looks at Underload 18:44:05 dogface: those are equal 18:44:09 (:^) puts :^ on the stack 18:44:12 then : makes two copies of it 18:44:16 and ^ evaluates one of them 18:44:36 if EgoBot were here I could show you Underload live in the channel 18:44:38 oklofok: I guess I was making assumptions about what you meant by scale. 18:45:16 On the keyboard, the notes are in the order F#, B, C, D, E. 18:45:33 F#, G, B, C, D, E, rather. 18:46:18 what is this piece? 18:46:20 You're not trying to play this in just intonation, are you? :-) 18:46:29 Something that popped into my head. 18:46:29 ais523: egobot may not be here 18:46:31 but optbot is 18:46:31 tusho: i know great books, but i'm too lazy to borrow them from the library 18:46:42 It might be from somewhere. 18:46:53 tusho: can optbot interpret Underload? 18:46:54 ais523: Done :). 18:47:00 ais523: see, he just did 18:47:04 he even told you he did 18:47:06 Can optbot do anything? 18:47:06 dogface_: You've got me hooked. 18:47:09 optbot: (:aSS):aSS 18:47:09 ais523: err 18:47:13 dogface: in just intonation? 18:47:27 tusho: I don't think optbot can really, it's struggling even with a simple quine 18:47:27 ais523: ah 18:47:35 oklofok: using whole number frequency ratios, rather than those usually found on a piano, which are irrational. 18:48:24 -!- RodgerTheGreat has joined. 18:49:08 I have newfound evidence that Edsger Dijkstra was a shithead. 18:49:09 http://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1009.html 18:49:19 in response to this: 18:49:19 http://www.ecn.purdue.edu/ParaMount/papers/rubin87goto.pdf 18:50:13 tl;dr: "Rubin sucks, and so do you guys. Here's some APL-looking stuff. You don't understand this, and you aren't qualified to do your jobs. kthxbai" 18:50:19 dogface: western chromatic, just ensured usa uses B as A##/Cb, and not as A#/Hb like finland 18:50:38 where H = Cb ofc 18:50:49 RodgerTheGreat: you have tried to prove that he's a shithead very often 18:50:56 you just make yourself look ridiculous, most of the time 18:50:59 this is compelling evidence 18:51:06 if you know anything about djikstra you would know that that is his programming langauge 18:51:12 that he used for everything 18:51:22 oklofok: oh. 18:51:34 You have your sharps in the right places, then. 18:51:36 furthermore, the arrogance required to propose yourself as more intelligent than djikstra should probably be causing the universe to implode by now 18:51:39 -!- Sgeo has joined. 18:53:27 . F# B D . . E . . B . . . G C D . . E . . C . . . <<< i dislike the second D 18:53:37 * pikhq beats tusho with a large stick 18:53:47 pikhq: why? 18:53:59 Because Dijkstra is a fiendishly clever ass. 18:54:08 The two are probably related. 18:54:17 So Underload is "execute all commands in sequence, with no jumping allowed", if you keep a parenthesis number around and interpret commands differently when it's positive. 18:54:40 oklofok: is that the same as what I said? 18:54:51 err yes 18:55:40 anyway, as i'm probably the only one interested in what melodies pop into your head, i suggest using my standard notation :P 18:55:55 a-z0-9A-Z where 0 is the suggested base note 18:56:03 whatever the correct term is 18:56:05 With semitone differences? 18:56:08 yes 18:56:18 How un-diatonic. :-) 18:56:36 yes, it's a good system 18:56:45 * dogface_ tries sharpening and flattening the offending D 18:56:51 haha 18:57:20 i love pieces that mix minor and major in the same riff 18:57:44 i actually have a piano riff where left had is in minor, and right hand in major 18:57:47 it's awesome 18:57:51 *hand 18:58:05 Cool. 18:58:48 That's what you get when you use thirds all over the place, of course. 18:59:33 Sharpening the D makes it sound... more emotional and better, I think. 18:59:39 Flattening it makes it sound more dissonant. 19:03:02 I think I'd like to modify your notation a bit. 19:06:39 * dogface_ modifies the notation a bit 19:13:29 http://pastebin.ca/1166519 19:13:34 -!- sebbu2 has changed nick to sebbu. 19:14:24 The character alone is whatever's in the center column. The character followed by . is the leftmost thing in the row. The character followed by ^ is the rightmost thing in the row. 19:14:32 And it repeats every octave. 19:15:13 So you know what's a sharp and what's a flat. 19:15:20 so my system but with useless information added? 19:15:32 It's not useless if you're playing in a different tuning. :-P 19:15:35 hmm 19:15:51 Also, flattening G# is more common than flattening Ab, I imagine. 19:15:58 double-flats exist 19:16:04 True. 19:16:05 there's even special notation for double-sharps 19:16:13 there are no sharps 19:16:15 It's a cute little notation. 19:16:23 there are frequencies, and there is a chromatic scale 19:17:17 In something like 19-tone equal temperament, G# and Ab are different notes. In just intonation, they're probably still different notes. 19:17:30 they are different in just 19:17:42 I actually wrote a program to play just scales and equitempered scales one after another 19:17:46 ais523, would tail recursive functions cause issues for ick? 19:17:46 they both sounded correct 19:17:49 despite sounding different 19:17:56 AnMaster: how are you doing the tail recursion? 19:17:56 G# = Ab = 440*(2^11/12). 19:17:57 I doubt it 19:18:00 ais523, not in cfunge 19:18:02 Everything sounds correct. :-P 19:18:04 ais523, just wondering, in general 19:18:06 give or take some integer multiple of 2 19:18:15 AnMaster: well, what is tail recursion? It's doing goto rather than a procedure call 19:18:19 and ick doesn't care about gotos 19:18:35 ais523, hm true, what about non-tail recursion then? 19:18:40 again no problem 19:18:51 as long as the functions return in the reverse of the order they were called in 19:18:54 which is usual in recursion 19:19:09 or at least, I mean a function stops running after it returns 19:19:14 ais523, what if there is a computed COME FROM in such a function? 19:19:19 so it jumps out of the middle of one 19:19:55 AnMaster: I wrote a long essay of what you could and couldn't do in such cases, line label in the middle of a recursive function is fine as long as it's declared with ICK_EC_FUNC_START 19:19:55 I mean, a computed come from pointed at such a function 19:20:05 ais523, ah hm 19:20:08 which means you can't pass it any arguments 19:20:18 except via global variables 19:20:26 I see 19:20:46 which make recursion rather pointless 19:21:02 not really, you can do something like just use globals as a parameter-passing method 19:21:28 ais523, does COME FROM and line labels have to be at the top level of such a function? 19:21:41 e.g. int a,b; void recursivefunc(void) {int alocal=a, blocal=b; /* do stuff */; a=alocal+1; b=blocal*2; recursivefunc();} 19:21:45 AnMaster: no, they can be anywhere 19:21:50 well, anywhere a line label is legal 19:21:50 or can they be nested deep into, say duff's device 19:21:55 so duff's device is fine 19:22:03 they do have to be as commands not as expressions though 19:22:04 hm 19:22:11 like return does 19:22:29 as for globals and recursiveness... there is an issue 19:22:47 you don't get a stack 19:22:56 yes you do, look at my example above 19:23:02 so you will overwrite the arguments of the previous call, right? 19:23:10 hm... 19:23:14 ah ok 19:23:17 AnMaster: no, because you store the arguments on the stack, that's what alocal and blocal are for 19:23:33 you just use the globals to do parameter-passing by hand 19:23:43 otoh there are other problems with auto variables and INTERCAL control statements 19:23:45 ais523, still such locals will be messed up by your setjmp/longjmp stuff right? 19:24:01 AnMaster: they are to some extent, it depends on what you do 19:24:09 jumping out of functions is fine, it's jumping into them that's the problem 19:24:17 yeah... 19:24:35 In 19-tone equal temperament, 0 is 0 steps, 1. is 1 step, 1 is 2 steps, 2 is 3 steps, 2^ is 4 steps, 3. is also 4 steps... what fun! 19:24:46 if you NEXT out of a function and RESUME back into it, then its auto variables are preserved if they're volatile or if they're not modified juring that time 19:24:55 ais523, could you write an C-INTERCAL <-> Haskell interface? because that would be awesome, and so much break the Haskell style XD 19:24:57 brb 19:25:18 if you NEXT or COME FROM into a function, then all its auto variables are clobbered (because there's no sensible way to give them a value) 19:25:45 [19:21:43] e.g. int a,b; void recursivefunc(void) {int alocal=a, blocal=b; /* do stuff */; a=alocal+1; b=blocal*2; recursivefunc();} 19:25:46 just do 19:25:52 {top: ...; goto top} 19:25:55 recursion is pointless 19:25:56 :P 19:26:01 for that case 19:26:17 or just use a while loop 19:30:53 dogface: basically the notation you suggested is a complicated version of the normal C-C#-D-...-B-C scale 19:31:00 oklofok: precisely. :-) 19:31:24 given that the normal scale is absolute crap, i'd say i dislike yours quite a lot 19:38:15 hmm 19:38:32 I stand by my assertion that an esolang for messing about with scales and sine waves and stuff would rock. 19:38:32 tusho, hey! think functional :P 19:38:42 actually for some stuff I would probably prefer erlang 19:38:49 but not for something like a funge interpreter 19:38:56 agreed 19:38:57 because a mutable state is what funge is *all about* 19:39:07 a functional ircd might work, though :P 19:39:13 tusho, hmmm... yeah 19:39:31 there is an example of a similar thing in "Programming Erlang" 19:39:41 tusho, using distributed erlang 19:39:57 a haskell ircd might just be total win 19:40:02 well how about straw? :)) 19:40:05 tusho, what about speed? 19:40:15 AnMaster: ircds don't have to be overly fast... 19:40:18 because an ircd should be able to handle 10000 clients at a time 19:40:19 or so 19:40:19 besides, haskell is fast 19:40:28 AnMaster: well, erlang would certainly manage that 19:40:28 :P 19:40:32 tusho, yeah 19:40:34 haskell probably would too 19:40:35 but threaded 19:40:38 it's not a slow language 19:40:42 AnMaster: erlang doesn't use OS threads 19:40:42 that is like totally painful 19:40:46 tusho, even so 19:40:51 AnMaster: it uses lightweight green threads 19:40:55 AnMaster: it would work fine 19:41:02 AnMaster: after all, erlang is used in telephone systems 19:41:05 tusho, when I think irc I think non-blocking IO 19:41:06 that's what it was designed for 19:41:11 AnMaster: erlang has that too 19:41:18 tusho, well but still 19:41:19 hm 19:41:28 tusho, and epoll/kqueue 19:41:33 not select or poll 19:41:39 AnMaster: i think erlang has them 19:41:39 shrug 19:41:42 maybe 19:41:48 erlang is often used for many-client internet stuffs. 19:41:53 tusho, I do know a bit about ircd programming :) 19:41:54 it's its niche 19:41:58 at least as it is done in C 19:42:19 tusho, and then there are outsiders like Wings3D in erlang 19:42:40 I find wings3d easier to use than blender 19:42:45 it can't do as much 19:42:47 i must admit i don't see how a 3d modeler benefits from erlang's niche 19:42:49 :P 19:42:49 but what it does it does well 19:42:55 tusho, well nor do I 19:42:59 but point is, it works well 19:43:04 polygon modelling 19:43:31 I often make the models in wings, then put them together in blender and add nurbs objects and such 19:43:35 and render with yafray 19:48:55 oklofok, what is that straw you mentioned? 19:49:03 it's a language of mine 19:49:09 tusho, so what shall I write next in erlang hm... 19:49:15 oklofok, specs and examples? 19:49:37 specifically designed for pure functionality with in-place mutability 19:49:45 ais523, you never posted those specs and examples of feather btw 19:49:46 in-place mutability? 19:49:48 lol 19:49:50 ais523, care to do it now? 19:49:54 AnMaster: no, because they were so misleadingly wrong 19:50:16 ais523, well no way I can "get a feeling" for the language then 19:50:27 AnMaster: there exist none, but i may work on it tomorrow now that i finished my books 19:50:33 well no, I'm trying to get a feeling for it myself 19:50:56 anyway plan for tomorrow: finally track down that damn concurrency bug in cfunge 19:51:04 then maybe start on some other erlang thing 19:51:30 or implement some new fingerprint in cfunge 19:51:41 SUDDEN DISCONNECT !! 19:51:43 -!- oklofok has quit (Client Quit). 19:52:07 ok... that didn't make much sense... 19:53:44 optbot 19:53:44 tusho: I love them. 19:54:55 tusho, one thing I like with erlang is that it got stuff like static analyzers bundled with the standard distribution 19:55:09 AnMaster: NOMADS!!!!!!!! 19:55:10 and you can get into a gui debugger easily 19:55:17 im(). 19:55:19 in the console 19:55:26 then a few more commands to select what to debug 19:55:37 tusho, you ever seen motif? 19:55:46 AnMaster: unfortunately 19:55:46 the GUI toolkit 19:55:55 tusho, well it seems like erlang use it :( 19:56:08 or something equally uggly 19:56:11 ugly* 19:56:13 AnMaster: for what? 19:56:26 tusho, for stuff like the debugger 19:56:34 and dialyzer (the static analyzer) 19:56:45 let me take a screenshot 19:58:09 http://www.dangermouse.net/prose/foxc.html 20:00:39 tusho, http://omploader.org/vbzI1 20:01:12 that's tk AnMaster 20:01:13 it works well 20:01:16 it seems 20:01:16 but it is uggly 20:01:21 tusho, well not sure what it is 20:01:23 but it is uggly 20:01:27 ugly* 20:02:02 tusho, ever used wings? 20:02:19 no 20:04:38 http://omploader.org/vbzI3 20:04:58 tusho, I think this may be a custom gui system? 20:05:17 the check boxes look different 20:05:19 less uggly 20:05:21 yes 20:05:22 custom 20:05:22 ugly* 20:05:28 not nice but less ugly 20:05:38 tusho, why do 3D programs do that blergh 20:05:43 I mean, blender does it too 20:05:46 custom 20:05:48 AnMaster: they're 1337 and totally hardcore. 20:05:49 :P 20:06:06 tusho, it makes it harder to get used to! 20:06:45 tusho, anyway sure the erlang debugger doesn't use motif? 20:06:46 It's supposed to be difficult; if it were easy, anyone could do it. 20:07:22 AnMaster: not sure 20:07:49 fizzie, well wings3d is quite easy 20:07:53 optbot! 20:07:53 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | Apparently my powerful interpreters have gained notoriety :P. 20:07:55 simpler than blender certainly 20:08:17 That much is true. 20:09:25 On Debian, the erlang-x11 package depends on tk. And the screenshot certainly looks tk-y. 20:10:15 tusho, I believe efunge will work on Windows btw ;P 20:10:21 tusho, iirc that is what you always wanted 20:10:24 eh 20:10:25 *hee 20:10:32 *heh 20:10:32 ? 20:11:08 (But the Tk X11 look-and-feel is modeled after Motif.) 20:16:25 -!- Hiato has joined. 20:18:48 tusho, is it "idiomatic" or "ideomatic"? 20:18:59 AnMaster: idiomatic 20:19:05 although I'm not tusho 20:19:09 I'm having fantasies of someone yelling "FYORR!" fortissimo at G above middle C. 20:19:35 -!- Sgeo has quit (Connection timed out). 20:23:19 dogface, eh? 20:23:27 ais523, well I added a readme to efunge 20:23:33 in case anyone want to try 20:24:13 http://bzr.kuonet.org/efunge/trunk/annotate/10?file_id=readme-20080811191903-8d5vrrxfy6lsf2b2-1 20:24:27 Specifically, the G above middle C at the end of the line "where the lights are bright as the stars" in "Put On Your Sunday Clothes". 20:25:01 dogface, what song is that? 20:25:46 I never heard of it 20:25:53 Well, it was the one at the beginning of WALL-E. 20:26:00 WALL-E? 20:26:07 Originally from Hello, Dolly!. 20:26:16 don't know about that either 20:26:29 http://www.youtube.com/watch?v=WbBnXryfjg4 20:26:43 Just the beginning, with the two guys. 20:28:33 oh my really old style 20:28:36 when is it from? 20:28:50 musical, feels like as old as that one "Singing in the rain" 20:29:54 dogface, anyway I don't have the ability to hear exactly what tone someone is singing 20:30:14 (that doesn't mean I can't play a bit of piano though 20:32:18 I suspect not everyone here has heard of "Hello, Dolly!". 20:33:31 -!- tusho has changed nick to tusho|away. 20:34:22 indeed 20:38:19 -!- MikeRiley has joined. 20:39:54 tusho|away, you linked "http://www.dangermouse.net/prose/foxc.html" 20:39:57 what the heck is that 20:52:37 -!- Corun has joined. 20:55:52 -!- olsner has joined. 21:37:40 -!- MikeRiley has quit ("Leaving"). 21:37:40 -!- Corun has quit ("This computer has gone to sleep"). 21:38:03 -!- rodgort has joined. 21:39:06 You know, calling me (ello, rodgort) dogface rather than dogface_ pings the wrong client. 21:49:07 hi optbot 21:49:08 ais523: actually he could use tusho 21:49:12 -!- Mony has joined. 21:49:13 optbot? 21:49:14 ais523: yay! 21:49:21 optbot: you aren't making much sense 21:49:21 ais523: no it wasn't 21:49:25 ... 21:49:56 hi 21:50:02 hi Mony 21:51:11 -!- Hiato has quit (Read error: 104 (Connection reset by peer)). 21:58:22 -!- kar8nga has quit (Read error: 145 (Connection timed out)). 22:00:38 night all 22:00:42 night 22:00:57 dogface, it is just about tab completion 22:01:05 dogface is close enough 22:01:09 * AnMaster shrugs 22:01:10 night 22:03:25 -!- tusho|away has changed nick to tusho. 22:09:51 -!- oklopol has joined. 22:15:58 -!- poiuy_qwert has quit (Read error: 110 (Connection timed out)). 22:27:03 -!- ais523 has quit (Remote closed the connection). 22:27:19 -!- ais523 has joined. 22:30:43 optbot: hi 22:30:43 tusho: They were supposed to eventually crash it :P 22:31:08 optbot always gets me when someone activates it out of thin air, I wonder what on earth the subject of the conversation is now 22:31:09 ais523: with 1 bit sign, 100 bit exponent and 200bit value 22:31:22 optbot! 22:31:22 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | !fybs ?. 22:31:24 optbot! 22:31:25 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | Wassup Slereah (If that was aimed at me :) ). 22:31:27 optbot! 22:31:27 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | the random -> 000...0 thing. 22:31:33 ok, I'll leave it as it is now 22:31:36 that's a good topic 22:33:16 optbot.... really ? OO 22:33:16 Mony: (I only have 807 comment karma too. People just can't accept someone who's INFALLABLY RIGHT) 22:33:24 whaou 22:33:43 is that French for "wow"? 22:34:04 yeah 22:35:19 -!- RedDak has joined. 22:51:48 I'm surprised it doesn't have more consonants. 22:58:00 whawowuw 23:12:40 -!- ais523 has quit ("(1) DO COME FROM ".2~.2"~#1 WHILE :1 <- "'?.1$.2'~'"':1/.1$.2'~#0"$#65535'"$"'"'&.1$.2'~'#0$#65535'"$#0'~#32767$#1""). 23:21:53 No, no, no. 23:22:23 l'whaouxe. 23:22:24 :p 23:23:16 :D 23:26:43 Okay, so it's not like I can criticise French for having terribly obtuse spelling... 23:27:00 pikhq: hehehe 23:28:39 Given that English is orders of magnitude worse, courtesy of its status as a (calling all linguists: the following classification is a *joke*) Romantic Germanic Celtic language, with hints of all other language families thrown in for good measure. 23:38:15 Romantic Germanic Celtic Icic 23:48:35 Icic? 23:48:45 pikhq: Yes. 23:48:47 Icic. 23:49:42 ```icic 23:50:15 ? 23:50:32 * pikhq thinks you're full of it. Or full of unlambda. 23:50:33 -!- sebbu has quit ("Quitte"). 23:51:02 i'm full of meatballs 23:51:16 pikhq: Define it. 23:52:34 I can't... 23:52:44 In case you hadn't noticed, I was *asking* for a definition. 23:53:40 "Fhqwgads." "Fhqwgads?" "Yes. Fhqwgads." "I think you're full of it." "Define fhqgwgads." "?!?" 23:54:50 -!- sebbu has joined. 23:55:38 pikhq: No, define "it" 23:59:42 ah the classic quotation joke!