00:00:09 -!- Solace has quit (Quit: Connection closed for inactivity). 00:01:52 "Yes, yes, but you ruined the plot! Okay, that was expected, but yet, after discovering my poor hashing abilities, I decided to use the thermo-nuclear option: MD5, the cryptographic hashing function, which has been studied during long years, and which is considered an excellent solution for hashing anything." 00:01:57 this was written in 2013 00:02:02 http://blog.httrack.com/blog/2013/07/19/md5-is-your-friend/ enjoy 00:02:53 I thought it would be, like, "MD5 is actually fine even though it's weak", but actually it's "use MD5 for hash tables, it's INCREDIBLY CRYPTO STRONG and not that slow" 00:06:57 -!- roasted42 has quit (Ping timeout: 245 seconds). 00:09:07 -!- roasted42 has joined. 00:09:52 -!- Patashu has quit (Ping timeout: 240 seconds). 00:11:22 clearly an NSA mole 00:18:05 it has been studied, that's for sure 00:20:57 -!- Phantom__Hoover has joined. 00:22:54 elliott: we could even say that unlike some other hash functions we know whether it's secure or not... 00:22:57 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 00:23:08 that's good, isn't it? 00:24:26 ehe 00:27:16 -!- MDream has joined. 00:31:11 -!- bb010g has quit (Quit: Connection closed for inactivity). 00:33:21 -!- oren has quit (Ping timeout: 252 seconds). 00:34:52 -!- zzo38 has quit (Remote host closed the connection). 00:35:21 -!- oren has joined. 00:41:37 -!- oren has quit (Ping timeout: 240 seconds). 00:51:57 -!- roasted42 has quit (Ping timeout: 240 seconds). 00:53:02 -!- roasted42 has joined. 00:55:37 -!- contrapumpkin has quit (Ping timeout: 240 seconds). 01:05:35 -!- oren has joined. 01:31:02 -!- roasted42 has quit (Remote host closed the connection). 01:31:59 -!- Phantom__Hoover has quit (Read error: Connection reset by peer). 01:33:55 -!- dts|pokeball has quit (Ping timeout: 265 seconds). 01:36:17 -!- roasted42 has joined. 01:49:26 -!- MDream has changed nick to MDude. 01:50:25 -!- dts|pokeball has joined. 02:26:41 Are there any rules about starting IOCCC entries long before the competition is opened? 02:28:40 Not that I know of. 02:30:14 Right, I'm gonna get started 02:30:30 * oerjan imagines someone somewhere opening an old secret letter to find lady ada lovelace's IOCCC entry 02:30:39 Heheheh 02:31:16 -!- nisstyre has changed nick to nisscrooge. 02:31:22 -!- roasted42 has quit (Ping timeout: 240 seconds). 02:32:15 elliott: Wow, really? But... I mean, there's no reason to use MD5 instead of a proper hash function for hash tables. 02:32:43 sha512 hash table!!!! 02:33:10 surely you should only use NP-complete hashes 02:33:26 -!- roasted42 has joined. 02:33:26 I mean, really. The desirable properties for a hash table hash are fast while providing a reasonable distribution of values. 02:33:41 Completely different from what you want from a crypto hash function. 02:34:26 (namely, reversing the hash and producing collisions should be God Damned Hard; speed is just kinda nice for some uses.) 02:40:29 pikhq: good thing he didn't pick a crypto hash function but a broken one, then :p 02:40:35 *crypto-strength 02:47:13 and now, pizza 02:49:12 maybe let it cool a _little_. 02:50:13 -!- MDude has quit (Ping timeout: 255 seconds). 03:01:29 -!- bb010g has joined. 03:08:00 If he just wanted fast, well, CRC32's pretty speedy. 03:09:50 I think the point is like... 03:10:55 "MD5 is a bit slower, but I got all these collisions with FNV-1, and MD5 isn't that slow and it's The Best so let's just use it! (I also included MurmurHash in this post without commenting on it for some reason, possibly because it is obviously better than MD5 for a hash table even if MD5 was as incredibly strong as I think it is.)" 03:11:00 I don't know. 03:11:02 it's a weird post. 03:11:14 Sounds about right. 03:11:27 oh, he does mention MurmurHash 03:11:29 he trusts it less than MD5 03:11:31 lol 03:13:00 I don't know. the post wouldn't be totally weird (though I'd still disagree with the idea that you should just use the strongest hash function you can find for your hash table) if you did s/MD5/SHA1/g or something. 03:13:11 siphash is more secure than murmurhash 03:13:22 and similarly efficient 03:13:34 that's why i use it in my proof-of-work scheme 03:13:49 tromp: right, that kind of thing would be a more reasonable post than "MD5 is the best hash function for hash tables because it is crypto strong and the best for everything (p.s. it is 2013)" :p 03:14:26 nobody ever told djb about the speed-security tradeoff 03:15:07 siphash-4-8 is more secure and slower than siphash-2-4 03:15:37 just joking based on how djb crypto functions are usually fast *and* secure 03:17:40 -!- roasted42 has quit (Ping timeout: 255 seconds). 03:19:32 -!- roasted42 has joined. 03:22:51 Amazingly, the bct interpreter for eodermdrome seems to work <-- after this, my next challenge must be writing one in Feather 03:23:22 Man, djb. 03:23:33 It's weird. His crypto's great, his software is... eccentric. 03:23:57 with no interpreter, no spec and inventor running away at the mere mention of it, it should be suitable. 03:25:03 * pikhq still wishes someone would go drill into his teeth 03:26:24 his software is like his crypto imo 03:26:46 djb is more palatable in small doses which is why the latter is more successful :p 03:26:51 :P 03:58:21 -!- Solace has joined. 04:00:28 -!- roasted42 has quit (Ping timeout: 250 seconds). 04:01:24 -!- roasted42 has joined. 04:10:19 -!- Sprocklem has joined. 04:11:33 did someone say "strong" and "md5"? 04:17:31 -!- nys has quit (Quit: quit). 04:24:01 -!- digitalcold has changed nick to grumblesnoutHern. 04:24:20 -!- grumblesnoutHern has changed nick to digitalcold. 04:24:25 -!- digitalcold has changed nick to digitalcool. 04:33:52 newsham: md5 is strong but slow, as everyone knows 04:38:59 is there a way to ping users from another irc network? 04:39:01 -!- shikhin_ has quit (Ping timeout: 272 seconds). 04:41:12 -!- roasted42 has quit (Ping timeout: 250 seconds). 04:42:18 -!- roasted42 has joined. 04:51:17 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 04:56:39 -!- copumpkin has joined. 04:59:22 -!- arjanb has quit (Quit: zzz). 05:08:28 -!- ^v has joined. 05:23:30 -!- roasted42 has quit (Ping timeout: 265 seconds). 05:25:09 -!- roasted42 has joined. 05:30:10 -!- ^v has quit (Quit: http://i.imgur.com/Akc6r.gif). 05:41:40 -!- contrapumpkin has joined. 05:44:52 -!- copumpkin has quit (Ping timeout: 245 seconds). 05:50:00 shachaf: strong in preventing unintentional hash collision, weak in everything else. 05:51:02 there is yet no practical preimage attack to MD5, but inexpensive collision generation is enough for ruining security applications with MD5 05:58:19 -!- myname has quit (Ping timeout: 255 seconds). 05:59:03 -!- myname has joined. 06:10:23 -!- roasted42 has quit (Ping timeout: 244 seconds). 06:10:52 -!- nisscrooge has quit (Ping timeout: 265 seconds). 06:13:18 -!- nisscrooge has joined. 06:14:20 Well, if you find SHA1 collisions, don't save them in separate files 06:15:32 -!- nisscrooge has changed nick to nisstyre. 06:15:42 -!- nisstyre has quit (Changing host). 06:15:42 -!- nisstyre has joined. 06:15:48 -!- nisstyre has changed nick to nisscrooge. 06:15:53 -!- Patashu has joined. 06:15:59 Jafet: or zip/tar/whatever them. 06:16:36 -!- roasted42 has joined. 06:22:16 -!- roasted42 has quit (Ping timeout: 244 seconds). 06:22:38 I wonder if anyone's died due to the existence of spam. Some important message getting caught in a spam filter or something 06:22:39 :( 06:24:56 Sgeo: nah they were all killed in bizarre traffic accidents before it could happen hth 06:25:32 one of which was caused by spam. the canned meat version. hth..hth 06:25:36 hm... 06:25:43 stupid script 06:25:51 *hth. 06:27:35 hacker news is in christmas colours and somehow I hate hacker news more than ever 06:28:58 -!- atslash has joined. 06:29:30 * oerjan assaults atslash with an atlatl at last 06:31:11 i mean, merry christmas! 06:31:51 oh 06:31:56 thanks! 06:31:58 you too) 06:32:48 is atslash like slashdot 06:33:19 no 06:33:35 atslash like atslash 06:33:37 elliott: you can celebrate gravmas instead hth 06:34:14 it's a very attractive holiday 06:34:15 thanks but I am actually endeavouring to be as little like stallman as possible in my life 06:34:35 One way to celebrate Grav-Mass is to decorate a tree with apples and other fruits. Glue them or attach them, but not too well! The idea is that occasionally a fruit should fall. Put them on the tree no more than 2 feet up, so that they won't get damaged or hurt anybody when they fall. 06:34:40 Fun Grav-Mass Ideas 06:35:02 wait did he invent that 06:35:05 who the fuck stands under a tree waiting to get killed by a falling apple 06:35:13 oerjan: I've literally never heard of it except in the context of rms 06:35:14 -!- atslash has quit (Quit: Leaving). 06:35:22 ok 06:35:53 i actually was just trying to point out it was isaac newton's birthday, and then remembered it had a cutesy name 06:36:23 ok who else was born today 06:36:56 This dude from a religious story. Actually, his birthday was probably made up at some point 06:37:04 (btw it seems rather distasteful for stallman to co-opt newton's birthday to promote it over christmas, seeing as newton was a christian himself) 06:37:43 you'd think 06:37:56 (...but then stallman is not known for good taste :p) 06:38:17 i wonder when newton actually celebrated his birthday, he was born in january old style 06:38:31 (if people celebrated birthdays back then) 06:38:48 Born25 December 1642 06:38:48 [NS: 4 January 1643][1] 06:38:51 the opposite, it seems 06:38:55 oh 06:39:25 I don't know how old the practice of birthday celebration is but I'm pretty sure it must be well over 400 years 06:39:25 Co-opt stallman's birthday after he dies 06:39:44 Crimean secession day 06:39:49 Jafet: toe-mass 06:39:56 once you have a calendar -- which is a pretty natural thing to create -- it's one of the most obvious occasions to celebrate, especially considering how sacred birth is often considered 06:40:38 (okay, I guess you could argue occasions not specific to one person would develop first) 06:40:39 elliott: true but people sometimes considered other dates more important 06:41:03 or may have pietistic ideas about avoiding personal things 06:43:08 * elliott nods 06:43:14 okay, I agree it's not as obvious as I stated. 06:43:18 instead I will ask wikipedia. 06:44:05 hm right that pakistani guy was born today 06:44:14 "In some historically Roman Catholic and Eastern Orthodox countries such as Italy, Spain, France, parts of Germany, Poland, Russia, Romania, Bulgaria, Serbia, Slovakia, Czech Republic, Hungary, Greece, Lithuania, Latvia, and throughout Latin America, it is common to have a 'name day'/'Saint's day'. It is celebrated in much the same way as a birthday, but it is held on the official day of a ... 06:44:21 ... saint with the same Christian name as the birthday person" 06:44:28 I wonder what the people not named after saints thought about that 06:44:44 i understand sweden also does the name day thing 06:45:02 I like how the queen of england has an official birthday that isn't her actual birthday 06:45:20 elliott: i think at times it were not allowed _not_ to name your child after a child. 06:45:24 *saint 06:45:31 *giraffe 06:45:50 The Queen celebrates two birthdays each year: her actual birthday on 21 April and her official birthday on a Saturday in June. 06:45:59 why don't I get two birthdays 06:46:12 elliott: i think the dutch do that too... 06:46:24 Could you afford two birthdays 06:46:35 Gooood morning 06:46:44 hiiiiiiineb 06:46:50 Jafet: the idea is that *other* people buy me things hth 06:48:06 Only naming people after saints is a great way to overlap saints on the same name and limit the growth of the name list 06:48:09 elliott: you can celebrate humphrey bogart today, by making everything dark and gloomy hth 06:48:24 Happy Thursday, everyone 06:48:29 You'll have to end up with saints Patrick day eventually 06:48:36 is that like surgeons general? 06:48:36 happy thursday! 06:49:33 glguy: you mean two with the same name on the same day? 06:50:40 Yeah, rather than saint Patrick day Mk ii later in the year... That would be ridiculous :) 06:50:57 you could also take a shot at celebrating anwar sadat 06:51:00 https://en.wikipedia.org/wiki/December_25#Births what's interesting is that nobody was born on christmas between 1250 and 1461, I think probably because of a conspiracy to cover them up 06:51:31 oerjan, assuming the number of saints tends to infinity with time, and there are a finite number of names, eventually there would be 367 saints with the same name 06:51:34 Or presumably it was just more convenient for them to use a different birthday 06:52:02 people born on christmas should get to designate an "official" birthday to stop that merging holiday nonsense 06:52:10 I'd like to see a the value of the probability that no one was born on a single day 06:52:19 approximately 1/big 06:52:44 elliott: hm 06:53:33 I wonder how it compares to other improbables 06:54:39 elliott: i have a hunch there were very few people born in those years who had birthdays at all hth 06:55:31 oerjan: no, it was a conspiracy 06:55:35 okay 06:55:54 hmm, that would actually be a not impossible thing to enforce, if you wanted nobody to be born on a certain day 06:56:22 just ensure there's a really huge taboo around having sex around nine months before it :P 06:56:30 designate some holy period, say 06:56:32 You have to preform three miracles to become a saint 06:56:46 well who will elect me president so I can ensure nobody is ever born on christmas ever again 06:56:48 Enforce no sex? What 06:57:03 So if i used necromancy and devil magic to preform these miracles? and the church had no proof i did 06:57:10 Jafet: look, it's VERY PRACTICAL AND FEASIBLE 06:57:11 Probably simpler to rewrite all existing historical records 06:57:14 would i become a saint through false hood 06:57:26 elliott: actually seeing how the list grows in the 20th century i change my suspicion: there were just very few people born at all hth 06:57:42 oerjan: no, actually it was just that the illuminati lost their grip on power 06:58:10 do they even exist? 06:58:31 Solace: nowadays the miracles tend to happen after the saint is dead afaiu 06:58:52 wat 06:59:04 then how can they be elected to saint hood? 06:59:17 this improvement clearly prevents them from cheating hth 06:59:26 Lol 06:59:40 but necromancy bypasses that oerjan 06:59:44 Solace: surprisingly people aren't usually elected to saint hood 07:00:02 Ofc 07:00:14 since i think its only been a few 07:00:19 the ones with Jesus 07:00:23 and then some 07:01:24 well the popes keep declaring a bunch 07:01:49 Maybe you get the powers after you are beatified 07:02:41 The popes cant really elect technically 07:03:00 it has to be preformed and elected by the whole of the church 07:03:18 and if a pope declares its not really official 07:03:18 too many people born today 07:03:57 Also [saint] john Paul [saint] being they did some good shit 07:04:03 You know who wasn't born today? 07:04:07 not saint as in 07:04:15 Taneb: you hth 07:04:16 Most people, I think 07:04:25 Oh my god he just rose the dead 07:04:29 praise him 07:05:18 Tommorow is the day Santa first achieved reindeer propelled flight!! 07:05:29 ooh 07:05:30 @time Solace 07:05:30 Local time for Solace is Thu, 25 Dec 2014 07:05:30 GMT 07:05:34 actually today 07:05:40 indeed 07:05:49 really? 07:06:06 Its still 24 here 07:06:11 bah he just stole the invention from the sami hth 07:07:00 Solace: you probably haven't set a local time zone for your computer, or something 07:07:15 What if god was just and he probably is a higher dimensional being that just nudged the big bang and left everything alone 07:07:27 oerjan, Solace could be using a UK bouncer 07:07:28 or wait it's webclient 07:07:43 so probably using its time zone. 07:07:50 runs off of sattelite data btw 07:08:22 isnt time slower or faster in space because of gravity 07:08:37 http://oglaf.com/chirpnmutter 07:08:40 like one centi-second apart from earth 07:09:10 Solace: yes 07:09:19 omfg that comic 07:09:39 i enjoy your presence jafet 07:10:07 clicking on an oglaf comic? oh well it's not like i have W to be NSF 07:10:47 Dont lie oerjan you are probably dirty 07:10:51 ok not NSFW just disturbing to some 07:11:07 Solace: i confess! 07:11:13 Ha 07:11:15 (but only to that i am dirty) 07:11:16 07:07:15 What if god was just and he probably is a higher dimensional being that just nudged the big bang and left everything alone 07:11:20 Solace: deism 07:11:25 wat? 07:11:30 never heard of it 07:11:50 it's pretty much exactly what you said https://en.wikipedia.org/wiki/Deism 07:11:58 So oerjan is a dirty coder 07:12:07 i didnt even know :0 07:12:07 every philosophical position on god has already been invented and given a name, except for those that _actually_ make him wipe out the inventor hth 07:12:10 Deism holds that God does not intervene with the functioning of the natural world in any way, allowing it to run according to the laws of nature. For Deists, human beings can only know God via reason and the observation of nature, but not by revelation or supernatural manifestations (such as miracles) – phenomena which Deists regard with caution if not skepticism. See the section Features of ... 07:12:16 ... deism, following. Deism is related to naturalism because it credits the formation of life and the universe to a higher power, using only natural processes. Deism may also include a spiritual element, involving experiences of God and nature.[14] 07:12:21 oerjan isn't much of a coder 07:12:35 ?! 07:12:36 Maybe you meant: v @ ? . 07:12:36 ;_; 07:12:47 oh hi Mr lambdabot 07:13:05 do any of the bots have Christmas stuff 07:13:46 ^celebrate 07:13:46 \o| c.c \o/ ಠ_ಠ \m/ \m/ \o_ c.c _o/ \m/ \m/ ಠ_ಠ \o/ c.c |o/ 07:13:46 oerjan: you don't do it often :p 07:13:46 | c.c.c | ¯|¯⌠ `\o/´ | c.c.c | `\o/´ ¯|¯⌠ | c.c.c | 07:13:46 >\ c.c /'\ |\| | >\ c.c >\ | /^\|/´\ c.c /´\ 07:13:47 /`\ (_|¯`\ 07:13:47 (_| |_) |_) 07:13:54 err, pun not intended, but ok, sure 07:14:01 *okay, 07:14:37 But has oerjan done stuff on the wiki 07:15:01 *MWAHAHAHA* 07:15:20 well he doesnt have to do stuff to be a coDer but in context the er at the end of code means you have to be cod"ing" 07:15:25 so its confuse 07:16:05 That reminds me oerjan i was testing out evil laughs and i think.nyahahaha is the best 07:16:27 nah too high pitch hth 07:16:55 I prefer mwuahahaha to mwahahaha 07:17:06 noot noot noot 07:17:12 -!- dts|pokeball has quit (Ping timeout: 250 seconds). 07:17:40 "nyahahaha" is the evil laugh of a cat. 07:17:51 i am cat 07:17:58 Why does evil look so good? http://images7.alphacoders.com/381/381214.jpg 07:18:00 Didnt you know elliott 07:18:20 Solace: i wrote a lot of https://esolangs.org/wiki/Underload 07:18:37 Amaze 07:19:00 Solace: that explains it 07:19:19 https://esolangs.org/wiki/Deadfish#itflabtijtslwi and https://esolangs.org/wiki/Deadfish#Unlambda are mine 07:19:26 Ah yes a stack language 07:19:37 I was just thinking of that tbh 07:20:24 Christ on a cracker! 07:20:28 Thats alot 07:20:39 Deadfish#unlambda 07:20:56 deadfish is the great unifier of our community 07:21:22 oerjan, isn't https://esolangs.org/wiki/Deadfish#Fueue also you 07:21:25 more unlambda i made hear http://oerjan.nvg.org/esoteric/interpreter.unl 07:21:38 Taneb: um i don't think so, actually 07:21:41 or is it? 07:22:04 It was either you are Arc_Koen 07:22:07 -!- zzo38 has joined. 07:22:08 *here 07:22:14 clever dc and falcon look cool 07:22:32 oh i did 07:22:38 i'd forgotten about that 07:22:40 Are you guys the kewl cids 07:23:02 yes 07:23:34 oerjan: that link is filled with broken fonts and stuff 07:23:38 i cant read it 07:24:29 Solace: it's latin-1, or should be 07:24:43 Lets see 07:24:50 Its in raavi for me 07:24:55 or wait 07:25:02 Maybe its my browser? 07:25:13 Solace: the problem is that it contains a character table of all 256 bytes 07:25:23 I do have font styles locked 07:25:25 Oh 07:25:27 that may confuse a lot of browsers 07:25:41 Ill switch to Palemoon for a second 07:26:16 Is it supposed to be all cramped like that? 07:26:23 Or does in read down 07:27:04 it* 07:27:25 Why does evil look so good? http://images7.alphacoders.com/381/381214.jpg <-- pyongyang? 07:27:48 The Juche Tower in Pyongyang 07:28:07 Ah i see 07:28:16 Well it looks pretty 07:28:28 Doesnt understand any of that 07:30:14 Is there any Esolang that is just Tables? 07:30:21 Im good at tables 07:30:25 The buildings near it also look good, but weird. Like, boxy art in some game 07:30:35 Solace, tables in what sense? 07:30:51 Data 07:31:03 Hmm 07:31:05 SQL? 07:31:09 Or Code that resembles Table structures 07:31:27 Thats an esolang?! 07:31:52 Arent esolangs supposed to be hard Taneb? 07:32:07 Solace, try using SQL for general programming 07:32:13 -!- roasted42 has joined. 07:32:21 /already does 07:32:48 -!- Sprocklem has quit (Ping timeout: 250 seconds). 07:32:51 i think he means _only_ SQL 07:32:55 Oh 07:33:03 God dammit woman! 07:33:17 I cant do that ive used SQL for two years 07:33:27 Im tired of dat 07:33:35 zzo38 can, i think. 07:33:47 oerjan, I am 72% convinced zzo38 is magic 07:33:48 at least he seems to be trying. 07:34:00 which one is the woman here 07:34:07 Taneb what makes you say that 07:34:24 oerjan is elliott 07:34:42 this i find unlikely 07:34:43 go give your grandma a hug 07:34:45 jk 07:34:55 oh yorick is in here 07:34:59 elliott, I am not sure but I think either me or oerjan 07:35:00 both my grandmas are dead, would be awkward 07:35:19 Hes on esper or is that another but same name idk 07:35:26 maybe Solace was referring to Solace 07:35:36 im male ;-; 07:35:45 Its just a saying y'know 07:35:48 alas, poor yorick doesn't say much here 07:36:10 The yorick on esper is very talkitive 07:36:40 Maybe yorick is distracted by esper 07:36:47 So i found this great book like 4 years ago 07:37:01 And i lost the name of it before i finished it 07:37:13 Or minecraft Taneb 07:38:01 minecraft is so 2-3 years ago 07:38:04 Thats what the yorick there does 07:38:05 for this channel 07:38:07 mods it 07:38:26 He knows alot for brainfuck and haskell tho so i wonder 07:38:30 oerjan: 2-4 even actually I think 07:39:01 vanilla mincrift 07:39:07 its all about those mods 07:39:30 Theres some cool ones to bad i dont waste money on things i dont really have time for 07:39:43 Solace: btw i also made this https://esolangs.org/wiki/Fueue#Brainfuck_interpreter 07:40:00 we had a modded server, back in the day. 07:40:15 back when health didn't work in multiplayer and you could duplicate items 07:40:20 the good old days 07:40:46 mods like AE and oc are pretty cool and complex 07:41:25 brainfuck and haskell does sound like he should be here 07:41:27 also back when minecart boosters were a thing, and redstone was kind of broken, and... 07:41:39 ye 07:41:50 -!- nisscrooge has quit (Ping timeout: 244 seconds). 07:41:50 elliott: so basically they fixed everything and now it sucks? 07:41:58 oerjan: pretty much exactly that, yes 07:42:10 the bugs were like half of what made it fun 07:42:17 You can still make cool things with redstone 07:42:23 also they tried to make it into an RPG for no reason because they don't understand the appeal of their own game 07:42:29 its also horribly written vanilla.minecraft 07:42:33 and added the worst ending imaginable 07:42:35 and its been breaking lately 07:42:43 Cuz of new staff 07:42:47 you should see how broken it was in 2010 07:43:16 only big updates are horses and sea temples 07:43:33 stuff is getting harder to mod 07:44:02 horses and sea temples... 07:44:08 yes 07:44:55 what about sea horses twh 07:45:16 I was wanting to make a thing that translates haskell into another language you want so if you dont know but know haskell so like cheat? 07:45:29 but its probably already been done 07:45:53 realtime translation? actually probably not 07:46:24 haskell translated into another language would be even less readable than the original haskell 07:46:33 Probs 07:46:34 its semantics do not map very directly onto most other programming languages. 07:46:43 Shhh 07:46:45 -!- roasted42 has quit (Ping timeout: 252 seconds). 07:46:47 ? 07:46:51 i must 07:47:03 I MUST DEFY FATE 07:47:15 and make this work 07:47:18 it would be good if you didn't say things like "Shhh" and "God dammit woman!" to people who talk to you, it's pretty rude and condescending 07:47:28 ye 07:47:30 sorry ;-; 07:47:48 it's ok, apology accepted : 07:47:50 *:p 07:48:02 Its a tick just like me scratching my skin away 07:48:06 nvm that 07:48:15 i wanna make dis work 07:48:31 ofc haskell is very wonky 07:48:46 idk brainfuck is even more wonky 07:49:08 wink wonk 07:49:46 -!- Solace has changed nick to Solace|tablestuf. 07:49:53 im gonna go do this 07:50:02 wish me lakes 07:50:04 -!- roasted42 has joined. 07:54:54 -!- roasted42 has quit (Ping timeout: 256 seconds). 07:57:20 -!- roasted42 has joined. 08:01:08 -!- mitchs_ has joined. 08:02:02 -!- roasted42 has quit (Ping timeout: 265 seconds). 08:04:21 -!- mitchs has quit (Ping timeout: 252 seconds). 08:04:43 Hyvää joulua #esoteric 08:05:40 -!- augur has quit (Ping timeout: 255 seconds). 08:06:30 hi 08:10:24 -!- augur has joined. 08:10:25 -!- nisscrooge has joined. 08:13:28 man, my haskell skills are rusty. 08:23:34 -!- roasted42 has joined. 08:27:44 -!- roasted42 has quit (Ping timeout: 245 seconds). 08:29:55 -!- roasted42 has joined. 08:31:36 > map (\x -> chr (x + 32)) [45,69,82,82,89,0,35,72,82,73,83,84,77,65,83,1] 08:31:38 "Merry Christmas!" 08:32:41 :0 08:34:33 -!- shikhin has joined. 08:34:44 -!- shikhin has quit (Read error: Connection reset by peer). 08:37:49 -!- shikhin has joined. 08:38:22 -!- shikhin has quit (Read error: Connection reset by peer). 08:40:37 -!- shikhin has joined. 08:40:42 -!- roasted42 has quit (Ping timeout: 265 seconds). 08:40:45 -!- shikhin has quit (Read error: Connection reset by peer). 08:45:49 -!- shikhin has joined. 08:46:18 -!- shikhin has quit (Read error: Connection reset by peer). 08:49:17 -!- roasted42 has joined. 08:58:35 -!- roasted42 has quit (Ping timeout: 265 seconds). 09:00:57 -!- shikhin has joined. 09:04:24 -!- nisscrooge has quit (Ping timeout: 245 seconds). 09:07:13 The haskell version is so much succinct than the Racket one: (apply string (map (λ (x) (integer->char (+ x 32))) '(45 69 82 82 89 0 35 72 82 73 83 84 77 65 83 1))) 09:14:38 > chr <$> [45,69,82,82,89,0,35,72,82,73,83,84,77,65,83,1] 09:14:40 "-ERRY\NUL#HRISTMAS\SOH" 09:15:06 > chr . (+32) <$> [45,69,82,82,89,0,35,72,82,73,83,84,77,65,83,1] 09:15:07 "Merry Christmas!" 09:15:12 hth 09:15:53 > chr . (+32) . ord <$> "-ERRY\0#HRISTMAS\1" 09:15:54 "Merry Christmas!" 09:16:34 SUCCINCT\1 09:18:03 -!- oren has quit (Ping timeout: 252 seconds). 09:19:53 -!- oren has joined. 09:28:32 -!- roasted42 has joined. 09:33:42 -!- nisscrooge has joined. 10:06:09 In DECB: 5 FORX=1TO16:READN:N=N+32:?CHR$(N);:NEXTX:DATA45,69,82,82,89,0,35,72,82,73,83,84,77,65,83,1 10:08:21 what about 5 FORX=1TO16:READN:?CHR$(N+32);:NEXT:DATA45,69,82,82,89,0,35,72,82,73,83,84,77,65,83,1 10:10:27 That probably works too. I was debugging and never reverted. 10:13:10 -!- roasted42 has quit (Ping timeout: 256 seconds). 10:18:02 -!- roasted42 has joined. 10:22:48 -!- roasted42 has quit (Ping timeout: 256 seconds). 10:25:46 -!- roasted42 has joined. 10:31:00 > let 2 + 2 = 5 in 2 + 2 10:31:02 5 10:32:34 > let 2 = 3; 2 + 2 = 6 in 2 + 2 10:32:36 6 10:32:51 -!- roasted42 has quit (Ping timeout: 244 seconds). 10:37:57 -!- roasted42 has joined. 11:10:09 -!- Solace|tablestuf has quit (Quit: Connection closed for inactivity). 11:10:27 wtf 11:10:47 > let 2 = 3 in 2 + 2 11:10:49 4 11:10:54 :( 11:11:49 > let -2 = 2 in -2 + -2 11:11:50 Precedence parsing error 11:11:50 cannot mix ‘GHC.Num.+’ [infixl 6] and prefix `-' [infixl 6] in the same ... 11:11:53 :( 11:14:19 > let (-1) = 1 in (-1)^2 11:14:20 1 11:15:17 -!- roasted42 has quit (Ping timeout: 245 seconds). 11:18:13 -!- roasted42 has joined. 11:20:54 -!- oerjan has quit (Quit: leaving). 11:32:06 -!- Phantom_Hoover has joined. 11:43:20 -!- ais523 has joined. 11:50:36 merry christmas, those of you who celebrate it today 11:50:53 hmm, I received spam for SEO services 11:51:03 but it reads almost exactly like viagra spam with relevant nouns swapped out 11:59:18 -!- roasted42 has quit (Ping timeout: 250 seconds). 12:00:21 -!- roasted42 has joined. 12:21:16 -!- shikhin has quit (Ping timeout: 255 seconds). 12:29:57 -!- Patashu has quit (Ping timeout: 240 seconds). 12:31:29 -!- roasted42 has quit (Ping timeout: 258 seconds). 12:31:31 Is your small company negatively affecting your love life? 12:35:09 -!- roasted42 has joined. 12:35:36 After easy, non-invasive enhancement therapy, Rajakrishnan now makes $500/day without leaving the house... find out more 13:11:56 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 13:15:23 -!- shikhin has joined. 13:30:23 -!- roasted42 has quit (Ping timeout: 244 seconds). 13:35:44 -!- roasted42 has joined. 13:39:41 -!- boily has joined. 13:40:09 JOYEUX NOËËËËËËËËËËËËËL! 14:00:28 boily, hi 14:05:27 -!- Lymia has quit (Remote host closed the connection). 14:07:02 -!- Lymia has joined. 14:20:25 -!- Zuu has quit (Ping timeout: 250 seconds). 14:21:27 -!- roasted42 has quit (Ping timeout: 265 seconds). 14:26:44 Vorpal: vhellorpal! 14:27:01 -!- roasted42 has joined. 14:31:45 -!- tromp has quit (Ping timeout: 264 seconds). 14:33:05 -!- cluid has joined. 14:35:08 -!- Zuu has joined. 14:35:19 -!- Zuu has quit (Changing host). 14:35:19 -!- Zuu has joined. 14:40:31 -!- tromp has joined. 14:41:13 -!- roasted42 has quit (Ping timeout: 255 seconds). 14:42:57 -!- Zuu has quit (Ping timeout: 250 seconds). 14:46:18 -!- ais523 has quit (Ping timeout: 256 seconds). 14:48:36 メリークリスマス!!! 14:49:00 helloren! 14:50:01 今ボイリーは 14:50:18 ボ 14:50:37 すみませんが、ちょっと違いますよ 14:50:49 「ボアリ」です 14:51:39 (フランス語の性です) 14:51:40 what is poari? 14:51:46 ah 14:51:55 b, not p :P 14:52:24 indeed, I misread that 14:52:46 [wiki] [[Harmful Brainfuck]] N http://esolangs.org/w/index.php?oldid=41536 * Cluid Zhasulelm * (+716) Harmful Brainfuck 14:53:33 メリークリスマス、リフスラシール。 14:53:34 also, 즐거운 성탄절 보내시고 새해 복 많이 받으세요 14:53:47 cool 14:53:53 perfect! 14:53:56 @ harmful bf 14:54:30 on harmful bf: so it assumes the infinitely-sized cell? 14:54:46 oh oops! Thanks for that 14:54:49 I forgot something really important 14:55:04 lifthrasiir: i believe not (hence, not Turing-complete) 14:55:05 its supposed to be relative jumps 14:55:34 so you need unbounded integers (including negative numbers) 14:55:37 "computed jump operator `*` which moves the program counter to the address in the program given by the current tape cell" 14:55:40 scoofy, technically speaking, you can. 14:55:44 let me fix that! 14:56:07 I can, what? 14:56:14 you can make it Turing-complete* 14:56:17 [wiki] [[Harmful Brainfuck]] http://esolangs.org/w/index.php?diff=41537&oldid=41536 * Cluid Zhasulelm * (+77) 14:56:27 possibly, *if* the jump is relative. 14:56:40 maybe via other ways, too, not sure. 14:57:00 scoofy, BF can simulate TM with a finite size program, so it can immediately jump to the data area after some fixed-size simulator, and at the end of data area (which would set the tape up) it jumps back to the beginning of the simulator. 14:57:08 it can jump back to..* 14:57:36 so there are 2 changes in the text now 14:57:39 1) cells are infinite 14:57:41 2) jumps are relative 14:57:54 meaning, you need a bignum library to emulate this? 14:58:03 if you hvae any changes you want to make to it, please do! Or I can edit it 14:58:04 * is an unconditional jump? 14:58:07 its' not perfectly designede 14:58:11 mitchs_, computed jump 14:58:17 mitchs_, unconditional but computed, so that should be able to do conditionals 14:58:25 but it doenst seem powerful enough +I think, maybe im mistaken 14:58:41 ah, I found some issue with my thought: it cannot be easily terminated. :S 14:58:42 thanks, good point 14:59:20 cluid, what happens when * is run with the out-of-bound offsets? 14:59:29 e.g. +++* 14:59:43 CRASH POW ZAP 14:59:44 of coz 14:59:52 or launch the nethack 14:59:54 yeah crash I dont think here anything else it coud do :P 15:00:07 just some heap corruption and nop slides 15:00:08 nothing else 15:00:13 nop slides lol 15:00:29 that's Harmful Branfuck, bitchez! 15:00:32 after all 15:01:00 haha 15:01:20 cluid: you need to add some more specifics, what's the cell size (8bits signed integer?), but unless you make the sell size really tiny it should easily be TC, since all you have to implement is one particular universal machine. 15:01:38 int-e, I've addd that unsigned integer of arbitrary size 15:01:52 int-e, I've pointed it out above, but it would be quite hard to terminate that 15:02:25 ah, no 15:02:26 nvm 15:02:38 that was about the absolute-offset variant of harmful bf 15:03:08 the infinitely-sized-cell relative-offset harmful bf (as currently specified) is definitely TC 15:04:19 Hmm, we discussed a language with slightly similar flavor a while back, where the problem was producing the addresses of forward jumps. 15:04:34 yeah because we cannot write binary here like we could in MNNBFSL 15:04:45 right. http://esolangs.org/wiki/MNNBFSL 15:06:21 this is able to GOTO 15:06:23 as far as I see 15:06:28 cluid: hmm, if the values are unsigned then relative addresses are not an option. 15:06:32 via stack <-> ip manipulation 15:06:48 the wiki doesn't say unsigned, i think it was just an irc typo 15:07:29 yeah that's why I chose Integer 15:07:36 oh opps 15:07:37 sorry 15:07:39 int-e, I've addd that unsigned integer of arbitrary size 15:07:43 correction: signed integer 15:08:11 scoofy, yeah - there is an implemented an assembler for it which gives you labels and 'get label address' 15:08:23 nice 15:08:28 its a bit complex because you have to write in binary and get all the space ready and things 15:08:36 Anyway, I think the 8 bit signed integer cells version with relative jumps could be interesting to investigate. 15:08:42 possibly. 15:10:03 int-e, it would be quite interesting if goto with offset -128/128 terminates immediately 15:10:13 no asymmetry! 15:10:30 is the program pointer incremented after a jump? 15:10:37 lifthrasiir: right, but terminating programs is the least of my worries right now ;-) 15:10:40 int-e, I was worried about that killing TC but I supose if you have a 'spine' in your program with notches every 128 then maybe you can get by.... 15:10:43 ;) 15:10:45 so yes that sounds very interesting 15:11:07 or 15:11:28 for example the program *, would it be no-op or infinite loop? 15:11:35 at which offset does * jump to itself? 15:11:42 have multiple 'spines' in the center to 'guide' the jump somewhere 15:12:23 but 15:12:36 (many CPUs have offset 0 correspond to the instruction following a jump, that's why I'm asking) 15:13:07 But I guess it's prettier to have 0 jump to the * itself. 15:13:44 inf loop? 15:13:58 jmp 0 ---> 'halt and cach fire' 15:14:18 lifthrasiir: that's also a natural candidate for immediate program termination :P 15:14:20 you can add a mnemonic to the assembler HCF 15:15:25 hmm, if jmp 0 terminates, how can one make an infinite loop? 15:15:31 jmp --1 15:15:43 ah, well 15:15:46 where opcode at -1 pos is NOP 15:15:54 hmm 15:15:59 alternatively, we could have -128..-1 jump to instructions before the * and 0..127 to instructions after the *, never jumping to the * itself. That would also be sort of symmeric. 15:16:01 wait, is it possible? 15:16:11 why not? 15:16:27 does it not have NOP ? 15:16:28 do comment characters count? 15:16:36 towards the offset calculation, that is 15:16:45 UNSPECIFIED 15:16:55 okay, so it is like an undefined behavior in C/C++ 15:17:01 sounds like. 15:17:12 you are free to launch the nethack or cause the earth destruction 15:17:13 it may, or may not. go into infinite loop. 15:17:19 or halt and catch fire. 15:17:21 (I would be pleased when the latter is possible) 15:17:23 depending on implementation 15:17:44 -!- Zuu has joined. 15:18:00 yes comment chars shoudl count I think 15:18:05 otherwise it might be too hard 15:18:15 not really 15:18:21 comment chars are kind of fun in MNNBFSL 15:18:23 then `- *` is a simple infinite loop 15:18:28 --+-* 15:18:30 inf loop 15:18:32 without NOP 15:18:36 hmm! 15:18:36 (+-) = NOP 15:18:41 So ok. I think I'll play with a version with +-<>.,* and nops, and jumps centered on the * (* on a 0 cell loops forever), and 8 bit signed cells. 15:18:53 NOTE: -+ == NOP 15:18:57 scoofy: nope 15:19:07 um... unless it does not wrap around properly. 15:19:07 scoofy: you can't jump in there at an arbitrary place 15:19:23 sure. i'm just saying, +- is equivalent to NOP. 15:19:32 and I just told you that it's not 15:19:34 (assuming wrap around) 15:19:43 please, explain? 15:19:46 I DID 15:19:56 where 15:20:04 if you jump into the middle of the -+ then the effect will not be a nop. 15:20:08 exactly. 15:20:16 but, if you jump to -2. it is equivalent. 15:20:19 to NOP. 15:20:27 so, just don't jump to -1 ! and it'll be OK 15:20:34 or, you can jump there anyways... for added fun and effect 15:20:35 So it's not a nop in the scope of the language. 15:20:35 ;) 15:20:39 well 15:20:55 as long as you don't jump into the middle to skip the first part of it, it is a NOP. 15:21:03 if you do, then it's your fault. 15:21:16 this is Harmful Brainfuck, don't forget! 15:21:21 you have to be careful, where you jump. 15:22:01 (sure you can add comment chars, if you want to make it easier, and less fun) 15:26:41 -!- contrapumpkin has changed nick to copumpkin. 15:29:22 [wiki] [[Cheese+++]] N http://esolangs.org/w/index.php?oldid=41538 * Cluid Zhasulelm * (+1557) Cheese+++ 15:30:13 [wiki] [[Brainfuck derivatives]] http://esolangs.org/w/index.php?diff=41539&oldid=41522 * Cluid Zhasulelm * (+24) /* GOTO FUCK */ 15:31:04 [wiki] [[User:Cluid Zhasulelm]] M http://esolangs.org/w/index.php?diff=41540&oldid=41513 * Cluid Zhasulelm * (+129) 15:33:10 why is it called harmful? 15:33:22 'GOTO is considered harmful' 15:33:24 never heard that? :) 15:33:33 aha 15:33:39 title of a famous paper 15:34:02 http://www.u.arizona.edu/~rubinson/copyright_violations/Go_To_Considered_Harmful.html 15:34:08 i had heard of it, yes 15:34:12 copyright_violations haha 15:34:22 lol 15:34:30 at least he's upfront about it 15:34:55 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds). 15:35:08 so, based on this article, Harmful Brainfuck will have disastrous effects on program readability and maintainability 15:35:15 oh no 15:35:26 you won't be easily read nice structured brainfuck 15:35:34 XD 15:36:49 and maintaining Harmful Brainfuck programs will be harder than with regular Brainfuck 15:37:03 ill write an impementation in C 15:37:11 go ahead :P 15:37:11 or should it be javascript 15:37:15 what will be easiest for people to use 15:37:21 C sounds good 15:39:07 C would be good for adding it to anarchy golf 15:44:33 (assuming it turns out to be a powerful enough language) 15:47:07 http://sprunge.us/fdDN?c ... based on the bfgolf reference implementation. 15:47:31 oh thanks! 15:47:44 can we please put this on the wiki? 15:47:56 I mean link to it 15:47:57 no range error checking fr jump? 15:47:59 I gues.. 15:48:10 oh there is. 15:48:12 later on 15:48:18 8 bit cells could make for some awkward jumping schemes, although maybe that would be more fun for some people 15:48:23 indeed. 15:48:36 some central 'spine' in the program at 128/256 intervals... 15:49:16 hm maybe signed ints and the two jumps. ] to go left and [ to right right... 15:49:24 unsigned** 15:49:40 Oh, I added some redundant checks there. 15:49:52 -!- roasted42 has joined. 15:51:23 i spot an error 15:51:32 if (a[p] == -128) { 15:51:44 should be 'if (a[p] == -129)' 15:51:47 -128 is valid 15:52:14 and 'if (p > MAXBUF) {' should be 15:52:19 if (p == MAXBUF) { 15:52:37 after all, if MAXBUF = 32768, then a[32768] is out of range 15:52:58 the -128 is intentional, for symmetry. THe other one was a brainfart, but a harmless one since it's checked again below. 15:53:47 indeed. it's checked at 2 places. 15:54:00 and there's no range check for IP overflow/underflow. 15:54:43 Yes, you can jump anywhere outside of the program space to terminate it. 15:54:56 except, it wouldn't terminate it. 15:55:01 would it? 15:55:15 while (ip >= 0 && ip < code_len) { <-- that should do the trick 15:55:24 oh. 15:55:28 indeed. 15:56:00 http://sprunge.us/DDLH?c -- removed the unintentional changes. 15:56:41 there's no way to output 0xff ? 15:56:46 ' if (a[p] == -128) { ' this is probably incorrect 15:56:51 as -128 is valid as a signed char 15:56:55 -129 isn't 15:57:10 mitchs_, you can output it as negative 15:57:15 that is... -1 15:57:20 which is 0xFF 15:57:21 er, i made a mistake then 15:57:30 whatever the unsigned equivalent of -128 is 15:57:32 mitchs_: 0x80 is the value that's omitted. 15:57:35 ah 15:57:53 question is, why is it omitted. 15:58:00 symmetry! 15:58:11 who cares about symmetry? 15:58:16 i care about being able to output 0x80 15:59:17 -!- scoofy has quit (Quit: Leaving). 16:00:24 -!- scoofy has joined. 16:01:22 -!- Zuu has quit (Ping timeout: 250 seconds). 16:01:24 well, let me rewrite the thing so that it can be legally on the wiki... 16:02:46 -!- Zuu has joined. 16:03:05 -!- roasted42 has quit (Ping timeout: 258 seconds). 16:05:54 more seriously, , was implemented wrong. 16:06:08 -!- roasted42 has joined. 16:13:34 -!- roasted42 has quit (Ping timeout: 245 seconds). 16:15:57 -!- roasted42 has joined. 16:21:03 so how about http://sprunge.us/YXfd?c 16:22:23 (there really aren't that many degrees of freedom for writing such an interpreter.) 16:24:28 looks good! 16:24:43 maybe the case ',' could be written shorter as, data[p] = (signed char)getchar() ? 16:25:16 althought that's not fully equivalent 16:25:18 this loooks great thanks a lot! 16:25:21 why is it ip += data[p] - 1; 16:25:37 cluid: because there'll be an ip++ later. 16:25:38 cos: for (ip = 0; ip >= 0 && ip < size; ip++) { 16:25:41 ip++ 16:25:54 cluid: and I wanted to have 0 jump to the * itself. 16:26:31 so that's inf. loop 16:26:44 ah :) 16:28:57 looks good! so who writes the first 'towers of hanoi' in harmful brainfuck? :P 16:36:12 -!- roasted42 has quit (Ping timeout: 250 seconds). 16:37:12 it just sems too hard! 16:37:18 It would be so cool if someone managed 16:41:03 -!- roasted42 has joined. 16:42:13 Oh, I almost missed the "gotos considered harmful" reference. 16:48:52 -!- dts|pokeball has joined. 16:58:14 scoofy: btw, casting an out-of-range integer value to a signed type has "implementation-defined" behavior; an implementation is free to specify various behaviours (ideas include wrap-around, saturation, and raising a signal). 16:58:26 indeed. 16:59:49 (Then again I should probably be more careful with that putchar() call if I wanted the code to be portable. Oh and not use ints for values larger than 32767...) 17:01:30 we should program in assembly for sureness 17:02:19 cluid: go ahead, don't let us stop you 17:03:17 -!- ais523 has joined. 17:03:49 -!- InvalidCo has quit (Ping timeout: 272 seconds). 17:03:56 -!- InvalidCo has joined. 17:04:05 -!- cluid has quit (Quit: Leaving). 17:04:12 oh, cluid just left 17:04:27 maybe, just write it in Brainfuck 17:04:27 BF except with "goto current tape location" is almost certainly TC, despite the claims of the article 17:04:28 POKE-d the wrong address, I bet. 17:04:32 for maximum portability, ya know 17:04:35 and probably is even with 8-bit cells, although that's less obvious 17:04:52 you guys should implement it in brainfuck, to make it portable 17:05:57 I guess the natural file extension for harmful brainfuck is .h :-) 17:06:58 .hbf 17:07:17 that's not so harmful ;-) 17:07:39 and not so conveninet. 17:08:06 unless it is a polyglot in C and also compiles to C, i wouldn't call that 'harmful'. 17:08:24 Ok, so the downside of the infinite loop on 0 is that one cannot process arbitrary binary data. But that's no obstacle to TC-ness. 17:08:25 -!- roasted42 has quit (Ping timeout: 244 seconds). 17:08:38 (I guess ais523 just saw that restriction) 17:09:44 well, jmp 0 puts it into inf loop. 17:09:53 so first you have to test for zero. 17:10:01 * is the only conditional we have 17:10:20 -!- Phantom_Hoover has joined. 17:10:46 -!- roasted42 has joined. 17:10:54 ummmm......... 17:11:08 that's tricky. 17:11:25 so 0x00 in data means "halt and catch fire" 17:16:52 int-e: that means it's not BF-complete, not that it's not TC 17:17:38 it might even be possible to write arbitrary programs in it, and get full TC (not just curly-L), via appending data to a short interp 17:19:36 I might switch to 9 bit signed ints to make it BF-complete. 17:20:21 -!- InvalidCo has quit (Ping timeout: 264 seconds). 17:26:03 -!- InvalidCo has joined. 17:30:22 -!- InvalidCo has quit (Ping timeout: 250 seconds). 17:30:57 -!- sebbu2 has joined. 17:31:30 -!- InvalidCo has joined. 17:31:34 -!- sebbu2 has quit (Changing host). 17:31:34 -!- sebbu2 has joined. 17:32:32 -!- sebbu has quit (Ping timeout: 250 seconds). 17:37:44 -!- roasted42 has quit (Ping timeout: 245 seconds). 17:40:15 -!- roasted42 has joined. 17:50:40 how is fancy-L completeness defined? 17:51:07 -!- roasted42 has quit (Ping timeout: 245 seconds). 17:55:47 [wiki] [[Harmful Brainfuck]] http://esolangs.org/w/index.php?diff=41541&oldid=41537 * 212.95.7.129 * (+939) Semantic update (* is relative), and example program. 17:57:00 -!- roasted42 has joined. 17:59:37 [wiki] [[Harmful Brainfuck]] http://esolangs.org/w/index.php?diff=41542&oldid=41541 * 212.95.7.129 * (-13) fix extra spaces 18:00:50 Maybe there should be dialects: absolutely harmful brainfuck and relatively harmful brainfuck... 18:01:14 heh. 18:02:04 -!- roasted42 has quit (Remote host closed the connection). 18:02:54 "Version Schema 18:02:54 MINOR: increased every christmas, may be API incompatible" 18:04:03 -!- roasted42 has joined. 18:04:06 where is that from? 18:04:45 -!- drdanmaku has joined. 18:04:55 https://www.reddit.com/r/ruby/comments/2qcvoz/ruby_220_released/ 18:21:31 -!- SopaXorzTaker has joined. 18:22:31 -!- SopaXorzTaker has set topic: The channel of returning trolls | but often spelled correctly. | /join #esolang http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/. 18:25:26 -!- int-e has set topic: The channel of returning trolls | but often spelled correctly. | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/. 18:26:17 wtf 18:26:50 yes, my thought exactly. 18:27:07 elliott: this may be of interest to you. 18:37:58 -!- augur has quit (Remote host closed the connection). 18:39:52 -!- roasted42 has quit (Ping timeout: 258 seconds). 18:40:14 Please, someone drill into my teeth. 18:41:40 -!- SopaXorzTaker has quit (Remote host closed the connection). 18:43:34 pikhq: this might be just the thing for you: http://www.girlgeniusonline.com/comic.php?date=20090306 18:45:17 Yes please. 18:50:34 Interestingly, #esolang was registered 8 years ago, but it's totally empty. 18:59:54 And of course the founder is actually here. Hi Zuu :) 19:04:01 -!- shikhin_ has joined. 19:06:54 -!- shikhin has quit (Ping timeout: 245 seconds). 19:07:02 -!- shikhin_ has changed nick to shikhin. 19:14:52 -!- oren has quit (Ping timeout: 240 seconds). 19:33:32 -!- InvalidCo has quit (Ping timeout: 258 seconds). 19:39:50 -!- InvalidCo has joined. 19:51:34 -!- InvalidCo has quit (Ping timeout: 265 seconds). 19:53:04 -!- InvalidCo has joined. 19:59:24 -!- InvalidCo has quit (Ping timeout: 245 seconds). 20:04:37 -!- InvalidCo has joined. 20:05:29 Maybe something like Lisp could be made to target this format http://rpg.hamsterrepublic.com/ohrrpgce/HSZ it would probably be better than the existing compiler. It could be called "Hamster Lisp" compiler. 20:06:49 oh man ohrrpgce 20:06:56 i remember using that over a decade ago 20:07:27 those default 3d-ish smiley sprites were great 20:09:17 -!- InvalidCo has quit (Ping timeout: 240 seconds). 20:10:30 This format is a tree data so it seem like a Lisp like format with macros would be a good way to compile into such a thing. 20:11:31 drdanmaku: If you have worked with that, have you worked with BAM music files? I have written a program to convert BAM into VGM so that you can play them with VGMPlay (which includes a OPL2 emulator). 20:12:02 those words may have meant something to me back in like 2002 20:12:19 i'm just surprised this thing is still around 20:15:47 The modern version is license by GNU GPL, and can no longer play BAM; it converts BAM to MIDI and plays it back, resulting in it isn't very good since MIDI will play back differently depending on the computer and cannot contain OPL2 instruments. 20:23:40 One thing is that although fonts in OHRRPGCE are 8x8 mono, they do not use a common format; however, they are equivalent to the common format with the characters rotated and a header added. 20:24:21 (The header is simply a BSAVE header.) 20:24:42 did anybody said what you have to do to be fancy-L complete? 20:25:20 myname: Did you look in the wiki about fancy-L completeness? 20:25:29 myname: a language is fancy-L complete if at least one program in that language is an interpreter for a TC language 20:26:12 i read it once, but i'm not clear of what to think about it 20:26:32 i'm not sure if it is less or more specific than tc 20:29:11 -!- InvalidCo has joined. 20:32:30 It isn't entirely clear to me either, although I can see by the wiki clearly describes what fancy-L is, although how it interacted with computation class and that stuff is unknown. 20:34:52 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 20:35:19 didn't people here mentioned something like "only fancy-L but not tc"? 20:38:47 Like does HQ9+B count for example? 20:38:56 I don't quite know. 20:40:12 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAH! 20:40:17 -!- boily has quit (Quit: EMERALD CHICKEN). 20:41:03 Is there any such thing as some Lisp variant where you can have local names guaranteed not to conflict with outer names by for example if (CONSTANT X 42) may define a constant X as 42 but (~X (CONSTANT X 42)) does not redefine X at all from the view outside of that block (it defines an inaccessible constant)? 20:42:32 (And if you typed (~CONSTANT (CONSTANT X 42)) then it would be an error because the CONSTANT command is not understood.) 20:43:11 myname: In the most recent context, the term used was "BF-complete", which includes I/O capabilities. 20:46:36 In any case I'm happy with calling the elements of fancy-L Turing-complete, because some trivial input preprocessing is allowed, and prepending a constant string is quite trivial. But it is indeed slightly disturbing that such a fundamental concept has no universally (sic!) agreed formal definition. 20:48:20 is that a job for the eso standard group? 20:49:11 int-e: I do not know what you mean by prepending a constant string 20:49:30 an example fancy L is the language with exactly one program, run_bf(read_stdin()) 20:50:21 int-e: Yes it is what the problem is, it seems, in fact. 20:50:27 That is what I thought too. 20:50:34 elliott: Ah, I *want* self-delimiting programs. Then I prepend the brainfuck program to the input. 20:50:53 I see. 20:51:00 well, input is at the heart of the fancy L problem 20:51:27 ^bf ,[.,]#12345 20:51:47 you mean ! 20:51:57 !bf ,[.,]#12345 20:51:59 No output. 20:52:03 you mean ! 20:52:07 !bf ,[.,]!12345 20:52:08 No output. 20:52:29 or not. 20:52:33 ^bf ,[.,]!q 20:52:33 q 20:52:48 it had to be the fourth choice, of course. 20:52:52 int-e: ha, did you think I meant the ! at the start of the line? :) 20:52:58 I didn't even think of that interpretation until now 20:54:11 So anyway, with that convention, ^bf is universal, even though it's a fixed program with only one stream of input. 20:54:41 (imo, ymmv) 20:54:46 `! bf ,[.,]!q 20:54:57 hmm, EgoBot is faster 20:55:08 either that, or HackEgo's malfunctioning again 20:55:10 `! bf ,[.,]!q 20:55:17 No output. 20:55:40 No output. 20:57:27 int-e: okay, but I think the position here is that f("...!...") is really just notation for g("...", "...") 20:57:34 and the point is to fix the first argument of g 20:57:50 -!- ais523 has quit (Read error: Connection reset by peer). 20:57:52 the whole point is that we can argue about it all day, of course 20:58:00 -!- ais523 has joined. 20:58:42 elliott: of course, that's the point of any self-delimiting encoding of things as strings of atoms: you can encode a stream of things in a stream of atoms. 20:59:18 You just need to be careful not to drown. 20:59:45 int-e: I guess the point is that (a) generally we define TCness in terms of (program, input), *not* single strings; (b) regardless, however many arguments you have, one of them has to be fixed. 21:00:33 At least Chaitin got this right. 21:00:37 -- e.g., note that the theory is generally in terms of "functions" rather than "computation" (which is one of the major ambiguities of TCness in terms of things like CAs and so on) 21:00:44 *"computations" 21:01:05 whereas bf("...!...") is a "computation" where you encode the input inside. so it's not too conventional from this perspective. 21:01:17 (as in, there is really no "input", it's just like perl's __DATA__; a data-encoding part of the program) 21:01:26 (Chaitin's Algorithmic Information Theory has self-delimiting programs and inputs almost everywhere.) 21:01:33 -!- Patashu has joined. 21:01:46 I wouldn't be surprised if Chaitin had already come up with the fancy L idea. 21:08:43 elliott: bf("...!...") <-- but this is what universal TMs do as well, encode a TM in the initial part of the tape followed by the actual TM's input, possibly recoded to compensate for mismatches in the alphabet. 21:09:14 int-e: sure, yeah. that is one of the most perverse things about it: UTMs are often the odd one out in the way we think about TCness :) 21:10:03 (Obviosusly I consider UTMs to be TC, though I see the potential to disagree.) 21:10:04 elliott: some definitions of UTMs use a separate input tape 21:10:21 normally, which only allows "read and move forwards" instructions, not moving backwards or writing 21:11:16 Right, there are actually too many flavors of TMs as well. 21:11:34 All morally equivalent, but that's rarely spelled out formally. 21:13:32 it matters a lot when you're trying to define "equivalent" 21:14:16 (Imagine implementing a chess engine on a Minsky counter machine. "Oh, see, that machine is not interactive. So you have to plan ahead, predict the machine's moves, collect all your replies and encode them all at once as input by plugging it into the following crazy formula...") 21:15:14 (it's just the same with the bf("...!...") thing, of course.) 21:15:50 int-e: wouldn't you give the machine a description of what you'd play in all possible situations? 21:16:08 (uploads brain) finally, I can play chess with a computer 21:16:18 ais523: I'm trying to be *cough* practical here. 21:16:26 int-e: to be fair, I don't think any notion of TC cares about "interactive" 21:16:37 the input tends to be specified up-front, formally 21:16:37 we have a notion of BF-completeness because of this sort of thing 21:16:59 elliott: of course not. nobody cares, since one can start as many computations as one likes. 21:17:20 int-e: yes, why don't we just make the computations do single steps instead of looping... oh wait 21:17:38 elliott: but we *were* discussing the role of input and output, and this really matters a lot when interaction comes into play. 21:18:42 The scope of "nobody" was theoretical computer scientists (like myself), and I'm sure there are exceptions. 21:19:19 it was a joke 21:19:54 I'm serious. Mostly. 21:20:14 -!- roasted42 has joined. 21:20:31 sounds off-topic 21:20:46 Turing Completeness Science is no laughing matter! 21:24:16 -!- oren has joined. 21:31:31 So, about  that widechar language 21:32:22 I've decided to make it using an actual formal grammar 21:33:18 is there any real reason to not just take normal letters? 21:33:22 -!- ^v has joined. 21:34:04 The language will only accept characters that are full width 21:34:17 halfwidth chars will be used only for comments 21:37:51 -!- idris-bot has quit (Quit: Terminated). 21:38:22 -!- Melvar has quit (Quit: WeeChat 1.0.1). 21:41:55 -!- Melvar has joined. 21:45:17 data types will be such as: 整数、正整数、実数、文字列 21:45:50 that is to say, integer, unsigned, real number, character string 21:46:59 -!- idris-bot has joined. 21:47:28 ⣾⣉⣷ ⣿⣀⣿ ⣿⣉⡷ ⣾⢉⣓ ⣿⣀⣿ ⣿ 21:47:28 ⠿ ⠿ ⠿ ⠿ ⠿ ⠿ ⠻⠤⠟ ⠿ ⠿ ⠶ 21:47:51 AHRGH?  21:48:19 int-e, what has you riled up today? 21:49:02 I think the wide characters grew old yesterday. 21:49:22 Also, christmas. Well, at least that's pretty much over. 21:50:07 wll i dunno how to do the quad-width double height chars you did... 21:52:09 整数 人= 21:52:23 12+3 21:53:02 `unidecode ⣾⣉⣷ 21:53:03 ​[U+28FE BRAILLE PATTERN DOTS-2345678] [U+28C9 BRAILLE PATTERN DOTS-1478] [U+28F7 BRAILLE PATTERN DOTS-1235678] 21:53:08 I manually composed them from braille patterns. 21:53:15 -!- roasted42 has quit (Ping timeout: 272 seconds). 21:54:03 if you script that I'll put you on ignore. promised. 21:54:30 script what? 21:54:48 a braille-pattern based font 21:55:00 -!- roasted42 has joined. 21:55:01 i have no plans on that sounds too hard 21:56:14 Damn, I really *am* grumpy today. 21:56:33 especially since i can get a relatively large font just by using the wide latin mode on my IME 21:57:38 don't worry I'll be kicking if the doublewidth text thing goes on too long 21:57:50 although I will allow it if oren speaks exclusively in japanese 21:57:51 now I'm worried 21:58:35 そうか? OKです 22:00:04 心配しない、コップロさん。日本語は簡単だよ。 22:00:14 fact: I cannot read japanese 22:00:23 I approve of this esoteric language 22:01:11 どうもありがとうございます 22:01:33 I regret everything 22:04:00 * nortti can actually understand what oren is saying :O 22:04:13 * pikhq can as well 22:04:20 well, with the help of kanji dictionary, but still 22:04:25 安心しよ、エリオットさん。難しくなってば、俺は英語に喋る 22:04:42 if I plugged it into a dictionary I could probably get the gist of it 22:04:48 Kanji ga kantan ssu yo. 22:04:53 (gomen, IME nai) 22:05:45 nice "eriotto-san" 22:06:07 but that's because a dictionary turns it into english >< 22:06:54 漢字は簡単、でも文法は難しい 22:07:06 shouldn't it be "-sama" when I'm threatening to kick you 22:07:22 elliott: Depends on his opinions towards being kicked I suppose. 22:08:48 「どの」かな? 22:09:13 江戸時代っらしいけど。 22:13:31 Is The Interview a good movie? Should I watch it? 22:13:39 no 22:15:41 でわ諸君。全角プログラミング言語の文法わ、半分ALGOLと半分LISPでいいかな? 22:16:42 hör auf 22:18:41 流れ制御はALGOLらしい、でも数学はやっぱりLISPの方がいい。 22:19:13 oren: this is an english channel 22:19:38 エリオットの命令だよ。 22:20:45 elliott> although I will allow it if oren speaks exclusively in japanese 22:21:20 だから、日本語で話します。 22:22:09 elliott: i hate you 22:22:46 same 22:23:02 -!- roasted42 has quit (Ping timeout: 256 seconds). 22:23:33 どうしてマイネーム怒ってる? 22:23:38 -!- ais523 has quit (Read error: Connection reset by peer). 22:23:44 -!- callforjudgement has joined. 22:23:58 an important life skill is knowing when to stop 22:24:18 ok fine. it was fun while it lasted 22:24:49 -!- roasted42 has joined. 22:24:55 i got to say dewa shokun unironically 22:26:58 what i meant by half-lisp half algol is something like this: x=(* a (- z y)) 22:28:35 because i hate the algol math-like syntax, so i'm replacing it with s-expressions 22:28:53 while retaining an algol-like control flow 22:29:44 How are the control flows different? 22:30:30 lisp control flow uses tail recursion, while algol uses explicit while conditions 22:30:44 -!- Phantom_Hoover has joined. 22:30:48 and often explicit counter variables 22:31:56 ``for i from 0 to N'' and such 22:31:57 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: `for: not found 22:32:49 dammit can't i begin a sentence with a symbol without setting off the bots 22:33:14 "there are a couple of things that work fine" 22:33:16 oren: that's not accurate 22:33:35 tail recursion is not really idiomatic in common lisp and often not optimised away, and it has a very elaborate iteration construct in LOOP 22:33:39 . o O ( Partly thanks to elliott's diligence. ) 22:33:49 scheme isn't representative of lisp as a whole 22:34:10 int-e: is it diligence when I only kicked it because it annoyed the crap out of me? :p 22:34:31 oren: e.g., http://www.gigamonkeys.com/book/loop-for-black-belts.html 22:34:53 (LOOP is kind of weird. I don't like its fairly "unlispy" mini-DSL. but it is iteration through and through) 22:35:24 it is rather terrifyingly elaborate: http://www.lispworks.com/documentation/lw60/CLHS/Body/m_loop.htm 22:35:46 right, that was the other thing that made me turn my back on common lisp... 22:35:48 there is also http://common-lisp.net/project/iterate/, which a lot of people prefer due to it having more parentheses. (half-kidding.) 22:36:11 (not just loop, but also that sort of documentation) 22:36:39 people have this view of "lisp" as being this very clean, very functional, anti-imperative thing with a lot of recursion but actually scheme is the odd one out in its relative purity of design 22:36:44 * int-e is negative today, trying to underflow. 22:37:07 scheme is sane! 22:37:10 Well, my idea of the "Hamster Lisp" would resemble more closely control flows of C, since the target binary code expects it, and the source trees would resemble the binary codes closely (other than macros). 22:37:34 scheme is *not* exactly simple and elegant, either 22:37:45 did you know that letrec + call-with-current-continuation is enough to implement mutable cells with no explicit mutability? 22:37:56 or, y'know, the whole dynamic-wind monstrosity... 22:38:04 Well, neither is Haskell. 22:38:06 also, its strings are mutable, but they cannot change in length(!) 22:38:15 (this despite R7RS trying to be all unicodey...) 22:39:07 I suspect that only esoteric languages can be simple and elegant. 22:39:16 bonus: Scheme's map can more or less either be tail-recursive, interoperate properly with call-with-current-continuation instead of breaking, or iterate through the list only once -- pick two 22:39:26 really most of the problems are down to call/cc. 22:39:41 it's pretty abstraction-breaking, especially in a higher-order context. 22:40:14 So scheme minus call/cc is sane? 22:40:57 Scheme minus call/cc is a better-behaved language that is easier to reason about. there is reasonable doubt about how useful call/cc actually is, even when you want continuations; you usually want delimited ones, like Haskell's Cont monad. 22:41:11 see http://okmij.org/ftp/continuations/against-callcc.html for oleg's anti-call/cc propaganda 22:43:12 I wish R7RS made it optional or something, but I think that'd be politically difficult. call/cc is shiny and fun and seems elegant in its power, people like to use it, and it's part of the image of Scheme. 22:43:34 -!- roasted42 has quit (Ping timeout: 245 seconds). 22:44:58 here, have an implementation of IORef with call/cc and letrec: https://groups.google.com/forum/#!msg/comp.lang.scheme/7BKqC7jwZTQ/uf0buv--J7wJ 22:45:06 warning: terrifying 22:45:23 -!- roasted42 has joined. 22:45:30 -!- dts|pokeball has quit (Read error: Connection reset by peer). 22:46:15 you can see how this happens from the rather precise definition of LETREC: 22:46:20 "Semantics: The hvariableis are bound to fresh locations holding unspecified values, the hinitis are evaluated in the resulting environment (in some unspecified order), each hvariablei is assigned to the result of the corresponding hiniti, the hbodyi is evaluated in the resulting environment, and the values of the last expression in hbodyi are returned. Each binding of a hvariablei has the ... 22:46:26 ... entire letrec expres- sion as its region, making it possible to define mutually recursive procedures." 22:46:49 in effect, call/cc lets us pull out the mutability in the definition of letrec where ordinarily it would be impossible to exploit. 22:47:57 i see. so, i'm not really talking about lisp when i say lisp, i'm talking about scheme 22:48:02 oh, some 'h' and 'i' appear to be whitespace. 22:48:25 font changes? or spacing? 22:50:20 -!- dts|pokeball has joined. 22:51:01 but anyway, so essentially by grammar (on paper) is looking like a chinese version of BASIC with S-exprs instead of infix math 22:51:16 int-e: the fancy <>s 22:51:24 you know the ones. the tuple ones 22:51:59 right 22:52:26 and I don't even have them... «»⟪⟫ 22:52:41 ("One sometimes hears a misleading statement that ``it is possible to implement Scheme's set! in terms of Scheme's call/cc and letrec.'' The statement mis-represents Alan Bawden's observation that according to Scheme standards and common practice, letrec is implemented in terms of set!; that hidden set! can be `pried open' with call/cc. Of course letrec can be implemented without set!, for ... 22:52:44 here: ⟨⟩ 22:52:47 ... example, via the fix-point combinator. The inability of call/cc to express mutable state becomes clear then. Section 4.4 of Friedman and Sabry's ``Recursion is a Computational Effect'' has the detailed explanation." -- Oleg) 22:53:47 How would you implement law of excluded middle continuations in Scheme? 22:53:57 -!- zzo38 has quit (Remote host closed the connection). 22:55:34 -!- augur has joined. 23:03:06 How do I unsee this term: "co-finalizers" ... 23:05:39 -!- S1 has joined. 23:05:49 -!- not^v has joined. 23:09:40 -!- ^v has quit (Ping timeout: 250 seconds). 23:12:22 -!- ^v has joined. 23:15:23 -!- cluid has joined. 23:15:39 -!- not^v has quit (Ping timeout: 245 seconds). 23:15:52 -!- not^v has joined. 23:16:15 hi 23:16:52 14:55:10 How would you implement law of excluded middle continuations in Scheme? 23:18:47 8.7. Control operators and CPS translations 23:18:54 in lectures on the curr y howard isomorphism, talks about this 23:19:04 -!- roasted42 has quit (Ping timeout: 244 seconds). 23:19:22 -!- ^v has quit (Ping timeout: 240 seconds). 23:19:32 the ∆ may be regarded as a control operator similar to call/cc of Scheme and exceptions of ML, and the double negation embedding of classical logic into intuitionisitic logic corresponds to well-known CPS-translations 23:21:08 -!- roasted42 has joined. 23:21:23 -!- not^v has quit (Ping timeout: 240 seconds). 23:39:13 -!- ^v has joined. 23:43:28 -!- Phantom_Hoover has quit (Ping timeout: 258 seconds). 23:52:08 -!- ^v has quit (Ping timeout: 250 seconds). 23:57:42 -!- dts|pokeball has quit (Read error: Connection reset by peer). 23:59:19 -!- dts|pokeball has joined.