00:05:50 -!- not^v has joined. 00:07:13 define side-effect-free stateless dynamic-extent 00:07:13 &primitive-descriptor 00:07:13 primitive-cast-machine-word-as-single-float 00:07:13 (b :: ) 00:07:13 => (f :: ) 00:07:16 dylan is so... 00:07:22 "side-effect-free", really. 00:08:17 oerjan: you said 45/46 characters for substrings once, did you ever improve that? 00:08:59 * oerjan whistles innocently 00:09:34 I know I shouldn't ask 00:09:52 but I'm stuck with 3 fairly different 124 character versions :) 00:11:40 (with two completely different approaches to substrings) 00:12:45 -!- not^v has quit (Quit: http://i.imgur.com/Akc6r.gif). 00:14:36 vanila: I recommend this old classic book: Alfred V. Aho, Jeffrey D. Ullman, ''The Theory of Parsing, Translation and Compiling'', (1972) Prentice-Hall. 00:16:42 > undefined^0 -- also didn't help me 00:16:43 1 00:20:41 nice 00:44:12 -!- Bicyclidine has joined. 00:52:25 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 00:54:26 -!- Bicyclid1ne has joined. 00:54:48 -!- Bicyclidine has quit (Read error: Connection reset by peer). 01:11:28 -!- impomatic_ has quit (Ping timeout: 240 seconds). 01:47:46 -!- shikhout has joined. 01:49:56 -!- oerjan has quit (Quit: leaving). 01:51:18 -!- shikhin has quit (Ping timeout: 265 seconds). 02:10:52 uh oh, GG (I'm late reading the Wednesday comic) is heading towards another fatal convergence. 02:11:12 (of course!) 02:32:13 -!- adu has quit (Quit: adu). 02:32:53 -!- kline has quit (Ping timeout: 245 seconds). 02:37:31 What is the proper filename extension for troff files? 02:38:09 Hi zzo38 02:38:20 there is a many gigabyte download archive of many gopher sites 02:39:26 vanila: I cannot easily download really large files on my computer. 02:40:58 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 02:41:02 -!- adu has joined. 02:50:55 -!- nys has quit (Quit: quit). 03:28:29 -!- adu has quit (Quit: adu). 03:29:51 -!- Bicyclid1ne has quit (Ping timeout: 264 seconds). 03:31:13 -!- hjulle has quit (Ping timeout: 245 seconds). 03:34:07 -!- tromp_ has quit. 03:36:11 -!- adu has joined. 03:39:25 -!- bb010g_ has changed nick to bb010g. 03:41:10 -!- Sprocklem has joined. 04:08:14 -!- MoALTz_ has joined. 04:10:52 -!- MoALTz has quit (Ping timeout: 255 seconds). 04:26:14 -!- shikhout has quit (Ping timeout: 244 seconds). 04:44:40 -!- tromp_ has joined. 04:45:22 -!- DTSCode has joined. 05:20:29 -!- password2 has quit (Ping timeout: 240 seconds). 05:26:20 -!- MDude has changed nick to MDream. 05:45:55 -!- adu has quit (Quit: adu). 05:46:15 -!- vanila has quit (Quit: Leaving). 05:47:54 http://www.unicode.org/announcements/tn-punycode-spoofing.png 05:48:18 Actually, not sure how that's really a spoofing hole, unless users don't notice the xn--... wouldn't browsers hilight that tooo 05:49:33 -!- tromp_ has quit (Remote host closed the connection). 05:52:34 Sgeo: people are dumb 05:54:05 i found a subreddit filled with smart people 05:54:54 lies 05:56:23 reddit.com/r/mehttp://www.reddit.com/r/menlaughingwithsalad/ 05:56:28 oops 05:56:35 http://www.reddit.com/r/menlaughingwithsalad/ 06:01:48 I know you can tell it to always display punycode (I have that setting activated on my own computer). 06:04:51 And, I can see the "xn--" easily enough. 06:07:10 What is the meaning of the Unicode characters they represent? If someone can make up a meaning with kanji and also a meaning with the punycode text, then it can be a possibly interesting idea, too. 06:13:19 coppro: but people would then be dumb enough to fall for nx--blahblahblah.com too 06:13:25 No punycode trickery needed 06:13:42 Although maybe, say, a site that looks visually like cnn in unicode and ... can't guarantee that I guess 06:21:20 -!- MoALTz__ has joined. 06:23:49 -!- MoALTz_ has quit (Read error: Connection reset by peer). 06:31:41 -!- copumpkin has quit. 06:32:15 -!- copumpkin has joined. 06:32:58 `slist 06:32:58 slist: Taneb atriq Ngevd Fiora Sgeo ThatOtherPerson alot 06:37:15 -!- MoALTz__ has quit (Quit: Leaving). 06:40:43 @quote help 06:40:43 benmachine says: adoption by lots of people may stunt progress of haskell, but it will probably help the progress of people 06:40:47 `quote help 06:40:48 182) I have plans to make the computer and one day I will do it!! (I have access to barter some people might help with these things) It is many difference from other computer. \ 318) `addquote two quotes about quotes about django I guess the worst part is that I appear in all three hackego quotes about django 06:40:52 `quote help 06:40:52 182) I have plans to make the computer and one day I will do it!! (I have access to barter some people might help with these things) It is many difference from other computer. \ 318) `addquote two quotes about quotes about django I guess the worst part is that I appear in all three hackego quotes about django 06:41:47 Can you tell it to print only the numbers? It might help if there is too much? 06:50:05 -!- tromp_ has joined. 06:55:11 -!- tromp_ has quit (Ping timeout: 272 seconds). 07:09:05 Do any other alphabets contain homographs of "xn"? 07:09:50 -!- impomatic_ has joined. 07:12:58 zzo38: what computer were you talking about 07:13:16 I do not remember. 07:13:57 i guess you never made it 07:26:18 I have found that a homograph of "xn" appears only to exist in italics. 07:29:51 int-e: Heh, we didn't quite have identical dc tetration solutions (my "?3-d" to get 2 2 or 0 0 vs. your "4?5/" to get 4 0 or 4 1). 07:33:02 I wanted to see if it is possible to make a domain name that looks like "xn--" but actually isn't. 07:33:41 If you are allowed to mix up different languages then it is possible, but I wanted to see if it can use with only one language. 07:38:25 [wiki] [[Befunge]] http://esolangs.org/w/index.php?diff=40794&oldid=40282 * 194.132.104.253 * (+24) /* Befunge-98 and beyond */ Fix broken link to Funge-98 spec. 07:41:18 [wiki] [[Befunge]] http://esolangs.org/w/index.php?diff=40795&oldid=40794 * 194.132.104.253 * (+57) /* External resources */ There should probably still be a link to the general funge-98 stuff at catseye. 07:47:55 -!- DTSCode has changed nick to dTSCode. 07:51:44 -!- tromp_ has joined. 07:55:59 -!- tromp_ has quit (Ping timeout: 240 seconds). 08:16:44 [wiki] [[Brainfuck]] http://esolangs.org/w/index.php?diff=40796&oldid=40661 * 117.80.69.146 * (-11) One of the alternative names censors precisely the non-offensive part 09:07:48 yeah, i always though b****fuck was the more reasonable way to censor it 09:09:30 -!- Sgeo has changed nick to WickedWitch. 09:09:43 Thank you. That word is so horrible 09:09:49 [wiki] [[Brainfuck]] http://esolangs.org/w/index.php?diff=40797&oldid=40796 * Quintopia * (+11) Undo revision 40796 by [[Special:Contributions/117.80.69.146|117.80.69.146]] ([[User talk:117.80.69.146|talk]]) (that's the joke) 09:09:53 yeah 09:10:06 everytime I read the word fuck I write the FCC to tell them about it. 09:10:23 So poisonous 09:10:30 i get it sgeo 09:10:37 you may return to yourself now 09:10:45 -!- WickedWitch has changed nick to Sgeo. 09:17:51 `` dc << 12345 09:27:46 ? 09:30:38 dc allows digits A..F to be used in base 10. 09:37:11 -!- lambdabot has quit (Ping timeout: 260 seconds). 09:42:35 Yes, but the exponent is still 10. It's kind of funny that way. 09:42:40 A0 is 100 and so on. 09:43:03 I think we talked about this on-channel at some point. 09:43:57 -!- erdic has quit (Ping timeout: 255 seconds). 09:46:13 oh wow. 09:48:09 fizzie: I really hoped that `1i` works 09:49:21 -!- erdic has joined. 09:51:22 -!- tromp_ has joined. 09:56:24 -!- tromp_ has quit (Ping timeout: 264 seconds). 09:58:17 spaces in dc code make me sad. 09:59:43 (I have a 2 32^ in there. If I ever find switching to input base 16 useful, I'll replaced it by 4I^) 10:09:01 -!- lambdabot has joined. 10:09:13 lambdabot: oh?! 10:13:31 ok, this time it was an actual server reboot. 10:15:22 "Rebooting ... after a kernel panic." NICE. 10:33:36 The bad news is that this probably affects @tell again. 11:00:17 -!- Phantom_Hoover has joined. 11:00:27 -!- oerjan has joined. 11:14:49 uh oh, GG (I'm late reading the Wednesday comic) is heading towards another fatal convergence. <-- i have a vague feeling brother ulm is headed for a redemption by death experience... 11:15:09 -!- boily has joined. 11:18:49 xkcd :D 11:20:02 no whatif this week. also what _is_ the official update time for that? 11:20:29 I think Tuesdays. 11:20:32 In some time zone. 11:20:41 I don't know why I think that. 11:20:51 i thought it was tuesday once, but nowadays i don't see it until friday (although i don't check on thursdays because there's no ordinary xkcd then) 11:21:24 The recent dates given in http://what-if.xkcd.com/archive/ seem rather weekendy. 11:21:36 ooh there's an archive? 11:21:39 (And the image for the latest is broken.) 11:21:57 Must be new, I remember having to browse it with the prev/next buttons. 11:22:10 me too 11:23:29 Well. For October, Oct 1, 8 and 15 there are Wednesdays, Oct 23 and 30 are Thursdays. 11:24:02 September has two Wednesdays, one skipped week and one Tuesday. 11:28:17 everything in june, july and august is wednesday except june 3 11:28:49 Median says Wednesday, then. 11:40:43 -!- tromp_ has joined. 11:44:58 -!- tromp_ has quit (Ping timeout: 250 seconds). 12:08:28 -!- b_jonas has quit (Quit: Reconnecting). 12:08:34 -!- b_jonas has joined. 12:15:30 -!- boily has quit (Quit: SOLYPTIC CHICKEN). 12:37:19 -!- FreeFull has quit (Ping timeout: 260 seconds). 12:39:14 -!- FreeFull has joined. 12:58:28 -!- FreeFull has quit (Ping timeout: 244 seconds). 13:08:05 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds). 13:26:48 -!- sidfarkus has joined. 13:29:19 -!- FreeFull has joined. 13:29:30 -!- tromp_ has joined. 13:33:55 -!- tromp_ has quit (Ping timeout: 244 seconds). 13:37:34 Today's spam topic: "Start recovering from google Panda today". 13:38:02 Apparently "With Penguin and panda, it's important to have Backlinks from websites that have the proper metrics." 13:38:27 It's advertising some sort of SEO thing, but I'm not sure if "penguin" and "panda" are some particular terms of the trade, or just referring to the animals. 13:40:03 -!- hjulle has joined. 13:51:28 -!- tromp_ has joined. 13:51:53 I've again found that C++ with its templates is a very powerful language and lets you write seriously twisted crazy code even without preprocessor magic 13:53:00 so I should continue trying hard to keep some of those crazy ideas away from my co-worker who would use them if he knew about them. 13:54:23 -!- tromp_ has quit (Read error: Connection reset by peer). 13:54:38 -!- tromp_ has joined. 14:00:40 -!- sidfarkus has quit (Quit: Page closed). 14:40:02 -!- MDream has changed nick to MDude. 14:59:40 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 15:01:59 is there a replace overlapping thing? 15:02:01 like 15:02:11 "aaa".replace("aa","b") 15:02:16 will either be "ba" or "ab" 15:02:23 but it should be "bb" 15:02:39 for some values of should be 15:02:58 (regexp) 15:04:43 What should 'abab'.replace('(ab)*', '\1') be 15:05:58 I'm not sure yet. 15:06:18 (Make it [\1] to distinguish between more things) 15:06:49 Or how about 'aba'.replace('(a(?ba)?)', 'x')? Which ones of the matches "(a)ba", "(aba)" and "ab(a)" it matches, and how are the x's marged? 15:06:59 That was trying to be (?:ba) inside. 15:07:23 And without the outer ()s perhaps, since I didn't use them for anything. (I got a bit mixed up.) 15:07:26 Oh no, my bus. -> 15:08:15 Also, why do you want this thing 15:08:24 (The overlap, not the bus) 15:12:13 -!- drdanmaku has joined. 15:12:33 -!- `^_^v has joined. 15:15:29 -!- perrier has joined. 15:41:13 -!- dTSCode has changed nick to DTSCode. 15:58:39 -!- impomatic_ has quit (Ping timeout: 256 seconds). 15:58:47 -!- oerjan has quit (Quit: Gah noise). 16:02:54 -!- DTSCode has changed nick to dTSCode. 16:02:57 hehe, "replace overlapping"... do you mean replace and then search again from the second char of replacement? 16:06:40 -!- mihow has joined. 16:24:14 -!- CakeMEat has joined. 16:26:47 Hello 16:27:18 Hi 16:27:22 I need help with something 16:27:29 Oh? 16:27:32 Yes 16:28:03 ...what do you need help with? 16:28:40 I've been trying to code a hyper threaded outside event but every time i run it, It crashes my python compiler for the constant string 16:29:12 No idea, sorry :( 16:29:20 Someone else may be able to help you 16:29:28 Oh its ok 16:29:28 Have you asked in a Python channel? 16:29:53 No not yet 16:30:07 Im just changing through the channels looking for help 16:31:16 Btw do you know where to find an easy program for brainfuck 16:31:35 thats all i should need and ill be on my way 16:35:19 -!- impomatic_ has joined. 16:39:06 Do you mean something easy to implement in brainfuck? 16:39:37 `! bf_txtgen hello world eaters 16:39:42 122 +++++++++++++++[>++>+++++++>++++++++>+<<<<-]>>-.---.+++++++..+++.<++.>>-.<.>-----.<---.--------.<.>+.----.>++.<++++.>--.+. [613] 16:58:42 `which ! 16:58:42 ​/hackenv/bin/! 16:58:58 `` ls -l $(which \`) $(which \!) 16:58:58 ​-rwxr-xr-x 1 5000 0 18 Sep 12 13:29 /hackenv/bin/` \ lrwxrwxrwx 1 5000 0 6 Sep 25 13:38 /hackenv/bin/! -> interp 16:59:12 What's the difference? 16:59:17 `cat bin/interp 16:59:17 ​#!/bin/sh \ CMD=`echo "$1" | cut -d' ' -f1` \ ARG=`echo "$1" | cut -d' ' -f2-` \ exec ibin/$CMD "$ARG" 16:59:25 `cat bin/` 16:59:26 exec bash -c "$1" 16:59:56 Oh, `! uses the interpreters directory 17:00:10 or rather \! 17:07:01 -!- MoALTz has joined. 17:13:38 -!- CakeMEat has quit (Ping timeout: 246 seconds). 17:35:45 -!- AnotherTest has joined. 17:40:26 -!- Phantom_Hoover has joined. 17:44:57 -!- FreeFull has quit (Quit: BBL). 17:55:06 -!- vanila has joined. 17:55:37 -!- impomatic_ has quit (Ping timeout: 265 seconds). 17:55:39 -!- dTSCode has changed nick to DTSCOde. 17:58:00 -!- DTSCOde has quit (Read error: Connection reset by peer). 17:59:18 -!- DTSCode has joined. 18:42:02 -!- DTSCode has quit (Read error: Connection reset by peer). 18:57:48 -!- impomatic_ has joined. 19:02:15 -!- kline has joined. 19:02:33 400kbps is really slow o_O 19:16:38 56kbps used to be really fast. 19:17:56 used to 19:18:07 before games required 150MB updates EVERY DAY 19:18:43 kudos on {j**}r[ btw 19:18:52 didn't think of that :( 19:23:14 I had the front half as pejbcj.+ for a long time before realizing .+ doesn't care. 19:23:58 Is this burlesque? 19:24:06 I should learn that, if only for anagolf 19:24:42 -!- shikhin has joined. 19:31:40 FireFly: it is burlesque 19:32:20 [wiki] [[Brainfuck]] http://esolangs.org/w/index.php?diff=40798&oldid=40797 * GermanyBoy * (+556) 19:32:26 -!- ruur has joined. 19:33:28 : Do you mean something easy to implement in brainfuck? ( Yeah thats what i meant ) 19:38:58 gacen 19:41:31 -!- MoALTz has quit (Read error: Connection reset by peer). 19:42:32 -!- MoALTz has joined. 19:44:56 -!- AnotherTest has quit (Ping timeout: 245 seconds). 19:47:48 -!- shikhout has joined. 19:50:46 -!- shikhin has quit (Ping timeout: 245 seconds). 19:54:12 Is there a bot here¿ 19:55:20 `welcome 19:55:21 Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 19:55:30 > "welcome" 19:55:32 "welcome" 19:55:37 ) "welcome" 19:55:43 hm forget the key 19:56:06 ( "welcome" 19:56:06 "welcome" : String 19:56:09 there we go 19:56:25 also the logbots 19:56:29 and a few people with macros 19:56:31 whee 19:56:37 how could you forget fungot 19:56:38 shachaf: " and didna ye get the rings, ladye, tied wi' a frown upon her brow: " o fnord to me. i'll make him believe uggug to be a cupboard divided in the same condition as with no. fnord find it partly ' empty', to settle the fact that there is a more curious idea yet," said bruno. 19:56:40 `prefixes 19:56:41 Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot ! 19:57:24 ^style 19:57:25 Available: agora alice* c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube 19:57:30 Ah. 19:57:32 lambdabot? ive heard of that one 19:57:39 @bot 19:57:39 :) 19:58:08 Ill go ask sorch brb 20:00:18 -!- ruur has quit. 20:00:53 -!- Primal has joined. 20:01:13 FireFly: there are two tutorials available 20:01:28 and some anagol submissions are public to learn from of course 20:01:33 and I provide free Burlesque support and training over IRC ;) 20:01:39 !blsq_uptime 20:01:39 4d 5h 35m 12s 20:01:47 and there's even a Bot here 20:01:48 ok, I've dealt with the spaces in my dc program ... []sp...2 32^ now is 2[]sp32^. 20:01:58 space filler, so to say 20:02:59 It didnt work with spaces? 20:03:31 I'm golfing. Those spaces take up ... well ... space, without any use. 20:07:40 Are you golfing.. in space? 20:08:09 spacing out. 20:09:20 -!- Primal has quit (Ping timeout: 246 seconds). 20:10:05 -!- MeerLin has joined. 20:10:40 http://golf.shinh.org/p.rb?Wow ... this problem is stupid but once you figure out the C version many other languages actually become somewhat interesting. 20:11:46 -!- MeerLin has left. 20:11:53 -!- `^_^v has quit (Quit: This computer has gone to sleep). 20:13:43 -!- `^_^v has joined. 20:15:47 I took a cursory look (read: checked the distribution of bytes), and did not figure anything out. 20:18:35 try a more stupid approach 20:20:50 -!- shikhout has changed nick to shikhin. 20:22:47 What the. 20:22:58 It really is the stupid thing I thought of first but didn't want to bother verifying. 20:23:06 Well, that's the boringest. 20:23:17 now try dc. 20:23:34 I'm going to end up with a space in it, that doesn't sound nice. 20:23:48 (Or did you get rid of it?) 20:24:06 of course. 20:27:31 First I'll catch some free points. 20:27:39 But maybe I'll think about other languages. 20:27:58 so you got rid of the space. 20:30:31 No, I mean, the dc solution. 20:30:38 I think you complained about a space in it, earlier. 20:31:16 in the dc version. 20:38:45 -!- Bicyclidine has joined. 20:49:16 I don't get it. 20:50:23 fizzie: I just missed opportunities to replace spaces by sequences that don't alter the stack 20:50:43 newbie mistake 21:08:08 -!- nys has joined. 21:18:05 -!- skarn has quit (Ping timeout: 265 seconds). 21:21:25 -!- idris-bot has quit (Quit: Terminated). 21:21:46 -!- Melvar has quit (Quit: WeeChat 1.0.1). 21:26:55 -!- Melvar has joined. 21:30:01 -!- Primal has joined. 21:30:26 visuospatial syntax is funny 21:33:07 [wiki] [[SELECT.]] http://esolangs.org/w/index.php?diff=40799&oldid=40145 * Por gammer * (+491) Changed behaviour of initialized constant to avoid certain problems, minor correction, added new "COLOR." command as suggested by [[User:Quintopia|Quintopia]], specified the use of principal branch for logarithms, changed spacing 21:33:13 -!- FreeFull has joined. 21:33:14 !blsq 5 10ro.+ 21:33:15 Ain't nobody got time fo' dat! 21:33:17 !blsq 5 10ro.+ 21:33:18 {1 2 3 4 5} 21:33:24 !blsq10ro5.+ 21:33:56 Is new to estoric 21:35:23 -!- idris-bot has joined. 21:36:00 [wiki] [[SELECT.]] M http://esolangs.org/w/index.php?diff=40800&oldid=40799 * Por gammer * (+21) /* Constants */ 21:36:05 an estoric occasion 21:36:56 :0 21:37:03 puns 21:42:31 int-e i used that [] thing you were using to fill spaces and its very efficient as i have found out 21:43:38 int-e: Oh, I didn't at all notice that you explained about the spaces already. Sorry for being so confusing. 21:45:17 I just found out how to crash every program on my computer through my terminal by accident ;-; 21:45:26 This is terrible 21:48:15 -!- `^_^v has quit (Quit: This computer has gone to sleep). 21:48:18 ok nvm that [] does not help me at all to confusing 21:48:50 I'll just get confused when ever i use a variable thats the same as that so ill look for something else 21:49:30 -!- `^_^v has joined. 21:54:07 Mwahhhahah 21:56:25 -!- skarn has joined. 21:56:32 fizzie: Panda was some announced google algorithm change. 21:56:34 probably penguin was too 21:59:37 ok im gonna leave 21:59:49 ta ta 21:59:54 -!- Primal has quit (Quit: Page closed). 22:01:29 what are those 22:01:35 Might some data compress better if it is unhuffed at first before being huffed (possibly with back-referencing in between)? 22:03:47 -!- nys has quit (Ping timeout: 250 seconds). 22:04:30 vanila: I don't know the specifics. just random ranking algorithm changes to fix $alleged_problem that they announced and caused SEO people anguish with 22:04:54 -!- Bicyclidine has quit (Ping timeout: 244 seconds). 22:05:06 [wiki] [[SELECT.]] http://esolangs.org/w/index.php?diff=40801&oldid=40800 * Por gammer * (-47) /* Constants */ 22:05:27 I think back reference then huffman is better 22:05:38 I don't know for sure 22:07:21 vanila: (um, assuming you were replying to me) 22:07:43 yeah I was earlier 22:07:55 now I want to implement compression 22:08:59 Back-referencing and then Huffman is the DEFLATE algorithm. 22:10:02 [wiki] [[SELECT.]] http://esolangs.org/w/index.php?diff=40802&oldid=40801 * Por gammer * (-11) /* Commands */ minor correction 22:10:23 -!- Bicyclidine has joined. 22:10:35 vanila: cool :) 22:11:07 -!- impomatic_ has quit (Read error: Connection reset by peer). 22:11:27 -!- impomatic_ has joined. 22:11:38 im writing it in haskell 22:11:50 did you see the zip quine 22:12:08 yeah 22:12:28 I wrote an arithmetic coder in haskell once. 22:12:43 -!- Patashu has joined. 22:12:58 arithmetic coding is so cool 22:12:59 [wiki] [[SELECT.]] http://esolangs.org/w/index.php?diff=40803&oldid=40802 * Por gammer * (+83) /* Commands */ clarification 22:13:07 im trying just backrefs because I did huffman in th past 22:13:13 I did see the ZIP quine, as well as a few related things 22:13:26 I did make Huffman in Haskell once too 22:14:59 I've never done huffman, yeah. jumped in the deep end 22:15:23 -!- nys has joined. 22:20:11 [wiki] [[SELECT.]] M http://esolangs.org/w/index.php?diff=40804&oldid=40803 * Por gammer * (+17) /* Commands */ 22:22:02 http://lpaste.net/113910 22:22:11 that's my approach 22:22:22 building this data structure so find the backrefs 22:23:15 I wonder what kind of lookup structure you ideally want for deflate 22:23:32 I guess just a fixed-size array since there's usually a limit to backreferences. 22:23:38 (mutable, that is.) 22:24:04 oh I see what you do there 22:24:07 that's very cute 22:25:05 "moooovieiuuuviei" is a good string. 22:26:16 more fun: deflate [Emit 'f', Emit 'o', Backref 1 6] 22:27:05 [wiki] [[SELECT.]] M http://esolangs.org/w/index.php?diff=40805&oldid=40804 * Por gammer * (+0) /* Commands */ 22:27:15 nice 22:27:33 you should allow a negative length going backwards, what could go wrong? 22:28:11 It doesn't add much: Backref n (-k) ==> Backref (n+k) k 22:28:37 (modulo off-by-one ambiguities in the interpretation of "going backwards") 22:29:42 elliott: btw I think it's better to have the "idx" field relative to the current position. 22:30:55 vanila: would something like this work 22:30:55 emit c (i,r) = (i+1, c:r) 22:30:56 backref idx len (i,r) | i >= idx + len = (i+len, ref++r) where r = take len . drop idx $ r 22:30:59 run k = r where (_,r) = k (0,r) 22:31:01 -- then run (emit 'f' >>> emit 'o' >>> emit 'o' >>> backref 0 3) 22:31:02 (cute though) 22:31:05 (untested) 22:31:16 int-e: I like how we're both talking to each other as if it's the other's program and not vanila's. 22:31:37 so we do. 22:32:03 int-e: I don't understand how it doesn't add much. I mean it would read len characters backwards from the starting offset 22:32:04 "vanila" is not even in my terminal window anymore ... 22:32:16 so you'd get free reverses. 22:32:20 cool elliott ! 22:32:22 it's a ridiculous idea though. 22:32:23 elliott: oh. 22:32:28 I see what you mean 22:32:38 I wonder if i should use relative indices 22:32:47 elliott: well you left that open to interpretation. 22:32:54 vanila: it's more efficient to when you consider that you have to code the offsets/lengths 22:33:08 since generally the structure is small-scale 22:33:09 right now im just trying to design a good data structure to let me find backrefs when compressing 22:33:17 and you don't want the integers to increase as the text gets longer 22:33:39 (plus then you get to optimisations like discarding the backreference buffer after a while, etc.) 22:36:50 vanila: I'd look at rolling hashes and suffix tries. 22:37:40 -!- nys has quit (Ping timeout: 244 seconds). 22:42:15 http://cbloomrants.blogspot.co.at/2012/09/09-24-12-lz-string-matcher-decision-tree.html 22:43:06 Saw an interesting point that Rust's safety isn't zero cost in the sense that since it constrains the way code can be written, code might need to be written in a suboptimal way that reflects as a runtime cost 22:44:57 Hmm I forgot about suffix array. 22:45:32 -!- Bicyclidine has quit (Ping timeout: 255 seconds). 22:48:51 WTF-8 is cool 22:48:53 should i represent binary numbers like 01101 as 011110111 22:49:32 sorry 22:49:36 0111101110 22:49:45 0 is a 0, 11 is a 1, 10 is a stop 22:50:27 otherwise i have to use a fixed length (limiting me to compress smaller files and wastig sometimes) 22:50:29 -!- nys has joined. 22:50:38 vanila: you could use an um, what's it called 22:50:39 universal code? 22:50:53 looking it up now 22:51:02 What about PSOX LNUMS? >.> 22:51:13 yeah, universal code 22:51:21 that's good for compression taking it as "n bytes back" I think 22:51:28 since patterns tend to be closer than further away 22:53:55 -!- boily has joined. 22:54:39 vanila: I think that generally nobody uses an *unbounded*-size structure for either compression or decompression though 22:54:54 since using terabytes of RAM to compress large files isn't great 22:55:04 and worse for decompression :p 22:55:32 I thought I could implement decopressiogn by seeking around in the file and copying parts 22:55:36 so it would use more disk than ram 22:55:50 that could work 22:55:57 you'd definitely want an SSD at least I think :p 22:56:01 I just didnt like to use something like 30 bit numbers to represnt indexes and length 22:56:02 haha 23:04:30 -!- `^_^v has quit (Quit: This computer has gone to sleep). 23:06:02 vanila: http://lpaste.net/113910#a113911 23:07:02 thanks :D 23:07:16 I don't think my compressor will take advantage of that crazy stuff but it's really good 23:07:31 -!- Bicyclidine has joined. 23:07:43 it gives you RLE "for free" 23:07:54 oh wow so it does 23:07:59 that's a nifty insight 23:08:16 that's really cool 23:13:52 oh nice xkcd. 23:21:23 -!- adu has joined. 23:22:26 @metar CYUL 23:22:27 CYUL 072300Z 31009G19KT 15SM SCT040 BKN052 03/M05 A2980 RMK SC4SC2 SLP093 23:22:33 @metar ENVA 23:22:34 ENVA 072250Z 11010KT 070V140 CAVOK 06/M03 Q1001 RMK WIND 670FT 16025G38KT 23:22:49 yé.... colder than norway... 23:22:59 int-e: although, it's a bit more expensive than traditional RLE 23:23:09 since you have to encode len*repetitions rather than just repetitions 23:23:12 elliott: I added quotes for a reason :) 23:23:51 What filename extension should be used for troff documents? 23:23:53 order now and get RLE absolutely FREE* 23:23:58 elliott: hmm? what do you mean by len*repetitions - the len is the number of repetitions. you can device a special short encoding for offset 1, if you like. 23:24:09 int-e: oh, I assume you meant RLE of substrings 23:24:29 for instance you could say (1*a, 3*bc, 1*d) is traditional RLE for abcbcbcd. 23:24:53 here it'd have to be ("abc", 2 back for 6, "d") 23:25:17 ah, that length. 23:25:19 right. 23:25:27 (1*a, 1000*bc, 1*d) vs. ("abc", 2 back for 2000, "d") 23:25:35 -!- Bicyclid1ne has joined. 23:25:45 I see what you mean. Yes, that's right. 23:25:52 (which is more expensive than it looks if your integer encoding grows more than decimal :p) 23:26:23 (or if the string you're repeating is particularly long) 23:26:25 otoh you can encode "bcbcbcb" as ("bc", 2 back for 5). 23:26:37 right. 23:26:53 -!- nys has quit (Ping timeout: 256 seconds). 23:27:00 Anyway. Quotes. 23:27:01 good for encoding fungot messages 23:27:01 elliott: " here!" cried bruno. " and what does it mean?' the frog muttered. ' vexes it, you know." he went on in a careless tone. ' to be called an fnord very!' 23:27:05 `quote that sword alone 23:27:05 No output. 23:27:09 what. 23:27:38 didn't there used to be " [...] that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't" in the qdb. 23:27:38 elliott: alice didn't want to begin another argument, so she said nothing. 23:27:39 `? fungot 23:27:39 boily: ' i know what you'd like!' the knight said in an anxious tone: ' only she must help us to dress up, you dear old thing!" 23:27:40 Sir Fungellot cannot be stopped by that sword alone! 23:28:41 -!- Bicyclidine has quit (Ping timeout: 264 seconds). 23:29:03 I finished writing compressor 23:30:20 it compresses its own source code by half 23:30:27 great! now beat gzip :p 23:33:04 `` perl -e '$,=$/; print grep /(.{100,})\1/,<>' < quotes 23:33:05 itidus21: hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey 23:34:55 I have also tried making compression for specific kind of game level data and stuff. 23:35:04 (why is there no pcregrep...) 23:35:15 -!- mihow has quit (Quit: mihow). 23:35:21 int-e: grep -E. 23:35:57 `` grep -e '(.{100,})\1' quotes 23:35:57 grep: Invalid back reference 23:36:03 boily: see? 23:36:36 `` grep -E '(.{100,})\1' quotes 23:36:38 itidus21: hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey 23:36:40 oops 23:36:45 boily: sorry. 23:37:00 :P 23:37:07 grep -P is also a thing 23:37:24 indeed, but E involves less headaches, I think. 23:39:24 Phew. "The POSIX standard does not define backreferences." 23:39:36 I can compress those heys 23:40:05 vanila: hey, hey, that's good, hey! 23:40:10 hehe 23:40:24 i posed the code if anyone wants to see just reload 23:40:37 I too can compress them, with a combine harvester. 23:40:38 i used the most naive slow implementation 23:40:54 For example what I did for sokoban game is, first the grid is rotated and/or flipped in order to improve the compression; second it RLEs the raster of the walls, and then RLEs the raster of targets (skipping all walls in the raster), and then writes out the sequence of how many candidate cells there are for boxes before the actual position of each box (skipping walls, player, and places where it would get stuck), and then the resulting data is huff 23:41:02 Hay is also easily compressible. (Why am I thinking of that?) 23:41:13 There probably are additional steps which could be made in order to improve it even more, though. 23:41:55 zzo38, wont this sort of thing have diminishing returns if you compress a large number of levels? 23:42:11 I mean, general compression scheme may be more important that something data specific? 23:42:18 int-e: re. combine harvester hth 23:42:49 (subliminally implanting bad puns into the Minds of people on #esoteric. muah ah ah.) 23:42:51 vanila: I do not entirely understand what you mean. Each level is compressed individually because they need to be accessed individually. 23:43:54 ah! 23:45:33 vanila: preprocessing to better expose redundancies can be helpful no matter what the backend general compressor is. (As an example, executable compressors for x86 will often have a preprocessor that looks for call and jmp statements with relative addresses and make those absolute. Crazy, but it helps the compression.) 23:46:42 But I'm not sure about things like RLE. 23:48:09 int-e: well, unless your backend general compressor is, like, an artihmetic coder doing solomonoff induction. :p 23:48:35 my compression "langauge" just has two instructions: Emit char and Backref pos, len 23:48:57 could you create a more computationaly powerful language & compressor that takes advantage of it? 23:49:20 yes 23:49:51 There is possibly kind of preprocessing that can be performed; for example ZPAQ allows it, and then the program to reverse the preprocessing is stored inside of the compressed file. 23:50:02 well ? 23:50:11 But it only allows a single program though, and not a pipeline of filters. 23:50:28 oh, me personally? 23:50:30 not off the top of my head. 23:53:46 Tricky. A lot of compressors can be expressed in terms of Emit/BackRef, but the actual compression happens by predicting the probabilities of those symbols (i.e. the encoding is not fixed, but chosen dynamically. Huffman is just the beginning.) 23:54:11 my new FPS is compressed using solomonoff AIXI techniques, here it is for download: "g" 23:54:11 Yes, predictive compression; I have worked with predictive compressions too. 23:54:28 Bicyclid1ne: that must be one really simple FPS 23:54:41 PPM, PPM*. 23:54:45 it's pretty much a Doom clone :( 23:54:55 reminds me of wolfenstein 4k 23:55:05 that thing was so cool in 2004. 23:55:05 http://www.reddit.com/r/ggggg 23:57:35 any ideas for a more advanced VM to use for compression? 23:57:59 not turing complete, something I can implement 23:58:02 vanila: something simple: to help predictions (Huffman), there's often some code included to reset the symbol statistics. This can be useful when files with completely different characteristics are concatenated. 23:58:15 vanila: I think zip/rar do fancier things 23:58:17 oh that is a nice approach 23:58:19 that let you do the quining 23:58:32 I remember adaptive huffman, building and changing the tree as it goes 23:58:42 yeah 23:58:43 adding resets to that could improve a lot.. 23:58:48 adaptive arithmetic coding is fun 23:58:48 vanila: more generally you can switch between predictors. it's a matter of computational power to make good choices there. 23:59:21 -!- Bicyclid1ne has quit (Ping timeout: 258 seconds).