2014-12-01: 00:16:45 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds). 00:35:54 -!- Sprocklem has quit (Ping timeout: 244 seconds). 01:07:27 -!- nooga has joined. 01:12:04 -!- nooga has quit (Ping timeout: 250 seconds). 01:14:41 -!- Dulnes has quit (Quit: Connection closed for inactivity). 01:19:36 Am I a bad person for recommending Node.JS to someone trying to build a chat? It makes the most sense to me... 01:20:35 Yes. 01:26:01 [wiki] [[GridScript]] http://esolangs.org/w/index.php?diff=41267&oldid=41256 * SuperJedi224 * (+64) 01:26:23 [wiki] [[GridScript]] http://esolangs.org/w/index.php?diff=41268&oldid=41267 * SuperJedi224 * (+3) /* Command Summary */ 01:31:29 -!- EisenHerz has changed nick to Sauvin. 01:46:14 [wiki] [[Popular problem]] http://esolangs.org/w/index.php?diff=41269&oldid=30415 * 122.102.45.251 * (+266) 01:48:25 -!- oren has joined. 01:50:55 [wiki] [[Popular problem]] http://esolangs.org/w/index.php?diff=41270&oldid=41269 * Orenwatson * (-266) Undo revision 41269 by [[Special:Contributions/122.102.45.251|122.102.45.251]] ([[User talk:122.102.45.251|talk]]) spam 01:53:04 seo melbourne? why melbourne 01:53:10 fizzie: captcha got solved 01:53:22 maybe it was just a human though 01:54:00 is seo even a real thing anymore 01:54:03 ? 01:54:58 or does it just refer to making the pages bot-readable? 01:58:35 HOLY SH%$$%@%$ 01:58:55 I just got a email back from the maker of MNNBFSL 01:59:17 He wrote in English 01:59:23 "Thank you for writing an article of MNNBFSL." 01:59:24 MNNBFSL? 01:59:37 "I read http://esolangs.org/wiki/MNNBFSL ." 01:59:47 "In this artcile, "It appears to have been ... in late August 2014." 01:59:49 but it is invented in July. 02:00:05 japanese people found to know english, world shocked :p 02:00:15 "publicized in August 2014"? 02:00:28 "MNNBFSL is inspired by Brainfuck and Forth. Forth can manipulate return stack. Forth programmers can write puzzle like program by this feature." 02:01:06 "I think it is interesting, so I want to create esoteric language that can manipulate return stack." 02:01:14 "Thanks" 02:01:22 elliott: they *do* surely know English, they just don't write in it normally :p 02:01:31 This is very good English for a Japanese person. 02:01:39 In my experience anyway 02:01:52 they get taught english y'know 02:02:08 so do some 2 billion people around the world 02:02:11 In high school, but that's like I'm supposed to knwo French 02:02:26 but i can't speak a word 02:02:36 japanese people have more incentive to learn english than you do to learn french, if you're not canadian 02:02:39 lifthrasiir: yeah, that's my point 02:02:47 at least I can barely remember rendezvous is a correct spelling 02:02:54 i'm canadian but i'm from Ontario 02:03:25 not that canada, the other one 02:03:32 oren: well, foreign language classes in the english world are basically hobbies 02:03:57 and foreign language classes in the non-english world are basically for survivals 02:04:00 (seriously.) 02:04:02 knowing english is more of a necessity... 02:04:15 (as in, treated as one by education systems) 02:07:12 Even without school-taught english, plenty of non-english-speaking countries consume lots of english media and pick it up that way 02:07:19 At least for countries that don't dub everything they import 02:08:18 oren: btw, you know anarchy golf (where the author of MNNBFSL, yshl, participates) is a japanese site with many japanese players, right? :) 02:08:22 * FireFly 's pronounciation was terrible initially from having picked up english from pokemon and online forums 02:09:02 japanese people put subtitles in Japanese on everything 02:10:17 * oren , when he was in japan, saw a lot of badly used English 02:11:13 We sub movies/TV series as well, though games remain untranslated 02:11:14 it is relevant that avoiding english while being a programmer who knows a lot of languages etc. is incredibly difficult... 02:11:27 [wiki] [[MNNBFSL]] http://esolangs.org/w/index.php?diff=41271&oldid=41229 * Orenwatson * (+37) updtaed with info from inventor 02:11:44 (so you'd expect programmers to generally have a decent grasp of english even regardless of the general statistics) 02:12:21 yeah becuase programming languages and libraries are based on english keywords 02:12:38 (with very few exceptions) 02:12:43 well, moreso documentation 02:12:48 but yes 02:13:11 ("def" and "int" aren't english words, so just treating keywords as opaque wouldn't be too much of an obstacle) 02:13:27 drawtriangle 02:13:43 things like that 02:14:40 but yeah a lot of documentation doesn't bother having any other languages. 02:14:43 I like how the full japanese name of the language is light novel title length. 02:15:00 that's the Japanese way 02:15:11 poketto monsuta! pokemon! 02:16:47 elliott, it does? 02:16:55 it does what? 02:17:24 The full japanese name of the language 02:17:24 まだ名前のないBF風スタック言語 02:17:33 Oh, MNNBFSL 02:17:40 I assumed you were talking about Japanese for some reason 02:19:34 nah in Japanese the language is just called 日本語 "nihongo" 02:19:50 not light novel title length 02:19:52 it translates as "My Little Sister Forced Me To Create A Brainfuck Derivative, And Now The Whole School Is Laughing At Me!" 02:20:01 lolololol 02:20:04 WWWWWWW 02:20:11 Oh wow ahahaha 02:20:22 (it doesn't but it should) 02:25:23 俺の妹はBF元着く言語を無理矢理着かせた! 02:25:42 My little sister forced me to make a BF derivative 02:27:16 今、学校のみんなが俺を笑う! 02:27:33 now, eveyone at school is laughing at me! 02:27:39 there you go 02:27:44 please don't make this language 02:27:55 lololol 02:28:08 trolololol.gif 02:28:39 you know IRC doesn't support images, right 02:28:48 some web clients do 02:29:05 yeah but when you see the name of the image you know what image it is 02:29:35 like doge.jpeg 02:29:50 orebrefa 02:29:53 you can actually allude to things without adding file extensions 02:30:16 oreimo indeed is a crazy anime. 02:30:35 but its funnier when it's ohmaigaa.webm 02:31:24 wilhelmscream.mp3 02:31:28 my favourite meme is rotten_dog.tiff.shar.bz2 02:32:30 isn't that one a bit old by now 02:32:32 -!- dianne_ has changed nick to dianne. 02:32:35 it's even decomposing 02:32:51 swap.avi 02:33:09 hello.jpg 02:33:13 PKZIP.EXE 02:34:10 onestop.mid 02:34:43 remember C:\Windows\media? 02:35:11 dan dadan dan dan daaaaan 02:36:27 2girls1cup.mp4 02:37:00 trolololol.mp3 02:37:41 yerawizardharry.avi 02:37:42 C:\con\con 02:38:45 I'm glad this channel is getting even worse :p 02:39:23 ofcourse.wav 02:39:43 I'm sad this channel is getting even worse :( 02:40:22 allthewhosdowninwhovillecryboohoo.webm 02:41:22 okay this got old like five minutes ago 02:41:22 I'm mad this channel is getting even worse >:( 02:41:40 tomeitwastuesday.wmv 02:41:41 I'm dianne 02:41:49 hi dianne 02:41:56 hi 02:43:03 I'm Taneb 02:43:17 Sometimes I'm also Nathan 02:43:24 Although not on IRC 02:43:30 `? Nathan 02:43:32 Nathan? ¯\(°​_o)/¯ 02:56:21 -!- nooga has joined. 03:00:00 -!- CADD has quit (Read error: Connection reset by peer). 03:00:47 -!- nooga has quit (Ping timeout: 255 seconds). 03:34:36 -!- CrazyM4n has joined. 03:34:37 -!- AndoDaan has joined. 03:45:02 -!- Sprocklem has joined. 03:47:13 Can a Pokemon card puzzle possibly be made up that the goal is for the players to cooperate to end the game as quickly as possible (it doesn't matter who wins or if it would end in a draw)? There may be many other conditions to be possible too 03:48:24 interesting 03:48:31 I could see it 03:51:02 -!- shikhout has quit (Ping timeout: 258 seconds). 03:55:40 https://github.com/charcole/Z3 04:11:42 zzo38: I concede 04:11:59 Conceding isn't allowed of course 04:16:09 zzo38: Yes, such a puzzle could possibly be made up. 04:21:46 -!- GeekDude has changed nick to GeekZzZzZ. 04:21:49 -!- GeekZzZzZ has changed nick to GeekZzZzZz. 04:24:28 Do you know how to make it good though? 04:31:37 -!- Dulnes has joined. 04:31:51 Mmm not much discussed 04:40:34 -!- MoALTz_ has joined. 04:40:53 -!- GeekZzZzZz has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 04:43:43 -!- MoALTz has quit (Ping timeout: 265 seconds). 04:45:17 -!- nooga has joined. 04:46:37 -!- AndoDaan has quit (Quit: Quit). 04:48:21 -!- CrazyM4n has quit (Quit: Lost terminal). 04:49:37 -!- nooga has quit (Ping timeout: 240 seconds). 04:52:28 -!- dianne has left. 05:23:29 `slist supdate 05:23:31 slist supdate: Taneb atriq Ngevd Fiora Sgeo ThatOtherPerson alot 05:29:01 -!- ZombieAlive has quit (Remote host closed the connection). 05:37:45 -!- cluid has joined. 05:37:47 hi 05:39:46 whoa https://github.com/charcole/Z3 05:40:58 #haskell is such a disaster 05:42:55 Interesting newsham 05:43:37 @newsham I was reading alangsec article an dyou were mentioned 05:43:37 Unknown command, try @list 05:44:18 why? 05:44:23 which article? 05:45:09 I was thinking about making an esolang page on ROP, this is one thing i read http://langsec.org/papers/Bratus.pdf 05:45:16 what do you think about such an article? 05:46:11 -!- ZombieAlive has joined. 05:47:17 i think the topic is interesting, though i'm not sure if looking at them through the lense of "weird machiens" is all that enlightening... 05:47:26 i guess if thats your passion, its a valid way of looking at it.. 05:47:50 The best article is geometry of flesh on the bone 05:47:51 thats a pretty flattering mention of my name.. i like it.. 05:48:33 everyone seems to be trying to be really deep and philosophical and clever about it, but its just understanding the computer and making it do stuff... 05:49:06 i dont think its that great of a leap of faith to say that if you control the stack frame of a program you basically control the control flow and the program 05:49:33 running a program using page faults is a little more clever.. 05:50:41 i,i nop-oriented programming 05:52:53 newsham, yeah some of the langsec stuff I see is slightly askew, but seeing security people finally say that you shosuld be recognizing languages rather than regex blacklighting 'bad' stuff makes me really happy 05:53:14 blacklisting* 05:54:04 security professionals should be able to tell you that whitelisting is better than blacklisting anyway :) 05:54:10 and regexps arent often the best tool 05:55:12 but I think ROP is a cool esolang 05:55:16 and deserves a place on the wiki, no? 05:55:43 yah, rop is kinda a neat esolang 05:55:53 well, family of esolangs really 05:56:11 yeah :) 05:57:05 ever see massalin's superoptimizer paper? 05:57:28 no, ill have a look now 05:57:28 even cooler, i think :) 05:57:33 http://web.stanford.edu/class/cs343/resources/cs343-annot-superopt.pdf 05:57:38 thanks 05:58:31 he doesn't qualify "finds shorted program that computes a given function" with any caveats lol 05:58:47 would be neat "growing" programs organically (ie. search/annealing/genetic prog) and then trying to analyze them 05:59:23 i bet sooner or later you'd find much cooler things than rop going on 06:05:31 http://web.stanford.edu/class/cs343/ 06:05:56 is that a 'trusting trust' compiler? 06:06:33 dawson engler is godlike 06:06:52 il have to look around his course notes, I've wanted to write a compiler but found it very difficult 06:07:11 http://www.dwheeler.com/trusting-trust/dissertation/wheeler-trusting-trust-ddc.pdf 06:19:11 -!- oerjan has joined. 06:22:54 morning... 06:23:23 g'day 06:23:24 All Dominosa secrets have been revealed. Fizzie used trits. 06:23:49 i see you've adapted some of mine. now to look at actual code... 06:23:59 And tails kindly taught me a dc trick (obvious in retrospect, why didn't I think of that...) 06:25:59 I should've found the gcd thing 06:25:59 the >, that's clever :) 06:25:59 * oerjan cackles evilly 06:26:04 ah you missed both of those? yeah i did feel clever about those 06:26:27 but I got some value out of filter instead 06:28:15 oerjan: I also liked this adjacency test: j-i==6^(div j 6-div i 6) but it's too long. 06:28:26 -!- Sprocklem has quit (Ping timeout: 256 seconds). 06:30:30 i got a bit annoyed about the defined precedence of `elem` vs. >, could have saved the parentheses if they were just a little different 06:31:13 -!- shikhin has joined. 06:31:41 -!- shikhin has quit (Read error: Connection reset by peer). 06:32:11 now I'm hoping for fizzie to translate the binary encoding into burlesque 06:32:44 heh 06:33:17 http://sprunge.us/GJcW?hs 06:33:41 ...why would he use trits anyway? 06:33:41 easier loop 06:34:08 -!- nooga has joined. 06:34:38 I really expected the decoding function to grow more when I changed the encoding to binary. 06:36:13 -!- shikhin has joined. 06:37:48 (it actually shrunk by 2 characters) 06:38:10 oh i wondered how to shorten concat.lines / filter(>' ') but if you are using filter everywhere that's not a problem 06:38:17 -!- shikhin has quit (Read error: Connection reset by peer). 06:38:33 -!- nooga has quit (Ping timeout: 240 seconds). 06:38:41 though that's a bit hard to measure; is the [0..29] part of the decoding function or not? 06:40:17 ooh the g(<'@') is also clever, i tried to somehow use show(i,j) or the like but kept fooling around with init and tail to remove the parens 06:40:37 _i_ should have found that, i guess :P 06:41:12 -!- shikhin has joined. 06:41:19 it's actually nice to finally have independent tricks that could be combined :) 06:41:41 yeah 06:42:34 (btw henkma hasn't showed up for this one...) 06:43:06 He didn't attempt Make 24 either. 06:43:32 maybe he prefers the non-compression tasks, or perhaps he just didn't catch up to me. 06:44:03 mhm 06:44:41 -!- Dulnes has quit (Quit: Connection closed for inactivity). 06:45:18 (henkma has a 9986 average, I'm pretty sure he never submits solutions that score fewer than 10k points upon submission.) 06:46:09 you found several of the other tricks i thought you might miss, though. i really felt so clever about this one overall. 06:46:24 the zip[0..] one was hard. 06:46:39 well yeah that's like the basis for the algorithm 06:46:47 -!- shikhin has quit (Read error: Connection reset by peer). 06:48:10 -!- shikhin has joined. 06:48:16 well, I was playing with this version at one point: http://sprunge.us/jEBB?hs 06:50:16 -!- shikhin has quit (Read error: Connection reset by peer). 06:52:35 ah reverse 06:53:10 -!- shikhin has joined. 06:53:28 i tried several ways of constructing a representation of an unordered pair before i realized it was shorter to just stick both versions in literally 06:53:32 -!- shikhin has quit (Read error: Connection reset by peer). 06:54:14 anyway, I had trouble making the transition from "filter index j from list" to "filter index j *and* its associated character, which we happen to know already, from a list." 06:55:30 with a *really* short fromEnum, I'd have liked to use fromEnum u*fromEnum v as an unordered pair. 06:56:03 i am pretty sure i had some versions that didn't but they were early and unsubmitted and i didn't save them 06:56:15 *didn't zip[0..] 06:56:31 actually the first submitted did zip[0..29] :P 06:56:49 pretty duh moment 06:57:04 heh 06:57:16 I wrote that, and then ... hmm ... oh... 06:57:41 But I didn't submit before I reached 175. 06:57:46 yeah 06:58:10 -!- shikhin has joined. 06:58:21 I still find it amazing how much the knowledge that things can still be improved helps (me, at least). 06:58:45 i've found it amazing how much that helps you too ;) 06:59:14 I tend to try crazier ideas. 06:59:36 Because, you know, one of them *has* to work. 07:00:38 btw would fromEnum u*fromEnum v have worked? it's not entirely correct 07:00:49 yes, I checked. 07:00:55 or maybe it is, for the character ranges that show up 07:01:10 for '0'..'4', right. 07:01:42 -!- shikhin has quit (Read error: Connection reset by peer). 07:02:01 7:49 5:50 17:51 13:52 <-- except for '0', each has a unique prime factor. 07:02:17 48 49 50 51 ... hey i was about to deduce that :P 07:02:50 um i think you're off by 1 07:02:55 > sort [fromEnum a*fromEnum b | a<-['0'..'4'], b<-[a..'4']] -- what I actually did. 07:02:56 [2304,2352,2400,2401,2448,2450,2496,2499,2500,2548,2550,2600,2601,2652,2704] 07:03:10 -!- shikhin has joined. 07:04:15 hm it would work a bit longer than '0'..'4' 07:04:27 via your prime idea 07:05:14 does it work for all of '0'..'9' 07:05:20 I think so. 07:05:47 > nub $ map length $ group $ sort [fromEnum a*fromEnum b | a<-['0'..'9'], b<-[a..'9']] 07:05:48 [1] 07:06:46 * oerjan should learn not to start typing when he's already told you the idea 07:06:48 the argument gets a bit messy though; 49 and 56 rely on the former being a square. 07:07:10 not necessarily? 07:07:21 hm 07:08:14 well, the prime factor argument works by not considering prime factors 2 and 3 at all. so 56*56 and 49*48 end up in the same category. (and 49 being a square does not help...) 07:08:31 next question: does this work for arbitrary multisets :P 07:08:51 after adding some offset, yes. 07:08:57 the offset may be large, though. 07:08:58 -!- shikhin has quit (Read error: Connection reset by peer). 07:09:14 i mean with 48..57 07:09:23 oh. 07:09:37 (probably not, but what's a counterexample) 07:09:45 primes > 7 always work 07:09:56 because they are only in one of the numbers 07:10:15 and then maybe some others get excluded 07:10:38 -!- shikhin has joined. 07:11:04 48,49,50,51,52,53,54,55,56,57 -> 51,52,53,54,55 are out 07:11:30 or wait 07:11:48 `factor 54 07:11:51 54: 2 3 3 3 07:11:57 SCRATCH THAT ONE 07:12:09 what are you doing 07:12:40 lifthrasiir: at the moment, wondering if products of 48..57 (i.e. ASCII values of digits) can be uniquely factored back 07:13:06 well, obviously no, but why? 07:13:24 so 48, 49, 54 and 56 use only 3 primes total, so no. 07:13:25 do you have to accept two digits (for the purpose of codegolf) and nothing else? 07:13:49 int-e: hm i guess. 07:14:38 lifthrasiir: it's about comparing unordered pair of digits, although this is actually a suboptimal solution to the golfing problem, but it's a bit mathematically interesting 07:14:43 *pairs 07:14:55 it works for pairs, btw. 07:15:23 so now it was about products of lists 07:15:53 oerjan: so if the input is "13247" and "74312" it should say "YES" while "12345" vs. "123456" should say NO etc? 07:16:22 lifthrasiir: well yeah... 07:18:45 -!- shikhin has quit (Read error: Connection reset by peer). 07:19:31 -!- shikhin has joined. 07:19:52 48 = 2^4*3, 49 = 7^2, 50 = 2*5^2, 54 = 2*3^3, 56 = 2^3*7 07:20:05 oerjan: wouldn't the arithmetic progression work? 07:20:19 lifthrasiir: the what 07:20:20 > 48^18 * 49^11 == 54^6 * 56^22 07:20:21 True 07:20:27 int-e: OKAY 07:20:42 products of 2520 * digit + 1? 07:20:55 hmm, not sure 07:21:09 lifthrasiir: i'm not actually asking for variations of the problem btw 07:21:49 but yeah, there should be some offset that works, as int-e already mentioned 07:21:56 oerjan: I think that's the smallest counterexample, but I may have missed something. integer lattices are hard. 07:22:27 probably NP-hard, i should imagine 07:23:43 (4,1,0,0),(0,0,0,2),(1,0,2,0),(1,3,0,0),(3,0,0,1) 07:23:56 basis coordinates 07:24:13 -!- shikhin has quit (Read error: Connection reset by peer). 07:24:31 oh right 5 is actually excluded at that point 07:25:12 *(4,1,0),(0,0,2),(1,3,0),(3,0,1) 07:25:19 -!- shikhin has joined. 07:26:15 Yes, I went with trits to have a simple "skip/+1/+6" ternary-choice for each digit. But it's very possible the thing you did in dc would be shorter. 07:26:47 -!- Patashu has joined. 07:27:36 For the curious, http://sprunge.us/hOjN is my log, though it's pretty much just about the non-cheating version. 07:28:41 Oh, the commented version is not up-to-date. Oh well. 07:29:04 Yeah, I did some serious number crunching for the dc version (just a couple of hours of CPU time, but still). 07:30:38 -!- shikhin has quit (Read error: Connection reset by peer). 07:31:07 -!- MDude has changed nick to MDream. 07:31:37 -!- shikhin has joined. 07:31:59 -!- shikhin has quit (Read error: Connection reset by peer). 07:32:54 all to get from FB88?1+3%d5408*3095-*- (manual polynomial interpolation) to ?B74+I22094|3908- and then ?988-2 72889|21+ 07:35:32 I did wonder where you snatched ?988-2 72889|21+ from. 07:36:21 I got extremely lucky there :) 07:36:42 -!- shikhin has joined. 07:36:54 even so, I wouldn't be surprised if there were some shorter code for the initialisation. it's just hard to search for. 07:38:52 -!- shikhin has quit (Read error: Connection reset by peer). 07:40:44 int-e: i think your counterexample is correct (and unique up to a constant multiple in the powers) 07:42:00 s/correct/minimal/ 07:47:06 that new brainfuck problem is _definitely_ a compression problem. 07:48:13 -!- MoALTz_ has quit (Quit: Leaving). 07:49:48 not a nice one either. 07:50:20 looks a bit two-pronged 07:50:57 why +++[>+++++<-]> and not >+[>-[-<]>>]>- 07:51:48 (and how does that +[>-[-<]>>] loop work anyway?) 07:51:49 -!- shikhin has joined. 07:52:37 ok, with some luck each is the lexicographically smallest program that works. 07:53:39 (modulo the usualy problems when one solves the halting problem) 07:53:44 -y 07:54:33 -!- shikhin has quit (Read error: Connection reset by peer). 07:54:39 6^16 is a bit too large though :) 07:55:21 i think that +[>-[-<]>>] loop goes to the left of the tape end, no 07:55:53 [->+++++<] is lexicographically smaller than [>+++++<-], so there goes that theory. 07:56:26 they linked to the wiki article so probably just snatched them from there 07:57:04 yeah, that skips over the left end. 07:57:39 so let's assume there's a 0 there... then... 07:59:12 why +++[>+++++<-]> and not >+[>-[-<]>>]>- <-- i think "because the wiki article misses the latter" is a pretty obvious answer, there 07:59:30 and the reason it misses it is because the first is older and the latter isn't shorter 08:00:35 (not that i trust the wiki article to be comprehensive in any way beyond the old "shortest 2-cell wrapping" entries) 08:00:59 which i heard were found by exhaustive search 08:01:14 Oh, I copied it wrong. There's a > in front of the loop. 08:01:23 What are the brainfuck derivatives that are so old they are expemt from the guideline against creating brainfuck derivatives just because of their age? 08:01:45 b_jonas: Ook! Ook? Ook. 08:01:53 and some say, that's all. 08:02:11 Ook! definitely, and brainfuck definitely as well 08:02:29 brainfuck isn't a brainfuck derivative hth 08:02:47 it's the trivial derivative! 08:03:02 When was bitfuck invented? 08:03:04 um 08:03:08 I mean Boolfuck 08:03:10 not bitfuck 08:04:13 well boolfuck is exempt because it has actual theoretical interest. 08:04:22 whether or not it is old. 08:04:48 ok 08:05:38 isn't the trivial derivative zero... 08:06:23 aren't you zero 08:06:33 int-e: https://esolangs.org/wiki/Zero isn't among the most trivial :P 08:06:44 but it _is_ a brainfuck derivative 08:07:30 -!- shikhin has joined. 08:07:40 fancy 08:08:05 it seems to have the Turing-complete category, although afair that's still unproved 08:08:17 (but very likely) 08:08:20 or actually 08:08:28 a list of the first hundred thousand brainfuck programs. nifty 08:08:30 maybe it can be considered poved 08:08:42 non-halting ones. w/e 08:09:07 yeah 100000 _should_ be plenty enough to write a bf interpreter in 08:10:55 hmm 08:11:00 actually it fails to be turing-complete in the sense that it's not interpretable by a TM 08:11:20 dbfi is like 1300 bits ish sooooo yes. 08:11:21 but people seem to disagree on whether that's a requirement 08:11:50 oh so it's merely Turing-hard? 08:11:59 makes sense. 08:12:15 (by the analogy with NP-complete / NP-hard it should be, but people seem to disagree on whether that analogy holds) 08:12:53 it's a rather impractical notion 08:17:26 Zero⊕, where bit n of the sequence is the parity of the number of n-1-bit programs that halt 08:19:05 oerjan: also, does "Turing-hardness" require that we can construct a universal machine, or merely that it exists, mathematically speaking? 08:19:25 probably depends on your intuitionism 08:19:39 It's very weak. I like classicaly logic. 08:19:52 Oh, another stray "y", where do they come from? 08:19:52 -!- Dulnes has joined. 08:20:00 int-e: i'd think it requires constructability 08:20:07 int-e: or well 08:20:10 wait 08:20:11 no 08:21:00 it requires that we can translate any turing machine computation to it, constructively - but the constructive construction doesn't itself have to be known hth 08:21:58 (the unknown constructive construction needs to handle _all_ computations for a universal TM.) 08:21:59 oerjan: i don't think that's covered in 1984 hth 08:22:01 well, we can translate the TM into a universal machine (which we know exists even if we can't write it down) and some suitable input. 08:22:18 right 08:22:46 so even if we could not calculate a single bit of the "padding sequence" we'd still be in the Turing-hard domain. 08:23:00 -!- nooga has joined. 08:23:08 What does it mean when lambdabot says mueval-core: time limit exceeded 08:23:24 Dulnes: it means that mueval's time limit was exceeded. 08:23:32 Pssht 08:23:43 Your computation took too long! 08:23:53 >_> 08:24:09 This may happen due to circumstances unrelated to your code, like the server starting to swap heavily. 08:24:18 > 1 08:24:20 1 08:24:45 [wiki] [[Zero]] http://esolangs.org/w/index.php?diff=41272&oldid=41010 * Oerjan * (+420) /* Computational class */ 08:25:00 So, there's this tacit assumption that if a computation model is at least Turing-complete, you can construct a machine that comes preloaded with the input to any other machine 08:25:02 I need to make a language that is like the alphabet but uses ~=_<>{ charactors as letters and numberz 08:25:11 do you really 08:25:24 ~=_<>{}[]|$€£¥¢₩§^`°¿¡\«»®© 08:25:27 But if you have a language that explicitly requires its own halting sequence to work, that may not be possible 08:25:48 * Dulnes flys into space 08:26:16 Jafet: stop diagonalizing, it makes brains explode. 08:26:56 though things may be fine for languages that accept the empty program 08:27:26 Mmm that would be hard if i had to use {} [] as letter\number sequence what would i use as a bracket? 08:27:26 -!- nooga has quit (Ping timeout: 256 seconds). 08:27:42 Maybe regular letters 08:27:53 In other words, if your definition of Turing-completeness requires the translation itself to be computable 08:28:03 (by a Turing machine, I suppose) 08:28:08 Jafet: it's not that tacit, you can prove it i should think 08:28:35 Jafet: my definition does 08:28:45 Well if i compare ~ to q its the same in my perspective 08:28:52 You might run into a bit in the Zero sequence that corresponds to an unprovable theorem 08:29:00 = - w 08:29:05 And so on 08:29:07 Jafet: however my definition includes the input in what needs to be translated 08:29:32 Jafet: and _also_ allows using the input of the target, which is essential for Zero. 08:30:18 (my definition also allows a final translation of output at the end) 08:30:32 Ive got it! 08:30:45 * Dulnes flys back into space 08:31:25 something like zero, but oriented so that you can program around unprovable bits, to some extent. an encoding of something more robust than brainfuck probably. 08:31:48 L = Bracket, [ = letter 08:31:57 That definition makes sense (eg. for fractran) but I'm not sure if just using it to translate every TM to one universal interpreter in the target language is in the right spirit 08:32:03 Dulnes: btw you realize that any language which is _solely_ about using cryptic syntax is uninteresting to nearly every regular in this channel? 08:32:22 Quiet you 08:32:39 something where even though the sequence is computable the language is less ambiguously TC 08:32:52 Im trying to occupy space 08:34:32 re. space, IRC is like being on a bus with three hundred people 08:34:33 {]} £[<>{ |_<€]® = you dirty person 08:35:02 I liked cramped quarters 08:35:15 Like* 08:35:36 Sooooooon ill just be typing in wingdings 08:35:58 Or is that wingdings 2 - 3 idk 08:36:03 Jafet: we have invented the terminology "BF-complete" for languages that need to be able to deal with somewhat reasonable I/O 08:37:22 §_°°] =]<°£ 08:37:31 I think im going insane 08:37:49 maybe you should go lie down a bit hth 08:37:56 Maybe 08:38:16 Ive been scrolling to long 08:38:42 If i teach my stuff the stuff i can make the stuff 08:38:59 -!- shikhin has quit (Ping timeout: 244 seconds). 08:42:04 I can just imagine what it will look like when im done :0 08:43:13 * Dulnes dies of cafine over dose 08:45:06 [wiki] [[Pikalang]] N http://esolangs.org/w/index.php?oldid=41273 * Grotr * (+1743) Initial commit 08:46:00 [wiki] [[Joke language list]] http://esolangs.org/w/index.php?diff=41274&oldid=41171 * Grotr * (+15) /* Brainfuck derivatives */ add Pikalang 08:56:24 was Alan himself Turing complete? 08:56:59 completely turing 08:57:50 cluid: i've been wondering before whether there are rule 110 metacells of some kind 08:58:19 I wrote a CA simulator to prepare to search for things that might help finding metacells 08:59:02 oh, GG got published early today 08:59:14 priorities, priorities, gotta have them straight. 08:59:23 there's complications, though, because the max speeds of transmission leftwards and rightwards are different in "ether" than in a zero background 08:59:38 so rule 110 does not move to the right? 08:59:47 not through zeros, no 08:59:55 but through ether it does 09:00:04 ether = 1? 09:00:10 leftwards, it moves faster through zeros 09:00:35 no, ether is that special pattern that tends to quickly show up from random starting conditions 09:00:45 oh interesting 09:01:02 http://upload.wikimedia.org/wikipedia/en/b/bd/CA_rule110.png would that be the majority of stuff here 09:01:13 it's probably a big part of what makes rule 110 so intricate 09:01:52 cluid: yes, the "background" so to speak 09:02:19 that makes this metacell stuff seem a lot harder 09:02:34 yeah 09:02:53 but you might be able to make a metacell that moves at a different speed 09:03:21 so the input pattern would have to be encoded at a slope? 09:03:27 or, as i've mentioned before, with "relativistic" speed - where you don't translate time to time 09:03:45 yes, and possibly even with time sloped 09:09:32 ## ### # in rule 30 this repeats 09:09:41 i got it from wiki 09:09:46 cluid: in fact that png shows the phenomenon where any disturbance moving leftward through zeros turns into a pattern of ether possibly with "gliders" in it 09:10:17 and a spaceship too? 09:10:20 that thing going down 09:10:21 rule 30 is that other complicated rule iirc, but much harder to do anything with because it's reversible 09:10:39 cluid: well for rule 110 "glider" is the term for spaceship 09:10:41 rule30 would have to encode other reversible rules only 09:10:47 been used in papers and stuff 09:10:48 limiting search that way might be helpful 09:10:53 ah okay 09:11:10 i havent look at any research on 1D CAs 09:11:18 i wonder if its worth it to do that 09:11:24 @google rule 110 gliders 09:11:32 now what 09:11:39 Plugin `search' failed with: <> 09:11:43 @google rule 110 gliders 09:11:48 int-e: what now 09:11:58 Plugin `search' failed with: <> 09:12:07 Maybe Google is down. 09:12:09 oklopol does research on 1D CAs I think 09:12:32 cluid: the top google hit for that gives a paper with lots of rule 110 glider and repeating patterns 09:12:40 (at least it's top for me) 09:12:53 ok but im not especally interested in rule 110 09:12:58 but i wil have a look at this 09:13:19 cluid: ok, rule 110 is like the simplest rule that has gliders though. 09:13:34 well useful ones, anyway 09:17:22 Rule 110 - International Center of Unconventional Computing 09:18:43 http://en.wikipedia.org/wiki/Andrew_Adamatzky 09:19:15 He has used slime moulds to plan potential routes for roadway systems 09:19:42 He has also shown that the billiard balls in billiard-ball computers may be replaced by soldier crabs 09:19:52 http://en.wikipedia.org/wiki/Mictyris_guinotae#Crab_computing 09:21:14 a man after our heart 09:21:56 -!- dts has joined. 09:27:55 oerjan: We'd better wear some armor, then. 09:29:39 wat 09:31:43 * oerjan vaguely assumes he's missing a pun 09:32:13 http://en.wikipedia.org/wiki/Q_code these codes look similar to an instruction set 09:34:06 oerjan: Well, I mean, you want to be a bit wary if someone's after your heart. You will need it to live, after all. 09:34:24 OKAY 09:42:11 oerjan: I don't know. 09:44:29 @google what now 09:44:29 http://www.youtube.com/watch?v=b-3BI9AspYc 09:44:37 seems to have fixed itself 09:49:25 okay this got old like five minutes ago <-- it got old even while browsing it in the logs hth 10:04:14 fwiw http://oerjan.nvg.org/r110.txt is an old file i made. a bit down in it is a list of all the (6, iiuc my own notes) limiting ways for a disturbance to travel leftward into zeros. 10:05:51 some of them have the additional gliders moving at -1/2, the same as the maximal speed in ether, which means you can treat them as essentially growing a leftward infinite ether in a way that nothing can catch up with. 10:08:02 -!- nooga has joined. 10:08:49 is rule 110 known to be TC against a zero background? 10:09:01 not that i know of. 10:09:14 which is part of what made me do this classification 10:09:20 (I don't really like that ether business very much) 10:09:38 of course i don't think it's known to be TC against an ether background either 10:09:55 (you need infinite setup both ways.) 10:10:07 the ether is cool. embrace the ether. 10:11:22 I feel like this stuff is awfully difficult 10:11:28 well yeah 10:12:13 you have to search through a large number of patterns. 10:12:28 oh. the proof has periodic control structures to both sides... it's worse than I thought. 10:12:34 -!- nooga has quit (Ping timeout: 264 seconds). 10:12:41 int-e: yeah 10:13:02 is there reason to believe the simple metacell approach metaPattern = concatMap encodeCell is not working? where encodeCell :: Bool -> Vector n Bool 10:13:22 to get it working in a zero background you'd need to invent some glider guns, i think 10:13:47 we can use an ether background by having encodeCell False = ether? 10:14:02 oerjan: ok, with the given state of affairs, having something work against a plain ether background would be a great improvement. 10:14:38 mind you, i don't know if there have been recent improvements. 10:15:02 i assume it's not a very hot research area :P 10:16:17 right. no grant money in it 10:16:26 too esoteric. 10:16:47 cluid: as long as you don't require metacells to move at full speed, i don't see a real reason why that couldn't possibly work. 10:17:25 but then, the life metacell doesn't move at full speed either. 10:19:22 http://lpaste.net/115417 I've put a clearer explanation 10:19:24 because the main speed obstacles i see have to do with large fields of zeros - you cannot get anything to move rightwards into them, and you cannot _stop_ anything from moving leftwards into them. 10:19:55 and also i _suspect_ zeros are the only thing that allow maximal leftward speed in them 10:20:53 maybe simulation would have to allow for drift 10:20:56 cluid: but i'd say what you're suggesting is the "obvious" thing to try first. 10:21:25 simulations may be have to occur in a wrapping world 10:22:03 well if you want not to run out of memory... 10:23:34 cluid: you can probably do compression and hash-life like things to get simulation of metacells to have only a constant overhead. 10:24:13 that's a good idea to speed up simulation and search 10:24:48 afk 10:25:27 http://lpaste.net/115417 10:25:34 I gues I got a lead for what to search for 10:25:48 1. find repeating patterns of the same length 10:25:58 2. try putting them together and search for pyramids 10:26:20 im sure that if I try this I will fail and not find anything but if it worked that would be nice 10:37:44 -!- cluid has quit (Quit: Leaving). 10:38:55 @tell cluid "im sure that if I try this I will fail and not find anything but if it worked that would be nice" <-- this is called "research", hth. 10:38:56 Consider it noted. 10:42:15 -!- shikhin has joined. 10:44:41 -!- nooga has joined. 11:04:41 -!- Dulnes has quit (Quit: Connection closed for inactivity). 11:15:45 -!- boily has joined. 11:15:48 -!- nooga has quit (Ping timeout: 272 seconds). 11:17:18 fternoily 11:18:33 bon matørjan! 11:21:30 Good morning, boily. 11:22:38 Good morning, shachaf. 11:23:02 @localtime shachaf 11:23:02 Local time for shachaf is Mon Dec 1 03:22:21 2014 11:23:11 @time boily 11:23:12 Local time for boily is Mon, 01 Dec 2014 06:22:31 -0500 11:24:20 -!- AndoDaan has joined. 11:25:18 -!- oerjan has quit (Quit: Later). 11:55:34 -!- Patashu has quit (Ping timeout: 258 seconds). 12:23:16 -!- boily has quit (Quit: RESERVED CHICKEN). 12:56:20 -!- AndoDaan_ has joined. 12:58:24 -!- AndoDaan has quit (Ping timeout: 250 seconds). 13:12:19 -!- Phantom_Hoover has joined. 13:34:33 -!- _AndoDaan_ has joined. 13:34:43 -!- AndoDaan_ has quit (Ping timeout: 245 seconds). 13:44:57 good morning everyone 13:45:09 i have just finished breakfast 13:48:58 oren: I have just write one-half of a struct system. 13:50:12 for what platform? 13:51:05 In Heresy, my BASIC/Lisp thing. 13:51:37 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 13:53:30 [wiki] [[GridScript]] http://esolangs.org/w/index.php?diff=41275&oldid=41268 * SuperJedi224 * (+160) 13:56:24 basic mixed with lisp... yeah 'Heresy' is a great name for something like that! 13:56:45 :D 13:56:58 sounds like someything i'd like though. I started programming with Visual Basic 13:57:05 https://github.com/jarcane/heresy 13:57:39 Yeah. It started as a joke, but in the future I might like to actually use it as a sort of 'gateway LISP' for guys like me who started out in BASIC and wanna learn LISP and FP. 14:05:52 ah, it's implemented in racket! 14:06:08 good choice. 14:06:30 i used racket for a few of my courses 14:12:28 -!- _AndoDaan_ has quit (Quit: Quit). 14:21:33 oh god. pi pi pika ka chu 14:21:43 why... 14:26:44 well mightas well then 14:34:01 -!- `^_^v has joined. 14:39:04 [wiki] [[User:Orenwatson]] http://esolangs.org/w/index.php?diff=41276&oldid=41257 * Orenwatson * (+258) i hope your happy elliot 14:40:02 -!- shikhin has quit (Ping timeout: 258 seconds). 14:42:52 [wiki] [[User:Orenwatson]] M http://esolangs.org/w/index.php?diff=41277&oldid=41276 * Orenwatson * (+0) 14:46:34 You missed a "t". 14:47:19 i hope yor happy elliott 14:49:23 [wiki] [[User:Orenwatson]] http://esolangs.org/w/index.php?diff=41278&oldid=41277 * Orenwatson * (+101) added translation hth 14:50:24 yor idia yor falt elliott 14:51:32 「俺の妹はBF元着く言語を無理矢理作らせたから、学校のみんなが俺を笑う!」 14:53:30 afk 14:53:33 -!- oren has quit (Quit: Lost terminal). 15:12:55 [wiki] [[GridScript]] http://esolangs.org/w/index.php?diff=41279&oldid=41275 * SuperJedi224 * (+17) /* Command Summary */ 15:14:57 -!- shikhin has joined. 15:22:35 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 15:22:41 -!- Phantom__Hoover has joined. 15:29:25 -!- drdanmaku has joined. 15:48:08 -!- oren has joined. 16:04:38 -!- oren has quit (Quit: Lost terminal). 16:05:14 -!- Sprocklem has joined. 16:07:54 -!- oren has joined. 16:20:26 -!- oren has quit (Read error: Connection reset by peer). 16:44:27 -!- mihow has joined. 16:56:32 -!- Sprocklem has quit (Ping timeout: 252 seconds). 16:58:17 -!- Sprocklem has joined. 16:59:35 -!- oren has joined. 16:59:41 ow. I think my brain just went into an infinite loop ... 17:00:06 why did firefox hang my whole computer just now? 17:00:33 I had to restart my whole system 17:00:49 -!- GeekDude has joined. 17:01:45 is there a command line tool that will run a program but limit it to 1GB of memory total? 17:02:46 There's sandboxie I think. 17:03:07 But it might be more extreme than what you want: http://www.sandboxie.com/ 17:03:27 in C there is setrlimit. 17:03:30 You can run ulimit first, 17:03:38 *. 17:03:38 -!- Sprocklem has quit (Ping timeout: 240 seconds). 17:05:35 what the hell FF, why do you just segfault when you can't hog any more memory??? 17:05:59 it really wants ALLLLL my memory 17:07:05 A segfault from a memory limit? 17:07:11 yeah 17:07:37 if you ulimit 1000000000 firefox just segfaults as soon as it starts 17:07:50 what a hog 17:08:08 it needs 1400000000 just to start up 17:08:30 I remember when XP needed 64 meg and we called it a hog 17:08:39 god damn 17:09:15 … 1.4 TB? 17:09:22 1.4 G 17:09:36 i am using oftlimit 17:09:41 softlimit command 17:09:49 which is in bytes 17:11:38 if you do softlimit -a 1000000000 firefox it segfaults 17:11:55 -!- b_jonas has quit (Ping timeout: 250 seconds). 17:12:28 -!- b_jonas has joined. 17:14:52 ok so to prevent firfox form hanging and eating my whole system 17:15:12 i'm gonna compromise and use softlimit -a 1500000000 17:15:28 limit it to 1.5 GB. 17:15:52 that allows it to start up but stops it if JS starts to hog everything 17:16:11 -!- nortti has changed nick to lawspeaker. 17:17:33 Funny, I don’t even know that problem. Must be NoScript. 17:17:45 -!- lawspeaker has changed nick to nortti. 17:17:50 -!- bb010g has quit (Quit: Connection closed for inactivity). 17:18:00 Or possibly it merely gets lost in the underflow. 17:18:12 I use noscript too but if you allow too many tabs to run 17:18:26 it can stillhappen asit did 5 minutes ago 17:18:36 i had to hold down power button 17:18:53 eight megs and constantly swapping 17:19:01 now emacs is a model of leanness 17:19:10 yeah 17:19:26 FF needs 1.5 GB! GB! 17:19:43 unbelievable to the me of 2000 17:20:01 (yes I knew what a GB was when I was 7) 17:20:11 Mine normally eats about 6GB … 17:20:40 wowww what? 17:20:42 That’s what I get for over 9000 tabs open. 17:20:46 ah 17:21:19 yeah i only have a few GB of memory total 17:21:43 2 GB 17:22:13 * Melvar has a look on his netbook. 17:22:37 this laptop cost me 260 dollars 17:22:57 it is very very cheap 17:24:25 -!- nortti has changed nick to lawspeaker. 17:24:56 my pet peeve is when things that used to work on an old laptop stop working... 17:25:08 like recently my chromebook has been having cpu load issues with netflix and youtube 17:25:12 which worked perfectly fine for years 17:25:32 so either the software got more bloated on my chromebook or the codec choices on the server got more demanding 17:26:20 there should be a button on firefox that stops all JS on the page 17:26:28 life in the cloud... 17:26:41 so i can hit it when the memory spikes 17:26:55 like ctrl-fuckjs 17:27:09 ctrl-j 17:27:15 perhaps 17:27:40 -!- cluid has joined. 17:27:42 hi 17:27:42 -!- lawspeaker has changed nick to nortti. 17:27:45 hi 17:28:12 we were talking about how FF is a memory hog 17:29:13 X by itself used to hog memory, now FF uses 4 times as much 17:30:57 and everyone is for some reason fine with that 17:31:27 when moores law hits a fundamental limit, everyone will be in for 17:31:28 I am interested in Gopher 17:31:31 1) browsers turn out to be really useful these days, 2) in dollar amounts, its not using that much memory 17:31:31 a giant shock 17:31:40 Gopher is extremely light weight 17:31:47 You can implement it with low memory in a page of cod 17:31:48 code 17:31:55 honestly i'm more concerned about browsers security issues than its memory consumption issues 17:32:14 the http protocol itself is not elegant but is not that complicated 17:32:31 web standards have grown ridiculously out of proportion 17:32:33 TLS is a bit ... but its also very useful... 17:32:36 when a page of JS can hang my system it is a giant security issue 17:32:57 maybe you should be using chrome and not ffox ;-) 17:33:01 JS should be implemented ina resource bounded way, not using crazy JIT stuff to run it as fast as possibl 17:33:24 does chrome put a limit on the amount of memory one tab uses 17:33:41 firefox hung my system with 1 tab open. 1. 17:33:44 I don't like chrome, it's annoying that i can't use proxies 17:34:04 oren: What was in the tab? 17:34:20 discourse forum on dailywtf 17:34:54 you can use proxies with chrome. i use proxies all the time with chrome 17:35:05 i am now running FF with a resource limit of 1.5 G 17:35:09 Okay, the firefox on my netbook starts out at 180M, and it is by no means empty. 17:35:13 it does not let me 17:35:19 you're lucky 17:35:35 maybe you dont have as much malware, melvar. 17:36:02 i am using a whole bunch of plugins 17:36:21 hold on lemme disable them and we will see if they are the problwm 17:37:00 -!- MDream has changed nick to MDude. 17:38:10 Oh yeah, I don’t think there’s flash on my netbook … 17:38:20 javascript is a bad language 17:38:32 flash is in a separete process so it isn't being counter 17:38:35 counted 17:38:55 -!- S1 has joined. 17:39:06 1.1 GB at startup, one tab, google with most of my addons disabled 17:39:08 Oright, but then the same counts for other plugins. Unless you actually meant addons. 17:39:36 i dont recognize that there is a difference 17:39:51 its the same thing anyway 17:40:13 Phew. Done: http://pasterack.org/pastes/73293 17:41:22 sisabled adblock plus and we are down to 0.9 gb 17:41:28 cool J_Arcane 17:41:35 actually more like 1 gb 17:41:43 9.7 17:42:07 9.7*10^8 17:42:09 b 17:42:16 IIRC, Plugins are out-of-process programs using NPAPI, addons are JS+(HTML/XUL)+CSS packages inside the browser. 17:42:35 addons are in JS?!?!? FUUUUUUUUUU 17:42:38 yes 17:42:51 the architecture of browser seems to encourge plugins being js 17:43:00 thats why they eat memory like my uncle at a bbq 17:43:05 With regards to firefox, “plugin” and “addon” are technical terms. 17:43:06 lol 17:43:29 actually he's lost weight these days 17:43:40 so nvm 17:43:48 Firefox exists to eat memory. 17:44:01 Gopher clients dont generally eat memor 17:44:02 y 17:44:03 Nah, it exists to keep my life-state in. 17:44:15 The other day I found a rant from 2006 complaining about it consuming 1GB of memory. 17:44:17 you can interact with gopher using a simple command line client 17:44:33 I laughed and laughed ,because it's still as bad. 17:44:48 well as i said XP needed 64 megs and we called it an abomination 17:45:09 what OS uses low memory? 17:45:11 I guess BSD? 17:45:17 minix 17:45:24 also DOS 17:45:45 [wiki] [[GridScript]] http://esolangs.org/w/index.php?diff=41280&oldid=41279 * SuperJedi224 * (+45) /* Ackermann Function */ 17:46:27 my aunt still runs DOS with WordPerfect to do her work 17:46:34 as a theologian 17:46:42 cluid: FreeBSD is pretty nice, yes. 17:47:15 floppy disks 4eva 17:47:22 FF literally eats more memory than my entire OS, Xorg, window manager, and emacs put together. By multiples. 17:47:35 exactly. WTF. 17:48:00 The only time my firefox eats more than expected is after I reconnect to the network when the router faceplanted. It seems proportional to how long it has been running, but I have yet to figure out what it actually tries to do then. 17:48:57 Melvar: Runtime affects it, yes. It leaks memory. It literally has since beta, and it's never been fixed. There are joke websites about 'how long until the FF memory leak will be fixed'. It's a well known issue. 17:49:23 web browsers are the new OS 17:49:44 In the early days it was a running joke that the new patch notes would announce they finally fixed the memory hole. And then so would the next, and the next, and ... 17:49:51 [wiki] [[POGAACK]] M http://esolangs.org/w/index.php?diff=41281&oldid=41261 * BCompton * (+2) Fixed dead link template 17:49:56 J_Arcane: I mean, this only happens when I reconnect to the internet after falling off, and why that is is what I can’t figure out. 17:50:28 Melvar: Yeah, that is an odd case. Maybe something in it starts duplicating processes attempting to reconnect? 17:50:37 Also, I expect they keep fixing memory holes, but new ones get introduced at about the same rate. 17:51:33 ugh. from now on i'mma use a site to download youtube videos instead of using the stupid youtube player 17:51:59 youtube-dl command line program 17:52:10 YES someone make that 17:52:11 Well, no, it starts *after I reconnect*. And the growth is proportional to the running time, not the previous held memory. 17:53:01 oren: It’s there, I’ve been using it for ages for videos I want to sit back and enjoy, ’cause my pipe isn’t fat enough to stream even 720p reliably. 17:53:09 Melvar that sounds like a bug from terrible design... why would firefox even need to know how you are connected. 17:53:34 I actually select the video url and press super+y to start downloading the video. 17:54:08 oren: Outside of actually trying to load something, yeah. 17:54:09 awsome 17:54:56 This involves a WM keybind and a script that uses xclip and youtube-dl. 17:55:20 meh, i'll just CC CV into the command line 17:56:04 it would b egood to use more technologes that are not web based 17:56:10 e.g. Gopher 17:56:10 with this i have no more reason to use FF instead of lynx 17:56:20 goodbyefirefox 17:58:08 seriously this is the best 18:01:23 -!- FreeFull has quit (Ping timeout: 245 seconds). 18:02:08 -!- FreeFull has joined. 18:02:08 -!- FreeFull has quit (Changing host). 18:02:08 -!- FreeFull has joined. 18:05:11 -!- cluid has quit (Quit: Leaving). 18:14:38 Holy crap this is cool. Gambit Scheme inside Emacs running inside a browser tab: https://feeley.github.io/gambit-in-emacs-in-the-browser/ 18:16:10 I use a lot of terminal stuff mostly because my first computer was Redhat Linux without X 18:16:25 my second computer was WinXP 18:16:57 I do not have a grudge against either and cannot understand why anyone would 18:18:03 but things inside browsers really make me annoyed 18:18:18 like soundcloud whyyyyy 18:18:38 what was wrong with downloading music before playing it 18:18:50 or while playing it 18:19:49 but yes browsers are recapitulating the history of operating systems 18:20:41 oren: It's basically the thin-client race all over again, only they're starting to win. 18:20:46 I blame Microsoft. 18:20:54 I blame google 18:21:27 If Windows apps weren't shit, people wouldn't have started this crap in the first place. 18:21:33 -!- nooga has joined. 18:22:33 firefox and chrome is like windows 95 vs unix in terms of multitasking 18:22:48 Yes. 18:23:07 Chrome has issues, but the sandboxing and process management is way better most of the time. 18:26:05 well for playing music i'm not about to switch from vlc -Incurses 18:26:49 to soundcloud inside chrome 18:27:56 hmmm i should make an ncurses module for scrip7 18:28:18 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 18:28:46 or maybe an ncurses module for befunge 18:29:04 (though i dunno if befunge is easily extensible) 18:32:04 There is already a ncurses fingerprint for Funge-98. 18:32:13 It's called NCRS. 18:33:23 Implemented at least by cfunge and Rc/Funge-98, IIRC. 18:33:43 aha 18:34:24 And CCBI too. 18:34:40 I do wish Racket had PDCurses support; or at least better libtcod bindings that actually work. 19:01:26 -!- S1 has changed nick to S0. 19:05:40 -!- GeekDude has joined. 19:23:56 -!- Sauvin has quit (Remote host closed the connection). 19:24:32 http://jarcane.github.io/blog/2014/12/01/inventing-a-thing.html 19:27:19 -!- S0 has changed nick to S1. 19:29:11 J_Arcane: cool! yeah, the racket structs are a pain 19:33:47 -!- G33kDude has joined. 19:34:59 -!- GeekDude has quit (Ping timeout: 256 seconds). 19:35:05 -!- G33kDude has changed nick to GeekDude. 19:36:17 -!- myndzi has left. 19:36:27 -!- myndzi has joined. 19:41:09 old skool 19:41:38 [wiki] [[Pikalang]] http://esolangs.org/w/index.php?diff=41282&oldid=41273 * Zzo38 * (-37) 19:44:34 oren: that 1.5 GB may not be measuring what you think it is. 19:45:52 oren: if you're using adblock plus don't blame firefox for memory usage :) it's a massive memory hog 19:47:04 i disbled it which reduced usage to 1.1 GB. that's still a hog 19:47:16 meh, was the entire backlog today nerds complaining about boring stuff? 19:47:51 yah i think so... J-Arcane wrote a cool BASIC-Lisp hybrid 19:48:15 oren: and are you sure that 1.5 GB is measuring what you think it is? http://virtualthreads.blogspot.co.uk/2006/02/understanding-memory-usage-on-linux.html https://stackoverflow.com/questions/7880784/what-is-rss-and-vsz-in-linux-memory-management 19:49:44 its the VIRT column on top? 19:49:56 which i think also includes swap usage 19:50:28 you should probably at least read the SO answer. measuring memory usage is non-trivial and a column saying "1.5 GB" doesn't really correspond to 1.5 GB closer to running out of RAM. 19:51:37 a lot of times processes on my netbook have more in the VIRT column than i have ram chips. weird, right 19:51:40 anyway, firefox uses a lot of RAM but most of the absurd figures are down to bad measurement or addons 19:51:58 actually doesn't firefox have an internal memory usage thingie 19:52:01 about:memory or something 19:52:06 chrome does, at least. maybe ff too 19:52:29 well firefox segfaults if i run it with a ulimit of 1 GB 19:52:31 a lot of people like to say chrome uses tons of RAM because it uses multiple processes and it looks like every process is using tons of memory because it's sharing stuff with the others 19:52:46 i googled a big before realizing that i was googling using firefox and could just check. 19:52:46 oren: and what is that ulimit limiting? do you know what that ulimit means? 19:52:48 a bit 19:52:59 whoops not ulimit the other one 19:53:45 softlimit -a 1000000000 firefox 19:53:53 "19.73 MB (01.60%) ++ top(https://www.google.com/search?q=firefox+about+pages" how ironic 19:53:55 limits all memory 19:54:03 "all memory" huh 19:54:19 like all the memory put together 19:54:27 apparently 19:54:49 That doesn't mean much of anything. 19:54:51 the total of all segment sizes 19:55:28 okay, I'll stop linking you helpful information to try and clear up any misconceptions you have, since it seems you're certain you don't have any. 19:55:46 well how come it segfaults? 19:55:54 read the fucking links then ask 19:55:55 elliott: htop reports that chrome causes about 1GB more memory to be used, or thereabouts 19:56:03 a bit less when I first spin it up 19:56:19 COOL FACT: the .bss segment is reserved for memory that starts off as all zeroes. WEIRDLY, programs do not just reserve the size of the bss on physical ram chips and zero it out. WHO KNOWS WHY THOUGH 19:56:26 it also uses a lot of CPU 19:56:36 doesn't that mean they tried to allocate something with malloc, it returned null and they gnored that? 19:56:50 no. what the fuck? 19:56:56 that's the only legitimate reason for a segfault 19:57:09 in a prperly made app anyway 19:57:30 ah yes, properly made apps don't even bother checking malloc's return value 19:57:37 You don't know how memory works, shut up about "properly made" if you're not only going to not know things but refuse to learn things. 19:57:49 coppro: sure. I can believe that. I have my doubts about the measuring process being used for this firefox figure, though. 19:58:09 if malloc returns null what areyou going to do? keep in mind you might need memory to do it. 19:58:10 I do think it's more or less irrelevant though, the far more relevant question is how the memory usage grows with additional tabs 19:58:25 oren: you don't need any RAM to check for NULL and print out an error message and abort 19:58:42 please stop assuming I'm more ignorant than you, it's really condescending. 19:59:11 if you're going to print an error then abort,that's ok for console. Firefox is a X program 19:59:15 some programs even gracefully recover from malloc failure! though it's tricky to trigger one on linux by default 19:59:34 oren: malloc failing doesn't take away any of your previous memory. you can reserve some at any point previously 19:59:35 setrlimit to some low value 19:59:59 will cause malloc to fail in many programs 20:00:11 I can practically guarantee you firefox checks the return value of malloc, if only to abort()... 20:00:26 i don't understand how it can segfault then 20:00:26 (well, okay; I suppose it probably mostly uses C++ new or such) 20:00:43 just from limiting its memory 20:00:52 well, I'm not saying it doesn't have any bugs. anyway, do you know about overcommit and the OOM killer? 20:01:08 if you want to be testing malloc failures the default linux configuration is a bad one, since it's unlikely to produce any. 20:01:25 -!- ais523 has joined. 20:02:42 like i said, if you setrlimit malloc will fail right? 20:02:45 -!- perrier has quit (Remote host closed the connection). 20:03:00 I don't know how rlimits interact with overcommit/OOM killer behaviour. 20:05:43 brk and sbrk fail when the rlimit has been set. src:man setrlimit 20:06:38 btw i'm not assuming you don't know anything 20:06:47 but memory isn't only allocated through brk and sbrk. firefox uses jemalloc; that uses mmap too 20:06:48 i just am describing my understanding 20:06:59 elliott: the rlimit affects how much can be overcommitted 20:07:08 as in, any memory malloc claims to have given you counts against the rlimit 20:07:13 ais523: right 20:07:20 once the limit is reached, malloc returns null 20:07:31 ais523: firefox doesn't use libc malloc, though, for one 20:07:39 the kernel doesn't know about malloc, really... 20:07:41 -!- Patashu has joined. 20:07:44 i should write my own malloc. 20:07:47 RLIMIT_AS limits brk, mmap and mreamap 20:07:50 elliott: to be precise, sbrk and mmap return null 20:07:54 i guess doing it in terms of mmap is the thing. 20:07:59 right. 20:09:11 TeX implements its own memory allocation. SQLite can use its own memory allocation too. Lemon and bzip2 both allow you to specify your own alternate memory allocation instead of using malloc/free. 20:09:33 -!- augur has quit (Remote host closed the connection). 20:13:09 And RLIMIT_AS also limits things that are not really "using" memory, like mmap'ing actual files. And will count things like shared memory blocks and libraries as if the process in question was their only user. 20:13:12 I vaguely recall we had that discussion about the address space use of a "hello, world" Java program on the Sun JVM being , due to . 20:13:50 "Related fun fact: the x86 architectures have a direction flag that can be set to cause the processor to run backwards. This is how the backwards copying overlapping memmove is implemented." meh, I was hoping this meant the ip actually moves backwards, but it's hyperbole 20:14:10 -!- augur has joined. 20:14:32 Just the *si/*di register postincrement/decrement, sadly. 20:14:53 still waiting for x86 increment immediate 20:15:41 istr JVM needing something like 2GB virtual memory to start at all (after running into a badly set ulimit), but that was virtual memory 20:16:06 fis 19104 2.0 0.1 6555876 28496 pts/1 Sl+ 22:14 0:00 java -cp . tmp 20:16:20 Six and a half gigs of address space, ~28 megs resident. 20:16:28 so is or is not RLIMIT_AS a good way of estimating how much memory firefox is actually using? 20:17:47 or which RLIMIT is the right one? 20:18:41 Bike: like, it would self-modify the instruction? 20:18:52 http://sprunge.us/QMWR <- not unless you think that meant it takes more than 4 gigabytes to run a trivial Java program. 20:18:56 yes. i've heard vax had it but that might be wrong. 20:19:06 There is no "right one". 20:19:13 -!- Phantom__Hoover has quit (Ping timeout: 272 seconds). 20:19:30 firefox gives you a thing to analyze its memory usage. i think it is a good place to start. 20:20:01 i can't analyze it after my system hangs 20:20:48 from huge memory usage on certain websites by firefox 20:20:52 for example, it has "heap-allocated" of about 772 MB here. top shows 2600 MBish VIRT. so, i mean. 20:21:53 oren: you can easily measure memory usage at startup with it, though. 20:21:56 https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Emscripten/Techniques/Out_of_memory_error_reports here's something 20:23:12 hm i think that's for js though 20:23:50 this morning i went on dailywtf forums, and my whole system froze and i had to hold down power button 20:24:17 that is how i came to this problem 20:24:34 that was your browser protecting you from that site 20:24:55 -!- ais523 has quit (Read error: Connection reset by peer). 20:25:02 it can also happen on games written in JS 20:25:02 -!- ais523 has joined. 20:25:38 -!- Patashu has quit (Ping timeout: 240 seconds). 20:25:52 i want firefox to die of a segfault instead of hanging 20:26:15 that is how i found out that setting the limit to 1GB or less causes immediate segfault 20:26:23 How do you know it's memory usage? 20:26:35 it is RLIMIT_AS 20:26:44 oh the hang? 20:26:48 No, I mean how do you know the hangs are caused by memory usage, yes. 20:27:42 i know because the hard disk light turns on and doesn't turn off, indicating swapping constantly 20:28:00 also because i once watched it happen on top 20:28:14 when i went to ctrlalt f1 20:28:21 and opened top 20:28:30 it had 100% memory used 20:29:04 how much RAM do you have, by the way? 20:29:08 2GB 20:29:19 that should be enough for anyon 20:29:25 anyone 20:29:29 as your hours of complaining demonstrate, it clearly isn't. :p 20:29:39 are you using a 64-bit OS? 20:29:43 yes 20:29:45 then stop. 20:29:48 that should be enough for anyone -- bill gates, never 20:29:49 what? 20:29:55 huh? 20:29:56 -!- bb010g has joined. 20:29:58 you only have 2 gigabytes of RAM and 64-bit OSes use more memory! 20:30:02 the pointers are bigger! 20:30:09 the horror 20:30:10 it's not insignificant. 20:30:24 my 2 gb netbook uses 64 bit, the old model was 32 bit 20:30:25 there's a reason that the x32 ABI (x86-64 + 32-bit pointers) is a thing. 20:30:26 bah, that means i effectivly have 1GB that is still a lot 20:30:34 * elliott sighs 20:30:36 alas, i liked finding books on the obscure "x86" architecture" 20:30:40 bugs, not books 20:30:43 though i also found books. 20:30:44 you're just looking for an argument, not help, right? 20:31:15 well what do i do if i want firefox to segfault instead of freezing the whole ubunut? 20:31:26 is or is not RLIMIT_AS the one i want? 20:31:39 fizzie: you wanna take over? 20:31:40 I believe VAX has a "increment immediate" instruction; x86 doesn't have any such thing. 20:31:49 do you want it to segfault if it mmaps a big file? no? well, there you go then 20:31:59 why would it do that? 20:32:25 its a web browser not a database 20:32:29 oren: If you can manage to set a RLIMIT_AS that's both large enough for Firefox to run and small enough so that you can fit the limit plus the rest of your system in your physical memory at the same time, maybe that could be a practical solution. 20:32:44 oren: It doesn't sound terribly likely, though. 20:32:48 crap 20:33:12 elliott: I doubt I'll have anything more constructive to offer than "things don't look good" + "look for lightweight browsers". 20:33:23 (They'll all suck, of course.) 20:33:34 well i guess i can use lynx for almost everything 20:34:06 except some of my school websites 20:34:37 you could just install a 32-bit OS, which would have a measurable concrete benefit and not involve guessing what random rlimits mean. 20:34:44 -!- callforjudgement has joined. 20:35:06 ormaybe ill just buy a new laptop 20:35:08 btw, I bought a really cheap laptop recently, and it still had 4 gigabytes of RAM (but a 1.5 ghz processor). 20:35:13 you picked cheep laptop unwisely :p 20:35:15 *cheap 20:35:33 this one is already 1.5 years old 20:35:57 i tend to replace them every 2 years anyway 20:36:09 you could buy a more expensive laptop that would last 4 years 20:36:11 This one has 4GB and it's second hand and I believe the previous owner had it for years 20:36:28 this one cost 260 bucks 20:37:00 (Speaking of browsers and their memory use, Chrome's own task manager says the GPU process is using 800 megs of it.) 20:37:17 oren, this cost me £50 20:37:38 50 punds = how many canadian dollars 20:37:53 oh, canadian dollars? no wonder it was bad 20:38:04 -!- ais523 has quit (Ping timeout: 258 seconds). 20:38:04 -!- shikhout has joined. 20:38:10 -!- callforjudgement has changed nick to ais523. 20:38:17 the one I bought cost more like 400 CAD, but everything is expensive in europe 20:38:24 -!- shikhin has quit (Disconnected by services). 20:38:32 -!- shikhout has changed nick to shikhin. 20:38:48 canadian dollars ar not worth much 20:38:52 oren, $89.20 20:38:58 thats why we got rid of our pennies 20:39:20 elliott: Speaking of which, your capital city seems stupidly expensive. 20:39:42 fizzie: yes. 20:39:51 elliott: I don't understand why my unnamed future employer must be in there of all places. Except maybe it's "hip"? 20:39:51 fizzie: you can probably make a trade-off with commutes, but... 20:40:10 haven't you named that employer in here already? 20:40:17 -!- Sprocklem has joined. 20:40:37 elliott: Only over the speech recognition, so I have plausible deniability. (I don't know why I did that, it's not a secret.) 20:40:56 everyone will know you're going to work for microsoft 20:41:01 *lycos 20:41:05 *altavista 20:41:15 *astalavista 20:41:17 i worked for Bering MEdia 20:41:28 it was fun 20:41:38 I remember Astalavista, but not what it actually searched. 20:41:49 Oh, the crack place? 20:42:07 yeah 20:42:10 Sorry, "computer security information" place. 20:42:22 is this bering media company entirely dedicated to creepy ad targetting 20:42:35 yes 20:43:20 i, an intern had access to the names, phone numbers, mailing addresses of many many people in theUS 20:43:37 (my NDA is over so nyah nyah) 20:43:37 so much for "doubleblind privacy(TM)" 20:43:57 well i didn't have their IP addresses 20:43:58 Privacy is a popular topic today – the online advertising debate of privacy versus functionality is a big conversation in the media. Too often privacy is viewed at odds with the goals of industry, but we think that’s the easy way out. 20:44:06 thats what it actually means 20:44:14 What does "zip+4" mean? 20:44:23 fizzie: those extended US zips, I think? 20:44:25 it is a mailing address 20:44:29 like 123456-1942 or something 20:44:34 I think they target a residence directly 20:44:48 i could send anyone a letter 20:44:52 An extended ZIP+4 code, introduced in 1983, includes the five digits of the ZIP code, a hyphen, and four more digits that determine a more specific location within a given ZIP code. 20:45:09 it usually at least targets the specific building 20:45:19 I C. 20:45:40 anyway the idea was you could target an area by centre and radius 20:45:44 with web ads 20:46:22 Re Bering Media, I was at least amused by that blog post title on the front page: "The EU ‘cookie law’: what has it done for us?" 20:46:26 Sadly, it was not a link to a Monty Python parody. 20:46:55 when i was there they only had the USA 20:47:05 even though it is a canadian company 20:47:37 actually we only had names for some of the database 20:47:41 -!- dario has joined. 20:47:59 i think it was compiled from public information 20:48:15 but having all of it in one place is kind of... 20:49:36 yes now i remember, they got most of the info from the US postal service somehow 20:50:32 and then the ISPs cooperated to associate ip's with locations 20:50:54 they had deals with several medium size ISP's 20:51:34 ew. 20:51:39 although all of that is public if you read the blogs of the company 20:52:15 to be fair however almost 100% of clicks on ads come from bots 20:52:27 that is another thing i learned there 20:52:49 hello 20:52:53 so the websites with highest click counts are websites almost no-one uses 20:53:48 `relcome dario 20:53:51 ​dario: 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.) 20:54:13 and the people who click a lot on ads are people with virus-infected machines 20:54:31 that is, Russian-controlled botnets 20:54:59 hello dario 20:55:10 hello oren? 20:56:17 the other reason i can talk about bering media is because my boss at the time quit the company 20:57:52 becuase he did'nt like what they were doing 20:59:29 the problem is that no-one wants to pay for bot-clicks, but websites want bots to click 21:00:01 the web ad industry is under attack from both ends 21:03:28 so they write code to try to identify the user so they can 'ban' robots 21:04:06 but it doesn't really work becuase a large botnet can issue one click for each of its nodes 21:04:36 and that adds up to a fe dollars worth of clicks 21:05:23 which the ad network has to pay for and charge the client 21:05:37 oren: almost 100% of ad clicks coming from bots doesn't surprise me at all 21:05:44 most people don't follow ads at all 21:06:28 actually, many advertisers are in favour of adblock because of this, it means they aren't charged for views that probably wouldn't lead to a follow anyway 21:06:52 -!- Bicyclidine has joined. 21:06:59 but the people who use advblock are least likely to be infected 21:07:18 by botnets 21:07:54 i dunno the whole thing seemed unsolvable to me 21:09:27 which is why i didn't think what they were doing was wrong, just pointless 21:09:58 oren: I also concluded that internet adverts are probably pointless 21:10:18 distinguishing a bot from a human when neither is cooperating with you is probably impossible 21:11:00 over a network, i mean 21:11:07 oren: right, that seems like an even harder problem than CAPTCHAs 21:11:32 because for CAPTCHAs, at least the humans are cooperating 21:11:35 they had an idea involving checking how fast the mouse moved over the ads 21:11:49 easily fakable once the botnets determine that that's what's happening 21:12:02 which wouldn't take them long if your ad network was at all large 21:12:13 Don't be so discouraging, internet ads pay my (future) salary. :/ 21:12:17 the bots move at human speeds already 21:12:48 hey the industry is thriving even if everyone in it knows it's kind of a sham 21:13:29 because people see the ads even if they don't click 21:13:40 and advertisers think that's enough 21:14:05 oren: well, for TV ads 21:14:07 you /can't/ click on them 21:14:12 and yet they're still pretty popular 21:14:48 and the endless hordes of untechnical users make up for nerds using adblock 21:15:35 adverts probably aren't the right way to contact the nerds anyway 21:16:29 interestingly there is a browser that comes with adblock: maxthon 21:16:49 but only even bigger nerdsthan me use that 21:16:51 most email clients have adblock nowadays 21:16:58 well yeah 21:18:13 actually, interesting that web ads are so much easier to block 21:18:24 because all the ad companies use complex third-party hosting methods and the like 21:19:36 You can also use filters with whatever email client you are using; or define a filter that comes before the client is another way 21:19:58 rather than just getting the sites displaying the ads to also serve the ads, which would be the sensible way (also, a rather less evil way because then the ad company doesn't get tracking data) 21:20:08 actually that's probably why they don't do things sensibly 21:20:23 -!- Froox has joined. 21:22:38 tracking is important because you don't want 50 clicks from one computer 21:23:04 so yeah 21:25:03 -!- Phantom__Hoover has joined. 21:25:21 oren: you see the clicks, just not views 21:25:32 because you still control the destination of the link, just not the source any more 21:25:38 -!- nooga_ has joined. 21:26:08 -!- yorick_ has joined. 21:28:20 -!- puritania has joined. 21:28:54 -!- aloril_ has joined. 21:33:46 heyeverybody.avi 21:34:50 -!- S1 has quit (Disconnected by services). 21:34:52 -!- puritania has changed nick to S1. 21:35:49 -!- nooga has quit (*.net *.split). 21:35:51 -!- Frooxius has quit (*.net *.split). 21:35:55 -!- yorick has quit (*.net *.split). 21:35:55 -!- aloril has quit (*.net *.split). 21:40:54 `olist 969 21:40:57 olist 969: shachaf oerjan Sgeo FireFly boily nortti 21:43:42 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 21:44:03 what does olist do 21:44:30 Notifies people. 21:44:45 `` ls bin/*list* 21:44:48 bin/danddreclist \ bin/dontaskdonttelllist \ bin/don'taskdon'ttelllist \ bin/emptylist \ bin/erflist \ bin/list \ bin/listen \ bin/llist \ bin/makelist \ bin/mlist \ bin/olist \ bin/pbflist \ bin/pbflistdeluxe \ bin/slist \ bin/smlist \ bin/testlist 21:47:22 `rot13 test 21:47:24 grfg 21:47:36 `echo test | rot13 21:47:38 test | rot13 21:47:42 `! echo test | rot13 21:47:43 ​/hackenv/bin/!: 4: exec: ibin/echo: not found 21:47:49 `` echo test | rot13 21:47:51 grfg 21:47:53 good 21:48:01 `` rot13 rpub sbb \ rpub one 21:48:18 `cat bin/testlist 21:48:20 echo foo \ echo bar 21:48:22 FireFly: but i have /hilight on the rot13 of my name :'( 21:48:43 Good thing you weren't in the testlist, then 21:49:08 -!- callforjudgement has joined. 21:49:13 -!- ais523 has quit (Disconnected by services). 21:49:15 -!- callforjudgement has changed nick to ais523. 21:49:22 Also who doesn't enjoy fun puns 21:49:23 I'm disappointed that `list stopped working :-( 21:50:16 The danddreclist is my own one and there are many others too 21:50:25 `cat bin/makelist 21:50:27 cp bin/emptylist bin/"$1" 21:50:36 `cat bin/emptylist 21:50:41 echo -n "$(basename "$0")${@:+ }$@: "; tail -n+2 "$0" | xargs; exit 21:50:45 Huh, fancy 21:51:29 You can be notified of these list in many ways: [1] Notify when your name is mentioned, if it is on the list. [2] Notify when the list command is entered (for example, if a message starts with "`danddreclist"). [3] Access the logs and find a message where the command is entered. 21:51:43 I don't know if these programs can access the internet; that would be another way though. 21:52:59 olist is for Order of the Stick updates 21:53:38 -!- J_Arcane has quit (Ping timeout: 240 seconds). 21:54:08 zzo38: HackEgo is at least capable of downloading from the Internet, but I think possibly it can only do that on specific commands 21:54:10 See if the wisdom directory contains information about it? Perhaps that can help too 21:54:31 ais523: Is it still? I thought that stopped working. 21:54:42 zzo38: They used to have access via a proxy server that only allowed certain whitelisted pages. 21:54:49 shachaf: not sure 21:54:59 But that at least may have stopped working. 21:55:18 I think `fetch still works? Not sure. 21:55:25 fizzie: I was thinking of `fetch 21:55:34 `fetch http://nethack4.org/pastebin/nonexistent-page 21:55:39 http://nethack4.org/pastebin/nonexistent-page: \ 2014-12-01 21:54:55 ERROR 404: Not Found. 21:56:15 oh, hmm 21:56:19 not sure which of these are HackEgo 21:56:28 someone here is running a link-looking script 21:56:51 Send the message privately to HackEgo then. 21:56:55 HackEgo is 162.248.166.242 21:57:00 Do you log user-agents? 21:57:39 [wiki] [[Mmmm()]] N http://esolangs.org/w/index.php?oldid=41283 * SuperJedi224 * (+1464) Created page with "Mmmm() is an esoteric "microlanguage" by SuperJedi224, inspired in part by [[Brainf***]]. The only characters the interpreter actually pays any attention to are "M", "m", "("..." 21:58:40 Someone should make a language called Brainf***. 21:58:42 fizzie: yes 21:59:07 Hmm, could I treat modulo arithmetic as the motivating example for quotient groups? 21:59:09 shachaf: we have it mentioned as one of the bowlderlizations of brainfuck 21:59:15 together with B****fuck 21:59:45 And then you should also need B****f*** and b******** and if you *really* want to be really confusing, even ********* 22:00:19 [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41284&oldid=41283 * SuperJedi224 * (+12) 22:00:26 And b7k. 22:00:26 ***i**uc* 22:00:41 zzo38: What word is "*really*" supposed to be? 22:01:22 wheelies 22:01:36 The asterisks are supposed to be unmentionable characters so you cannot actually type the proper one 22:01:37 [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41286&oldid=41284 * SuperJedi224 * (+11) 22:02:11 What's the lowest N in widespread aNb's? There's l10n with 10. Maybe 7 is too low. 22:02:28 shachaf: there are no words that match that in my /usr/share/dict/words 22:02:44 although if you treat the * as an actual *, not ? 22:02:57 you have "ethereally" and "funereally" as well as the obvious "really" 22:03:18 There is also "preallying" 22:03:31 Which has letters on both sides. 22:03:36 not in my dictionary 22:03:43 "cereally". In a cereal manner. 22:03:49 -!- dario has quit (Quit: Ex-Chat). 22:04:01 I use /usr/share/dict/words/american-english-insane 22:04:42 presumably that contains more words than the regular dictionary? 22:04:55 No, it only contains insane words 22:05:19 Didn't realize it was an actual adjective. 22:05:22 The adj cereal has 1 sense (no senses from tagged texts) 22:05:23 1. cereal -- (made of grain or relating to grain or the plants that produce it; "a cereal beverage"; "cereal grasses") 22:05:38 [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=41287&oldid=41210 * SuperJedi224 * (+13) 22:07:27 -!- Sprocklem has quit (Ping timeout: 264 seconds). 22:07:29 fizzie: I don't consider that an adjective, it's a noun used as a modifier 22:07:44 you can swap "cereal" out for pretty much any other concrete noun and the examples still make sense, that's how you can tell 22:08:32 -!- Bicyclidine has quit (Ping timeout: 258 seconds). 22:08:53 -!- Sprocklem has joined. 22:10:15 -!- Bicyclidine has joined. 22:11:43 http://sourcereal.com/ 22:12:08 ais523: a cereal dog 22:12:35 elliott: a dog that's good at sniffing out cereal, I guess 22:12:45 it's a meaningful combination, just not one you'd be likely to use 22:13:10 [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41288&oldid=41286 * SuperJedi224 * (+190) 22:13:50 [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41289&oldid=41288 * SuperJedi224 * (-87) 22:15:51 -!- Bicyclidine has quit (Ping timeout: 264 seconds). 22:16:54 -!- Bicyclidine has joined. 22:18:37 hmm it appears I can in fact edit the wiki using lynx 22:18:59 yeah its official i'm ditching firefox 22:19:04 for lynx 22:19:21 oren: be careful 22:19:28 no, don't be carefu 22:19:43 I ended up blanking Talk:Main Page on Wikipedia once by editing it through Mozilla 1 for SunOS 22:20:02 you could at least use links2 or elinks or something. 22:20:07 or w3m. 22:20:19 are those better? 22:20:43 if the pope shat in the woods would he be catholic 22:20:56 i'm open to suggestions aslong as they don't support JS 22:20:59 depends on your definition of better, but I would pick w3m or links2 over lynx any day. 22:21:07 you know you can just turn off javascript, right 22:21:09 or CSS 22:21:17 and don't hog memory 22:21:35 -!- Sprocklem has quit (Ping timeout: 264 seconds). 22:21:36 CSS can hog memory too 22:22:07 once a page with complex CSS hogged my cpu and overheated it on my last computer 22:22:46 too many levels of CSS divs to figure out i guess 22:23:37 maybe i just won't install x next time 22:25:41 or maybe i won't buy another craptop 22:34:02 whup, gtg 22:34:05 -!- oren has quit (Quit: Lost terminal). 23:02:28 -!- Bicyclidine has quit (Ping timeout: 252 seconds). 23:02:38 -!- mihow has quit (Quit: mihow). 23:09:18 -!- Bicyclidine has joined. 23:13:26 -!- Bicyclid1ne has joined. 23:14:51 -!- Bicyclidine has quit (Ping timeout: 258 seconds). 23:28:24 -!- `^_^v has quit (Ping timeout: 255 seconds). 23:28:35 -!- pikhq_ has quit (Ping timeout: 272 seconds). 23:31:22 Have you ever just wanted to facepalm someone? http://stackoverflow.com/questions/27222103/the-order-of-the-keys-in-jsonobject 23:32:16 I didn't think "facepalm" was a transitive verb 23:33:01 * Sgeo transitives 'facepalm' and verbs 'transitive' and 'verb' 23:33:27 isn't palming someone else's face just a "slap" 23:33:34 in which case, yes. i have wanted to slap people 23:34:12 this person i don't want to slap. i do want to groan obnoxiously at them, however. 23:34:18 -!- Bicyclid1ne has changed nick to Bicyclidine. 23:34:24 Here's a simulation. "Uuuuuugh" 23:35:41 Of course, the non-simulated version would use sound, rather than text, among other differences. 23:36:15 Also. What does "verb" mean used as intransitive verb. 23:36:41 -!- pikhq has joined. 23:37:31 -!- Dulnes has joined. 23:37:32 I never said I intransitived 'verb' 23:37:49 -!- bb010g has quit (Quit: Connection closed for inactivity). 23:38:13 no, but you transitived 'facepalm', which was previously an intransitive verb, so by analogy, to transitive something means to make an intransitive verb transitive 23:38:16 Duh 23:38:18 Does lambdabot keep you from trying to do @tell lambdabot ( eg ) 23:38:24 yes 23:38:32 Indeed 23:38:42 Yes, but I didn't transitive transitive and verb 23:38:53 oh 23:38:55 yes, you're right 23:39:00 What are you two up to 23:39:02 Apologizinize 23:40:11 l §[ l 23:41:08 -!- boily has joined. 23:42:45 What was i doing yesterday? 23:43:00 boigin' 23:43:57 sup 23:45:40 Bless your heart 23:46:37 sup 23:47:03 sup 23:47:18 If you have a 60 GB compressed tar ball how do you uncompress it without lagging your computer 23:47:22 Also hi 23:48:42 Guys i have something to say 23:51:28 hi 23:51:37 what is the something that you have to say about? 23:52:09 Nutella 23:52:47 -!- FreeFull has quit (Ping timeout: 264 seconds). 23:53:31 nutella is good. I approve of nutella. 23:54:17 -!- FreeFull has joined. 23:54:33 Yay. 23:54:39 How was your day 23:59:18 -!- nooga_ has quit (Ping timeout: 240 seconds). 2014-12-02: 00:02:23 public static final long day; 00:03:27 you can't mark it "final" then not initialize it, that doesn't make sense 00:03:30 Hm? 00:03:32 00:03:42 Oh mai 00:03:46 Fancy 00:04:24 Java as in the game java 00:04:48 ais523: yes you can. static {}. 00:05:00 Or javascript as in OooooOo look at all these codes and bots 00:05:34 ')' 00:05:40 -!- Bicyclidine has quit (Ping timeout: 264 seconds). 00:05:49 -!- dianne has joined. 00:06:00 Have you ever stopped what you are doing and just 00:06:21 Look at an English word and say " i feel like you are a fake word " 00:06:59 the only Real English comes from fungot. 00:06:59 boily: if it is possible i was fnord a roleplaying scenario for 10 hours 2 days :) 00:10:57 -!- ais523 has quit (Read error: Connection reset by peer). 00:10:59 -!- callforjudgement has joined. 00:13:05 what is fungot 00:13:06 Dulnes: for learning scheme, or a procedure ( shift proc) where proc is the closure. environment structures may be shared, or should i just duplicate all self-referential hooks and make them links if an url is found. 00:13:32 Where does it get all these random wordings 00:13:57 ^source 00:13:57 https://github.com/fis/fungot/blob/master/fungot.b98 00:14:46 Dulnes: for more details about Sir Fungellot, please peruse the PDF available in the /topic ↑ 00:14:55 -!- Bicyclidine has joined. 00:15:10 What language is this 00:15:28 Sif 00:15:49 not sif im just saying sif 00:16:05 it's befunge 98. 00:16:15 -!- applybot has quit. 00:16:16 Sift 00:17:04 Welp 00:17:37 For more http://sametwice.com/sif 00:17:37 Sif* 00:19:58 ah bin. 00:20:15 (eeeeh... translated: interesting.) 00:26:11 Gonna go sleep 00:26:18 Gbif 00:26:24 Gnight 00:28:59 -!- GeekDude has joined. 00:33:41 -!- boily has quit (Quit: LACONIC CHICKEN). 00:48:23 -!- supay has quit (Ping timeout: 272 seconds). 00:49:19 -!- nyuszika7h has quit (Read error: Connection reset by peer). 00:51:16 -!- supay has joined. 00:52:11 -!- conehead has quit (Ping timeout: 272 seconds). 00:52:18 -!- conehead has joined. 00:52:42 -!- nyuszika7h has joined. 00:56:53 -!- oren has joined. 00:56:57 -!- Phantom__Hoover has quit (Remote host closed the connection). 00:56:57 ok my exam is over phew 00:57:33 -!- S1 has quit (Quit: S1). 01:00:55 is it just me or is all the talk about clustered/unclustered indices worthless if the DB is on solid state? 01:01:44 actually the whole C language io is sequential access which is also wrong on solid state 01:06:52 -!- Bicyclidine has quit (Ping timeout: 244 seconds). 01:08:01 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 01:13:57 -!- Bicyclidine has joined. 01:15:13 [wiki] [[GridScript]] http://esolangs.org/w/index.php?diff=41290&oldid=41280 * BCompton * (+3) /* Command Summary */ Typos 01:26:03 designing a language based entirely on objects on a playfield, but their positions are not limited to integer grid. 01:26:22 instead to write a program you place them with your mouse 01:26:58 neat 01:27:59 the basis of the data model is balls, like essentially marbles 01:28:48 and they roll across the playfield and can be caught, deflected, slowed or sped up by different objects 01:30:04 you have chutes that create marbles rolling in a given direction 01:30:12 with a given frequency 01:30:28 and you can tag marbles with a color 01:30:41 (in RRGGBB) 01:30:52 which you select with a color picker 01:31:19 the basic premise is that the language does not use any kind of text or numbers 01:31:32 (at least from the programmer's point of view) 01:31:47 -!- Bicyclidine has quit (Ping timeout: 264 seconds). 01:32:42 i am implementing it with allegro 5 01:33:24 -!- Bicyclidine has joined. 01:33:48 Bicyclidine your internet needs fixing 01:46:44 -!- callforjudgement has quit (Read error: Connection reset by peer). 01:46:49 -!- scarf has joined. 01:49:15 -!- scarf has quit (Client Quit). 01:49:28 -!- scarf has joined. 01:51:37 -!- scarf has quit (Read error: Connection reset by peer). 01:51:52 -!- scarf has joined. 01:52:20 -!- scarf has changed nick to ais523. 01:53:40 ais523 your internet also needs fixing 01:53:51 I know :-( 01:57:14 did you unplug and plug back in your internet? 01:57:38 (yes, i know it's called a lan switch, but wvr) 01:58:54 doesn't help 01:59:00 also it's a router 01:59:25 On the off chance... did you switch your switch off and on? 02:00:44 maybe you need to buy a new internet 02:04:03 my old internet used to crash every few hours so we bought a new one and it works way better 02:07:51 -!- oren has quit (Quit: eating dinner). 02:10:43 * Sgeo wonders how Internet2 is going 02:11:46 A Web2 would probably be better (not to be confused with Web 2.0) 02:12:43 internet2 is a university network thing... 02:14:24 So, by definition ,it's incapable of going? 02:15:11 University notwork thing? 02:15:25 https://en.wikipedia.org/wiki/Internet2 ? 02:15:36 I don't know what you mean by Internet2. that thing is the only thing I've ever heard called Internet2 02:15:48 Yeah, that's Internet2. 02:16:15 I think it makes sense to ask how a research consortium is going. 02:16:44 I think I'm secretly hoping some of the technology makes its way to the public Internet? 02:16:46 well, I don't know what the Web2 comment means, in that case. 02:17:03 The Web2 comment is a wish that the current web is destroyed and a new sane web is made 02:17:40 Maybe he wants a consortuim for testing web stuff before it gets put out on the main web, analogous to how Internet2 works? 02:18:23 I'm blanking on what you'd want. I guess there's that Shibboleth thing? 02:18:26 -!- callforjudgement has joined. 02:18:35 I'm pretty sure people use that on the regular internet too 02:18:41 If Internet2 is separate from and better than the Internet, Web2 is separate and better than the web 02:20:43 -!- ais523 has quit (Ping timeout: 256 seconds). 02:20:45 The problem here is that stuff *is* tested on the regular web, usually by browser makers trying to maximise its userbase by having exclusive features vieled as contantly-improved standards. 02:21:02 Sgeo, could you mean Project Xanadu? 02:21:10 Or maybe Gopher. 02:21:15 I mean the web is horrible and want anything to replace it 02:22:09 Project Xanadu and Gopher are both things that could be used similarly to the web in some ways. 02:23:24 Project Scowadu 02:24:24 I think professional webdev has done funny things to my brain 02:24:42 A network of flat bottomed boats sounds reasonable. 02:28:03 http://xanadu.com/ This has some kind of working demo. 02:28:33 While gopher is an actually running thing that stuff can get published in. 02:29:55 wat 02:30:15 <[nick redacted]> gha, figured it out by diving into the libomv code... if the password looks like an md5 hash, it won't hash it before sending it to the server 02:30:15 <[nick redacted]> guess what i use as a password...... RIGHT, an md5 hash :) 02:32:18 So libomv was made to handle both pre-hashed and un-pre-hashed passwords, but whatever it was sending them to wasn't. 02:32:32 https://github.com/openmetaversefoundation/libopenmetaverse/blob/master/OpenMetaverse/Login.cs#L1079 02:32:57 MDude: the user of libomv doesn't make the distinction to it 02:33:18 Also how do I do the thing on github to link to the specific version? 02:33:33 I don't know what you mean by that. 02:33:46 i think you get to it from the commit blob 02:33:59 How do I get to the commit blob? 02:34:13 right, hit the commit and hit "browse tree" 02:34:29 https://github.com/openmetaversefoundation/libopenmetaverse/blob/3b06902a27e80a32742a1b10cecf0380cbc1f979/OpenMetaverse/Login.cs voila 02:34:31 https://github.com/openmetaversefoundation/libopenmetaverse/blob/3b06902a27e80a32742a1b10cecf0380cbc1f979/OpenMetaverse/Login.cs#L1079 02:34:38 ty 02:34:46 Did it a bit differently 02:34:48 you know that's the same though, right 02:34:53 But there's a hotkey and I don't remember it 02:35:35 Also you didn't link to the line. How are future logreaders supposed to put 2 and 2 together to figure out the line of the commit blob? 02:36:54 Anyway, besides being a ridiculous thing to do, that should be an || probably. As-is, any 35 character password, and any password that starts with $1$, looks like MD5 02:36:58 So is there any reason to check if it's already hashed? 02:38:03 I hope they're not saying that hashing is supposed to be done client-side 02:38:08 Is that what they're saying? 02:38:18 That libomv isn't the only WTFy party here? 02:39:07 Hashing at every step, until we have an internet made of hash browns. 02:39:17 nothing wrong with doing hashing client-side if your connection to the server is encrypted 02:39:24 -!- shikhout has joined. 02:39:39 (afaik) 02:40:13 -!- callforjudgement has quit (Read error: Connection reset by peer). 02:40:16 Well sending password without encryption sounds like a bad idea anyway. 02:40:24 yes, right. 02:40:25 -!- callforjudgement has joined. 02:40:27 I thought the point of hashing was in case server database is stolen? 02:40:44 yes 02:40:53 they'll get... a bunch of hashes 02:40:57 in either case 02:40:58 [wiki] [[GridScript]] http://esolangs.org/w/index.php?diff=41291&oldid=41290 * 71.184.241.244 * (-45) /* Ackermann Function */ 02:41:12 If you do client-side hashing you'll presumably want to do server-side hashing too. 02:41:20 Otherwise someone who steals the hash can use it to log in. 02:41:32 Sgeo: to be clear, if someone gets the database they can almost certainly impersonate anyone they want anyway 02:41:34 Ahh, hmm. Was thinking in terms of people who get the server DB could use it to login ... but at least only to that server 02:42:00 true, it's less secure if they manage to get a read-only SQL dump and no other access at all. so I guess if you have a very specific SQL injection attack. 02:42:17 And not to random other services. Unless they rely on the same client-side hashing... 02:42:27 -!- shikhin has quit (Ping timeout: 244 seconds). 02:42:45 That isn't all that specific a situation. 02:43:12 anyway, if you can do complex things on the client side then the right thing to do is probably something like "get an account-specific salt from the server, feed the user's password and the salt into a key derivation function, get a nonce from the server (which knows the public key), and send it back signed with that key" 02:43:29 Sgeo: you'd salt in any case 02:43:35 Client side hashing does seem to nagate the point of hashing the passwords. 02:46:18 -!- oren has joined. 02:47:58 -!- Bicyclidine has quit (Ping timeout: 252 seconds). 02:50:55 hi 02:53:16 hi 02:54:43 -!- Dulnes has quit (Quit: Connection closed for inactivity). 02:54:49 -!- Bicyclidine has joined. 03:12:54 hi 03:13:41 hi 03:22:47 -!- Bicyclidine has quit (Ping timeout: 264 seconds). 03:23:17 what if there was a programming language where the keywords were not real words in /any/ language? 03:24:12 Oh wait i'm just describing J 03:24:15 nvm 03:26:12 -!- callforjudgement has quit (Read error: Connection reset by peer). 03:26:17 -!- scarf has joined. 03:26:38 -!- hjulle has quit (Ping timeout: 240 seconds). 03:33:37 oren: brainfuck 03:33:44 yah? 03:33:52 Befunge 03:33:56 yah? 03:33:58 Malborge 03:34:18 *Malbolge 03:34:31 I'm sure a lot of languages apply =P 03:34:43 Also APL and K 03:36:57 hmmm... ok. what bout a language where the keywords are in the latin alphabet, 03:37:18 but are still not words in any language 03:37:28 -!- CADD has joined. 03:37:33 or at least are not all words in the same language 03:37:39 hi cadd 03:52:27 oren, what about Ook! 03:54:17 thats a real language its the language of monk-- AAAAAUGHH! I mean orangutans! 03:56:44 monk++ 04:00:56 Speak softly and carry a banana. 04:02:07 oren: http://esolangs.org/wiki/AAAAAAAAAAAAAA!!!! 04:02:24 Although I suppose "A" qualifies as a valid word 04:03:38 how about a language that uses all the standard keywords that all languages use 04:03:52 but which the meanings of those words are shuffled each time they're used 04:03:58 Isn't that the empty set? 04:04:05 in a predictable way that requires analysis 04:04:16 Taneb: s/all/most/ 04:04:17 ANyway I ought to sleep 04:08:50 -!- J_Arcane has joined. 04:14:16 -!- Froox has changed nick to Frooxius. 04:21:43 -!- scarf has quit (Read error: Connection reset by peer). 04:21:52 -!- scarf has joined. 04:22:57 [wiki] [[Wake]] http://esolangs.org/w/index.php?diff=41292&oldid=23033 * 75.92.173.83 * (+101) Distinguishing from the not esoteric lang Wake. 04:30:03 -!- mitchs_ has joined. 04:31:18 -!- mitchs has quit (Ping timeout: 240 seconds). 04:37:16 -!- adu has joined. 04:44:28 -!- Dulnes has joined. 04:45:32 -!- scarf has quit (Remote host closed the connection). 04:45:36 -!- ais523 has joined. 04:48:48 Cross Valves 04:49:26 -!- callforjudgement has joined. 04:52:38 -!- ais523 has quit (Ping timeout: 252 seconds). 05:01:18 -!- shikhout has quit (Ping timeout: 240 seconds). 06:35:08 -!- callforjudgement has quit (Read error: Connection reset by peer). 06:35:12 -!- scarf has joined. 06:37:03 it is amazing how different the current aesthetic is from previous ideas of what a 'futuristic' aesthetic whould llok like 06:41:35 * Dulnes goes insane 06:43:12 -!- tromp has quit (Read error: Connection reset by peer). 06:43:45 -!- tromp has joined. 06:44:31 hwat? why yougo innsae? 06:48:34 _|__|_ \o\ 06:48:34 | 06:48:34 >\ 06:48:43 H? 06:48:54 Did i do a funny 06:49:19 And oren its this fucking tarball its been decompressing for 6 hours 06:49:24 Im very much done 06:49:32 holy whit 06:49:38 how the hell? 06:49:54 also for me \ is a yen sign 06:49:58 Its like 70GB and like im having rlly shit spees atm 06:50:05 It is? 06:50:12 \ 06:50:21 Thats a weird sign 06:50:28 yes because all japanese fonts display \ as a yen sign 06:50:43 Thats nice 06:50:45 and all korean fonts display \ as a won sign 06:50:56 Then what did myndzi do 06:51:22 he has three prosthetic limbs composed of monies 06:51:25 So for example I have "Hello, World¥n" 06:51:48 ¥_¥ 06:51:48 i put a unicode yen sign in to show you 06:52:06 Sad face is achievable with yen signs 06:52:31 sad face is ;-; 06:52:34 Isnt yen based on like idk 60000 yen is 60 US dollars? 06:52:48 Not if you have eyelashes ¥_¥ 06:52:55 80 yen is one usd about last i checked 06:53:21 How does the system work 06:53:39 the history time: it is a remnant of ISO 646-KR and -JP 06:53:51 no waith i had that reversed 06:53:52 ISO/IEC* 06:54:00 100 yen is .83 usd 06:54:05 Omfg 06:54:27 Why is US currency so OP 06:54:28 so a backslash can be assigned of other characters in ISO/IEC 646, and that (or a number sign?) was commonly used in place of currency sign 06:54:35 s/number/dollar/ 06:54:38 japanese programmers just learn to write their escapes with yen sign 06:54:52 Well i made a table flip emoji 06:54:55 they don't use the stupid trigraphs 06:55:04 Stupid 06:55:20 and things stuck, we are now using Unicode and still GR renders *like* custom 646 assignments 06:55:25 while in fact they aren't 06:55:36 I just use ~ or ° for escapes 06:55:57 Dulnes: FYI ~ is an overline in ISO/IEC 646-JP 06:56:04 ah, that was JA 06:56:07 anyway 06:56:18 Although ° is more usefull because yeah ~ is what lifthrasiir said 06:56:30 No one uses the ° 06:56:33 it still displays up there in jp fonts, but also wavy 06:56:35 I just use ordinary ASCII 06:56:48 and in most japanese IMEs a slash gives a middle dot instead 06:56:57 end end end end end 06:57:04 ・yup 06:57:10 Seeing people do that 06:57:17 zzo38: a privilege only allowed to *some* westerners :S 06:58:15 i shorten end to «e» idk i dislike seeing end in there 06:58:30 My hands are falling asleeo 06:58:35 Asleep* 06:58:51 untighten your wristwatch 06:58:58 Pssht 06:59:21 Actually thats a great idea? How did you know i had a wrist watch 06:59:27 ¿¿¿ 06:59:42 i wear one 06:59:47 Qwerty or poiuy 06:59:59 qwertyuiopasdfghjklzxcvbnm 07:00:04 Leaves 07:00:17 Oh remember uh i forgot the keyboard 07:00:25 lifthrasiir: No, anyone could use ordinary ASCII, although it cannot type all things you might want to type (actually, neither does Unicode, although it does a lot more than ASCII) 07:00:30 But it was like rounded in on itself 07:00:34 They're called leaves because they leave the trees in the fall. Which is why it's called fall. 07:00:38 And you could just use one hand 07:00:58 shachaf: brilliant 07:01:10 48% done 07:01:26 how big is the file???? 07:01:34 70GB 07:02:01 And if i wasnt running off of shiternet 07:02:12 faster to mail you an SD card 07:02:17 Then it would be done by now 07:02:20 or two 07:02:26 5 07:02:57 i have three 64G micro sd cards 07:03:14 they are very handy 07:03:25 Why my friend sent me an entire library compressed into a tarball through an email 07:03:29 Is beyond me 07:03:40 I should punch him later 07:03:42 zzo38: only if everyone understands a Latin transliteration of their native tongues. 07:04:05 right with mandarin and japanese it is ambiguous anyway 07:04:50 神紙髪 are all kami but mean god, paper and hair 07:04:58 If i joined my bot here i would have to change # to a : or something or it would just act as if you were trying to say #room 07:05:17 lifthrasiir: No, I meant you can still program a computer with ASCII; it doesn't mean you have to use Latin transliteration of your own languages; for those things you can still use your own character set. 07:05:30 Japanese letters a 2 cool 4 school 07:05:39 How big is the alphabet btw 07:06:24 ~70 hiragana ~70 katakana ~2000 chinese character of which I know ~300 of the most use ones 07:06:29 > 156277271826278183681837272881*5679 07:06:30 887498626701433805129153872691199 07:06:35 Indeed 07:06:37 zzo38: well, I think an inability to reliably input { and } in ISO 646 was painful to some people in the past? 07:06:37 But only hiragana and katakana are alphabets 07:06:57 they are technically syllabaries 07:07:08 Why do you need so many 07:07:14 but yeah kanji encode meaning not sound 07:07:15 '-' 07:07:32 they disambiguate things that sound the same 07:07:42 Well, in English we have both uppercase and lowercase; in Japanese it is hiragana and katakana, but isn't used like our uppercase/lowercase. 07:08:08 Kanji really does make it easier/faster to read if you are good at it though; however, to read out loud hiragana/katakana are working better. 07:08:22 髪様、ありがとう sounds right but means "thank you, o lord Hair" 07:08:34 } end { throw, catch error; } } } end } is all i need nowadays 07:08:39 which is not what you meant 07:08:52 O lord hair 07:09:12 Lordy lordy 07:09:22 pronounced kamisama as is 神様 which is "lord God" 07:09:44 * Dulnes claps hands 07:09:50 Japanese lessons 07:10:01 Kanji makes the meaning more clearly; hiragana/katakana makes the pronunciation more clearly. 07:10:43 another example is 書く write vs 描く draw 07:10:50 thy are both kaku 07:11:19 write dog vs draw dog 07:11:32 on test this is important 07:11:49 U guys havin fun 07:12:17 Sometimes though, it is used kanji with hiragana written on top in small writing (called furigana) 07:12:28 UI malfunctions are great 07:12:38 in what app? 07:12:49 Netflix 07:12:55 hopeflly not the one you are using to untar? 07:13:03 No that 07:13:08 Would kill me 07:13:35 I should just send him the biggest file ever 07:13:37 netflix is a nice program but i prefer to buy physical media and rip it 07:13:40 As a joke 07:14:10 Whats the max file size you can send through gmail? 07:14:18 I prefer to buy physical media and put it in the television 07:15:07 i don't own a tv anymore (other than the b/w one in the basement) 07:15:22 Then what do you use? 07:15:31 A computron 07:15:34 computer. for everything 07:15:48 [wiki] [[Return Oriented Programming]] N http://esolangs.org/w/index.php?oldid=41293 * Cluid Zhasulelm * (+1878) page creation 07:15:55 including as a phone 07:16:13 and as a radio 07:16:14 Omg remember that 3d kinda like oculus rift device that you needed to use a stand for 07:16:40 Cuz it was like 60 LBs amd would snap your neck with out the stand 07:16:42 the Virtual Boy? 07:17:06 there was an AVGN episode about it, it had only like 10 games 07:17:30 Thats cuz it murdered every one who got it 07:17:44 Also it had an atrocious red.filter on every game 07:18:01 Those were the days 07:18:05 that isn't a filter it used nothing but red leds for the screen 07:18:13 like whyyyyy 07:18:24 Really? 07:18:29 apparently 07:18:36 I just kinda went blind 07:18:43 All i see is red oren 07:19:10 better than uv leds 07:19:15 Pls no 07:19:36 i have a whole bunch that i use for glowing keyboard 07:19:46 with fluorescent paint 07:19:52 oh i have a glowing key board 07:19:57 Pretty cool 07:20:27 I had it colour coded 07:20:32 i had to make my own, so i painted all the keys and put a uv led on a "arm" above it 07:21:04 lol 07:21:10 they all glow the same color, green 07:21:16 Amaze 07:21:42 i dunno where i put that keyboard tho, its in my basement 07:21:48 I love incomprehensibly bright colours 07:22:00 Like neon Violet 07:22:02 [wiki] [[User:Cluid Zhasulelm]] M http://esolangs.org/w/index.php?diff=41294&oldid=41227 * Cluid Zhasulelm * (+45) 07:22:12 With a neon hot pink bg 07:22:24 Much eye burning 07:22:34 such doge.jpg 07:22:39 Mixing lime and.lemon neon is awful 07:23:12 67% 07:23:25 -!- cluid has joined. 07:23:26 hi 07:23:27 -!- MDude has changed nick to MDream. 07:23:32 Hi 07:23:46 Its getting faster its gotten into the usage/cmds core 07:23:52 Which is pretty small 07:24:16 Hi gurls 07:24:53 I'm going to bed, but the chat as a whole will likely keep going. 07:25:11 Night 07:25:21 I should be heading to bed soon 07:26:01 There's no page about langtons ant on the wiki! 07:26:07 http://en.wikipedia.org/wiki/Langton%27s_ant 07:26:25 Goodnesz 07:27:36 In 2000, Gajardo et al. showed a construction that calculates any boolean circuit using the trajectory of a single instance of Langton's ant.[2] Thus, it would be possible to simulate a Turing machine using the ant's trajectory for computation 07:27:57 I don't get that, isn't a boolean circuit just a function from Bool^n -> Bool^m? how does that imply TC 07:28:42 "...implies, through the simulation of one-dimensional cellular automata and Turing machines, the universality of the ant" 07:28:53 the paper says this, I guess they get TCness buy simulating 1D CA? That seems a bit sketchy... 07:30:19 "Since a Turingmachine can be simulated by a linear CA with quiescent state, the ant is also universal" 07:33:36 Oren how much were those 64gb micro sd's 07:34:59 OH cluid ive seen that ant before 07:35:06 Also wtf does it do 07:35:10 its pretty cool I think 07:35:20 but the results seema bit stretched 07:35:54 It seems everytime the ant crosses over a shaded part it deletes it and moves in the opposite direction? 07:35:57 like 50 cad each 07:36:23 Convert 07:36:33 Also 07:36:43 Nutella is gud on toast 07:37:24 99.8% 07:37:30 Almoooost 07:38:11 Fffffffffffffffffffffffuck no thats not nice 07:38:23 Gah im done with this internet 07:38:27 -!- Patashu has joined. 07:38:30 itis! 44 USD or 35 euros 07:38:43 44 thats good nuf 07:39:23 -!- Patashu has quit (Client Quit). 07:39:30 Also "}" unexpected File encountered terminating Decompression "}" 07:39:40 Im going to shoot my computer 07:40:13 -!- Patashu has joined. 07:40:46 get your friend to send you physical media instead 07:40:49 Im to tired for this crap 07:41:22 Well i do see him this weekend so i guess 07:41:29 Gnight anyways 07:41:31 [wiki] [[User:Cluid Zhasulelm]] M http://esolangs.org/w/index.php?diff=41295&oldid=41294 * Cluid Zhasulelm * (+13) added subleq 07:41:32 send him an email "hey dude your file isn't working, drive to my house" 07:42:09 good night 07:42:12 I think it was like a bash file that got in thers 07:42:21 * Dulnes poofs 07:46:07 What is the algorithm to transpose a 8x8 matrix of bits with eight bits on each element of the array? 07:47:11 hmmm 07:48:52 you can swap two integers with three ^= operators so an optimized algorithm might involve that 07:49:40 you have a matrix represented as 8 bytes? 07:51:12 Yes. 07:51:30 I guess the most basic way would be b1 = (a1&1) | (a2&1<<1) | (a3&1<<2) | ... 07:51:36 operations like that foreach row 07:52:52 http://sprunge.us/OJOi would be a start 07:53:00 cluid: if it can do any circuit it can be Bool^n -> Bool^m for any n,m. 07:53:08 which covers pretty well everything. 07:53:12 woah cool 07:54:08 But in fact it's possible to improve things a bit by using xor. 07:54:38 (the code is old, and I've read Knuth's volume 4a in the meantime) 07:55:28 Bike, but those are finite 07:55:33 that doesn't imply you can turing machine 07:56:07 Note I have the high bit of the first byte in the upper-left corner of the matrix so that one shouldn't be moved 07:56:58 cluid: any particular turing machine represents a computable function Int -> Int, where the second Int can be Bottom i.e. non-halting i.e. indeterminate. 07:57:12 but Int here is unboundedly large 07:57:45 Bike: you can just say "partial function" hth 07:57:57 i could. 07:58:35 -!- adu has quit (Quit: adu). 08:00:30 i have an idea: lookup table of 0b01010101 -> 0x0080008000800080 08:00:59 I think that's what int-e did 08:01:11 then you and them together as int64_t's 08:01:51 where and is a verb 08:02:50 It is an array and not a 64-bit integer; I suppose I could convert it although I don't know if there is a better way that can avoid it? 08:03:07 do you want to do the transformation in place? 08:03:17 you simply do (int64_t*)c 08:03:17 if i could reärrange the alphabet, i'd definitely put you and them together 08:03:41 unportable but works 08:03:44 cluid: It doesn't matter I only need to output one byte at a time to stdout 08:07:20 And if it is unportable I don't want to do like that 08:07:20 aright, why not do it the easy way? 08:07:20 just mask off each bit one by one and shift it to the right place 08:07:20 or you can use the same lookup table but as char[8][256] 08:07:20 ok, well, wikipedia says the boolean circuit = formal language equivalence is done with a /family/ of circuits, one for each input length. so for all n rather than for any n. 08:07:20 oren: OK maybe that is better 08:08:39 i find that hard to believe 08:08:39 -!- shachaf has quit (Ping timeout: 245 seconds). 08:10:56 -!- shachaf has joined. 08:11:16 there, my 2014 version. http://sprunge.us/fOKE 08:11:46 yikes, so few operations! That's really cool 08:13:48 now do conway life. 08:19:38 -!- oerjan has joined. 08:19:39 scrip7 to generate table: 08:19:42 MM256N>1M=0$(#M+0x80I=MI+0x7f7f7f7f7f7f7f7fI&0x8080808080808080M>1M=II~0)# 08:19:59 oren??? 08:20:14 that is code 08:20:19 looks bad 08:20:30 to generate the table of int64s 08:23:19 hmm not working... 08:23:42 what atble is it to generate? 08:23:45 why not write the table out in full 08:23:53 because i am lazy 08:24:12 the program can be made to write out the table into a new program 08:24:25 yes but that seems like a bad idea 08:24:31 -!- scarf has quit (Remote host closed the connection). 08:24:33 why? 08:24:41 -!- scarf has joined. 08:24:45 since you have long repeating number in there 08:25:01 7f7f7f7f7f7f7f7f and 8080808080808080 makes me question the usefulness of scrip7 08:25:10 it is a 64bit integer 08:25:23 literal 08:25:35 . o O ( git commit -a -m 'teachings of the master (TAoCP, Vol.4a)' ) 08:25:38 0x80808080808080 08:25:51 why not generate it 08:26:32 scarf, if you are not busy and would like to talk about it can I ask you a bit about rule 110 in #esoteric-chat 08:27:44 why not here? 08:27:58 you might not want to say it publically/logged etc? 08:28:26 well, it depends on whether there's private information involved 08:28:31 and if there is, we'd better use PM 08:28:33 -!- scarf has changed nick to ais523. 08:28:50 ok its not private just wondered your opinion of it 08:29:04 I like the rule 110 proof 08:29:45 did you want more of an opinion than that? 08:30:07 yeah I was wondering, do you think that rule 110 is turing complete? 08:31:18 it's been proven turing complete 08:31:23 by matthew cook 08:32:21 oh im sorry, I though you were matthew cook 08:32:23 that's why I asked you 08:32:27 ah, no 08:32:29 I'm Alex Smith 08:32:43 I don't think Matthew Cook comes here 08:33:06 ok the problem was caused by bug in my scrip7 implementation 08:33:29 I wonder what cook thinks about the proof 08:37:00 http://esoteric.codes/ i found an interview 08:38:25 afaik cook and wolfram used the word "universal" rather than turing-complete? 08:38:45 I just noticed Langtons Ant is said to be TC by reduction to CA 08:38:53 and I find this kind of hard to believe 08:38:58 and perhaps _neither_ term has a completely consensus definition. 08:40:12 the problem with CAs is that they have no intrinsic notion of when computation halts. 08:40:36 and _might_ have infinite data even once you've decided that. 08:41:49 both of which make details of what it means to be TC ambiguous 08:42:04 I don't really see halting a problem? 08:42:05 -!- ais523 has quit (Read error: Connection reset by peer). 08:42:13 you could encode it in any number of ways 08:42:14 -!- ais523 has joined. 08:42:29 e.g. the string starting from cell 23 becomes 1011101 or whatever 08:42:59 yeah. but you have to choose that encoding _before_ you can ask whether the whole system is TC, i think. 08:43:20 the infinite setup aspect seems a serious problem to me, especially wrt. langtons ant 08:43:37 which is unlike what happens with systems with finite, intrinsically well-defined start and end points. 08:43:52 I see what you mean 08:46:09 I wonder if some 1D CAs are 'CA-complete' like NP-complete problems can be encoded in each other 08:46:21 and the additional problem is that for finite systems, you typically allow _any_ terminating computation for encoding/decoding, but if you do that for infinite systems like CAs you can get _obviously_ trivial system to be defined as TC. 08:46:49 e.g. imagine a CA where a cell is 1 if it, or any neighbor, was 1 in the previous step. 08:47:24 How were functions declared in K&R C? 08:47:41 and that make your decoding be "halts when this turing machine M halts in less steps than the number of live cells the CA has reached" 08:48:06 (that's a terminating check, for each generation, if you start with a single live cell in the first, say) 08:48:13 int foo(x,y,z) int x; char *y; float y; { ... } 08:48:23 That's not a declaration. 08:48:41 so then _everything_ about the TC-ness except the infiniteness is in the final termination check and decoding. 08:48:47 they were declared like int foo(x,y,z); 08:48:49 It looks like maybe the answer is "functions weren't declared, and argument types weren't checked". 08:48:52 interesting oerjan 08:48:53 no type checking 08:49:07 Do you have a reference for that? 08:49:23 I have K&R as pdf 08:50:16 and of course no one seriously would consider that CA to be TC, so if we are going to talk about TC (or "universal" CAs) we need to agree on some limit for how complicated the setup/termination check/decoding can be. 08:50:31 hmmm looks like there weren't declarations at all 08:50:43 no wait 08:51:23 and that was iiuc the essential problem in the old internet discussion about ais523's 2,3 result, but it somewhat applies to the rule 110 one as well. 08:52:00 anything computable should be ok 08:52:03 (the rule 110 setup is complicated, but periodical. the 2,3 setup is not periodical.) 08:52:05 aha! 08:52:15 you do it like this int foo() 08:52:24 cluid: no, that's precisely what you cannot do if you want to exclude that trivial CA. 08:52:32 and the function acts like a variadic 08:52:38 chaining some computable/total function with X and getting a TC function implies X is TC 08:52:49 (in terms of argumant conversions) 08:53:01 cluid: do you believe that the CA oerjan described is TC, then? 08:53:08 all ints smaller than int are converted to int 08:53:10 ("imagine a CA where a cell is 1 if it, or any neighbor, was 1 in the previous step") 08:53:23 all floats are converted to double 08:53:39 two sub-TC systems combined can be TC 08:53:40 really? 08:53:57 sure, see oerjan's proof :p 08:54:11 that trivial CA + terminating decoding function gives TCness 08:54:18 "combined" is not exactly a mathematical term 08:54:31 yeah. 08:54:41 shachaf: http://cm.bell-labs.com/cm/cs/who/dmr/chist.html 08:57:24 if you scroll down 2/3 of the page it has an example of how things were declared pre C90 08:57:27 -!- ais523 has quit (Read error: Connection reset by peer). 08:57:44 -!- ais523 has joined. 08:57:56 -!- dts has quit (Read error: Connection reset by peer). 08:57:56 I do not think that a program that runs for infinite time computing every step of a turing machine is sub turing 08:58:26 I have said that infinite setup is a problem 08:58:45 cluid: the _setup_ isn't infinite here. you just start with a single live cell. 08:58:59 and at _each_ generation, neither is the check/decoding. 08:59:16 -!- dts has joined. 08:59:25 ok 08:59:54 this isn't a clearcut thing, but a slippery slope one. 09:00:04 what isnt? 09:00:08 yeah I agree this gets messy 09:00:39 Has anyone sseen the langtons ant TC claim? 09:01:00 I am worried that they overloook the infinite steup and just go "well we can encode CAs so we're TC" 09:01:41 (it would have to also include the two sided infinite setup to match with cooks proof, right?) 09:02:15 there _are_ CAs that seem less dubious than rule 110 though. 09:02:46 -!- AndoDaan has joined. 09:02:52 those in which all but finite cells start 0, and the halting could even do a cleanup. 09:03:13 -!- ais523 has quit. 09:03:20 (any turing machine can be turned into a CA in a simple way, by encoding cells and tape head pretty directly.) 09:04:24 btw ais523's made his 2,3 construction have a _very_ simple _termination_ check, just whether the TM ever goes left of the starting point. 09:04:30 iirc 09:04:39 what is the 2,3 construction? 09:04:41 *-'s 09:05:04 sheesh, he keeps losing connection. 09:05:18 confession: i've never read the whole of it. 09:06:16 but it's for a 2,3 turing machine, and it requires a setup that is infinite, and non-periodical, but still limited in complexity (quadratic i think) 09:06:34 http://en.wikipedia.org/wiki/Wolfram%27s_2-state_3-symbol_Turing_machine oh this guy! 09:06:42 (2,3) refers to number of colors and number of internal states. 09:06:44 yep 09:06:54 On 24 October 2007, it was announced by Wolfram Research (without the approval of the judging committee [4]) that Alex Smith, a student in electronics and computing at the University of Birmingham (UK), proved that the (2,3) Turing machine is universal 09:08:30 wow, didn't know that. 09:08:44 Hmm, as far as I can see, the Langton's ant universality construction also relies on filling space with some regular pattern. I don't like. 09:10:05 (they show that one can evaluate boolean circuits using an ant, then use that to simulate the evolution of some 1D cellular automaton, and conclude universality. "They" being Gajardo et al.) 09:10:45 isn't that enough? 09:11:15 depending on the 1d automaton they chose of course. 09:11:48 yeah but if that's what it sounds like to me, they'll have infinite setup issues even if the chosen automaton doesn't. 09:11:55 I don't like those proof that require a starting state of infinite size. I don't like the rule 110 proof either. 09:14:04 oerjan: do you recall the TM encoding the 2,3 UTM used? 09:14:11 at least you can grow ether, so it _might_ not be entirely impossible to remove the infinite setup. apparently there's at least one rule 110 glider gun https://www.youtube.com/watch?v=EEcIx2ujtQQ 09:14:24 quintopia: no. 09:15:31 oerjan: in your opinion what is the simplest universal system of any form? 09:15:36 if you could find the right glider guns, some of which need to themselves be leftward moving, you _might_ be able to make it all work in a zeros environment. 09:15:49 They do present a cute criterion for decision problems, namely they ask "does the ant ever pass through the point (x,y)?" 09:16:10 quintopia: huh. i like SK combinators, also the :()^ underload subset i found. 09:16:43 it's really hard to compare "simple" down at that level. 09:16:51 my vote is for tag systems. 09:17:02 which is why i asked for an opinion not a definite answer :) 09:17:32 AndoDaan: but _which_ tag system, they're a class... 09:17:45 tag systems are very odd, I dont understan them well 09:17:59 (Of course one source of trouble is that Langton's ant is aperiodic, which rules out a number of simple encoding ideas.) 09:18:11 me either, but i like 'em. oerjan: the bit cycle one. 09:18:22 i wonder whether human brains are extendable to universality 09:18:51 I don't think the mathematical concepts like universailty make much sense when applies to real life objects 09:19:03 sure they do 09:19:10 oh 09:19:22 and of course there's the unsolved problem whether from a finite configuration, the ant will always escape to infinity on a diagonal highway, and even whether there is more than one kind of highway. 09:19:59 i tried to crack that one years ago int-e, didn't go well. 09:20:04 [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41296&oldid=41255 * Orenwatson * (+358) added matrix transposer (and updated interpreter code fixing bug) 09:20:19 for instance, i'm perfectly willing to bestow the computer i'm writing this on the property of universality, as i know that the limitations that prevent it are straightforward, theoretically speaking, to overcome 09:20:19 (at least I think those are both unsolved.) 09:20:52 I disagree with you quintopia but that's ok 09:21:01 int-e, yeah, i looked into it a little back when /r/dailyprogramming had a challenge for it. 09:21:26 cluid: agreeing to disagree is a poor sort of argument. no one learns that way. 09:22:03 you avoid having to argue with the kind of people who say obnoxious things like that though 09:22:34 true. but i'd rather they became less obnoxious, so i have to try at least a tiny bit 09:22:45 I think you're misunderstanding who the obnoxious one is here :p 09:22:54 I prefer to keep clear separation between mathematical abstractions and the physical systems they model 09:23:16 universality only appies to formal logical systems. A real computer makes errors due to bugs and hardware problems 09:23:49 specifically the finite size of the hardware 09:24:18 elliott: so you don't think my computer, if bestowed with the capacity to continuously add more memory, access to an infinite matter source, and an interface to make use of that memory would be universal? 09:24:29 and don't forget the heat death of the universe. Some things are computable, but not for real objects. 09:24:40 it has a finite address space 09:24:45 64 bit 09:24:50 overcomable 09:25:00 this is not a good discussion ^^ 09:25:08 oren: add a network device ... oh, already done! 09:25:32 quintopia: I think I have the ability to opt out of this argument that you'd rather deny me :p 09:25:34 finite amount of matter in the universe 09:25:46 finite speed of light 09:26:15 elliott: ok. but then you're being obnoxious too. 09:26:22 -!- ChanServ has set channel mode: +o elliott. 09:26:25 -!- elliott has kicked quintopia you're annoying me. 09:26:27 -!- elliott has set channel mode: -o elliott. 09:26:35 -!- quintopia has joined. 09:26:38 finite speed of light just means you get to wait longer ;-) 09:26:44 well let's just agree to disagree and move on :) 09:26:51 hopefully we can get along that way 09:27:02 sorry about bringin upa controversial topic 09:27:21 argumentclinic.mp4 09:27:30 nah. it's okay. you're not as obnoxious as someone who calls someone obnoxious but doesn't say why 09:27:31 Actually I usually find time to be the limiting factor before I start running out of address space these days. 09:27:57 lucky you 09:28:16 Note, I'm not saying "running out of memory". That still happens a lot. 09:28:17 * oren with 2GB RAM 09:28:43 * oren with only a 200GB hdd 09:29:35 I have an idea for a language 09:29:40 would like comments on it if anyone will input: 09:29:41 ? 09:29:45 sure 09:30:00 so there are two parts to a program in this 09:30:08 first you define some CFG rules, e.g. 09:30:21 S --> 00 | 01 | 1 S S 09:30:28 and then you define rewrite/transformation rules like 09:30:45 1 00 x:S y:S = x 09:30:57 1 01 x:S y:S z:S = 1 1 x z 1 y z 09:31:07 and you run it on an input string, it performs the rewrites 09:31:19 this program implemented binary combinator logicc 09:31:27 http://en.wikipedia.org/wiki/Binary_combinatory_logic 09:32:06 is the alphabet limited to 0 and 2 09:32:10 *1 09:32:20 no you can use any strings 09:33:33 sounds good. you'll need a way to distinguish variables from values in the rules 09:33:47 and the transformations 09:33:55 oh yeah, that's true 09:36:26 but once that is done you'll have a way to define arbitrary functional turing tarpits and push-dwon automata 09:36:31 I suppose this isn't an esolang 09:36:43 it is a meta-esolang 09:36:43 yeah 09:36:46 haha 09:36:49 its quite neat 09:37:03 i can't claim to invent it, it is used informally in lots of places 09:37:22 you can claim to have standardized it 09:38:27 and formalized it 09:39:37 maybe you can simply have an alphabet spec at the top 09:40:08 and then chars not in alphabet are vars 09:40:43 S --> '00' | '01' | '1' S S coud work 09:41:00 that works too 09:41:04 then you have to escape: \\ and \' 09:41:21 not if you use '' 09:42:01 for ' 09:42:27 but \ allows \n or whatever 09:42:40 the grammars can be ambiguous 09:42:50 so some interpreters might run the programs differently 09:42:53 that's ok 09:43:07 define a standard way to biguate them 09:43:15 id rather leave it unspecified 09:43:23 so any order is fine, e.g. one implementation might choose randomly 09:43:34 * oerjan blinks at "biguate" 09:44:04 biguate : to make something not ambiguous 09:45:13 and yet you use unidecode instead of icode 09:45:13 thing is, am- is not a negative prefix here hth 09:45:26 http://en.wiktionary.org/wiki/ambo#Latin 09:45:41 oh, wait, one of the nicks starting with an o here wasn't oerjan 09:46:01 shocking 09:46:14 shachaf: shall i biguate by kicking oren twh 09:46:24 -!- _AndoDaan has joined. 09:46:30 olsner is still here 09:46:34 oh 09:46:36 so you'd need to tribiguate hth 09:46:39 -!- oren has changed nick to Oren. 09:46:40 er 09:46:41 triguate 09:46:42 well you're used to him 09:46:46 sigh, i messed that one up 09:46:51 here i'm capitalizes 09:47:06 Oren: i don't think that helps with tab completion 09:47:11 see now it is biguated 09:47:16 it was a reading thing, not a tab completion thing hth 09:47:29 normally i'd notice because of the length difference, but you use /me 09:47:52 my O is biguated and thus my name is biguated 09:47:56 * int-e fails to see how that hurts. 09:48:09 Any ideas for a name for this language 09:48:14 also is it worth implementing? 09:48:27 I guesss it migth be better to try to implement things with it first 09:48:54 cluidanian standard prefix specification language 09:48:56 call it Not Actually A Language (bonus points if you use that phrase to replace the word language anywhere you talk about it) 09:49:18 lol yes do that 09:49:34 haha 09:50:16 Not Actually A NAAL? 09:50:35 err, I guess that should be Not Actually A NAAN? 09:51:06 Which elegantly avoids an unfortunate connotation. 09:51:23 meh recursive acronyms are cliche 09:51:38 is cliche pronounced cleetch? 09:51:43 "At 12,978,189 digits long, it would take the best part of two and a half months to write out by hand." 09:51:50 what is the best part of two and a half months? 09:52:04 the sex 09:52:15 <_AndoDaan> 44 days 09:52:40 actully no, the sleep 09:53:16 i think they meant what _andodaan said 09:54:15 <_AndoDaan> I'm wrong though. 09:54:23 why> 09:54:25 ? 09:54:36 -!- Phantom_Hoover has joined. 09:55:36 hi 09:56:12 <_AndoDaan> Because I read 1 and half month instead of 2 and a half 09:56:58 oh yeah. whould be 72 days about 09:57:29 What languages should I try implementing in this CFG based language? 09:58:28 hmm. are they calculating with 2 digits per second, and no sleep at all? 09:58:38 > 12978189/86400/2 09:58:40 75.10526041666667 09:59:30 <_AndoDaan> BrainFuck. Always BrainFuck. 10:00:12 that isn't implable in this langugae 10:00:46 new word: implable : easier way to say implementable 10:01:08 ? 10:01:16 oerjan: how do you feel about "habited" twh 10:01:18 _AndoDaan, oh i can't do brainfuck 10:01:25 is cliche pronounced cleetch? <-- no hth 10:01:32 I think 10:01:46 it isn't even spelled cliche 10:01:51 oerjan: i guess it must be french then 10:02:02 (hint: it's also spelled cliché) 10:02:03 although maybe it could be done by takingt he program code and tacking on an array like ++.[>-<++]+|0010101010`110 10:02:06 cleeshay 10:02:08 where the ` marks the cell we're on 10:02:49 cluid: you need to mark the program position, too, I think 10:02:52 and a symbol for the ip 10:03:20 it could work 10:03:36 shachaf: at least that isn't splitting a morpheme. 10:03:58 mighty morpheme power rangers 10:04:44 -!- Dulnes has quit (Quit: Connection closed for inactivity). 10:04:57 actually this seems to work 10:06:04 might morphin power rangers = kyoryuu sentai zyurenjaa 10:11:03 -!- Lymia has quit (Read error: Connection reset by peer). 10:13:30 juurenjaa, juurenjaa, densetsu no senshitachi yo juurenjaa juurenjaa toki wo kakeru kibou, kyouryuu sentai juurenjaa!! 10:13:41 that is the theme song 10:14:33 thank you 10:14:34 the name means Dinosaur Squad Beast Rangers 10:14:34 -!- Lymia has joined. 10:15:23 thank you 10:15:28 i know a lot of completely useless trivia huh 10:16:14 i should spend more time studying my actual courses 10:26:16 [wiki] [[Return Oriented Programming]] M http://esolangs.org/w/index.php?diff=41297&oldid=41293 * Cluid Zhasulelm * (+84) clarified about W^X and corrected link 10:31:40 -!- nooga has joined. 10:32:21 -!- epicmonkey has joined. 10:32:41 -!- epicmonkey has quit (Client Quit). 10:42:06 -!- Jafet has quit (Quit: Quit). 10:44:19 http://esolangs.org/wiki/Hello_world_program_in_esoteric_languages 10:47:44 hm? 10:47:55 this is an excellent page 10:48:22 -!- nortti has quit (Remote host closed the connection). 10:48:28 check out the quine, deadfish and truth-machine pages too 10:48:40 (i may be forgetting some) 10:49:50 [wiki] [[Return Oriented Programming]] http://esolangs.org/w/index.php?diff=41298&oldid=41297 * 213.162.68.150 * (+52) /* References */ (style) 11:07:54 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds). 11:09:04 -!- nooga has quit (Ping timeout: 255 seconds). 11:12:10 most people don't follow ads at all <-- i think i followed an ad not by accident once. of course i didn't actually _buy_ anything. 11:12:36 oh i guess i sometimes follow webcomic ads, but i'm not sure that counts. 11:12:41 -!- boily has joined. 11:22:43 http://esolangs.org/wiki/Burn weird 11:27:41 oerjan: do you buy anything after following them? 11:28:15 ...no. 11:28:28 and it probably doesn't count either 11:29:23 http://xn13.com/ what does this program do 11:29:53 oh 11:29:59 i see what it does 11:32:48 underload is cool 11:33:18 [wiki] [[Talk:Burn]] http://esolangs.org/w/index.php?diff=41299&oldid=39776 * Oerjan * (+176) Doubt it 11:33:40 * oerjan thinks someone is wiki binging 11:34:30 :()^ is turing complete? 11:34:37 yep 11:34:41 * oerjan proved that 11:35:01 that is very surprising 11:35:25 I was wondering what minimal 'stack' ops are TC 11:35:29 i was surprised too. you can see the progression of refinements, at almost every step my initial hunch was "this cannot be TC" 11:35:36 haha 11:35:46 -!- nortti has joined. 11:39:43 it reminds me of one combinator basis 11:39:51 do you think it corresponds to any one combinator basis? 11:40:02 i see you can encode SK into underload by a simple translation 11:41:27 well it seems you can only get combinators that act on a stack representation 11:41:41 in particular you don't have application, only composition i think 11:42:14 hm 11:42:58 you don't have any :()^ program corresponding to Kf because that would be replacing the whole stack with a known one 11:43:15 and you cannot do that in underload at all 11:43:48 so whatever it corresponds to as combinators, it's not a basis for _all_ combinators 11:44:32 this is thinking of underload programs as functions from stacks to stacks 11:44:33 so I wonder if B (composition) and M (self application) are turing complete? 11:44:45 and if that correponds to this underload subset at all 11:45:16 huh 11:47:42 i've been looking a bit at unlambda subsets recently, and self application came up (as `d`cc) but there's no primitive b function 11:48:11 (also the subset i looked at, avoiding s and k, wasn't TC alas) 11:48:48 MM becomes itself, of course... 11:48:57 (non-halting, essentially) 11:49:05 i assume you mean M x = x x 11:49:15 and B f g x = f (g x) 11:50:13 maybe M isnt dup 11:50:20 cluid: note that the :()^ subset has the property that you can never create _new_ elements, only unpack and duplicate old ones 11:52:11 incidentally as part of that unlambda investigation, i found that `d`cc representation as an alternative to ``sii for M 11:52:33 of course that uses continuations so isn't an ordinary combinator 11:53:45 hm what _would_ M be in underload, assuming a stack is a nested list of churc pairs 11:53:54 *church 11:54:08 does it exist at all 11:54:23 hm seems tricky, for the same reason as `Kf 11:55:07 you cannot really duplicate all the stack before running any part of it, and that part might ruin the rest 11:55:48 The way I know to show SK turing complete is by eliminating lambda 11:56:04 yeah that's easy 11:56:07 I wonder how well this applies to other sets of combinators 11:57:23 it applies to some of them but not all? S and K (and I) are important because they're exactly the combinators you need for eliminating lambdas so if you do that you essentially are expressing S and K in other ones. 11:58:11 *with other ones 11:58:16 oh okay, so its basicaly useless for anything except SK: In some cases you should just construct S and K - in other cases... well I wonder about those 11:58:20 those seem like the interesting ones 11:59:03 i recall reading that there was a version that avoided having K 11:59:22 and just "approximated" it enough to work for church numerals 12:00:11 -!- Patashu has quit (Ping timeout: 252 seconds). 12:00:13 there's the CL_I thing with S,B,C,I as basis: https://en.wikipedia.org/wiki/Combinatory_logic#CLK_versus_CLI_calculus 12:00:37 * oerjan was just about to link that 12:01:16 I could make a point and change the topic to mention the twins oerjan and int-e ;-) 12:02:04 But perhaps it's best to leave it at this bit of weak meta-meta-humor. 12:02:59 -!- AndoDaan_ has joined. 12:03:01 OKAY 12:03:17 -!- AndoDaan has quit (Ping timeout: 264 seconds). 12:04:15 hm in fact :()^ may be closer to that than to SK, because :()^ has no way to remove elements without running them - getting that to work was the final trick... 12:04:47 but B and M also belong to that subset. 12:04:51 BM is awkward to reason about 12:05:03 M has such a crude way of duplication. 12:09:31 http://www.complex-systems.com/pdf/19-3-5.pdf 12:09:39 this bitcopying OISC cites esolang wiki 12:10:01 http://mazonka.com/bbj/ 12:10:44 mazonka used to be active on the wiki 12:11:05 -!- AndoDaan_ has quit (Read error: Connection reset by peer). 12:11:12 -!- _AndoDaan has quit (Ping timeout: 256 seconds). 12:11:16 oh duh. M B = B B. 12:11:18 -!- AndoDaan has joined. 12:11:32 -!- _AndoDaan has joined. 12:11:39 int-e: um are we working in parallel here 12:12:00 -!- _AndoDaan has quit (Client Quit). 12:12:48 gah beeping 12:12:58 afk 12:13:44 http://mazonka.com/wiki/index.php his wiki is limes too! 12:17:04 B M B B = B B B B B B 12:17:23 cluid: the limes are somehow a default. 12:17:36 fungot: what should we replace the Defaulimes with? 12:17:36 boily: that's the point. there was no elaboration, no doubt 12:17:48 aah. clear, simple, standard and expectable. 12:19:30 theseare different limes 12:19:42 well they are the same limes, but its a differnet picture of them 12:21:27 I had an idea to search for metacalls in 1D CA: try running the CA backwards 12:21:51 this is probably slower than just running it forwards until you find a loop but oh well 12:23:37 -!- boily has quit (Quit: ASCETIC CHICKEN). 12:25:29 http://www.complex-systems.com/pdf/15-1-1.pdf 12:25:36 pg 13 shows the gliders 12:26:15 I guess trying to collide gliders together and see what they do could be productive 12:33:34 I've been looking through http://www.complex-systems.com/archives.html for interesting papers, but not many seem very interesting 12:51:13 AIUI, what we have is called a trilime. 12:52:21 we've tried to replace it with a synthetic version but it was no good 12:54:18 OMG, these are amazing. https://www.behance.net/Gallery/ALT1977-WE-ARE-NOT-TIME-TRAVELERS/545221 13:02:41 -!- GeekDude has joined. 13:02:50 -!- AndoDaan has quit (Quit: Quit). 13:09:41 im having trouble finding loops in rule 30 1D CA 13:09:50 in particular, two distinct loops 13:09:56 what ca should i look at instead? 13:10:09 (i can find single loops, but never two loops that dont meet) 13:11:18 these are not the limes you are looking for 13:26:03 ahahaha. they actually did it. 13:26:05 https://devuan.org/ 13:27:17 what's with the font sizes.... 13:27:25 devuan is bad :( 13:29:47 (apparently they rely on javascript to select sensible font sizes but have not bothered to make sure that their CSS contains sensible defaults.) 13:30:41 leading to ... http://int-e.eu/~bf3/tmp/devuan.png 13:40:04 -!- shikhin has joined. 13:59:05 meh is there any systematic order in the polyominoes thing? 13:59:40 I can see that the horizontal ones come last. 14:04:35 int-e, the order is according to the search tree that i describe 14:05:51 oh. didn't read the blurb, sorry. 14:06:02 -!- mroman has joined. 14:06:04 I'm back. 14:06:31 -!- blsqbot has joined. 14:06:32 @messages-lewd 14:06:32 oerjan said 3d 8h 47m 52s ago: i used the word in the en:you = de:man sense 14:06:32 oerjan asked 2d 13h 27m 13s ago: (1) is your mirror of The Esoteric File Archive still active? (2) has it been updated with the fact the archive itself has moved to github? 14:07:00 @tell oerjan (1) it is still active. (2) no 14:07:00 Consider it noted. 14:07:09 !blsq ?? 14:07:10 | "Burlesque - 1.7.4.dev" 14:07:14 aight 14:09:25 int-e, i thought about ordering them according to the tuple of sorted points if we align the bottom left square with the origin, but i couldn't find a way to generate those in order with a recursive function, it would have required storing them all and sorting at the end 14:10:52 but that version (or a different one) could be added if it's interesting for different ways of generating them 14:11:37 -!- helix__ has joined. 14:12:22 @clear-messages 14:12:22 Messages cleared. 14:12:53 -!- adu has joined. 14:14:28 -!- helix__ has quit (Client Quit). 14:14:33 mroman: okay 14:15:09 it wasn't loading for me when i tried the other day, but working now 14:17:03 mitchs_: one slightly irritating feature is that you only consider two neighbours of the initial square. 14:18:06 -!- Jafet has joined. 14:18:13 (otherwise the first polyominoes would be the square, vertical domino, L tiromino, sidesways T tetromino, + pentomino, with a visible pattern.) 14:18:23 *triomino 14:21:44 oerjan: my vServer has been down for the last 3 days 14:23:50 areioccc code out yet 14:24:41 arecibo code 14:25:32 cluid: no, not yet 14:27:51 int-e, that's because the first square is fixed as the bottom left square 14:29:10 mitchs_: but it isn't once you turn left above the first square or down to the right of the first square. 14:30:33 if we consider the first square as being on the origin, then any squares that have y<0 or (y=0 and x<0) are unreachable 14:33:01 no. you'd never that the "##"\" #" triomino that way. 14:33:22 hmm 14:34:02 -!- visy has left. 14:38:38 how about this one, visiting square in their specified order without backtracking (n=18) http://sprunge.us/YYUR 14:39:56 8 should not have been put there because it's at y=-1 14:40:03 -!- shikhout has joined. 14:40:35 it's put there as a neighbour of 3 14:41:18 -!- cluid has quit (Quit: Leaving). 14:41:57 i didn't define reachable in my blurb, but because that square would invalidate the assumption that the first square is the bottom left one, it is unreachable 14:43:29 -!- shikhin has quit (Ping timeout: 264 seconds). 14:43:41 there's a more detailed explanation here http://en.wikipedia.org/wiki/Polyomino#Algorithms_for_enumeration_of_fixed_polyominoes 14:44:02 redelmeijer's paper is here http://www.sciencedirect.com/science/article/pii/S0012365X81800155 but i think it leaves the search order as an implementation detail 14:46:07 -!- perrier has joined. 14:46:21 I see. 14:47:28 -!- oerjan has quit (Quit: Searching...). 14:52:29 -!- adu has quit (Quit: adu). 15:05:25 I've just had a bizarre idea for a programming language but I am not sure whether it is esoteric or not 15:05:46 Taneb: go on 15:06:23 The idea behind it is the set of instructions form a group 15:07:05 So you can undo anything 15:07:11 Unfortunately, this makes it Useless 15:08:24 -!- shikhout has changed nick to shikhin. 15:09:10 But I kind of want to see how fancy it can get 15:10:32 Reversible computing isn't that esoteric 15:10:37 -!- `^_^v has joined. 15:11:03 This particular one may be 15:11:14 I'm not veeeery familiar with the area 15:14:55 -!- AndoDaan has joined. 15:24:57 -!- perrier has quit (Remote host closed the connection). 15:26:31 Also I just found out about QuickSpec which looks kind of cool 15:28:15 -!- perrier has joined. 15:29:43 -!- nyuszika7h has quit (Read error: Connection reset by peer). 15:30:23 -!- nyuszika7h has joined. 15:39:36 -!- perrier has quit (Remote host closed the connection). 15:40:48 -!- perrier has joined. 15:46:18 -!- Sprocklem has joined. 16:07:26 -!- trn has joined. 16:11:37 -!- `^_^v has quit (Read error: Connection reset by peer). 16:31:46 -!- cluid has joined. 16:31:49 hello 16:34:28 I had an idea for a website 16:34:36 it could be on github if github pages allows javascript? 16:34:55 The idea is to have a javascript implementation of every esolang, so people can easily try running programs in it 16:35:07 and it would have a drop down menu with lots of example code to try 16:36:45 -!- yorick_ has changed nick to yorick. 16:38:07 http://p-nand-q.com/index.html this guy has a lot of esolangs 16:45:09 http://esolangs.org/wiki/A_programming_language_is_an_artificial_language_designed_to_communicate_instructions_to_a_machine,_particularly_a_computer. 16:47:40 -!- mihow has joined. 16:58:03 -!- Froox has joined. 16:58:49 -!- Froox has quit (Client Quit). 17:01:10 -!- Frooxius has quit (Ping timeout: 244 seconds). 17:10:51 -!- GeekDude has quit (Quit: AdiIRC is updating to v1.9.6 Beta Build (2014/12/02) 32 Bit). 17:11:09 -!- GeekDude has joined. 17:11:16 -!- GeekDude has quit (Client Quit). 17:14:45 Taneb, im interested in reversible programming 17:14:46 -!- GeekDude has joined. 17:15:03 cluid, I'll write up this language tonight or tomorrow 17:21:06 ok 17:34:20 -!- MoALTz has joined. 18:08:07 there, let's see by how much henkma will beat me this time 18:09:55 -!- J_Arcane has quit (Ping timeout: 258 seconds). 18:10:18 -!- J_Arcane has joined. 18:11:22 -!- cluid has quit (Quit: Leaving). 18:16:01 -!- J_Arcane has quit (Quit: ChatZilla 0.9.91-rdmsoft [XULRunner 32.0.3/20140923175406]). 18:16:26 -!- J_Arcane has joined. 18:24:24 -!- dts has changed nick to tcs. 18:24:28 -!- tcs has changed nick to dts. 18:25:52 -!- zzo38 has quit (Remote host closed the connection). 18:37:48 -!- Sprocklem has quit (Ping timeout: 264 seconds). 18:39:42 mitchs_: So actually the search order looks quite sane to me, after having spent some time actually implementing it. 19:06:59 -!- nooga has joined. 19:12:24 -!- `^_^v has joined. 19:19:27 -!- zzo38 has joined. 19:49:12 -!- viznut_ has quit (Ping timeout: 250 seconds). 19:55:02 -!- Dulnes has joined. 19:56:50 https://i.imgur.com/7PdwO5r.jpg 19:56:56 Bye 19:57:18 -!- nooga has quit (Ping timeout: 264 seconds). 19:58:26 -!- nooga has joined. 19:59:39 -!- zzo38 has quit (Remote host closed the connection). 20:00:01 -!- Dulnes has quit (Quit: bees). 20:13:37 -!- augur has quit (Quit: Leaving...). 20:14:37 -!- Sprocklem has joined. 20:27:21 -!- Sprocklem has quit (Ping timeout: 250 seconds). 20:34:35 [wiki] [[Talk:Pikalang]] N http://esolangs.org/w/index.php?oldid=41300 * Rdebath * (+809) /* Does this count as an implementation? */ new section 20:40:10 -!- shikhout has joined. 20:42:50 -!- shikhin has quit (Ping timeout: 244 seconds). 20:45:27 -!- G33kDude has joined. 20:46:28 -!- GeekDude has quit (Read error: Connection reset by peer). 20:46:29 -!- G33kDude has changed nick to GeekDude. 20:50:15 -!- AndoDaan has quit (Quit: Quit). 20:55:11 -!- perrier has quit (Remote host closed the connection). 20:55:26 -!- MoALTz has quit (Quit: Leaving). 20:57:55 -!- perrier has joined. 21:01:47 what is programming? 21:06:57 int-e, thanks 21:07:07 int-e: I did a straightforward Burlesque of your dc Dominosa, and it turned out to be 80B. It very likely could shorten to something less than my trit-based 78B, but I doubt at least I could get it anywhere near the dc size. 21:07:25 i'm pleasantly surprised to see some interest in the problem already, i thought it would be a less popular one 21:13:12 -!- Vorpal has quit (Ping timeout: 264 seconds). 21:15:06 -!- Vorpal has joined. 21:17:22 -!- augur has joined. 21:23:14 -!- Sprocklem has joined. 21:36:58 [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41301&oldid=41289 * BCompton * (+1166) example program 21:38:53 [wiki] [[Hello world program in esoteric languages]] http://esolangs.org/w/index.php?diff=41302&oldid=40713 * SuperJedi224 * (+123) 21:40:34 -!- mitchs_ has quit (Ping timeout: 250 seconds). 21:41:05 -!- mitchs has joined. 22:00:51 [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41303&oldid=41301 * BCompton * (+19) 22:12:04 -!- dts has changed nick to dtsbot. 22:12:13 -!- dtsbot has changed nick to dts. 22:15:00 -!- MDream has quit (Ping timeout: 264 seconds). 22:15:18 -!- MDream has joined. 22:19:29 -!- Sprocklem has quit (Ping timeout: 252 seconds). 22:19:35 -!- S1 has joined. 22:25:27 -!- MDream has changed nick to MDude. 22:27:39 -!- Dulnes has joined. 22:27:48 Heyo 22:34:41 [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41304&oldid=41303 * SuperJedi224 * (+23) 22:35:55 [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41305&oldid=41304 * SuperJedi224 * (-1) 22:44:09 [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41306&oldid=41305 * SuperJedi224 * (+418) /* Example Program */ 22:45:30 [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41307&oldid=41306 * SuperJedi224 * (-52) 22:46:04 [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41308&oldid=41307 * SuperJedi224 * (+90) 22:46:42 [wiki] [[Mmmm()]] M http://esolangs.org/w/index.php?diff=41309&oldid=41308 * BCompton * (+2) 22:47:12 Mmmm 22:57:17 [wiki] [[Talk:Mmmm()]] N http://esolangs.org/w/index.php?oldid=41310 * SuperJedi224 * (+43) Created page with "Well done on the example program, BCompton." 22:57:28 [wiki] [[Talk:Mmmm()]] http://esolangs.org/w/index.php?diff=41311&oldid=41310 * SuperJedi224 * (+98) 23:02:14 -!- boily has joined. 23:02:38 [wiki] [[Talk:Mmmm()]] http://esolangs.org/w/index.php?diff=41312&oldid=41311 * BCompton * (+271) 23:03:53 Racket documentation > Python documentation 23:04:14 Racket documentation, as I understand it, is not particularly likely to link to identifiers of the same name in the wrong module 23:04:24 Python docs actually do. In the standard library. 23:05:14 personally i prefer behaviorism to most "cognitive" psychological methodologies 23:06:18 Sgeo: outrageous! do you have any examples? 23:06:54 Bike: all those sub-branches of psychological stuff confuses me. I know there's a difference, but sometimes I fail to grasp them. 23:07:13 s/there's a/there are/ 23:07:27 they're not subfields, just differnet approaches. 23:13:02 -!- AndoDaan has joined. 23:22:47 [wiki] [[Talk:Mmmm()]] http://esolangs.org/w/index.php?diff=41313&oldid=41312 * BCompton * (+288) 23:24:33 The sound of human bones undergoing liquifaction is great 23:24:38 -!- `^_^v has quit (Ping timeout: 258 seconds). 23:27:09 [wiki] [[Talk:Mmmm()]] http://esolangs.org/w/index.php?diff=41314&oldid=41313 * BCompton * (+92) 23:32:12 -!- Phantom_Hoover has joined. 23:32:14 -!- Phantom_Hoover has quit (Changing host). 23:32:14 -!- Phantom_Hoover has joined. 23:40:14 -!- mihow has quit (Quit: mihow). 23:41:55 boily: https://docs.python.org/2/library/cookielib.html#cookielib.Cookie 23:42:15 Click that Cookie link. Note that it links to the Cookie module, not the cookielib.Cookie 23:42:30 Also, that expectation was wrong 23:42:38 But that's a separate issue 23:42:44 -!- Oren has quit (Ping timeout: 272 seconds). 23:45:14 Cookie.lib :0 23:45:20 Kinda like cake.lib 23:45:48 Sgeo: indeed. 23:46:02 the cake is a lib 23:46:25 Yes! 23:46:41 Pep pep good creb 23:46:47 The Python 3 version points to the right place at least 23:47:03 But this wouldn't have occured at all under Racket's Scribble 23:47:13 Mmm racket 23:47:34 And it wouldn't have caused me way too much annoyance in Haskell, with what would presumably be a clear type error 23:47:45 Ur such a haskell 23:47:46 Instead of complaining that Cookie doesn't have a domain attribute 23:52:52 -!- Frooxius has joined. 2014-12-03: 00:06:40 [wiki] [[Mmmm()]] M http://esolangs.org/w/index.php?diff=41315&oldid=41309 * BCompton * (+0) 00:07:54 -!- S1 has quit (Quit: S1). 00:09:52 -!- Oren has joined. 00:12:06 -!- dts has quit (Read error: Connection reset by peer). 00:13:30 -!- oerjan has joined. 00:15:52 Dulnes: Haskell is good for your health. it fills your daily quota of vitamonads. 00:19:32 good past midnoily 00:19:45 bon soerjan. 00:23:29 AWS has an awful user interface 00:23:55 Oren: it's all in the acronym if you squint at it 00:24:32 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 00:24:46 -!- Phantom_Hoover has joined. 00:26:30 well i'm getting it for free so maybe i can't rightfully comlain 00:26:35 also that could mean amazon web services or athena widget set, i'm sure it applies equally to both. 00:26:46 amazonweb services 00:27:24 ooooh, athena. it sure doesn't bring any memories. 00:28:52 you're either ironic or too young hth 00:29:33 the latter htah 00:29:56 i also thought for a moment that it might apply to the original java widget set, but that has acronym AWT 00:31:12 hm an esolang in which every concept has an acronym that usually means something else. 00:31:21 Private Data Field 00:31:33 Really Esoteric Programming Language 00:32:08 General Number Unit 00:33:17 pdf gnu x;//private signed x 00:33:36 * boily twitches 00:35:34 Binary Style Decimal 00:36:07 Immediate Register Set 00:36:16 public internal name 00:36:33 Function Behaviour Iterator 00:36:54 serously make this language! 00:37:11 Taneb named it! it's his! 00:37:11 s/rous/rious/ 00:37:40 serously means in a way resembling serum 00:37:42 /riotous/ 00:37:44 Hopeful Timed Message Layer 00:38:35 Real Time Flatbed Monitor 00:39:41 why are the top google picture hits for "flatbed monitor" tanks? 00:40:04 what the hell is a flatbed monitor? 00:40:16 monitor used to mean a ship that bombards cities hth 00:40:25 i would guess because you transport tanks on flatbed trucks 00:40:41 Oren: tmhhians 00:41:07 fungot: do you even flatbed? 00:41:08 boily: using unload and load totally random and end up extending the test by 1.5 hours. so, it's under the public domain. 00:41:35 the 'got unloads and loads flatbeds. he's an expert. 00:41:36 Bike: that is what i was trying to find out. 00:41:49 oh, boily said it 00:41:51 what the hell boily 00:41:56 -!- augur_ has joined. 00:42:22 I... uhm... well... I was trying to think of an F-word that wasn't “function”, cause I already used it. 00:42:36 the first thing that popped through my mind was flatbed. 00:42:47 factory 00:42:56 oh. 00:43:09 >_>'... 00:43:17 final fitting fully fantasy 00:44:04 boily: Objective Kernel Application Y... wtf is a word on Y that fits 00:44:12 foundry fortress funding finned fish filet 00:44:12 Y combinator? 00:44:38 -!- augur has quit (Ping timeout: 244 seconds). 00:44:53 I'm seriously lacking in the f-word department. I guess I could've even went with the fungot... 00:44:53 boily: edw just gave you 4 points, thought that might be the lack of tape... in theory, but they're fairly obscure compared even to postgresql. not tha there's anything wrong with this 00:45:07 oh, points! 00:45:20 fungot is so helpful 00:45:20 oerjan: in which scheme is sarahbot? 00:46:13 what does f_ngot do anyway? search for a word and give you a sentnce in whichyou used it? 00:46:28 fungot is 00:46:28 Oren: the spider was moving around its web systematically, picking off individual bits of sawdust all over it 00:46:35 boily: btw i was imagining an actual horizontal monitor in some kind of frame hth 00:47:10 ^source 00:47:10 https://github.com/fis/fungot/blob/master/fungot.b98 00:47:10 or just a sentence in general... 00:47:21 Oren, it should be clear from the source code! 00:47:24 Oren: it has a set of styles for markov generation 00:47:26 ^style 00:47:26 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 00:47:47 that is so cool 00:47:58 it doesn't actually base the sentence on anything you say - it doesn't have a way to convert words to internal tokens for that, even 00:48:23 (tokens being numbers, i presume) 00:49:37 `learn_append boily He is seriously lacking in the f-word department. 00:49:39 Learned 'boily': boily is monetizing a broterhood scheme with the Guardian of Lachine. He's also a NaniDispenser, a Man Eating Chicken and a METARologist. He is seriously lacking in the f-word department. 00:49:52 > 1^0 00:49:54 1 00:51:35 > undefined^0 00:51:37 1 00:51:47 um what 00:52:03 how is ^ defined for an undefined 00:52:07 it doesn't actually look at the first argument if the exponent is 0 00:52:20 oh fungot... and now I find myself back to my Old Torment, on a reformatted machine... 00:52:20 boily: if i plan to extend it for ip travel to the past 00:52:25 that's how much haskell believes in that rule 00:52:55 (given how ^ is polymorphically defined and not a method, that's the only sensible way to do it, too) 00:53:34 well it could have errored out, i guess. but where's the fun in that. 00:53:42 pawlymorfishim 00:55:13 boily: old torment? 00:55:28 yeah so i am working on a thing that allows you to program without any text as code 00:55:56 you just right click on objects and tell them to do things like age of empires 00:56:41 a complex program would resemble an economy 00:56:49 fancy 00:57:11 oerjan: the PDF. 00:57:26 oh so it's not just a visual language with boxes, good. 00:57:48 boily: ah. i'd been wondering if you've kept that up-to-date lately. 00:58:00 not since September 30. 00:58:08 (shame on me.) 00:58:23 WHAT ARE WE PAYING YOU FOR 00:59:08 申し訳ありません、ørjan先生 00:59:09 -!- colellis has joined. 00:59:46 to the GTmobile... 01:00:09 trans: i am so sorry, mr. oerjan 01:00:40 google says it means "teacher", not "mr."? 01:01:08 oh it's actually the word sensei 01:01:19 literally yes but that title is also used for politicians and doctors 01:02:01 it means "he who has lived previously to me" 01:02:11 or something along those lines 01:02:23 ah yes the japanese are weirdos who respect their politicians, aren't they 01:02:40 so "elder"? 01:03:06 yes, possibly-- 01:03:15 probably so, afaik hth 01:03:53 the japanese are weird in many ways hth 01:04:03 -!- colellis_ has joined. 01:04:15 -!- colellis_ has quit (Client Quit). 01:04:17 Oren: そうですね… 01:04:50 NOOO i had just closed GT 01:04:59 thank god for ctrl-shift-T 01:05:05 -!- colellis has quit (Quit: Page closed). 01:05:42 GT? what is that 01:05:51 google translate hth 01:06:17 he said "indeed..." 01:08:01 translation is very much an unsolved problem 01:09:09 yes but now everyone can fake it! 01:09:18 and badly too! 01:11:21 Watche Moe bin dårlig oversatt hva norsk. 01:13:03 wat did you go via japanese or something 01:13:39 no, just badly mangled québécois :D 01:13:40 the three first words aren't even norwegian unless Moe is a surname. 01:14:15 in fact Moi is a norwegian surname too, a somewhat famous cook 01:14:24 -!- nooga has quit (Ping timeout: 264 seconds). 01:14:34 my dad speaks quebecois and he is unable to speak to parisians 01:14:43 «watche moé bin mal traduire de quoi en norvégien» → “just watch me badly translate something into Norwegian” 01:15:06 what does "bin" mean 01:15:13 Oren: do you speek French yourself? 01:15:34 The Suffolk County Legislature Tuesday passed legislation to require all county buildings to post notices that wireless routers are in use. 01:15:34 The resolution, sponsored by Legis. William Spencer (D-Centerport), warns that every wireless device emits radio frequency radiation or microwave radiation. 01:15:37 (yes, I do have some problems with parisians sometimes... I have a pretty strong accent with regional idioms...) 01:15:47 not a lot. oo e le metro silver plate? 01:15:57 oo e? 01:16:01 where is 01:16:19 oh. ha ha ha :D 01:16:33 my french is much worse than my japanese 01:16:34 oerjan: it's a contraction of «bien», used as a verbal punctuation. 01:16:47 bien mal, okay 01:17:14 I wonder if Parisian are further away from eachother than, say, Yorkshire and Texan? 01:17:28 oerjan: rather “be sure to look at me good” 01:17:52 (if I had meant «bien mal», I'd have said «watche moé bin bin mal traduire...») 01:18:09 quebecois is like a dialect that split during the 1700's. it's like portuguese vs spanish 01:18:20 or around that range anyway 01:18:40 -!- Sprocklem has joined. 01:19:27 well, it's still somewhat the same language underneath... we just have different anglicismes than they do. 01:19:46 and a different accent with quite distinct vowels 01:20:29 yup! ^^ 01:20:30 didn't technically english and american _also_ split during the 1700s, like 01:20:45 i hear there was some noise about that 01:20:51 american kept better contact with english 01:20:53 I'm still not totally sure how to architect stuff in OTP 01:20:56 indeed. that's mainly why you'll find the rhotic r anywhere except in the UK. 01:21:06 And can't help but wonder if stuff in the Elixir standard lib goes against OTP principles 01:21:09 Taneb: are you rhotic? 01:21:21 boily, I believe not. 01:21:41 funny thing is my dad puts an h in white and i don't 01:21:44 wait, i thought the uk was like the center of _not_ being rhotic 01:22:01 and the us was outside 01:22:06 exactly 01:22:34 -!- doesthiswork has joined. 01:22:39 well boily seemed to say something vaguely opposite 01:22:44 my dad is like "huwite" and i'm like 'wite' 01:22:58 huh? I said that rhoticism is quite absent from the UK. 01:23:49 Oren: about the same. /ʍ/ 01:24:44 i can't remeber how to type ipa i took intro linguistics in first year... 01:24:57 and now its been 4 years 01:24:59 boily: oh hm ambiguous "anywhere" construction 01:25:20 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 01:25:40 Oren: linguistics student? 01:25:53 I am a computer science major 01:26:01 ah :D 01:26:05 boily, it's actually in some accents, I believe it's in the Somerset accent? 01:26:34 Taneb: perhaps. I admit I'm nowhere an expert about English English accents. 01:26:44 basically uk ppl are like 'caaa' and everyone else is like 'you mean car' 01:27:25 https://en.wikipedia.org/wiki/Rhoticity_in_English#England 01:27:49 Oren, if I say "caa" to me that sounds scouse 01:28:52 if people "caa"ed me I'd expect a «lisse» to follow soon after. 01:29:48 boily, I think I can be concsiously rhotic 01:31:01 But I'm not if I'm not thinking about it? 01:33:01 meanwhile, I still can't compile the wisdom on that texlive install... apparently I fell through an interim Greek package and now I'm stuck with http://tex.stackexchange.com/questions/191685/lgrxenc-def-not-nound . 01:33:18 also, pentadactyl's nightlies are incompatible with firefox 34.0... 01:33:25 boily: does that mean you complete tabs with ernacle? 01:33:56 if I ever get custom printed keycaps, that one is definitely going on my keyboards. 01:36:22 i seemed to have triggered the visual french keyboard in gt, and was confused because several attempts kept giving me tqbernqle 01:37:27 (it's not _just_ visual, it seems) 01:37:35 shun the AZERTY layout! 01:37:35 :I 01:37:37 Hi 01:37:52 Dulnes hello. 01:37:53 hilnes 01:38:13 Heh 01:43:01 terminal: white on black or black on white? 01:43:13 yellow on yellow 01:43:29 lolwut 01:43:51 Should i get ORAS or x/y 01:43:57 Or link between worlds 01:44:11 Red Rescue Team 01:44:18 Idk what do i only have a little money left on my paycheck 01:44:34 link between worldd is a copy of link to the past. get lttp on gba 01:44:54 Link between worlds i know that oerjan 01:45:04 Malborge <-- AAAAAA it's spreading 01:45:13 Gasp! i beat lttp in 5 minutes 01:45:21 oerjan: I'm sorry ): 01:45:23 -!- Sgeo_ has joined. 01:45:27 Soary 01:45:36 FreeFull: it's ok i really blame Lymia 01:45:40 Dulnes: I'm not an eagle 01:45:57 Arst thou sure? 01:46:11 When was the last time yiu checked 01:46:15 You* 01:47:21 so white on black or black on white which is better for terminal 01:47:29 Oren: white on black. 01:47:53 As in txt wise? 01:48:03 Neon orange on neon blue 01:48:08 -!- Sgeo_ has quit (Read error: Connection reset by peer). 01:48:16 or editor you know, for coding 01:48:17 FreeFull: i suppose it's ironic that Malbolge is misspelled to start with. 01:48:53 Yeah, Malebolge 01:49:02 Malebulge 01:49:04 maelbolge 01:49:13 -!- Sgeo has quit (Ping timeout: 244 seconds). 01:49:16 mæ 01:49:20 Anyways white text on black background? 01:49:23 Seems gud 01:49:32 Do that oerjan 01:49:37 Œ 01:49:45 œæ 01:50:02 ø 01:50:12 Dulnes: i'm not Oren. 01:50:16 -!- Sgeo has joined. 01:50:41 O 01:50:49 Your names tho 01:51:01 I loose a letter when staring to long 01:51:50 does your client have tab completion and is it smart enough to prefer whoever spoke last? that will help, although probably not always. 01:52:24 *irc client 01:52:31 I have to put oe for your name 01:52:37 And or for oren 01:52:41 Doesn't look like irc supports unicode in username 01:52:51 Yeh 01:52:57 :I 01:52:57 -!- Oren has changed nick to |en. 01:53:02 Dulnes: beware. when oerjan and olsner are discussing, it can get quite confusing. 01:53:04 <|en> is that better? 01:53:15 <|en> i used C | 01:53:18 |en: yeh 01:53:20 <|en> for or 01:53:34 boily? 01:53:41 enket 01:53:43 What do you mean 01:53:52 Im oeren 01:54:00 Gah 01:54:06 Ignore im 01:54:11 <|en> he sees |en> like a quantum thingy 01:54:24 I think i have dislexia 01:54:32 Quantum physics 01:54:41 Dulnes: when blindly tabcompleting. 01:55:03 Tebs 01:55:23 Btw vf 01:55:28 Very good 01:56:16 There should be an esoteric language called malbranche 01:56:25 Make it 01:56:33 I'm too lazy 01:56:38 * Dulnes pets FreeFull's face 01:56:43 Every one is lazy 01:56:49 Yep 01:57:01 If I wasn't, I'd make a sort of mix of Prolog and J 01:57:20 And call it something unimaginative like Jlog 01:57:22 J *-* 01:57:37 <|en> why would somebody make a table called match 01:57:49 |en: regex implementation? 01:58:02 <|en> nope, pingpong 01:58:13 <|en> why not matches 01:58:20 <|en> match is a keyword 01:59:23 pingpong 01:59:35 Lovely 02:00:32 <|en> internet multiplayer games project... poop 02:00:51 <|en> l*php 02:02:19 PhP looks like a dissapointed grandpa face 02:03:38 it is amazing how different the current aesthetic is from previous ideas of what a 'futuristic' aesthetic whould llok like <-- i think that's a sort of self-fulfilling thing, if the previous ideas hadn't been made then people wouldn't now be avoiding them. 02:03:49 * oerjan is way backlogged can you tell 02:04:34 What are you up too? 02:04:36 <|en> i was halfway thru an episode of serial experiments lain when i wrote that 02:04:44 hm is retro-futuristic a thing? it has to be. 02:04:59 (see also: zeerust) 02:05:14 <|en> it is. lisp is a retro-futuristic language 02:05:32 Yuh 02:05:33 <|en> modern variants of it are i mean 02:06:07 ok it is https://en.wikipedia.org/wiki/Retrofuturism 02:06:40 Ivsee what you mean boily 02:08:09 retrofuturism is fun. 02:08:30 * Dulnes pats boily on the head 02:08:49 <|en> futoretrism 02:09:25 * boily mellows and tilts to the side 02:09:27 <|en> making your thing look like what you think future people will imagine your own era to look like 02:10:16 Dulnes: I like http://locomalito.com/maldita_castilla.php . it's hardcore and gives a really good arcade-ish vibe. 02:10:40 Well, people always like to think about how everyone in the past had awful hygine. 02:10:54 <|en> except the romans 02:11:07 BATHS BATHS BATHS 02:11:17 Lol 02:11:22 Also thank boily 02:14:15 <|en> gah why would somone spray this poor code with ^M everywhere? 02:14:40 don't panic and :e ++ff=dos 02:14:51 lol 02:15:14 ^=^ 02:15:41 |en: also the arabs. 02:16:11 i guess the jews too, for the same reason (ritual cleansing) 02:16:37 probably the europeans were the filth of the earth. 02:16:44 then they took over hth 02:17:57 oh and the vikings. when one of your weekday names _means_ bathing day, you know you're not filthy. 02:18:11 <|en> only once a week? 02:18:39 Filfy Phuckers 02:18:54 |en: IT'S ALL RELATIVE OKAY 02:19:10 -!- yorick has quit (Remote host closed the connection). 02:19:16 -!- boily has quit (Quit: FLATBED CHICKEN). 02:20:01 anyway, i'm pretty sure r/askhistorians on reddit had a portion of their FAQ about this. 02:20:47 <|en> this code im reading has the hallmarks of being edited by at least 3 people who used different editors and tab styles 02:20:49 8Chan 02:21:46 <|en> forensic source code ology 02:24:25 <|en> anyway i am normalizing it to my standard of one tab per indent level. 02:26:09 hm general washing appears conspicuously absent from http://www.reddit.com/r/AskHistorians/wiki/health 02:26:29 * oerjan know goes to read about the hitler moustache 02:26:31 *now 02:32:10 "Perhaps the most memorable fact from the early years of human computing is that the very first team of French computers, assembled by Gaspard Clair Francois Marie Riche de Prony in the early 1790s, was composed entirely of wig-makers left unemployed by the French Revolution." 02:32:52 The tooth brush stache was popular to about "1945" 02:32:56 (i went on to a post about other styles made unpopular by history) 02:33:09 Dulnes: i think that's pretty accurate hth 02:33:30 May i pet ye 02:33:36 no hth 02:33:44 Do any of you guys have pets 02:33:58 oerjan: why do you say hth all the time 02:34:10 tradition hth 02:34:44 ... 02:34:51 * Dulnes pets oerjan 02:34:55 :I 02:35:00 * oerjan swats Dulnes -----### 02:35:12 pep pep good creb 02:35:51 Apparently ### 02:35:58 Is a channel 02:36:18 <|en> the hashtag channel? 02:36:32 Just says blah 02:36:42 Dulnes: in many (if not most?) IRC networks # is also a valid channel 02:37:05 I know 02:37:09 <|en> some people say hashtag in real life 02:37:26 Yup and its disgusting 02:37:34 <|en> like my aunt (the youngest one) 02:37:49 <|en> she is very ditsy 02:38:07 <|en> but a fun person 02:38:11 Oren you can change your name back 02:38:24 -!- |en has changed nick to Orin. 02:38:43 -!- Orin has changed nick to OREN. 02:38:47 there 02:39:30 its all caps hth 02:39:43 Hhhh 02:40:14 you have no chance to survive make your time 02:41:08 What? 02:41:09 -!- shikhin has joined. 02:41:25 all your base are belong to us 02:41:50 Omg 02:41:56 I know that 02:42:01 -!- OREN has changed nick to CATS. 02:42:21 Idk if you can change names.on my client 02:42:32 Whats the ./ thing u use 02:42:34 Good Evening Gentlemen! 02:42:39 it's /nick 02:42:52 -!- CATS has changed nick to Captain. 02:42:59 It's You!!!! 02:43:00 -!- Dulnes has changed nick to Oren. 02:43:03 Hue 02:43:11 -!- Captain has changed nick to Cats. 02:43:42 -!- Oren has changed nick to Windows. 02:44:07 Also oren just go to that website and do the konami code 02:44:22 -!- shikhout has quit (Ping timeout: 258 seconds). 02:44:34 -!- Cats has changed nick to Oren. 02:44:44 what website? 02:45:13 -!- Windows has changed nick to Arch. 02:46:41 whoops afk battery 02:46:45 Idk what it was 02:46:49 -!- Oren has quit (Quit: leaving). 02:47:33 please stop 02:49:17 k 03:03:21 -!- oren has joined. 03:05:16 Hi oren 03:05:24 -!- Arch has changed nick to Dulnes. 03:17:26 -!- shikhin has quit (Ping timeout: 272 seconds). 03:17:38 hi 03:27:03 Gnight 03:38:43 gnight 03:41:07 -!- GeekDude has quit (Ping timeout: 250 seconds). 03:42:32 -!- GeekDude has joined. 03:44:32 The idea behind it is the set of instructions form a group <-- cpressey has a couple languages like that. 03:47:56 @tell Taneb http://catseye.tc/node/Burro 03:47:56 Consider it noted. 03:48:18 possibly it's just that one, Cabra is somewhat different. 04:12:28 -!- doesthiswork has quit (Quit: Page closed). 04:47:13 -!- Dulnes has changed nick to CakeMeat. 04:50:34 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 05:02:55 -!- trn has quit (Excess Flood). 05:02:55 -!- trn has joined. 05:04:40 -!- Sprocklem has quit (Ping timeout: 252 seconds). 05:05:23 -!- cluid has joined. 05:05:25 hi 05:06:11 hi 05:06:21 hï 05:06:35 ハイ 05:06:38 hı 05:06:47 is that a vav? 05:07:07 `icode ı 05:07:17 ¥ë§ 05:07:23 ​[U+0131 LATIN SMALL LETTER DOTLESS I] 05:07:32 i seee... 05:07:54 `icode s 05:07:56 ​[U+0073 LATIN SMALL LETTER S] 05:08:02 Mmm 05:08:14 Is dulnes btw 05:08:27 `icode Ⅶ 05:08:27 Gonna be more formal 05:08:29 ​[U+2166 ROMAN NUMERAL SEVEN] 05:08:41 `icode ₩ 05:08:43 ​[U+FFE6 FULLWIDTH WON SIGN] 05:08:50 Oh mai 05:09:08 Atleast i know what its called now 05:09:17 why the hellis there a unicode symbol for each roman numeral? 05:09:26 Idk 05:09:35 * CakeMeat pats oren 05:09:41 `^` 05:09:43 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ^`: not found 05:10:00 `icode ® 05:10:02 ​[U+00AE REGISTERED SIGN] 05:10:25 unicode has too many characters that were put in for backward compatibility 05:10:54 [°`°`°``°°°`°°°````°°`°°``°````°`°`°`°°`°°°°`°]°°`°`°`°```||°```°`````]°```°`°||°``°] 05:11:01 i lo 05:11:09 I like cats 05:11:53 ^ 05:12:16 Im pretty sure if i didnt put brackets it come out as ilickcatsssz 05:12:25 sigh, another nick 05:12:31 Sigh 05:12:48 Its better than dulnes atleast¿ 05:13:02 what does dulnes mean? 05:13:40 Its a name that means something to me 05:13:51 I dont use it often 05:14:30 i just use my name for most things 05:14:41 M 05:14:50 It used to be my name 05:15:06 ©_© 05:15:18 `cmds 05:15:19 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: cmds: not found 05:15:20 i mean the name on my birth cerifite 05:15:35 Whats that¿ 05:15:38 oren 05:15:45 Fancy 05:15:59 its not as if there are many orens? 05:15:59 No one knows my real name 05:16:41 ØwÕ 05:17:07 I assume ØwÕ is your real name 05:17:09 OдO 05:17:29 Nah 05:17:31 what's up 05:17:36 My realllll name iss 05:17:57 Finn Morghan O'Brien 05:18:05 Fancy 05:18:24 `exec 05:18:25 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: exec: not found 05:18:35 `hello 05:18:36 Hello 05:18:49 5öüçHè 05:19:00 Souche? 05:19:08 Touchè 05:19:35 How old are you oren 05:19:48 What programming languages are based on 'rewriting' in the sense that the operate entirely on source code - no external data structure 05:19:51 21才 05:19:55 Fancy 05:20:06 an example is SK combinators maybe, and non-example is brainfuck because the memory cells are not part of the program 05:20:08 /// thue and some others iirc 05:20:09 source code 05:20:30 Stack underflow 05:20:55 Stack stack 05:22:11 -!- AndoDaan_ has joined. 05:22:16 > cake/meat 05:22:17 Not in scope: ‘cake’ 05:22:17 Perhaps you meant one of these: 05:22:17 ‘take’ (imported from Data.List), 05:22:17 ‘Seq.take’ (imported from Data.Sequence), 05:22:17 ‘BSLC.take’ (imported from Data.ByteString.Lazy.Char8)Not in scope: ‘meat’ 05:22:26 Cannot divide by cake 05:22:27 > take the cake 05:22:28 Not in scope: ‘the’Not in scope: ‘cake’ 05:22:28 Perhaps you meant one of these: 05:22:28 ‘take’ (imported from Data.List), 05:22:28 ‘Seq.take’ (imported from Data.Sequence), 05:22:28 ‘BSLC.take’ (imported from Data.ByteString.Lazy.Char8) 05:22:50 Why cant lambdabot divide by cake?! 05:22:56 This is an outrage 05:23:20 cake/meat= 56 05:23:24 > cake 05:23:26 Not in scope: ‘cake’ 05:23:26 Perhaps you meant one of these: 05:23:26 ‘take’ (imported from Data.List), 05:23:26 ‘Seq.take’ (imported from Data.Sequence), 05:23:26 ‘BSLC.take’ (imported from Data.ByteString.Lazy.Char8) 05:23:30 Hmm, that's gone? 05:23:42 hmmmm it would be easier to insert binary data into a program if C supported base64 literals 05:23:42 > take take 05:23:43 Couldn't match expected type ‘GHC.Types.Int’ 05:23:43 with actual type ‘GHC.Types.Int -> [a0] -> [a0]’ 05:23:56 -!- AndoDaan has quit (Ping timeout: 255 seconds). 05:24:14 Lets make lambdabot do stuff 05:24:18 Funny stuff 05:24:27 i need to convert base64 to C "" notation 05:24:35 «» 05:24:45 `icode » 05:24:47 ​[U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK] 05:25:07 Oh so thats why it registers always as a quotation mark 05:25:24 [«] uses these from.now on 05:25:40 i have RFC1345 as a mode on my ime. & 05:25:59 so &>> is » 05:26:08 well 05:26:33 Its easier if » is & >> and "" 05:26:40 -!- AndoDaan_ has quit (Ping timeout: 240 seconds). 05:26:47 dont have to put down >> 05:27:03 ő &o" 05:27:33 well nvm i checked depending on what you are doing you have to &>> is » is »» 05:27:59 it seems you have an o i dont have 05:29:27 ο how about that one 05:30:45 ò_ó 05:31:50 i forget, can you define multiple cpp macros with the same name if they have different argument counts 05:32:11 noooo whatever you are doing stop 05:32:23 Bike: no hth 05:32:25 k 05:32:33 i don't care if you can dont 05:33:29 So if i run &>> is » through my stuff it poops out this trash &>> is » is »» ] [ « rr ].cap]&%>>569 [ 0 ] = 10 05:34:13 Is it that much worse than defining SYSCALL_DEFINE0, SYSCALL_DEFINE1, SYSCALL_DEFINE2, etc.? 05:34:30 Bike: kinda, with hacks 05:34:36 Wait what happens if you do that? 05:35:18 Bike: you can do #define foo(...) + a dispatch 05:35:23 elliott: it's not that important. 05:35:56 \ 05:36:27 does this \}\ work in anything 05:37:11 £_£ 05:39:04 * CakeMeat pats elliott s face 05:39:13 `perl -e '$_=\'$_\';print"$_$";' 05:39:16 No output. 05:39:22 CakeMeat: please don't 05:39:28 Ok 05:39:33 Zzzz 05:39:52 What chu doin oren 05:40:01 ZZzz 05:40:22 Chu spaces are the best. 05:41:09 DNA is a very esolangy language imo 05:41:22 It's not a language. 05:41:22 What am i talkinv about 05:41:24 oren, i cna't get that to work 05:41:29 I know now 05:41:40 get what to work 05:41:41 The worst thing about being a biologist around computer people is the DNA thing, probably. 05:41:43 the perl? 05:41:45 Later it will be not being paid. 05:41:46 yes 05:41:53 Im.litteraly having maass brain death 05:42:09 Bike, how is DNA not a language 05:42:14 are you a biologist? 05:42:21 i was just trying a perl program with lots of $_$ faces in it 05:42:25 OK 05:42:25 DNA is code 05:42:27 i thought it was aquine 05:42:28 it's a binary code at best? 05:42:30 Is binary a language? No. It's a numeral system, or an encoding. 05:42:35 Bike, OK 05:42:53 is there a language on top of DNA? 05:42:55 Bike is bein sensitiveee :I 05:42:55 The worst part is protein translation actually is interestingly complicated, but nobody cares for some reason. 05:43:03 I care about it 05:43:04 Well, "nobody", it's a major research area. 05:43:05 I have a book about that 05:43:12 DNA has a structure of triplets of base pairs 05:43:18 I care about the sciences 05:43:36 each triplet encodes either the start of a protien, an amino acid or the end 05:43:55 so a stringof dna can encode a bunch of proteins 05:43:57 in coding sequences. 05:44:07 how are the triplets delimited 05:44:13 Wait if i ride a bike 05:44:21 Then 05:44:52 they aren iirc it is self synchonizing 05:45:06 cluid: They're not. There's a thing called a "frameshift mutation" where it goes out of alignment and translation goes wrong. 05:45:24 ah ok 05:45:35 What do you do as a biologist 05:45:44 Life things 05:45:54 Gasp are you playing god again bike 05:45:55 there ar many kinds of biology 05:45:59 Actually I guess there are normal uses of different reading frames too. I ain't a geneticist. 05:45:59 Bike god 05:46:05 -!- dts has joined. 05:46:29 Jesus bike sounds better 05:46:34 `` perl -e '$_=\'$_\';print"$_$";' 05:46:36 bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file 05:47:01 `perl -e$_='$_';print"$_$"; 05:47:03 Final $ should be \$ or $name at -e line 1, within string \ syntax error at -e line 1, near "print"$_$"" \ Execution of -e aborted due to compilation errors. 05:47:17 o if oerjan is here i should biguate my name 05:47:30 I hve a LOT of wiki pages open about RNA now 05:47:32 thanks 05:47:38 oren: that's going to get so old 05:48:26 `perl -e$_='$_';print"$_\$"; 05:48:28 ​$_$ 05:48:29 -!- oren has changed nick to Ouran. 05:48:50 -!- Ouran has changed nick to OOOren. 05:48:56 U done it 05:48:58 there. biguated 05:49:03 `perl -e$_="$_";print"$_\$" 05:49:06 ​$ 05:49:10 oerjan: i think it's already gotten old hth 05:49:20 OOOren: CakeMeat: can you two be less noisy please 05:49:36 Because sound traverses text 05:49:53 はい、エリオット様! 05:49:54 Anyways can hackego do that infinite loop thing 05:50:10 Ong look at thay smiley face in there 05:50:52 that is a small tsu 05:51:04 it indicates a glottal stop 05:51:36 anyways infite loop in bash while :; do echo 'Hit CTRL+C'; sleep 1; done is there a bot here that can run that 05:51:52 Like dont actually do it 05:51:59 `` while :; do echo 'Hit CTRL+C'; 05:52:01 bash: -c: line 1: syntax error: unexpected end of file 05:52:01 Where could I find programmers to help with implementing an esolang? (this one http://esolangs.org/wiki/Janus ) 05:52:13 `run while :; do echo 'Hit CTRL+C'; 05:52:15 bash: -c: line 1: syntax error: unexpected end of file 05:52:22 while :; do echo 'Hit CTRL+C'; sleep 1; done 05:52:26 Glottal stop? Are you sure? 05:52:28 i think there's a syntax error 05:52:31 here when my exams are over dth? 05:52:35 any help please 05:52:37 `run while :; do echo 'Hit CTRL+C'; done 05:52:39 Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ 05:52:44 Oh god 05:52:44 there you go hth 05:52:52 O god what did you do 05:53:04 (i just wanted to show it doesn't actually harm HackEgo) 05:53:09 aha 05:53:12 Good 05:53:19 I will ask later 05:53:20 I was scared itd keep going 05:53:31 oerjan: answer cluid 05:53:36 U guys r fronds 05:53:54 anyway yes ッorっ indicates a glottal stop or a doubled consonant 05:54:02 Oh 05:54:56 janus looks more complicated than i have patience to implement 05:55:05 I have most of it already in haskell 05:55:11 but the self interpreter is not working 05:56:33 Have you tried unplugging your computer and plugging it back in? 05:57:12 > { 0 } 05:57:13 :1:1: parse error on input ‘{’ 05:57:28 Hintzzz 05:57:36 > < 05:57:37 :1:1: parse error on input ‘<’ 05:57:49 Wtf am i doing 05:58:16 ¡_¡ 05:58:44 trying random things, hth 05:59:22 I assume me patting oren on the face is not disruptive to the perl he does 05:59:47 I just want self interpreter running 06:00:04 Screen shot of the error or whayever 06:00:04 and maybe implement the compiler later 06:00:35 Compile the piles of garbage into a working haskell inerpreter 06:01:16 I think you may be expecting too much of Haskell's garbage collector. 06:01:33 Probably 06:01:57 php says unexpected $this ... why not say "this isn't ruby, dumass" 06:02:04 surely someone's proved it TC by now 06:02:18 Ruby on rails 06:02:18 ??? 06:02:24 oerjan, which 06:02:29 i forgot the ; at end of line. 06:02:34 cluid: ghc's garbage collector 06:02:44 i mean how can it possibly not be 06:02:50 it is often told that types do not exist at run time 06:02:53 What does it mean for a garbage collector to be TC? 06:03:01 To crap 06:03:05 mitchs: re: interest in Polyominoes: it's nice to have an algorithmic challenge among all the data compression tasks lately. 06:03:07 ...i guess the fact it reduces memory might be a problem 06:03:09 but for garbage collection you need specific code for recovering/collecting that type of object 06:03:19 so its a lie 06:03:32 mark and sweep 06:03:35 The cluid is a lie 06:03:35 shachaf: hm that's a bit tree falls in the forest isn't it, since GC should never be observable 06:03:43 CakeMeat: can you be less noisy please 06:03:53 :I 06:04:06 you can garbage collect without types if you sweep over all memory 06:04:17 not precisely 06:04:20 Fine 06:04:22 for pointrs to allocated objects 06:04:26 OOOren, I doubt that, how do you know which objects are pointers and which are immediate? 06:04:28 you need to know where the pointers are 06:04:35 that's not quite the same as knowing all type information though 06:04:41 you don't 06:04:48 you do for precise collection 06:04:52 what you are describing is conservative collection 06:05:00 you can probably recover a fair bit of type information from inspecting the GC code pointer of an object 06:05:05 you can make do with just having a tag bit for pointer vs. int; e.g. OCaml does this and has 31 bit ints 06:05:13 as Bob Harper might say "haskell is dynamically typed" 06:05:24 and it's not really possible to "recover types" in any meaningful way with that, the GC is basically agnostic 06:05:28 exactly. but conservative is still gc 06:05:33 I think GHC does this too 06:05:38 i have used it in C 06:05:48 it's unsound in C, but sure :p 06:05:50 conservativ ecollection that is 06:06:33 anyway GC algorithms are probably not TC 06:06:38 the real issue is when someone does this: int*onebasedarray=malloc(4*sizeof(int))-1 06:07:00 that's not really an issue because it's UB, I'm pretty sure 06:07:04 the real issue is stuff like xor linked lists 06:07:05 cluid: It's true that generally type erasure benefits the mutator more than the garbage collector (it's interesting to speculate about the reason. one *can* implement specific scavenging and evacuation code for each type, foregoing all explicit layout information; however I suspect that this would make performance *worse* nowadays, because the code will quickly outgrow the code cache size.) 06:08:08 void oops(int *p) { intptr_t x = (intptr_t)p ^ 1234; p = NULL; gc(); p = (int *)(x ^ 1234); printf("%d\n", *p); } 06:08:20 Night 06:08:20 conservative GC breaks this code but nobody cares because it's already horrible 06:08:32 night 06:08:36 -!- _AndoDaan_ has joined. 06:08:44 elliott: you know of the xor trick for cyclic lists, right? 06:09:29 <_AndoDaan_> I'd like to hear it, please. 06:09:32 -!- qwertyo has joined. 06:09:33 int-e: I know XOR linked lists but nothing about relating them to cyclicity 06:09:50 hi _AndoDaan_ 06:10:06 <_AndoDaan_> Hey, cluid. 06:10:21 _AndoDaan_: basically every node stores the xor of its next and its prev pointer; if you know the current node, and know where you came from, you can traverse the list. if not ... and that's the situation the GC will be in ... then you're screwed. 06:10:38 http://en.wikipedia.org/wiki/Genetic_code http://en.wikipedia.org/wiki/Start_codon http://en.wikipedia.org/wiki/Five_prime_untranslated_region http://en.wikipedia.org/wiki/Frameshift_mutation thanks Bike 06:10:41 int-e: yeah, that's what I meant by XOR linked lists. 06:10:52 elliott: yes. 06:10:56 i wonder if any GCs can actually deal with pointers that are anything but memory blocks. 06:11:01 sounds impossibleish 06:11:14 int-e: what does that have to do with being cyclic, though? 06:11:16 Bike: What do you mean? 06:11:17 elliott: <_AndoDaan_> I'd like to hear it, please. <-- I was replying to this. 06:11:17 it's a trick for double-linked lists 06:11:20 ah, okay. 06:11:23 sorry. 06:11:25 i also wonder if boehm mentions things not workign with this intptr_t shit 06:11:33 shachaf: a gc where elliott's code would work. 06:11:37 elliott: nothing in particular. I wanted to say "doubly linked", and I normally make those cyclic. brain fart. 06:12:02 * elliott nods 06:12:19 does boehm handle char *p = malloc(10) + 10; 06:12:19 perhaps ironically i've heard of using xor'd pointers to make mark-and-sweep slightly cheaper 06:12:52 elliott: I'm pretty sure it does. 06:12:53 What's taht do again? 06:13:06 the example use of boehm is for strings, though. 06:13:06 Bike: p is a pointer you're not allowed to dereference 06:13:07 makes an array with negative indices 06:13:10 but you are allowed to hold it 06:13:14 ok right. 06:13:18 malloc(10) + 11 isn't allowed, though 06:13:29 so that for loops work. i heard this on ##c at some point. 06:13:33 you only get one element of leeway 06:13:46 btw C is horrible 06:13:53 I know. 06:13:54 the C standard is full of dark corners with ugly surprises. 06:13:58 I should have written this project of mine in Rust. 06:14:01 if so then scrip7 is horribler 06:14:08 elliott: a past-the-end pointer is wonderful 06:14:30 actually, wait, how do you expect boehm to deal or not deal with that? 06:14:34 and it has 701 pages, so there's a lot of room for them :) 06:14:48 (approximately, I'm using the N1570 draft) 06:14:48 because you can access any memory as any type 06:14:49 Bike: well, if it only checks the pointers are within the bounds of the object, rather than within the bounds of the object or one past it... 06:15:06 oh, you mean holding p should keep the string alive. 06:15:10 yeah i guess that makes snese. 06:15:15 -!- _AndoDaan_ has quit (Ping timeout: 256 seconds). 06:15:23 One thing I dont undersatnd though, is how can you mutate DNA/RNA like split it in half and mix it nad itt still works? 06:15:32 (which is probably fine because I'm not writing C compilers.) 06:15:37 Because it's made of lots of sections. 06:15:50 Each protein is encoded by some number of base pairs, not the whole strand. 06:15:52 and each section makes random protiens? 06:15:53 so you can cut up the strand ok. 06:16:05 ok 06:16:09 and each protein is stored numerous times 06:16:13 so how do you make a living thing out of dna e.g. a worm 06:16:15 -!- AndoDaan_ has joined. 06:16:16 It's like taking a piece of text and cutting it up. 06:16:26 cluid: Well, first, you need to get another worm... 06:16:26 or a algae 06:16:26 sorry 'bout that. 06:16:54 I thought you were talking about cyclic tag systems. 06:17:04 i mean all these protiens will go together in some way 06:17:09 and build a creature? 06:17:17 It's like bootstrapping. Barely. 06:17:26 You need another creature that knows how to make more creatures, before you can make a creature. 06:17:33 alright 06:17:49 This is why Jurassic Park ahsn't happened yet. 06:18:08 but they have cloned dogs for a price 06:18:16 right, because dogs already exist. 06:18:18 we have dogs aplenty 06:18:18 i'm sure the fact they don't have much dinosaur dna also matters 06:18:23 so the reproductive system will create an egg or something, which is the right setting for the DNA to form into protiens and create a new creatures 06:18:27 is that right? 06:18:44 Well. Sorta. 06:18:48 there is also sex involved 06:18:52 an egg is already a fully functional cell 06:18:57 Right, that's the main thing. 06:19:09 That functioning cell gives rise to the whole organism. 06:20:25 It would be interesting to simulate a system basd on something like DNA, which folds into "protiens" and make creatures from it 06:20:29 i wonder when we will get IDE's for DNA 06:20:32 probably very hard to set up 06:20:34 been done a lot. 06:20:39 thing is, maybe the system _was_ bootstrapped from something that wasn't a fully functional cell at one point, but that probably hasn't happened for billions of years 06:20:42 sgeo, oddly, knows some about it 06:20:57 -!- shikhin has joined. 06:21:05 ive heard the abiogenesis story 06:21:16 it's pretty easy to simulate something like mendelian genetics. modern genetics is more involved but doable. 06:21:23 about the first cells forming out of hydrophobic films and stuff 06:21:36 -!- AndoDaan_ has quit (Ping timeout: 264 seconds). 06:21:42 my aunt says goddidit. my uncle says aliens did it 06:21:49 oerjan: right and it happened to monocollular things, not highly evolved (read: precariously balanced) creatures like dinosaurs. 06:21:55 *cellular 06:21:57 Norn genes are kind of ... powerful? 06:22:03 Not really lists of proteins at all 06:22:06 Norns? 06:22:14 in Creatures, an artificial life simulator. 06:22:21 ic 06:22:27 Sgeo, do you know about something to simualate building protiens out of 'genetic codes' on a computer? 06:22:37 i mean some kind of idealized protiens not real life ones 06:22:38 The genes define things such as the exact chemical reactions that occur 06:22:59 Well how complicated do you want the process to be? 06:23:04 That is, if ADP + Energy = ATP, it's because a gene says so 06:23:06 -!- AndChat-234416 has joined. 06:23:12 I dont know much about this, just curious 06:23:13 If you want the caricatural codon -> RNA -> protein process, that's trivial. like, a oneliner. 06:23:19 Maybe I wanted to type "mꙩnꙩꙩcular". 06:23:45 or is that "mꙩnꙩcular". 06:23:59 something like lacI, that's more involved 06:24:11 Lousy connection 06:24:37 -!- AndChat-234416 has changed nick to Andoodan. 06:24:39 `unidecode ꙩnꙩꙩ 06:24:41 ​[U+A669 CYRILLIC SMALL LETTER MONOCULAR O] [U+006E LATIN SMALL LETTER N] [U+A669 CYRILLIC SMALL LETTER MONOCULAR O] [U+A669 CYRILLIC SMALL LETTER MONOCULAR O] 06:25:02 monocular?!? 06:25:16 I know what it says there, but unicode also spells "lambda" "lamda" so I don't trust it ;-) 06:25:30 (I really dislike "lamda" though I know that it's correct.) 06:25:40 i expect one o 06:25:53 mnocular 06:26:00 i,i ꙩ ꙫ ꙭ ꙩꙩ 06:26:07 `unidecode λ 06:26:09 because greek prepositions tend to lose their -o in front of another vowel 06:26:09 ​[U+03BB GREEK SMALL LETTER LAMDA] 06:26:13 keep going and you end up with ꙮ 06:26:15 WHYYYYY 06:26:27 `icode ƛ 06:26:30 ​[U+019B LATIN SMALL LETTER LAMBDA WITH STROKE] 06:26:39 nice! 06:26:39 lambdaphage 06:26:55 Jesus X whyyyy 06:27:02 gotta have things consIstent. 06:27:05 int-e: it's noted as a typo in the notes, I think 06:27:12 it's just you're not allowed to rename unicode codepoints ever 06:27:26 unicode is awful 06:27:38 hookworm is awful 06:27:47 Shift JIS is a way better encoding anyway 06:27:58 much easier to parse too 06:28:19 > Because the vast majority of genes are encoded with exactly the same code (see the RNA codon table), this particular code is often referred to as the canonical or standard genetic code, or simply the genetic code, though in fact some variant codes have evolved 06:28:21 :1:27: parse error on input ‘of’ 06:28:22 wow 06:28:28 there's almost a universal language 06:28:32 "vast majority" is important. 06:28:34 'universal' as in used widely 06:28:38 Actually most encodings that aren't utf 8 are way easier to parse 06:28:42 like, it's not used in your mitochondria. 06:28:42 didn't someone say it's actually spelled without b in modern greek 06:29:20 but yes, the mechanisms of heredity are really ancient. 06:29:24 i could become a molecular biologist 06:29:29 this would be interesting 06:29:39 then i dont have to do stupid computer things 06:29:47 it's pretty common to use mutations in one of the ribozymes to measure time, since there's nothing much to optimize there. 06:30:02 I think that was Bike's reasoning too 06:30:07 it was. 06:30:10 Bike is smart 06:32:07 the only people who argue whether some variant DNA encoding is better or worse have PhD's. unlike unicode. though they're still pretty stupid arguments, probably. 06:33:26 anyway, now look up ribozymes. 06:33:44 ok but ihave a lot to read already 06:34:48 "In Modern Greek the name of the letter, Λάμδα, is pronounced [lamða]" 06:34:49 -!- qwertyo has quit (Ping timeout: 264 seconds). 06:35:01 -!- qwertyo has joined. 06:36:07 so its lamtha 06:36:58 with th as in then 06:37:51 We've got a lot of bioinformaticists at the university. You can do biology and still keep doing stupid computer things. 06:38:22 nobody likes bioinformaticians though. 06:38:34 i mean they're cool, but they complain about nobody caring about them a lot.l 06:40:02 Given how much funding they must have to be so many, it sounds slightly disingenuous. 06:40:20 Do you have, like, an actual department for them? 06:40:31 bioïnformatics 06:40:37 people would like them more with the extra dot 06:40:42 Probably. 06:42:25 It might be technically part of something, but it's at least a clear clique. 06:43:17 All I know is, I never understand their posters when there's some sort of common event. 06:43:23 «Had the "no money for bioinformatics but could you help us in your spare time" conversation this week. Depressing in so many ways.» e.g. 06:43:41 i actually don't know where they are at this school. I saw a hiring notice in the EE building once and that's it. 06:44:00 shachaf: shouldn't that really be biöïnformatics 06:44:05 oh, and i saw an undergrad presentation about finding SNPs causing antibiotic resistance 06:44:17 a lot of it's, like, straight out of Knuth, though. 06:44:48 The studients have their own guild ("Inkubio") though. 06:45:55 http://www.inkubio.fi/ 06:46:27 oh, the bioinformatics here looks like 90% ag forestry. figures. 06:47:17 computer science likes trees? 06:47:54 i go to a semi farm school. 06:47:58 in washington. it's all trees 06:50:08 -!- _AndoDaan has joined. 06:50:13 i specifically went to uoft because york had too much trees and grass and stuff around 06:50:34 and so did waterloo. i am a city person 06:52:02 is that a good way to choose a university? 06:52:08 -!- _AndoDaan_ has joined. 06:52:24 -!- _AndoDaan_ has quit (Client Quit). 06:52:40 -!- Andoodan has quit (Ping timeout: 245 seconds). 06:52:57 uhhhh dude what is this 06:53:14 -!- drdanmaku has quit (Quit: ,). 06:54:34 -!- _AndoDaan has quit (Ping timeout: 244 seconds). 06:55:29 OOOren: if you have pollen allergy, i'd say yes 07:02:17 "frameshift mutations. These mutations usually result in a completely different translation from the original, and are also very likely to cause a stop codon to be read, which truncates the creation of the protein" <- that's so cool! some error correcting behavior 07:05:07 -!- qwertyo has quit (Ping timeout: 256 seconds). 07:05:27 -!- qwertyo has joined. 07:06:06 -!- J_Arcane_ has joined. 07:07:43 -!- J_Arcane has quit (Ping timeout: 258 seconds). 07:07:46 -!- J_Arcane_ has changed nick to J_Arcane. 07:19:01 RNA, in essence, can be both the chicken and the egg 07:19:24 http://en.wikipedia.org/wiki/Ribozyme 07:24:58 -!- dts has changed nick to dts|pokeball. 07:26:14 One interesting fact I learned this year is that mammalian DNA is simpler than amphibian DNA, and can be because their embryos develop in a tightly controlled environment rather than having to hatch at any temperature between 5 and 25 degrees Celsius (or so)... 07:28:48 (Obviously this idea extends to grown animals, too, where mammals can rely on a fairly constant internal temperature.) 07:30:59 I learned that from the Science of Discworld books, I think. 07:31:09 (Assuming it's true.) 07:34:12 hm GG: i'm going to reserve my judgement on whether that lady is truly dead. 07:35:02 That is not dead which can eternal lie. 07:35:13 -!- qwertyo has quit (Ping timeout: 272 seconds). 07:35:58 -!- qwertyo has joined. 07:38:46 -!- Patashu has joined. 07:41:49 -!- cluid has quit (Quit: Leaving). 07:44:35 "simpler"? 07:47:38 oerjan: yeah it's too easy, there must be a twist. 07:48:33 perhaps she had a metal brain and is slowly taking control of the beast now 07:48:59 heh 07:49:00 (I'm wondering about the covered face) 07:53:13 oerjan: I'm slightly disappointed about the fact that my foreshadowing-inspired guess that the Lady Selyenikov was heading towards the Beast turned out to be correct. 07:54:00 hm right 07:54:19 the beast doesn't seem like the thing you'd plot to get hold of 07:54:50 unless it carries some other secret 07:54:52 phew. it's a hell of a diversion though. 07:55:25 *the kind of thing 07:55:47 but what for; I believe theat Tarvek was actually unaware of her actions. 07:55:56 *that 07:56:05 so there must be something else... 07:56:57 um tarvek has been in absentia for several years, as far as she would be concerned 07:57:15 And btw, what happened to all the Lady Lucrecia puppets? There were two of them, one is with the Baron's son now ... 07:57:29 oerjan: exactly. That's why I believe him :P 07:58:06 -!- _AndoDaan has joined. 07:58:21 which one is with gil? 07:59:06 and dimo said gil had found a way to disable their obedience to her 08:00:03 * oerjan is not entirely sure what you mean with "lady lucrecia puppet" 08:00:12 the geisterdamen 08:00:16 oh those 08:00:23 that is i think what he means 08:00:38 um in that case i don't remember _any_ that are with gil. 08:00:51 maybe he means the revenants? 08:01:10 OOOO 08:01:14 if he means the revenants, there were at least a city (sturmhalten) full of them 08:01:23 He means that robot girl 08:01:34 who lucretia uploaded herself into 08:01:47 and the fake heterodyne 08:02:14 well there was only one robot. and it seems sort of dubious that's she's still around gil if it's true that he's fighting her. 08:03:11 lucretia copied herself into the fake heterodyne so she has 3 bodies: the van rijn robot, the fake heterodyne and the copy inside Agatha 08:03:12 well there were 3 of those, the robot girl, zola, and agatha herself. but if the robot girl is at large she should have had time to make as many more as she wishes 08:03:27 good point 08:03:53 but zola may have messed things up for lucrezia 08:04:11 * oerjan will go check the spelling now 08:04:16 maybe that should be van rijn? 08:04:30 it's z 08:05:07 -!- qwertyo has quit (Ping timeout: 264 seconds). 08:05:10 i don't know that ligatures are obligatory in dutch spelling... 08:07:10 she should also have had time to make more spark wasps if she has the design... 08:08:14 hm what was the last time we saw the robot? the mechanicsburg hospital? 08:08:30 that too... hold on where was the robot girl when mechanicsburg blew up/temporally screwed 08:09:07 it seems _logical_ that she would have left when klaus did 08:09:28 and especially before agatha got in control 08:10:15 but then, klaus seems to have been able to plot to escape her control 08:10:46 unless it's even more fiendish and she actually wanted klaus to make it look that way 08:11:59 * oerjan checks the wikia 08:12:37 -!- _AndoDaan has quit (Ping timeout: 264 seconds). 08:13:53 fizzie: do you have a graph of oerjan "f.endish" frequency over time 08:16:11 -!- AndoDaan has joined. 08:18:46 shachaf: Not a graph, but http://sprunge.us/AgCb 08:23:39 -!- dts|pokeball has changed nick to dts. 08:24:28 looks like we're safe 08:24:56 oerjan: hmm. there was this unresolved wasping incident, http://www.girlgeniusonline.com/comic.php?date=20061201 and I thought one of the puppets turned up in the Mechanicsburg hospital a while later, or perhaps on the Baron's ship. I can't find it right now; I forgot how slowly this comic moves. 08:25:38 shachaf: It looks a bit more alarming if you take it yearwise, http://sprunge.us/WNGT 08:25:59 int-e: duh. 08:26:03 uh oh 08:26:20 (Exercise for the reader: fit an exponential, see when it overtakes the rest of channel traffic combined.) 08:26:31 XD 08:26:41 that's the sort of thing i had in mind 08:27:13 let's take 0.9^(t/1h) 08:27:37 oerjan: I'm not certain either, all those muses look the same to me. 08:27:54 (except Ophelia's new shell, of course.) 08:29:02 fizzie: could you query "words said by X that have increased their usage the most over time"? 08:29:21 (total uses > some threshold and then order by the derivative over the years, or something.) 08:29:52 searching for the oerjan singularity 08:31:52 int-e: i think we've only seen 3 muses and i didn't think anevka's clank body was one. 08:33:06 oerjan: It was so long ago, I don't know anything for sure anymore. (Actually I reread the whole thing earlier this year, but there's just too much going on.) 08:33:24 indeed 08:33:50 bbl 08:34:12 elliott: Perhaps, but now: lunch. 08:34:46 -!- CakeMeat has quit (Quit: Connection closed for inactivity). 08:34:50 fizzie: what about hth over time 08:35:08 I think I've done that. 08:35:36 Ah. I didn't see it. 08:37:05 http://sprunge.us/IUfH quickly monthly '% hth' so only suffix 08:37:55 For everybody or just oerjan? 08:38:33 -!- AnotherTest has joined. 08:41:08 -!- shikhout has joined. 08:41:37 Just the big O. 08:42:10 whoa, is *that* who the book is about? 08:42:26 I wrote "whom" at first but I couldn't take it. 08:43:04 -!- AnotherTest has quit (Ping timeout: 244 seconds). 08:43:15 http://sprunge.us/AVdN in general 08:44:01 -!- shikhin has quit (Ping timeout: 250 seconds). 08:48:30 you can see from the table when the script was made. 08:49:05 !blsq_uptime 08:49:05 18h 42m 47s 08:58:12 I should start training climbing again. 09:08:23 -!- dts has changed nick to dts|pokeball. 09:29:07 [wiki] [[Talk:Mmmm()]] http://esolangs.org/w/index.php?diff=41316&oldid=41314 * Rdebath * (+635) 09:30:05 -!- hjulle has joined. 09:41:39 -!- cluid has joined. 09:44:17 hi 09:51:11 -!- shikhout has quit (Ping timeout: 250 seconds). 09:52:10 -!- shikhin has joined. 09:56:36 -!- Phantom_Hoover has joined. 10:21:57 -!- tam has joined. 10:22:30 -!- tam has quit (Client Quit). 10:22:32 good morning 10:22:37 good morning 10:25:32 i have just finished this little project in only 8 hours work 10:25:55 should really have taken me less time though 10:26:09 what project? 10:26:30 [wiki] [[Pendulum Instruction Set Architecture]] M http://esolangs.org/w/index.php?diff=41317&oldid=41151 * Cluid Zhasulelm * (+349) Added more useful links 10:26:37 i made an online connect 4 game in php 10:26:42 oh cool 10:28:37 http://54.174.150.35/connect4/ 10:29:17 `? Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch 10:29:19 Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch? ¯\(°​_o)/¯ 10:30:33 what is that llan thing? 10:30:54 its a place 10:31:17 http://upload.wikimedia.org/wikipedia/commons/b/bd/Cy-Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch_%28Welsh_pronunciation%2C_recorded_17-05-2012%29.ogg 10:31:22 in wales i assume 10:31:26 yeah 10:32:23 -!- OOOren has changed nick to Or3n. 10:34:22 im too lazy :( 10:34:50 to do what? 10:35:02 implement this language i want 10:35:32 then why don't you implement the language you need 10:35:38 as the song goes 10:35:52 lol 10:36:54 i implemented scrip7 to serve a legitimate need (if massively unsafe power is a need) 10:37:27 scrip7 is cool but have you been able to generate constants like 0x0707070707070 in a short way yet 10:38:34 i am working on a preprocessor 10:39:27 it will look like 0x[07]*8 10:40:12 the problem is the interaction between s7pp grammar and s7 grammar. i am going to reserve [] for the s7pp 10:40:25 neat! 10:40:38 so the new version will only allow () and {} for loops 10:40:54 what? 10:40:57 or maybe it should be the opposite 10:41:46 s7 currently does not distinguish between {} [] or (). they are all basically C if(0)while(1){...} 10:42:16 and then you use jumps to get in or out 10:47:38 -!- oerjan has quit (Quit: leaving). 11:00:00 -!- Or3n has quit (Quit: going to eat brekfst). 11:15:41 -!- ais523 has joined. 11:20:57 -!- boily has joined. 11:22:53 -!- ais523 has quit (Read error: Connection reset by peer). 11:22:59 -!- callforjudgement has joined. 11:26:22 -!- dts|pokeball has quit (Ping timeout: 256 seconds). 11:28:24 hey, could someone check their DNS for nethack4.org and tell me what IP is given for the A and AAAA addresses? 11:28:39 the IP I'm getting is not the IP I should be getting 11:29:14 $ host nethack4.org 11:29:14 nethack4.org has address 92.243.3.23 11:29:19 same as cluid 11:29:20 what command is better to use? 11:29:24 you can use dig 11:29:31 OK, you're both getting the correct IP 11:29:32 and 2001:4b98:dc0:41:216:3eff:fedd:d4e3 11:29:35 the IP I'm getting belongs to my ISP 11:29:43 perhaps someone's trying some really bad filtering, or something 11:29:50 callforjudgement, my terrible ISP talktalk does thiat with google sometimes 11:29:55 nethack4.org.0INA62.252.172.241 11:29:55 it goes to their ip rather than google 11:30:03 cluid: virgin media does something even worse 11:30:07 well, it was making it impossible to ssh in 11:30:07 they don't spoof DNS, you get the right IPs back 11:30:11 but they route those IPs to their server(!!!!) 11:30:13 to display a block page 11:30:18 :( 11:30:24 so instead of breaking their DNS servers, which you can just change, they break IP :p 11:30:55 it took me like 10 minutes of poking to realise that was happening. there was such a sinking feeling 11:31:09 elliott: they seem to be doing something entirely different dubious here 11:31:44 fwiw I am on virgin media and using their DNS servers. 11:32:32 when I send a GET request to 62.252.172.241 manually 11:32:36 I get my own site back 11:32:47 so AFAICT Virgin have placed a transparent proxy in front of my site 11:32:53 in a way that breaks everything other than HTTP 11:33:14 via a DNS redirect 11:33:21 so the next question is, why? 11:33:27 are they planning to inject adverts or something? 11:33:48 ISPs are so nasty :( 11:34:21 a side-effect of this is that I can't easily check my email 11:34:26 time to go use the hosts file for its intended purpose 11:36:31 elliott: ouch 11:36:55 -!- callforjudgement has changed nick to ais523. 11:42:44 -!- cluid has quit (Quit: Leaving). 11:43:46 Internet == HTTP, as everyone knows. 11:44:08 Googling for 62.252.172.241 finds a couple of other examples associating that address with various names. 11:44:27 "Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|62.252.172.241|:443" ... "Tracing route to coaa.co.uk. [62.252.172.241]" ... and so on. 11:44:54 The first one continues with "GnuTLS: A TLS packet with unexpected length was received" so I guess it also breaks HTTPS. 11:45:03 (Perhaps hoping for clients to downgrade to http?) 11:45:27 "At least it's not a MITM with a stolen certificate." 11:47:27 It's also a still-open github issue with many confused replies, so they've at least wasted the time of several people as collateral damage. 11:48:18 -!- oren has joined. 11:49:44 I think it breaks everything other than unencrypted port 80 HTTP 11:50:42 hmm, I'm going to try changing the DNS over entirely to level3 11:50:53 -!- ais523 has quit (Read error: Connection reset by peer). 11:51:06 -!- ais523 has joined. 11:51:28 level what? 11:51:37 b_jonas: level3 is one of the backbone companies 11:51:47 ah 11:51:49 they have their own publicly usable DNS at 4.2.2.1 11:52:25 (one thing you have to bear in mind with DNS servers is that there's no point in them having actual domain names as you'd need a working DNS to connect to them; so they aim for memorable IPs instead) 11:52:37 yeah, I know 11:53:34 i think googles is 4.4.4.4 right? 11:53:58 oren: no, it's 8.8.4.4 11:54:02 And 8.8.8.8. 11:54:29 which is 4.4.4.4? 11:54:35 (Or 2001:4860:4860::8888 and 2001:4860:4860::8844 but that's slightly more difficult to remember.) 11:54:42 oren: you can whois an address to see who owns it 11:54:53 The whole 4.4.0.0/16 is owned by Level3. 11:55:04 i see 11:55:13 There seems to be no DNS replies at least for me from 4.4.4.4 though. 11:55:30 (You'd think that'd be easier to remember than 4.2.2.1.) 11:56:20 ais523: level3 don't like non-customers using their DNS, I think 11:56:21 looks like 4.4.4.4 doesn't respond to port 80 either 11:56:55 elliott: hmm, I might have to check to see if I'm a level3 customer or not, over 10% of the entire Internet is 11:57:02 but it's hard to tell due to the number of layers of indirection in between 11:57:04 not quite :p 11:58:56 `whois 4.4.4.4 11:58:58 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: whois: not found 11:59:04 Level3's listed in all these public DNS lists, but don't seem to have their own page about their public DNS servers, the way e.g. Google have. 11:59:23 So you could possibly infer that they're at least slightly more ambivalent about it. 11:59:39 fizzie: my guess is that they don't want to make any sort of guarantee or SLA about how long it'll be up 11:59:45 I think there's some article about how they don't like it somewhere :p 12:01:56 I'll probably put it back in a while 12:02:44 suddenly come up with a really simple way to determine if I'm a level3 customer or not 12:02:53 use traceroute, and see if it goes past any of the other backbone providers 12:02:56 on the way 12:02:56 -!- yorick has joined. 12:03:41 hmm, the tier 1 for virgin media seems to be GTT, who I've never heard of 12:03:53 there is something quite worrying about the phrase "tier 1 I've never heard of" 12:04:52 I don't think I've ever heared of any of the internet backbone stuff. It's all magic to me, and a miracle that it keeps holding up still. And I hope it won't all break down when nobody has enough incentive to make it work. 12:05:13 "With over 140,000 routes, GTT connects your network directly to over one-third of the Internet prefixes with no traffic delays and guaranteed packet delivery." 12:05:20 b_jonas: most of the backbone companies are rather well known 12:05:36 That's a rather wide definition of "well known". 12:05:41 If you made a survey on the street... 12:05:46 known for being internet backbone, or known for something else? 12:05:59 guaranteed packet delivery isn't that the opposite of what IP is supposted to be? 12:06:08 b_jonas: they're mostly large enough that they're known for something else 12:06:23 can you list some of them? 12:06:32 here: http://www.internethealthreport.com/ 12:06:43 that contains the ping time between pairs of tier 1s 12:06:47 among other things 12:06:59 apparently not all piers of tier 1s, though, because GTT aren't listed 12:07:20 I'd say AT&T, Sprint and Verizon are all well known. 12:07:29 -!- Patashu has quit (Ping timeout: 258 seconds). 12:07:31 guaranteed paket delivery... how is that even possible anyway 12:07:41 but OK, I'll change the DNS over to Google's for now 12:08:03 oren: I don't see how it can be, unless they define it as "we guarantee that the packets will be delivered to the server's tier 1" (which is what a tier 1 network's supposed to do) 12:08:12 because if they /are/ the tier 1, then that's a vacuous operation 12:08:44 lol. yeah meybe that's it 12:09:07 It could just mean guaranteed delivery within their network. 12:09:13 -!- Phantom_Hoover has quit (Ping timeout: 244 seconds). 12:09:21 i don't think that's possible either 12:09:32 it's marketing text, don't take it seriously 12:10:04 it looks to me like outright lies 12:10:12 or possibly, very dubious definitions 12:10:16 which are technically true but misleading 12:10:29 "internet prefixes" is a pretty interesting term, too 12:10:38 oren: Why wouldn't it be possible? 12:11:08 becuase their network is subject to accidents 12:11:35 Yes, but a "guarantee" does not mean "will happen always", as far as I know. 12:11:42 "guaranteed package delivery" -- are you looking at a UPS ad? 12:11:57 packet paket delivery 12:12:12 same thing 12:12:26 i don't understand why the word has a useless c in it 12:12:42 I know that in the UK, a lot of companies got in trouble for saying "unlimited" when there were limits, even very large ones 12:13:02 ah yes 12:13:13 (or ones they claimed were very large) 12:13:33 anyway they also saidtheir network isn't subject to traffic delays which is impossible 12:14:00 based on my intro to networking course, all routers have queues 12:14:07 they have faster than light transmission technology 12:14:23 unless they drop packets in which case the other claim is false 12:14:35 the way to be faster than light is to already be faster than light. 12:14:44 Nobody's complaining about post offices with "guaranteed next-day delivery" that also would be "impossible" by your definition. I don't think there's any rule that implies "unconditional" in marketing material. 12:15:06 http://www.royalmail.com/personal/uk-delivery/special-delivery "Special Delivery Guaranteed™ -- On time or your money back!" 12:15:10 there is in some countries. 12:15:28 hmm, this reminds me of the actual definition of "guarantee" 12:15:36 which is "if this doesn't happen, we'll compensate you" 12:15:40 that is physically possible, at least 12:15:44 that 12:16:13 Yes, that's what I was alluding to. 12:16:14 is very wierd, what are they going to do, give me a penny when they drop my packet? 12:16:16 ais523: yeah, that's used often: "100% uptime guarantee" means they're up 95% of the time and pay back 5% of the fees you paied to them 12:17:09 although the penny would probably be taken by the tier 2 isp 12:17:32 also, this reminds me to "http://www.giantitp.com/comics/oots0632.html" "Magical power beyond your wildest imaginings! (Based on typical wild imaginings of previous customers matching your demographic profile. Additiona lterms and restrictions may apply.)" 12:17:55 I'm sure their actual contracts sound more like that. 12:18:08 oren: certainly not a penny when they drop a packet. that would be very expensive. 12:18:18 ok 0.001 penny 12:18:27 or 0.000001 penny 12:19:47 (Perhaps with less occurrences of the word "magic" in them.) 12:20:20 maybe they define magic as a term of art 12:20:53 There are some paper ads here that claim the new trams have 99.9% uptime. That's completely impossible. I wouldn't believe even 99% uptime. 12:21:22 trams means streetcars right? 12:21:31 yes 12:21:34 electric ones 12:21:49 the ones in my city have about 30% uptime 12:22:20 because of construction and accidents and barfing on the seats 12:22:33 there were some trams installed between Birmingham and Wolverhampton a while back 12:22:37 -!- boily has quit (Quit: PRECIPITATED CHICKEN). 12:23:00 I think they work properly nowadays, but during early days of the service, the doors wouldn't shut unless everyone put their weight on a particular side of the tram 12:23:36 it's not that bad here, but still, 99.9% is an insane promise that they could keep only if they redefine uptime the way they want. 12:23:40 the tram service is pretty much treated identically to the train service by the public transport thing 12:24:54 actually the way the train service works here is interesting 12:25:10 they guarantee (in the same sense of "compensation if it doesn't happen") transport from one train station to another, at a certain speed 12:25:16 however, they don't necessarily guarantee it's by train 12:25:48 if something goes wrong with the train lines, they'll sometimes hire coaches or buses in order to keep the journeys possible 12:26:09 of course 12:26:19 replacement with buses is the norm everywhere 12:26:27 for trains and for trams 12:26:32 and for metro too 12:27:11 now I wonder what they replace buses with when they go wrong 12:27:15 my personal experience is "other buses" 12:27:56 sure, other buses 12:28:05 possibly buses on other routes 12:28:17 it's that trams and metro are more difficult to re-route 12:28:39 ais523: Those look rather light-raily for trams. Though the terminology is hopelessly muddy, or so I understand. 12:28:58 They replace buses with just freight trucks filled with something soft. 12:29:05 -!- callforjudgement has joined. 12:29:24 in japan they don't have many buses 12:29:51 Kyoto certainly had a lot of buses. 12:29:55 * oren 's experience in japan is limited to urban tokyo 12:30:17 It's probably quite location-dependent. 12:31:02 tokyo has subways, streetcars and trains 12:31:20 all of which were very reliably 12:31:47 except that one time when some drunk barfed alcohol all over the floor 12:32:33 Kyoto had all of those (a bit less extensively, though) but buses too. 12:33:27 The JR West lines weren't very useful for actual in-the-city stuff, though, which was a shame. (We had a rail pass dealie.) 12:33:31 -!- ais523 has quit (Ping timeout: 272 seconds). 12:33:40 -!- callforjudgement has changed nick to ais523. 12:34:37 the best thing about the trains in Tokyo is thatyou pay based on how far you go. in Toronto it is a flat and vry high rate 12:36:09 London has those zones and the whole "touching in and out" thing. 12:38:10 There's been a lot of talk here about making the new (Helsinki metropolitan area) public transit system do exit fares and be based on travel distance. 12:38:39 Especially those living right next to a zone border complain about the prices a lot. 12:39:52 in Toronto you pay $2.50 whether you are going one stop or he entire length.that is 1.40 pounds or, or 262 yen. 12:40:05 rip offf 12:40:33 fizzie: the way train fares are calculated in the UK is massively complex 12:40:47 basically a ticket has a start destination and an end destination 12:41:19 you can travel along any legal route between them, and in most cases, can get on and off multiple times during the journey and catch a later train for the remaining portion, also you can skip portions (including the start and end) 12:41:33 and to prevent this being abusable, there's crazy complex rules for what a legal route is 12:41:59 I remember a discussion of that in #trains once. 12:43:58 You can make a 20 km ride within Espoo for the "intra-muncipality" price of 1.95€ (£1.54, $2.40), but going just, say, 200 metres between stops, if they cross the Helsinki/Espoo border, would cost the "inter-muncipality" rate of 3.65€ (£2.87, $4.50). 12:45:24 that is crazy expensive 12:45:33 ais523: I think Finnish railways used to have something similar, but now the "default" non-commuting tickets are pretty much sold for a particular train. 12:45:47 the UK version is a cross between zones and travel distance, just to make things more confusing 12:45:59 it's basically impossible to figure out the correct fare for a journey without a computer 12:46:50 that is also nuts. even someone who doesn't speak japanese could easily firgure out how to use the metro in tokyo. 12:46:53 oren: Cash peak-period prices for London subway rides go from £4.80 to £8.40 depending on how many zones you cross, so... 12:47:09 -!- S1 has joined. 12:47:28 I'm talking about long-distance 12:47:36 holy crap... why so expensive? 12:47:40 in London, I think there are only six different fares you're likely to come across? 12:47:54 All I know is that zone 6 is where Heathrow is. 12:47:54 oren: the peak periods, there isn't enough capacity for everyone who /wants/ to use the service 12:48:05 so they put the prices up as a method of reducing demand 12:48:15 that is why you hire people to push people into the train 12:48:28 Even the non-peak pay-with-the-smartcard prices are £2.30 to £4.00, which is quite expensive compared to many places. 12:48:33 ais523: the train tickets in Hungary are sold for a route between a source and destination, but you can take any trains and stop any number of times on that route 12:48:47 b_jonas: that's pretty much how most UK tickets work 12:48:52 yes 12:49:08 and the price is based on the distance, though there's some complications 12:50:52 ais523: If you chose the right options in the Finnish railways webshop, you could buy a ticket from city A to a city B in Northern Finland, and it would (due to lack of matching options) route it via Helsinki, and since the price was based on the A-B distance, the ticket would cost something like 1/3 of the regular price from A to Helsinki. 12:51:11 ais523: Then you could just get off from the train in Helsinki, because we don't check tickets at exit. 12:51:12 fizzie: what... 12:51:29 fizzie: there are probably a bunch of exploits like that in the UK system 12:51:29 I guess technically it was still against the terms. 12:51:44 I say "probably", because someone wrote to the people in charge asking them if various exploits were legal 12:51:50 I'm quite sure the price here is based on the distance on the route. the distances on each line are listed in the timetable book. 12:52:10 and they came up with arbitrary reasons that weren't in the rules to disallow some of the more egregious ones, and then told the original questioner to stop asking hypothetical questions 12:52:19 in tokyo the prices are on the wall in every station 12:52:23 Also rumour has it the officials in the A-to-Helsinki trains sometimes refused to honour those tickets. 12:52:41 Even though technically they had no way of telling you intended to not continue. 12:52:45 ais523: they didn't say "they're not allowed now"? 12:52:56 as in, changing the rules? 12:52:58 b_jonas: the rules are already something like 1000 pages long 12:53:07 trying to figure out /how/ to change them to get a desired effect is quite difficult 12:53:08 wow 12:53:36 oh, another discovery we made was that it was theoretically possible to have two stations such that you just couldn't have a journey between them at all, because even the most direct route would be too indirect 12:53:40 why can't we have simple systems? 12:53:52 and someone identified such a pair of tickets, and it turns out that the ticket machines in fact do not sell them 12:54:00 so we think the machines are programmed to enforce the rules literally 12:54:21 -!- S1 has left. 12:54:28 ais523: or maybe backwards, the rules document what's programmed in 12:54:36 huh, possibly 12:54:51 I don't think the direct route is documented here, but they needn't really be because you buy the tickets for a specific route 12:54:58 Also learned today: the TfL fare chart for London tube/DLR/overground rail on their website is a .xlsx file. 12:55:04 someone wrote an abomination to read the rules nd produce code? 12:55:07 I'm pretty sure I looked at it once, and it was a PDF. 12:55:08 amybe 12:55:09 they can list intermediate statoins on the route when it's not obvious what the route is 12:55:55 there's a particular case about routes I'll try to tell 12:56:30 These .xlsx ones are "effective from 2 January 2015", so perhaps they've gone from bad (.pdf) to worse (.xlsx). 12:57:39 so someone decided 'hey i have this php xlsx generator lets use that' probably 12:58:12 instead of even trying to make a human readable document 12:58:37 The xlsx file has a fixed header and a scrollable body (so it's easier to see the column headings), which I suppose is its main selling point. 12:58:51 Not that you couldn't accomplish that with HTML and styling. 12:58:56 -!- sebbu has quit (Ping timeout: 245 seconds). 13:00:17 i have done something similar at a job (export business logic from database into xlsx) 13:01:13 the main point is, accountants love Excel 13:06:29 so you have some sort of view used by web store to find prices -- behind it is screwed up business logic written in SQL stored procedures. all you do is SELECT * from that view, and then format it into excel. that is likely what they did 13:08:14 -!- sebbu has joined. 13:08:48 -!- sebbu has quit (Changing host). 13:08:48 -!- sebbu has joined. 13:08:59 hi 13:09:00 Well, I don't know. It looks more manually-constructed than that. But perhaps there was an initial Excel dump from some system. 13:11:45 [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41318&oldid=41315 * 50.207.43.222 * (-103) 13:14:40 [wiki] [[Talk:Mmmm()]] http://esolangs.org/w/index.php?diff=41319&oldid=41316 * SuperJedi224 * (+239) 13:16:09 [wiki] [[Talk:Mmmm()]] http://esolangs.org/w/index.php?diff=41320&oldid=41319 * SuperJedi224 * (+144) 13:19:01 Heh. That one reminds me of lambda calculus. 13:20:19 you mean lamda calculus 13:22:30 [wiki] [[Talk:Mmmm()]] http://esolangs.org/w/index.php?diff=41321&oldid=41320 * SuperJedi224 * (+18) 13:22:41 λfx.f (f (f x)) 13:27:09 @tell oerjan and then over 4 years later we have this little scene... http://www.girlgeniusonline.com/comic.php?date=20110221 13:27:09 Consider it noted. 13:37:19 @tell oerjan and this is the one I was looking for: http://www.girlgeniusonline.com/comic.php?date=20110516 13:37:19 Consider it noted. 13:45:42 over 4 years later after what? 13:46:34 FireFly: four years after http://www.girlgeniusonline.com/comic.php?date=20061201 13:48:26 (Publishing time. In comic time I guess it's two to four weeks.) 13:59:53 -!- GeekDude has joined. 14:06:46 hello 14:07:22 orello 14:10:12 today i made a connect 4 game in php 14:10:22 how was your day so far? 14:11:07 I haven't been writing PHP so far today 14:11:14 so I suspect my day went better than yours ;-) 14:11:20 yeah... 14:14:16 at leasti dont have to pay for aws 14:19:20 afk peanut butter toast 14:33:52 -!- augur_ has quit (Remote host closed the connection). 14:34:30 -!- augur has joined. 14:36:17 * J_Arcane has a mad function idea 14:39:02 -!- augur has quit (Ping timeout: 256 seconds). 14:41:51 -!- shikhout has joined. 14:41:56 Hah hah! I can now index nested lists to arbitrary dimensions. 14:42:37 -!- Phantom_Hoover has joined. 14:45:01 -!- shikhin has quit (Ping timeout: 264 seconds). 14:48:01 oren: ah, I think I'm ahead of you then. I didn't code anything in php today. 14:53:38 everyone is ahead of me today... oh well atleast i have peanut butter 14:54:04 Oh, dailywtf, you never cease finding new lows to sink to. 14:54:06 "buf[strlen(buf)] = '\0'; -- But even on null terminated strings, this code is dangerous. Since arrays in C, like any sane language, are zero indexed, this code may attempt to access memory beyond the end of the array, overwriting whatever’s there with a null terminator." 14:54:14 That's just nonsense, and the code is perfectly safe (if completely useless) if there is a string in buf. 14:55:14 what i dont understand is why someone used '\0' instead of 0 14:55:17 (Okay, just having a string isn't quite enough, it needs to be one that can be modified. But still.) 14:55:25 Some think it's more self-descriptive. 14:55:34 Probably the same people who use NULL instead of 0. 14:55:35 they are both of type int 14:55:53 whereas NULL is of type void* 14:55:57 No, it's not. 14:56:05 huh? 14:56:11 It's an implementation-defined null pointer constant, or one cast to void *. 14:56:11 fizzie: AFAICT, the code is exactly equivalent to strcat(buf, "") 14:56:16 It can be of type int, too. 14:56:40 ever considered that tdwtf might be intentionally incorrect to try to trick people into using its forums? 14:56:55 ais523: No, but that's indeed plausible. 14:57:08 i will never look at those computer-killing forums again 14:57:34 (E.g. #define NULL 0 is a valid definition for NULL. As is #define NULL '\0' for that matter.) 14:58:26 oren: the forums are awful even for computers that work better than yours 14:58:38 wow. but you don't need a cast to assign it to a pointer, unlike other integers? 14:59:22 Indeed. 14:59:22 so the forums content is bad too 14:59:23 ? 14:59:24 "-- NULL which expands to an implementation-defined null pointer constant --" (C11 7.19p3) + "An integer constant expression with the value 0, or such an expression cast to type void *, is called a null pointer constant." (C11 6.3.2.3p3) 14:59:52 fizzie: be careful, those things have like three different definitions depending on the version of C and c++ 15:00:04 screw c++ 15:00:28 if im in c++ i rarely use pointers anyway 15:00:40 I don't think the version of C affects this. 15:00:43 fizzie: in particular, the latest C++ standard closes the loophole that lets you detect wheteher an expression is a constant expression by testing if their zeroed version converts to a null pointer 15:00:49 At least the parts I quoted are identical in C89 and C11. 15:01:07 fizzie: in plain words, (3-3) converts to a null pointer in C and in old C++, but not in future C++ 15:01:15 I don't know the exact version where it changes 15:01:33 screw c++ i don't use pointers in c++ 15:02:01 because all the data structures come ready made anyway 15:02:45 b_jonas: Well. They've got the nullptr too. It's a whole 'nother language, sure. 15:02:51 c++ should have stopped pretending to be c a long time ago 15:03:11 oren: sure, this change is something only #esoteric cares about. you people can still write 0 or NULL or nullptr 15:03:21 oren: no, it should not stop that 15:04:00 it is important for us people who use C++ for actual work to be easy to interoperate with C libraries, and be able to just include the C headers with almost no changes 15:04:09 -!- ais523 has quit. 15:04:11 fizzie: doesn't C have nullptr too these days? 15:04:18 -!- ais523 has joined. 15:04:19 or is that still C++ exclusive? 15:04:29 b_jonas: It's still C++. 15:04:35 ok 15:04:46 virtually all languages have easy ways to work with C libraries. 15:04:50 b_jonas: You'd have to speak real fast to get the C committee to add a keyword that does not begin with a _ followed by an uppercase letter. 15:05:08 fizzie: so what? they'd call it _Nullptr and put nullptr as a macro in some header 15:05:17 that's what they did with alignas too 15:05:21 there is no reason that the method has to involve copypasting a file into your file 15:05:38 (that is what #include does) 15:06:01 b_jonas: Did alignas come from C++? 15:06:07 fizzie: dunno 15:06:30 fizzie: how about bool then 15:06:30 Apparently it's a keyword in C++11, at least. 15:06:32 some of this stuff was thought up by compilers 15:06:45 fizzie: bool definitely comes from C++, and C took it as _Bool to which bool is a macro 15:06:46 (byt the writters of compilers that is) 15:06:57 There's also _Static_assert / static_assert, and _Thread_local / thread_local, but I don't know which way those went. 15:07:11 ah yeah, static_assert almost certainly comes from C++ 15:07:15 _Complex 15:07:16 C people don't invent that kind of stuff 15:07:34 oren: _Complex is different, C invented that and C++ SHOULD steal it, but they take it in pride and they don't 15:07:45 they think their inferior std::complex template is better 15:08:04 they're not even compatible, you can't just convert from one to another 15:08:26 the problem with c++ is that they did not make the standard template things builtins 15:08:40 std::vector should be a builtin 15:08:44 um... no 15:08:48 std::vector should not be builtin 15:08:54 why not 15:09:30 why should it be? it can be implemented in C++ fine as a class, and this way it's easier to add methods to it later 15:09:46 -!- `^_^v has joined. 15:10:10 becuase then the compiler would not have to parse all that template garbage every time 15:10:51 and it would be faster becuase the algorithms can be tailored to the exact processor 15:11:09 and the type that it is instantiated over 15:13:03 https://www.pouet.net/topic.php?which=10164 15:14:00 link does not load 15:14:06 -!- augur has joined. 15:14:49 anyway there should be a builtin string, vector, and matrix type at least 15:15:29 oh now it loads 15:16:01 cool! 15:18:50 -!- augur has quit (Ping timeout: 244 seconds). 15:26:12 -!- shikhout has changed nick to shikhin. 15:27:46 -!- dts has joined. 15:29:10 -!- oren has quit (Ping timeout: 244 seconds). 15:31:21 -!- oren has joined. 15:37:55 -!- Sprocklem has joined. 15:40:59 -!- conehead has quit (Ping timeout: 272 seconds). 15:41:45 -!- drdanmaku has joined. 15:44:27 -!- conehead has joined. 15:48:06 -!- callforjudgement has joined. 15:48:10 -!- ais523 has quit (Remote host closed the connection). 15:50:23 -!- dts has quit (Ping timeout: 252 seconds). 16:19:42 -!- dts has joined. 16:19:52 -!- dts has changed nick to dts|pokeball. 16:21:00 re notation for long repeating integers 16:21:33 extend 0xffff notation by allowing other numbers before the x 16:21:56 so that 3xff is 0xffffff 16:23:54 up to 8 for an eight byte number 16:25:02 now the x means "times" as well as "hex" dth? 16:26:25 it's not multiplication though. 16:26:57 it is string multiplication 16:27:05 like in perl x operator 16:31:43 -!- AndoDaan has quit (Read error: Connection reset by peer). 16:36:36 -!- mihow has joined. 16:38:42 but then why does 0xff mean ff, rather than 0? 16:39:03 do it like Befunge-98 16:39:26 and have, in 1xff, the "1x" mean "1 repeat of ff", but then have the actual ff still there after it 16:39:31 so you end up with ffff 16:40:04 anyway I don't think I'd be a fan of that notation 16:41:18 [wiki] [[User:Orenwatson]] http://esolangs.org/w/index.php?diff=41322&oldid=41278 * Orenwatson * (+248) added mini-description for extended hex notation. 16:41:54 3X7f7 is 0x77ff77 16:42:07 3x7f7 us 0x7f77f7 16:42:24 ... 16:42:35 so now 3x is reapeating things twice? 16:42:52 -!- FreeFull has quit (Ping timeout: 250 seconds). 16:42:56 the number is the number of bytes 16:43:15 anything stating with 4 has 4 bytes 16:43:16 well this went nuts quickly 16:43:42 -!- FreeFull has joined. 16:43:52 3x7f is 7f7f7f 16:44:03 3X7f is 777fff 16:44:22 nuts? hop hop i'm a squirrel! 16:45:54 5x789 = 0x9789789789 16:48:06 or yknow, the thing from ice age the... Scrat, that thing 16:48:56 actually you may be right... repeating it the number of times may be easier to calculate 16:50:01 maybe some of you would be interested in the programming challenge at http://domino.research.ibm.com/Comm/wwwr_ponder.nsf/Challenges/December2014.html 16:50:22 ok new rule: 3x7f is 0x7f7f7f, 3X7f is 777fff but 2X7f7 is 0x77ff77 16:51:06 and 1 can be reserved for something... hmmm... 16:51:55 -!- Sprocklem has quit (Ping timeout: 272 seconds). 16:52:13 A few days ago there was mentioned in here a Magic deck designed to instantly lose 16:52:51 [wiki] [[User:Orenwatson]] M http://esolangs.org/w/index.php?diff=41323&oldid=41322 * Orenwatson * (-22) revised the notation to be more sane. 16:54:04 Does anyone still have the link? 17:04:57 Taneb: Sgeo: http://tappedout.net/mtg-decks/fastest-turn-1-kill-guaranteed/ 17:05:49 (I didn't. I searched the logs for "deck" from codu.org) 17:06:02 Oh the word order scrambled got. 17:06:16 Thanks 17:07:25 that doesn't count, playing a pact makes you lose turn 2 17:07:47 they say that you can take an extra turn. 17:07:59 (if you can) 17:08:17 so it still happens before your opponent ever takes a turn. 17:09:01 the extra turn cards make you lose at the end of that turn, so the pacts don't help there 17:12:12 Right. Reading again, it actually says that the extra turn cards are the way to lose if you can; the pacts are more of a fallback (you have to fill the deck with something...). 17:15:30 this deck looks week to force of will 17:15:35 *weak to 17:15:38 like other turn 1 kill decks 17:15:49 "These 2 routes will end the game without any decision-making on the part of your opponent." is false, of course. They can play pacts of their own, for example. 17:16:20 misere magic 17:17:17 actually 17:17:21 they can pact of negation your extra turn card 17:17:27 what are you going to do /now/? 17:17:59 callforjudgement: I know! 17:19:01 callforjudgement: that's when you use the extra turn cards, hoping that there isn't a second pact of negation waiting for them ;) 17:19:01 callforjudgement: Pass the turn 17:19:03 the goal is to end the game 17:19:04 not to lose 17:19:10 if you pass the turn after they pact, you win! 17:19:46 if they force you, then you pact it 17:21:36 coppro: then you run the risk of them angel's gracing their own pact 17:21:43 or stifling it 17:23:27 can you do that without mana? 17:23:48 gemstone caverns 17:23:58 was waiting for someone to ask how I paid for it :-) 17:24:53 funny card 17:25:13 * int-e wonders if there's something you can discard for colored mana 17:25:35 you can exile simian spirit guide / elvish spirit guide for red and green respectively 17:25:38 both of which are the wrong colors 17:25:50 two of them let you play manamorphose and get the correct colors 17:26:03 but that's way more complex than just gemstone caverns, which is one card 17:28:41 lovely. "If multiple Gemstone Caverns are put onto the battlefield under a single player's control before the game begins, the "legend rule" won't put the extras into that player's graveyard until just before the first player gets priority during his or her first upkeep step. There's no opportunity to tap the extras for mana." 17:29:06 ... "You can do that, but it won't help you." 17:29:53 unless you need cards in your graveyard, I guess 17:30:08 but there must be easier ways to accomplish that :P 17:32:31 lion's eye diamond is the normal way 17:32:37 it's kind-of crazy 17:32:56 black lotus is considered one of the best magic cards ever, it generates 3 mana on sacrifice and costs 0 17:33:12 some time later, they made a black lotus variant where you have to discard your hand, everyone thought it sucked 17:33:26 then people developed storm decks that could work around the discard-your-hand drawback, and it became very expensive 17:33:44 and now there are decks like manaless dredge that play lion's eye diamond for the discard, and don't even have a use for the three mana 17:33:57 -!- GeekDude has quit (Quit: AdiIRC is updating to v1.9.6 Beta Build (2014/12/03-1) 32 Bit). 17:34:19 -!- GeekDude has joined. 17:34:41 turns out that the only problem with one with nothing is that it's one mana too expensive ;-) 17:34:58 [wiki] [[User:Orenwatson]] http://esolangs.org/w/index.php?diff=41324&oldid=41323 * Orenwatson * (-226) i've just realized this leads to a syntactic ambiguity impossible to resolve with an LR(0) parser so back to the drawing board 17:35:45 oren: is being LR(0) parsable important to you? 17:36:16 INTERCAL would be LR(infinity), except that it has a specific exception banning programs that don't parse in LR(1) 17:36:29 i.e. the grammar itself isn't LR(1), but individual programs have to be 17:36:30 because scrip7 is interpreted yet is a 'systems' or 'game' language the parser has to be very very fast 17:37:22 I take it you can't just JIT the parsing? 17:37:39 and so i want it to read each character once only 17:37:53 you are possibly optimizing for the wrong thing 17:37:57 it can be self-modifying 17:38:19 ah, in that case you're definitely optimizing for the wrong thing, as you'll have to reread a character when it's modified anyway 17:38:41 but we don't want to backtrack ever 17:39:13 or build a parse tree. the grammar is also flat 17:39:31 oh, so this is lexing, rather than parsing 17:39:32 (except for nested parens) 17:39:42 what happens if someone overwrites one of a paren pair? 17:39:44 there effectively is no parse step 17:39:56 then you have to reparse everything anyway, because the parens no longer match the same way 17:40:40 the parens are jump vectors on a stack in the newest version (not uploaded yet) 17:41:24 but anyway not exactly. you can decide which paren matches based on the stack 17:41:33 well, say you modify a paren that's already on the stack 17:41:38 don't you have to remove it from the stack when that happens? 17:41:59 or are you using an intrusive linked list into the program? 17:43:53 uh... well it is a little complicated but the parens essentially represent the C if(0)while(1){...} 17:44:11 so when you jump in, it is stacked 17:44:24 and when you jump out it is unstacked 17:44:50 but when you hit them, it simply jumps to the vector at the top 17:45:24 in current version on wiki, it instead searches backward for match, but i am changing it 17:46:47 to get faster execution speed 17:47:02 -!- cluid has joined. 17:47:57 the semantics of self-modification are not yet well defined for this language 17:48:36 hi oren 17:48:40 hi 17:49:13 i am explaining why i want scrip7 to be parsed LR(0) 17:50:47 Who cares about LR whatever? 17:50:57 isn't that just compiler textbook filler? 17:51:14 it defines how complex the parser code is and therefore 17:51:20 determines parsing speed 17:52:30 and then there is septh of parse tree which i want to be about 2 at most here 17:52:41 s/septh/depth 17:53:07 If your parser isn’t doing big transformations, isn’t parsing speed determined by how quickly you can feed it? 17:53:23 What is the largest program you will ever write? 17:53:34 you will probably be able to parse it in <1second 17:53:44 therefore: Fuck parsing theory 17:53:45 how many times a second 17:53:52 you have to parse multiple times a second? 17:53:55 or 17:54:01 you have to parse the same file multiple times? 17:54:25 yes it is an interpreted language, and i will be using it (maybe) to define entity behaviour in a game 17:54:56 entity means enemies, objects, bullets whatever 17:55:50 so in other words run 100 programs every frame 17:56:18 if i can get it to be fast enough, 1000 prgrams 17:56:27 in this case, you parse once and cache the parse 17:56:47 I thoughht you compiled your code 17:56:51 i thought it generated C code 17:57:07 Ive totally misunderstood scrip7 17:57:14 no it is embedded inside a C program as a string, or fed from a file 17:57:22 ok im sorry then 17:57:36 everything i sadi about parsing wascoming from my false assumption 17:59:23 so essentially the idea is to designe language in such a way as to keep anything from needing a complex parse tree 17:59:58 ideally there will be no parse tree at all. the interpreter will execute code as it reads it, directly. 18:00:56 -!- S1 has joined. 18:01:01 so then, i am dealing with problem that 0xff notation is ambigious and requires lookahead or backtracking 18:01:14 because x could be a variable name 18:01:42 this notation seems like it's of very marginal use in this sort of language 18:02:17 i am considering a different sigil such as %ffff instead 18:02:22 nah its good 18:02:41 something as simple as changing the 'x' to a digit means you have to completely reparse the constant 18:02:51 IMO, self-modification should be at the token level, not the byte level 18:03:28 as i jsut said the interpreter does not build any kind of parse tree, it reads bytes directly 18:04:42 and executes directly upon reading, for maximum speed short of a JIT 18:05:01 cool 18:05:30 oren: I'm trying to tell you that if you want extreme speed 18:05:41 building a parse tree once is faster than executing bytes thousands of times 18:05:55 and it also makes your language's semantics cleaner 18:06:01 but the parse tree then is read many times? 18:06:12 why does that help? 18:06:21 you use an appropriate data structure for the parse tree so that you can navigate in it without needing to read the whole thing 18:06:43 for interpreting, you normally use something like a linked list, where the links represent possible flows of execution 18:06:50 already we navigate in string without reading the whole thing. 18:06:55 then you can move around in the parse tree just by following links 18:07:02 -!- oerjan has joined. 18:07:10 this means that it's always just the one memory access to load the next command 18:07:31 (actually one is too many, really, but rather better than trying to match brackets on every run) 18:07:56 @messages- 18:07:56 int-e said 4h 40m 46s ago: and then over 4 years later we have this little scene... http://www.girlgeniusonline.com/comic.php?date=20110221 18:07:56 int-e said 4h 30m 36s ago: and this is the one I was looking for: http://www.girlgeniusonline.com/comic.php?date=20110516 18:09:13 hmm... i will look at a better method for matching brackets, and simply undefine behviour of erasing brackts 18:09:48 it was never defined in first place so ok 18:11:18 this is a C-style language where things are undefined to make implementers job easier 18:12:34 int-e: the last scene is the last time i remember seeing her 18:19:25 @tell int-e the last scene is the last time i remember seeing her 18:19:25 Consider it noted. 18:20:04 yeah 18:22:28 oerjan: The next time Klaus turns up he's testing Gil with one of the slaver ferret things (after, apparently, Gil poisoned Dupree with a recipe by Tarvek), and seems to be in control. I'm really interested in an explanation for that. 18:26:50 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds). 18:30:25 -!- MDude has quit (Quit: later chat). 18:33:13 i am back. was roped into chopping and stacking yuletide logs 18:34:29 int-e: i've always been assuming he faked the ferret 18:35:28 it's more likely than gil being wasped, at least 18:35:56 i always thought C is a C-style language where things are undefined to make implementers job easier 18:36:11 what i am not sure about is whether the copy of klaus inside gil obeys lucrezia or not 18:37:16 -!- perrier has quit (Read error: Connection reset by peer). 18:37:28 -!- S1 has changed nick to |S}. 18:38:27 also, i'm expecting dupree's thus induced immunity to wasps to become an issue. 18:38:28 -!- perrier has joined. 18:38:47 or well hm 18:39:01 it does seem moot now that gil is kind of in charge 18:40:53 -!- perrier has quit (Remote host closed the connection). 18:42:08 -!- perrier_ has joined. 18:53:08 -!- |S} has quit (Quit: |S}). 18:55:09 callforjudgement: ok, new idea 18:55:12 present a 59-card deck 18:55:13 call a judge 18:55:15 get DQed for cheating 18:55:20 your opponent can't stop that! 18:55:39 coppro: that only works once per tournament, at most 18:55:42 is this in the right channel 18:56:01 oerjan: it's pretty eso 18:56:07 but only arguably programming 18:56:15 I'd say it's more ontopic than usual 18:56:31 it sounded more related to recent agora discussions :P 18:56:42 agora is also more ontopic here than this channel normally is 18:56:51 but less ontopic than the actual topic 19:03:17 so the idea is to waste everyone's time at a round-robin? 19:16:55 b_jonas: the rules are already something like 1000 pages long <-- so basically mornington crescent is "based on a true story"? 19:17:25 oerjan: to be fair, it's almost entirely consists of tables 19:18:55 callforjudgement: Regarding silly fare rules, airline tickets are quite similar 19:19:22 I have a friend who managed, after some finessing an online interface to get it to accept entry of the route, to successfully book a $300 ticket with like 10 connections 19:20:21 since under the rules for the fare, the price is based only on the endpoints, and there was a list of airports that he was allowed to connect through, and while it made no sense for getting there quickly, you could legally connect through all of them 19:20:30 which let him rack up an insane amount of frequent flyer miles 19:21:21 -!- CakeMeat has joined. 19:34:39 -!- Frooxius has quit (Quit: *bubbles away*). 19:36:33 -!- Frooxius has joined. 19:36:57 -!- mihow has quit (Quit: mihow). 19:47:29 -!- Sprocklem has joined. 19:47:57 -!- Sprocklem has changed nick to Guest12721. 19:53:16 -!- password2 has joined. 19:53:49 -!- password2 has quit (Max SendQ exceeded). 19:55:27 -!- password2 has joined. 19:56:38 coppro: how long did the flight take? or did he intentionally miss some of the endpoints? 19:57:08 like two days I think 19:57:08 or are there people who book flights then don't take them, simply for the frequent flier miles? 19:57:18 you need to actually take them for the miles 20:03:37 -!- Guest12721 has quit (Ping timeout: 264 seconds). 20:05:10 they fixed that loophole I think 20:05:11 I forget how 20:05:18 I saw an article about it 20:06:24 callforjudgement: There was that one guy who booked a first-class flight that (a) was freely transferrable/cancellable and (b) included a before-flight meal at the airline's lounge, went and ate there, moved the flight to the next day, and repeated this for a few months or something. 20:06:53 fizzie: oh, beautiful 20:07:16 Of course this is again one of those "a man in China" news stories, so the verity might be questionable. 20:07:36 http://nypost.com/2014/01/29/man-uses-first-class-plane-ticket-to-eat-free-for-a-year/ and there's probably several other copies of it. 20:08:11 (At least it mentions the airline, but that's about it.) 20:11:50 -!- Patashu has joined. 20:27:07 [wiki] [[User talk:SuperJedi224]] http://esolangs.org/w/index.php?diff=41325&oldid=41266 * SuperJedi224 * (+946) 20:28:05 -!- oerjan has quit (Quit: Nite). 20:29:56 -!- Patashu has quit (Ping timeout: 250 seconds). 20:32:39 -!- password2 has quit (Read error: Connection reset by peer). 20:34:46 -!- callforjudgement has quit (Ping timeout: 245 seconds). 20:36:07 -!- callforjudgement has joined. 20:39:55 hehehe, that before flight meal thing is funny 20:41:12 -!- shikhout has joined. 20:42:30 -!- cluid has quit (Remote host closed the connection). 20:44:44 -!- shikhin has quit (Ping timeout: 264 seconds). 20:46:56 [wiki] [[Tag]] http://esolangs.org/w/index.php?diff=41326&oldid=8814 * BCompton * (+25) Output only 20:49:17 -!- S1 has joined. 20:54:20 -!- G33kDude has joined. 20:54:49 there was a man who bought a first class card for trains for a year, eating and sleeping in there, traveling from town to town to beg for money for the next card 20:55:51 -!- G33kDude has quit (Read error: Connection reset by peer). 20:56:06 -!- G33kDude has joined. 20:56:14 -!- GeekDude has quit (Ping timeout: 244 seconds). 20:56:15 -!- S1 has changed nick to S0. 20:56:20 -!- G33kDude has changed nick to GeekDude. 20:57:22 -!- GeekDude has quit (Read error: Connection reset by peer). 20:57:38 -!- GeekDude has joined. 20:57:53 -!- GeekDude has quit (Remote host closed the connection). 21:06:10 -!- shikhout has changed nick to shikhin. 21:20:28 -!- augur has joined. 21:20:44 -!- GeekDude has joined. 21:21:20 -!- S0 has changed nick to S1. 21:21:41 -!- augur has quit (Read error: Connection reset by peer). 21:21:45 -!- augur has joined. 21:22:57 -!- Bicyclidine has joined. 21:24:46 -!- CakeMeat has quit (Quit: Connection closed for inactivity). 21:40:30 -!- mihow has joined. 22:00:31 -!- dts|pokeball has quit (Ping timeout: 258 seconds). 22:04:10 -!- callforjudgement has quit (Read error: Connection reset by peer). 22:04:26 -!- callforjudgement has joined. 22:04:28 -!- AnotherTest has joined. 22:07:40 -!- scarf has joined. 22:08:11 -!- Bicyclidine has quit (Ping timeout: 258 seconds). 22:11:57 -!- callforjudgement has quit (Ping timeout: 255 seconds). 22:14:42 -!- Bicyclidine has joined. 22:17:36 -!- GeekDude has changed nick to GeekAfk. 22:28:28 Taneb, int-e: I don't know much about this deck, it was just vaguely similar to Sgeo's description and I heard of it once. 22:30:38 -!- GeekAfk has changed nick to GeekNomz. 22:31:28 -!- scarf has changed nick to ais523. 22:39:55 -!- GeekNomz has changed nick to GeekDude. 22:43:45 14:53:20 Oh, dailywtf, you never cease finding new lows to sink to. 22:43:45 14:53:22 "buf[strlen(buf)] = '\0'; -- But even on null terminated strings, this code is dangerous. Since arrays in C, like any sane language, are zero indexed, this code may attempt to access memory beyond the end of the array, overwriting whatever’s there with a null terminator." 22:43:50 14:53:30 That's just nonsense, and the code is perfectly safe (if completely useless) if there is a string in buf. 22:43:53 TRWTF, etc. 22:44:16 I suspect the "anonymisation" they do to TDWTF submissions often completely loses the nuance because the people running it are .NET guys or whatever. 22:44:43 Transwritten Reformedly Winnelstrae Trist Film 22:45:06 Topsman Dinghee Woodmanship Tensibility Florimanist 22:45:19 elliott: sometimes the submitter posts the original WTF in the comments, and it's much better than the posted one 22:45:44 -!- AnotherTest has quit (Remote host closed the connection). 22:51:18 Bicyclidine: I'm not sure all of those are words 22:52:08 well, isn't strlen(buf) > size of the buffer if there is no null? 22:52:19 myname: no 22:52:25 elliott: you're not a word 22:52:33 b_jonas: how so? 22:52:43 if there's no nul, it's not a C string 22:52:50 i'll transwrite your ass, you tensible fucker 22:52:53 "But even on null terminated strings," is where the nonsense begins 22:53:04 i thought strlen is basically while(*str++!=0) len++; 22:53:15 NULL terminated strings, where you terminate strings with the actual bitpattern of null pointers, downcasted to a char 22:53:26 myname: strlen("abc\0") == 3 22:53:31 "abc\0"[3] == '\0' 22:53:32 yeah 22:53:49 you need strlen(s) + 1 chars to store a nul-terminated string 22:53:54 but if you have buf of len 3 you might screw you 22:54:00 you don't have a buf of len 3 22:54:05 because then it's not nul-terminated 22:54:12 and calling strlen on it is UB 22:54:17 that line is a nop on null terminated strings 22:54:21 yes 22:54:25 22:43:01 14:53:22 "buf[strlen(buf)] = '\0'; -- But even on null terminated strings, this code is dangerous. Since arrays in C, like any sane language, are zero indexed, this code may attempt to access memory beyond the end of the array, overwriting whatever’s there with a null terminator." 22:54:31 the nonsense is the part that's actually written there. 22:54:42 okay 22:54:45 yeah 22:55:31 if you call strlen on a non-nul terminated string, you're doomed even if you don't then use that result as an index 22:56:15 i wonder what will happen if you try to read from after the end of your memory 22:56:30 like, the physicsl memory 22:56:41 a memory access violation? 22:56:44 -!- `^_^v has quit (Ping timeout: 264 seconds). 22:57:05 well, virtual memory gets in the way of that 22:57:08 in user mode 22:57:11 or just accessing some other thing because ok you beat me. 22:57:43 s/in user mode//, I guess. 22:58:16 for science? 22:58:37 if you have an architecture without virtual memory then I would guess that either it wraps, or it's a fault. 23:08:14 -!- Bicyclid1ne has joined. 23:08:58 -!- Bicyclidine has quit (Ping timeout: 250 seconds). 23:32:35 elliott: It's clearly wrong for nul-terminated strings too, though 23:32:50 depends what you mean by wrong 23:32:52 it's defensive programming!! 23:33:38 elliott: Making sure that \0 really is a \0? 23:33:57 what if buf is volatile 23:34:03 true 23:34:18 (then it's probably UB because you can't guarantee enough sync between the strlen and the write, or something) 23:34:49 what if buf is actually a #define for an array access of an inline function call!! 23:34:52 Anyway, for the string "a", strlen will give 1, which is the index of the \0 23:35:53 I can see how fizzie made his error though 23:36:47 ( you can tell I didn't read up first ) 23:36:48 (input):1:37: error: expected: "!!", 23:36:48 "$", "$>", "&&", "&&&", "*", 23:36:48 "***", "+", "++", "-", "->", 23:36:48 ".", "/", "/=", ":+", ":-", 23:36:48 "::", ":::", ":=", "<", "<#>",↵… 23:37:00 Woops 23:37:04 fizzie didn't make an error, he was quoting the daily wtf 23:37:10 fizzie is an infallible language lawyer :p 23:37:19 Ah, that's ok then 23:37:46 you are under arrest for abrogation of language law 23:42:25 -!- AndoDaan has joined. 23:42:34 -!- dts|pokeball has joined. 23:46:25 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 23:51:28 -!- callforjudgement has joined. 23:54:29 -!- ais523 has quit (Ping timeout: 244 seconds). 2014-12-04: 00:08:20 -!- Bicyclid1ne has quit (Ping timeout: 250 seconds). 00:16:59 -!- Bicyclidine has joined. 00:40:50 -!- Bicyclidine has quit (Ping timeout: 250 seconds). 00:45:40 -!- mihow has quit (Quit: mihow). 00:46:59 -!- mihow has joined. 00:53:02 Hmm, what is valid C but invalid/differently semanticated(?) C++? 00:53:25 char *p = malloc(n); 00:53:47 shachaf, elaborate? 00:54:33 Taneb: foo *x = allocateFoo(); if (!x) goto cleanup_foo; bar *y = allocateBar(); if (!y) goto cleanup_bar; /* ... */ deallocateBar(); cleanup_bar: deallocateFoo(); cleanup_foo: ; 00:54:43 I like that example because this is 100% idiomatic in C 00:55:07 in C++, you can't goto into the scope of a declaration 00:56:00 both my and shachaf's examples are pretty non-contrived, but shachaf's is easier to fix 00:56:08 Taneb: there are no implicit casts from void* in C++ 00:56:17 Right 00:56:22 I can use this 00:56:28 I probably won't, but I can... 00:56:40 so you'd need to write "char *p = reinterpret_cast(malloc(n));" 00:56:42 -!- callforjudgement has quit. 00:56:51 -!- callforjudgement has joined. 00:56:54 [00:53] Taneb: foo *x = allocateFoo(); if (!x) goto cleanup_foo; bar *y = allocateBar(); if (!y) goto cleanup_bar; /* ... */ deallocateBar(); cleanup_bar: deallocateFoo(); cleanup_foo: ; 00:56:56 [00:53] I like that example because this is 100% idiomatic in C 00:56:57 [00:54] in C++, you can't goto into the scope of a declaration 00:56:59 [00:55] both my and shachaf's examples are pretty non-contrived, but shachaf's is easier to fix 00:57:00 [00:55] Taneb: there are no implicit casts from void* in C++ 00:57:02 [00:55] so you'd need to write "char *p = reinterpret_cast(malloc(n));" 00:57:02 got all of those 00:57:03 -!- callforjudgement has changed nick to ais523. 00:57:14 Right 00:57:15 I can use this 00:57:15 I probably won't, but I can... 00:57:17 oh, well I didn't get any reply you may have made 00:57:38 anyway, in both cases (mine and shachaf's), the C code is normally considered the correct way to write the program in C, by C experts 01:01:42 isn't static_cast enough 01:02:35 -!- Bicyclidine has joined. 01:12:28 yeah but then what do you even do in c++ if you want to goto cleanup code? 01:12:55 i guess each declaration has to be in its own {} pair? 01:12:57 raii 01:13:48 more like raii bother, amirite folks 01:13:52 what if the object is a database transaction or something where the cleanup code may itself need to handle an error? 01:14:20 also raii doesn't mean what it stands for 01:15:55 it actually means allocate in constructor, deallocate in destructot 01:16:42 it has nothing to do with initializing members per se 01:16:55 good thing it's not called raimi 01:19:08 it's not about allocation 01:19:11 allocation is a special case. 01:20:12 allocation, acquireing locks, etc... 01:20:45 "initialisation" doesn't mean initialisation of members. 01:20:48 point is, you take resources in constructor and release in dtor 01:20:51 it means the initialisation that happens when a constructor is called. 01:21:15 initialization means copying a bunch of data into member vars. 01:21:29 that is not what raii is about... 01:21:46 "In RAII, holding a resource is tied to object lifetime: resource allocation (acquisition) is done during object creation (specifically initialization), by the constructor" 01:21:57 your interpretation is wrong 01:22:32 should I copy paste every line I say correcting you multiple times? it seems like you just repeat your claim the first few times 01:22:41 constructor does more than initialization. constructor is arbitrary code, which may do whatever? 01:23:10 "In RAII, holding a resource is tied to object lifetime: resource allocation (acquisition) is done during object creation (specifically initialization), by the constructor" 01:23:33 and your point. they are using word initialization loosely 01:23:42 to mean calling the constructor 01:24:12 it's not "loosely". 01:24:15 it's just "differently from you". 01:24:19 struct foo x= {221,345,635}; that is initialization 01:24:43 constructor can do whatever it wants, up to and including creaign files, etc 01:24:49 I should really just put you on /ignore... 01:24:50 -!- Tesla43 has joined. 01:25:02 `` exec $(echo bin/*elcome* | shuf | head -n 1) elliott 01:25:06 ​ova/erypbzr: Jrypbzr gb gur vagreangvbany uho sbe rfbgrevp cebtenzzvat ynathntr qrfvta naq qrcyblzrag! Sbe zber vasbezngvba, purpx bhg bhe jvxv: . (Sbe gur bgure xvaq bs rfbgrevpn, gel #rfbgrevp ba vep.qny.arg.) 01:25:15 ty 01:25:16 well then is there a technical term for the initialization that i mean? 01:26:07 -!- Tesla43 has quit (Client Quit). 01:26:16 consider what is typically done in c++ initialiazation lists, for example. 01:26:37 good news, there's a .bet tld 01:26:52 .bet? like gambling? 01:26:53 I would say "initialisation of member fields" or "initialisation" when the context makes it obvious. 01:26:55 Betting, when practiced responsibly, can be extremely enjoyable. It can also excite the passions, and command phenomenal attention and interest. Knowing this, we aim to unite these feelings under one electronic roof within this generic TLD (Top Level Domain) .Bet. Online betting has increasingly become part of everyday life for hundreds of millions of people, and nowadays online markets exist for betting on 01:27:00 there's probably a technical term in the C++ standard 01:27:01 just about anything. 01:27:16 it may even be "initialisation" but that doesn't change the fact that RAII is just invoking the less specific meaning of initialisation 01:27:32 An intuitive generic Top Level Domain (TLD) name makes .bet distinguishable from the broad bet-related content found across the Internet, and there are clear benefits to all those in the betting affinity group. 01:27:37 "Other names for this idiom include Constructor Acquires, Destructor Releases (CADRe) [6]" my other car is a CADRe 01:28:00 Cadre is better. 01:28:06 I like that thanks 01:28:09 my other car is a junta 01:29:20 nobody knows what CADRe means. also it doesn't generalise as well to non-C++ languages 01:30:10 wll most every other language has automatic memory management so it isn't such a huge thing 01:30:24 elliott, Scheme has caddadr but I think that is different 01:30:25 (every other OO lanfgage i mean) 01:30:48 RAII applies in non-OO contexts too 01:31:07 depending on your definition of OO, anyway 01:32:08 i only have an informal one: a language in which setting a variable is not equivalent to a memcpy. 01:32:30 eg. it may do arbitrary things 01:33:33 -!- Bicyclidine has quit (Ping timeout: 255 seconds). 01:33:54 register x equals zero 01:34:14 that's your definition of OO?? 01:34:22 in Java every assignment is a memcpy. 01:35:13 there is no hidden behaviourof any non-function call construct? 01:35:14 elliott: my understanding of the situation generally is that RAII is a good idea in general, but C++ makes it very difficult to use alternatives 01:35:35 in java, x = y never does anything more complex than evaluating y and copying the result into x 01:35:40 usually the result is a pointer 01:35:51 (if Java has added = overloading recently I'm going to look so foolish) 01:36:11 good point. 01:36:13 how will you ever live it down 01:36:14 Java doesn't allow overloading of anything that doesn't look like a function call, AFAIK 01:36:19 anyway, categorising high-level language attributes like object-orientation based on non-universal implementation details is pretty silly... 01:36:32 function/method 01:36:39 but then why isn't C OO if I use FILE*? 01:37:03 C is using encapsulation correctly if you use FILE* 01:37:11 since C11, at least 01:37:17 C89 and C99, FILE has to be a concrete struct 01:37:22 or, well, concrete type generally 01:37:41 so with struct declarations, C is OO? that doesn't make sense. 01:38:12 e.g. declare struct foo; in header, define in .c file. 01:38:34 you can use OO techniques in C. 01:38:34 of course. 01:38:35 oren: what is confusing you is that OO does not have a monopoly on good data hiding and encapsulation principles 01:38:37 it's pretty popular. 01:38:46 i was so excited to get to talk about reading frames last night. what a fool i was 01:38:55 "OO language" is an ill-defined and vague term, anyway 01:39:00 doesn't mean it's not useful 01:39:01 just like dynamically typed languages do not have a monopoly on good testsuites 01:39:05 but it does mean trying to lawyer your way around it is pointless 01:39:30 that is why I define it in terms of hidden behaviour of simple constructs? 01:39:42 oren: would you consider :≠ object-oriented? 01:40:01 god, I hate this channel so much 01:40:23 this is like when someone was trying to talk about an equality operator in a very non C language as being "pointer equality", "like C", because C doesn't put things in registers ever 01:40:30 i wonder if there's a ##biology 01:40:35 I am a concentrated block of bitterness 01:40:38 nope 01:40:41 Bike: I define reference equality as "changing one of these things changes the other" 01:40:50 oh, there is #biology 01:40:53 ais523: much more sensible, yes 01:40:58 copy on write 01:41:01 this is a pretty good definition of reference equality regardless of language, except when you have pointer arithmetic and pointers to subobjects 01:41:14 -!- Bike has left ("never"). 01:41:18 what if copy on write? 01:41:24 oren: in the case of reference equality, I'd say that a COW copy is not reference-equal 01:41:38 COW is an optimization of copying the value 01:41:56 i guess that makes sense, but the pointers could be equal before you write 01:41:57 which should be an implementation detail 01:42:16 they still conceptually reference different objects 01:42:19 so reference equality isn't pointer equality 01:42:39 pointer equality is hard to define 01:42:52 there was a recent ongoing argument on comp.lang.c about that that lasted like a month 01:43:35 basically, the argument was, if you have two arrays int x[2], int y[2], then is a compiler allowed to be inconsistent about whether x+2 == y? 01:43:37 pointer equality is easy to define on sane architectures 01:43:48 where a pointer is an integer 01:43:57 gcc and clang can both return inconsistent results for this given suitable programs 01:44:06 although this is probably technically a bug 01:44:37 it is allowed, but it breaks C's assemblerness to do so. 01:44:50 C has very little "assemblerness" left. 01:44:57 oren: what if a pointer is just an integer, but the compiler does optimizations? 01:45:12 oren: anyway, I think you have quite a naive interpretation about what a computer is 01:45:21 like how? 01:45:31 actually, the bigger misconception is that asm is somehow close to the hardware 01:45:48 modern asms are basically just compression schemes for executables 01:45:50 asm isn't. microcode is. 01:45:52 because memory bandwidth is so important 01:46:11 asm is calling subroutines in rom inside the CPU 01:46:13 oren: well, what's the point of C being close to asm if asm isn't close to anything? 01:46:20 and no, the CPU does optimization too 01:46:23 -!- S1 has quit (Quit: S1). 01:46:38 when there's a bug in the CPU's optimizer, it can cause all sorts of pain 01:46:50 normally the compilers are just taught to generate code that doesn't expose the bugs 01:47:02 asm is calling methods of the CPU object 01:47:12 I messed up 24-hour clocks again :( 01:47:18 Booked a train two hours early 01:47:30 oren: CPUs are not very object-oriented 01:48:25 oren: are you just trolling now 01:48:43 well no, but as a first approximation to how they work, they interpret their instruction set as a minimal esolang 01:48:59 using code written in a even more minimal esolang 01:49:11 most asms aren't really that eso 01:49:15 they typically all work in much the same way 01:49:21 but machine code it 01:49:23 is 01:49:39 -!- Phantom_Hoover has joined. 01:49:55 for example consider how inconsistent x86 is compared to 6502 01:50:07 being inconsistent isn't normally enough by itself to make a language eso 01:50:10 or PHP would be an esolang 01:50:22 -!- Bicyclidine has joined. 01:50:36 -!- Bicyclidine has quit (Client Quit). 01:50:40 incidentally, my working definition of an esolang is "a language for which there's no point in writing an extensive standard library" 01:51:05 pretty much all asms fail this test, unless they're for nonexistent processors 01:51:09 e.g. redcode is probably an esolang 01:51:23 imo all languages are esoteric, and words mean nothing, and ada isn't object-oriented because you run it on a VAX, and skateboarding is NOT a crime 01:51:35 and I am president of the united states 01:51:49 I know nothingabout ada or vaxes 01:52:02 so for all i know you are right 01:52:20 thank you. im glad this place is being reasoanble again 01:52:36 and how do i know that you are not Obama? 01:52:41 it's easy to confuse the opinions of one person with the opinions of the whole channel 01:53:07 do VAXes have problems with OO? 01:53:25 hmm, is it the VAX whose native function call mechanism can't do recursion? 01:53:28 the US government outlawed object oriented programming when designing their `Vax' architecture 01:53:46 that'd break encapsulation because you can't tell if a call is going to potentially recurse or not if you can't see its definition 01:53:46 it's not secure enough. 01:55:16 hmm, compilers would have to make up their own call sequence 01:55:34 like saving stuff to a stack before recursing 01:55:40 right 01:57:04 ais523: isn't it varargs it can't do or something 01:57:08 no wait 01:57:13 VAX has an instruction to call a function with an argument list, right 01:57:18 not sure 01:57:18 that works for varargs 01:57:24 CISC architectures are wild 01:57:28 the convention I'm thinking of overwrites the first two bytes of the called function with the return address 01:57:31 and doesn't have a stack at all 01:57:35 by , right I mean I'm sure it's true, up to my memory functioning 01:57:37 might not be vax though 01:57:56 ais523: it should overwrite the target of an immediate jump instruction instead 01:57:57 I'm pretty sure the convention exists; however, I'm not certain I've got the arch right 01:58:03 at the end of the function 01:58:13 elliott: then how would it know where the end of the function was? 01:58:30 -!- boily has joined. 01:58:42 ais523: hmm 01:58:50 there are several options, not sure which one is most amusing 01:59:19 this sounds like a terrible plan. i like it 01:59:37 ais523: one is to have a pointer to the start of the function after that jmp 02:00:43 is there any reason why the assembler has to keep track of onlyone address for each function? 02:00:57 memory bandwidth 02:01:07 you want the encodings of your commands to be as short as possible 02:01:10 oh yeah that was low back then. 02:01:21 actually, it's lower nowadays than it was back then, relative to CPU speeds 02:01:23 ais523: OK, how about this: the jmp instruction is actually at the start of the function 02:01:30 ais523: the CPU can run both forwards and backwards 02:01:32 on old computers, the RAM could normally keep up with a CPU running at top speed 02:01:35 jumping makes it run forwards 02:01:44 on modern computers, there's no chance 02:01:50 now we use caches for that right? 02:01:53 ais523: so to return, you do something like, when running forwards 02:02:01 uhhh 02:02:07 actually I had a good idea but now it seems not good 02:02:08 never mind 02:02:11 oren: caches are an attempt to work around the problem 02:02:17 but they can only partially help 02:02:30 because physical limits affect how much data you can store in them at a time 02:03:07 hey... question: can a cpu operate using only its cache as memory? 02:03:16 with no RAM external? 02:04:16 like we have cpus with MB of cache. way back when, 10MB was a lot. 02:04:31 CPUs have multiple layers of cache 02:04:37 oren: CPUs do operate that way when they boot up 02:04:39 the RAM has to be initialised 02:04:42 arguably the lowest level is the registers, and you can certainly do useful programs with just those 02:04:49 but you're very limited in storage 02:05:32 so then i think it may be possible to run DOS entirely in cache. 02:05:52 look ma, no mmu or ram? 02:09:17 oren: there are multiple caches 02:09:22 you probably couldn't fit DOS into L1 02:09:33 but L3 is very likely possible on the CPUs that have it, not sure about L2 02:10:09 -!- G33kDude has joined. 02:10:21 hmm... i'm gonna take all the ram out of my test box and try to boot it... 02:10:57 ehat even happens during startup if there is not ram? 02:13:40 presumably, the RAM test fails 02:13:59 most likely, you'll get a diagnostic produced the best way the computer's ROM knows how 02:13:59 -!- Froox has joined. 02:14:13 if you're lucky, that'll be a message on the screen, but more likely it'll be a sequence of beeps 02:14:24 -!- Frooxius has quit (Read error: Connection reset by peer). 02:15:38 yup. despite having as mmuch memory inside CPU as the C64 even had, no graphics or text. 02:16:01 I kind of want to try the Implicit Association Test at some point, but really scared to 02:19:27 what is that test in? 02:19:44 what field that is? 02:19:54 oren: most likely, the problem is that the GPU uses memory mapping to know what it's supposed to say 02:19:58 and with no RAM, there's no memory to map in 02:20:03 not like the GPU can access the CPU cache 02:20:05 dang 02:20:20 oren: tries to uncover subconscious biases 02:20:29 iiuc 02:21:00 i guess we'll have to wait for system-on-a-chip 02:23:41 yeah i can see why that would be scary... 02:26:23 -!- ais523 has quit. 02:27:05 -!- G33kDude has changed nick to GeekDude. 02:42:03 -!- shikhout has joined. 02:45:21 -!- shikhin has quit (Ping timeout: 264 seconds). 02:54:23 so my dad dug up a msdos floppy... lo and behold it still works 02:54:40 A:\> 02:55:33 really nintendo has nothing on intel when it comes to backward compatibility 02:56:30 ah, the days of B:... 03:00:28 -!- boily has quit (Quit: OCCLUSAL CHICKEN). 03:12:04 oren: that's awesome. I have a floppy drive connected to my pi, and really enjoyed digging up some old floppies to see what was on them 03:12:21 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 03:50:01 -!- shikhout has quit (Ping timeout: 240 seconds). 03:51:19 -!- Frooxius has joined. 03:51:36 -!- Froox has quit (Read error: Connection reset by peer). 04:08:37 I am now learning QBASIC 04:28:48 -!- bb010g has joined. 04:29:19 About how much work would it be to get DOOM working? 04:31:17 whoa 04:31:25 archive.org has old versions of sourcereal.com 04:31:53 "Many spices are found in sour cereal. There is cumin, which has a cumin flavor, and adds a cumin flavor to the cereal. There is also fenugreek which actually lends a sour flavor to the cereal. Also, in sourcereal, can be found oregano seeds. Sourcereal has cilantro as well. Cilantro can be added to the sour cereal after it has finished cooking. Cilantro is almost always found in sour cereal." 04:31:59 and ads 04:32:01 all sorts of things 04:43:12 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 04:50:37 -!- Lymia has quit (Remote host closed the connection). 05:05:31 -!- yorick has quit (Ping timeout: 258 seconds). 05:05:34 -!- yorick_ has joined. 05:10:32 -!- oren_ has joined. 05:10:59 -!- oren has quit (Ping timeout: 258 seconds). 05:11:00 -!- paul2520 has quit (Ping timeout: 258 seconds). 05:11:07 -!- oren_ has changed nick to Oren. 05:11:51 -!- paul2520 has joined. 05:46:43 -!- AndoDaan_ has joined. 05:49:22 -!- AndoDaan has quit (Ping timeout: 245 seconds). 05:56:44 -!- AndoDaan_ has quit (Ping timeout: 250 seconds). 06:00:56 -!- AndoDaan has joined. 07:11:18 -!- CakeMeat has joined. 07:11:34 Replace every vowel in your name with oob 07:17:37 Why would we want to do that, CoobkoobMooboobt? 07:25:55 >_< 07:26:13 Why not foobzzooboob 07:27:14 -!- ZombieAlive has quit (Remote host closed the connection). 07:32:31 Because it would look: silly. 07:32:34 oobroobn 07:32:53 -!- Oren has changed nick to oobroobn. 07:33:00 there 07:34:15 btw QBASIC is awesome. i am gaining a great respect for Microsoft. 07:37:52 -!- Patashu has joined. 07:39:19 * int-e wonders how close to 13 years old CakeMeat is. 07:40:51 qbasic is a better ide than most modern ones - for example it dynamically formats your code to be readable, as you type it. 07:47:05 * CakeMeat slaps int-e 07:47:27 Dont be rude i was just trying to lighten the mood in here 07:47:36 -!- oobroobn has changed nick to arbrarbn. 07:48:41 QBASIC is probably the only thing i appreciate in terms of Microsoft 07:50:10 i still can't quite fathom that a disk my dad copied in 1994 works in a 2009 computer 07:51:01 ?? magic 07:51:01 magic 07:51:29 Lambdabot agrees 07:51:43 the magic of intel making every processor an extention of previous processors i gusss 07:53:11 > reverse "mood" 07:53:13 "doom" 07:53:40 i want to get doom working now 07:54:09 Why would you change your name to arbarbn 07:54:21 Also im in the mood for doom 07:54:41 -!- arbrarbn has changed nick to yaaryaan. 07:55:40 if i can find the original game for DOS that would be epic 07:58:11 int-e: didn't you hear? CakeMeat is 25, and married with three kids and one more on the way, with his broken CPU core :p 07:59:21 elliott: I'll take your word for it. I'm too lazy to check the logs. 08:00:04 :I 08:00:32 I enjoy your company elliott 08:00:43 Its a treat 08:02:20 same 08:15:13 -!- Phantom_Hoover has joined. 08:16:37 aww, codu no longer does rsync? 08:17:29 doesn't it? 08:17:31 !logs 08:17:37 08:16:46 [freenode] -glogbot(dlopen@libdl.so)- Logs: http://codu.org/logs/_esoteric/ . Also available via rsync: rsync --size-only -avz rsync://codu.org/logs/_esoteric/ logs/ 08:23:06 Yes, that's what I have: rsync --size-only -avz rsync://codu.org/logs/_esoteric/ . 08:23:15 rsync: failed to connect to codu.org (64.62.173.65): Connection refused (111) 08:23:18 and that's what I get. 08:24:12 ah, hm. 08:24:14 it worked for me recently. 08:24:18 Oh well, wget -c does the trick as well. 08:24:39 I could give you a compressed copy of the #esoteric logs if you'd like. 08:25:02 I'm good. 08:26:04 rsync worked before, I'm just grabbing a coupe of recent logs. 08:28:29 why not a sedan of recent logs? 08:29:07 argh. 08:34:37 elliott: aww, I think you made up everything you just said about CakeMeat. I'm so dreadfully disappointed. 08:35:02 int-e: no, CakeMeat made it up 08:35:07 you may also know him as Dulnes 08:36:07 oh 08:45:03 Oh James Stirling seems to have had an interesting life... "Fearing assassination on account of having discovered a trade secret of the glassmakers of Venice, he returned with Newton's help to London about the year 1725." 09:05:15 -!- HackEgo has quit (Ping timeout: 250 seconds). 09:07:54 -!- HackEgo has joined. 09:30:42 -!- oerjan has joined. 09:41:22 -!- mroman has changed nick to mroobmoobn. 09:42:07 !blsq "b~"{"oobs"}f~ 09:42:08 | "boobs" 09:42:43 `relcome mroobmoobn 09:42:45 ​mroobmoobn: 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.) 09:43:21 you look so nooby today so you get a `relcome 09:43:37 23:10 Replace every vowel in your name with oob 09:43:50 fiendish 09:44:50 ORLY? 09:45:47 YRLY 09:46:32 ørjanly? yaaryaanly 09:46:47 oobrly 09:46:52 yoobrly 09:46:53 shoochoof 09:50:41 It would sure be nice if English had a clear way to write long and short vowels of all varieties. 09:50:54 If you want a short "ee" you can try "i" but you're usually out of luck. 09:51:16 And s/"ee"/"oo"/ s/"i"/"u"/ 09:56:19 english spelling is so ghotie 09:57:40 that's such a terrible example :'( 10:00:21 it was meant to be terrible hth 10:04:29 those things come up in contexts not on their own 10:04:49 of all the ways you could make fun of english spelling why would you choose a terrible one 10:05:36 phyandish 10:08:05 -!- AndoDaan has quit (Ping timeout: 256 seconds). 10:26:52 -!- mitchs_ has joined. 10:30:21 -!- mitchs has quit (Ping timeout: 264 seconds). 10:41:42 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 11:03:53 -!- S1 has joined. 11:05:30 -!- Phantom_Hoover has quit (Remote host closed the connection). 11:05:47 -!- Phantom_Hoover has joined. 11:08:34 -!- mihow has quit (Read error: Connection reset by peer). 11:09:52 -!- mihow has joined. 11:13:45 -!- boily has joined. 11:14:47 -!- CakeMeat has quit (Quit: Connection closed for inactivity). 11:17:31 -!- sebbu2 has joined. 11:18:10 -!- sebbu2 has quit (Changing host). 11:18:10 -!- sebbu2 has joined. 11:18:42 -!- sebbu has quit (Ping timeout: 240 seconds). 11:34:22 -!- FreeFull has quit (Ping timeout: 245 seconds). 11:35:07 -!- FreeFull has joined. 11:40:27 -!- S1 has changed nick to S0. 11:51:55 pretty impressed with this brainfuck-in-rust's-type-system thing 11:55:07 -!- Patashu has quit (Ping timeout: 250 seconds). 12:03:17 -!- S0 has changed nick to |S}. 12:05:32 -!- |S} has changed nick to S0. 12:06:38 -!- S0 has changed nick to |S}. 12:26:33 -!- boily has quit (Quit: INFIX CHICKEN). 12:31:11 The poem "The Chaos" has ample examples, though "Foeffer" is doubtful. 12:32:21 -!- |S} has changed nick to S1. 12:34:07 I love reading the Haskell sources. 12:52:08 -!- S1 has changed nick to S0. 12:56:39 -!- S0 has changed nick to S1. 13:07:07 -!- FreeFull has quit (Ping timeout: 258 seconds). 13:08:24 -!- FreeFull has joined. 13:08:31 -!- ZombieAlive has joined. 13:23:26 -!- yorick_ has changed nick to yorick. 13:24:28 -!- S1 has changed nick to S0. 13:48:06 [wiki] [[Dimensions]] http://esolangs.org/w/index.php?diff=41327&oldid=41260 * TomPN * (-3) /* Hello World! */ 14:01:33 [wiki] [[Dimensions]] http://esolangs.org/w/index.php?diff=41328&oldid=41327 * TomPN * (+3) /* Hello World! */ 14:04:04 -!- GeekDude has joined. 14:06:25 -!- cluid has joined. 14:10:27 -!- J_Arcane has quit (Quit: ChatZilla 0.9.91-rdmsoft [XULRunner 32.0.3/20140923175406]). 14:13:17 -!- S0 has changed nick to S1. 14:20:59 -!- J_Arcane has joined. 14:27:50 -!- drdanmaku has joined. 14:54:47 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 15:01:39 -!- `^_^v has joined. 15:05:48 -!- oerjan has quit (Quit: Later). 15:07:56 [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41329&oldid=41318 * SuperJedi224 * (+1785) 15:10:07 [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41330&oldid=41329 * SuperJedi224 * (-38) 15:14:11 -!- GeekDude has joined. 15:31:56 -!- ZombieAlive has quit (Remote host closed the connection). 15:32:55 -!- ZombieAlive has joined. 15:40:50 -!- Sprocklem has joined. 15:47:58 -!- sebbu2 has changed nick to sebbu. 15:54:46 -!- adu has joined. 16:04:02 -!- olsner has quit (Ping timeout: 240 seconds). 16:04:32 -!- olsner has joined. 16:06:06 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=41331&oldid=41089 * TomPN * (+109) /* Example programs */ 16:06:24 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=41332&oldid=41331 * TomPN * (+0) /* Hello World! */ 16:06:40 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=41333&oldid=41332 * TomPN * (-109) /* Example programs */ 16:07:37 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=41334&oldid=41333 * TomPN * (+95) /* Example programs */ 16:07:54 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=41335&oldid=41334 * TomPN * (-3) /* Example programs */ 16:08:04 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=41336&oldid=41335 * TomPN * (-187) /* Example programs */ 16:08:16 @metar LOWI 16:08:17 LOWI 041550Z VRB02KT 9999 FEW060 SCT090 BKN300 06/04 Q1012 NOSIG 16:13:05 what was the prefix for HackEgo again? 16:18:41 -!- nyuszika7h_ has joined. 16:18:57 -!- nortti_ has joined. 16:18:58 `help 16:18:58 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 16:19:14 meh I thought it was ' 16:19:28 'help 16:19:37 I tried it already (duh) 16:19:42 -!- KingOfKarlsruhe has quit (Ping timeout: 265 seconds). 16:19:45 -!- nyuszika7h has quit (Ping timeout: 265 seconds). 16:19:45 -!- fizzie has quit (Ping timeout: 265 seconds). 16:19:45 -!- nortti has quit (Ping timeout: 265 seconds). 16:19:56 * int-e says: help 16:20:00 -!- KingOfKarlsruhe has joined. 16:20:27 -!- nortti_ has changed nick to nortti. 16:21:06 `unidecode ;; 16:21:09 ​[U+037E GREEK QUESTION MARK] [U+003B SEMICOLON] 16:26:47 -!- fizzie has joined. 16:30:30 -!- adu has quit (Quit: adu). 16:33:59 -!- ZombieAlive has quit (Remote host closed the connection). 16:35:04 > 1 16:35:05 1 16:35:26 -!- lambdabot has quit (Remote host closed the connection). 16:36:44 (The provider just announced a reboot, so that's happening right now... they really need to improve their stability or I'll have to look for another one...) 16:39:41 -!- adu has joined. 16:48:21 -!- S1 has quit (Quit: S1). 16:51:38 okay, it's coming back. 16:52:44 -!- GeekDude has quit (Read error: Connection reset by peer). 16:52:58 -!- GeekDude has joined. 16:55:02 -!- lambdabot has joined. 16:55:25 @bot 16:55:33 :) 17:02:47 -!- Sprocklem has quit (Ping timeout: 250 seconds). 17:03:54 hehe, 26303 elo rating, quite impressive. http://2700chess.com/ 17:05:22 aww, it's fixed. 17:06:26 -!- zzo38 has joined. 17:16:28 -!- yaaryaan has quit (Quit: Lost terminal). 17:20:05 int-e: that's a good bot prefix ("^AACTION is", that is) 17:20:21 er, s/is/says: /2 17:20:25 FireFly: I propsed color codes as a bot prefix 17:20:39 Also a good idea 17:20:53 µ 17:20:54 ^O would be discrete 17:21:06 er, discreet maybe 17:21:15 subtle is probably a better word choice 17:22:14 -!- adu has quit (Quit: adu). 17:25:14 -!- nyuszika7h_ has changed nick to nyuszika7h. 17:27:57 -!- bb010g has quit (Quit: Connection closed for inactivity). 17:33:53 -!- Sprocklem has joined. 17:36:16 -!- adu has joined. 17:36:56 does anyone use zarfs IF viewer 17:37:43 http://www.eblong.com/zarf/xzip.html 17:37:48 i wanted to run it, but it wont work/ 17:40:45 I have written a Z-machine implementation, too, called ZORKMID 17:41:04 Which uses plain C so shouldn't need X or anything like that 17:41:16 -!- ZombieAlive has joined. 17:41:36 I was mostly interested in how he made a GUI in X, i want to make a GUI 17:41:57 Well, I don't know much about making anything in X 17:42:09 I also wondered how to compile inform to zcode, but it looks quite a lot of work so I probably wont look into that 17:42:48 zzo38, what about making an IRC channel through which people can play zork? (as a group) 17:44:13 I think ifMUD has something like that? 17:45:59 Note "ZORKMID" is short for "Zork Machine Interpreter and Debugger" 17:47:55 You can also learn how a Z-machine implementation is working by looking at its source-codes and you can do other thing if you want with it since it is in the public domain. 17:48:46 oh, so that's what zorkmid stands for! I knew it had to do with zork. 17:49:24 Well, this is only what my own program called "ZORKMID" stands for anyways. 17:49:33 oh... 17:49:34 um 17:49:49 zorkmid also means zork currency?? 17:49:56 Currently it is only an implementation of ZIP. Later I can make implementation of EZIP and called it EZORKMID. 17:50:36 cluid: Yes it is also that 17:51:43 do you have any tips if i find IF games very hard? 17:53:04 No, I don't have any myself, although you could look it up 18:15:58 -!- adu has quit (Quit: adu). 18:36:11 You should have named it GRUE 18:36:37 Well, ZORKMID is a good name too 18:37:02 -!- Sprocklem has quit (Ping timeout: 240 seconds). 18:39:42 Why do you want to call it GRUE? 18:41:47 Does it stand for anything? 18:41:56 it's just a creature 18:42:11 -!- oren has joined. 18:42:43 Yes I know 18:43:06 But I wanted to make the name short for "Zork Machine Interpreter and Debugger", that's why I didn't call it GRUE 18:43:55 a weak attempt: Game RUntime Environment 18:44:59 -!- MoALTz has joined. 18:45:03 my code isnt working :( 18:45:12 what code is it? 18:45:23 missile launch code? 18:46:04 its emitting c code, but it got interpreted wrong so the output is wrong 18:46:23 if(attack=TRUE)sub.launch("ICBM"); 18:47:13 Wrong, hmm. Did you rely on unspecified or undefined behaviour? 18:47:29 cluid: What code is that? 18:47:45 its my lisp code 18:47:54 i have been writing it a long time and its bad 18:48:03 lisp emitting C? cool! 18:48:40 (I wonder how C code can be interepreted wrong rather than being wrong in the first place. Okay, it could be a compiler bug...) 18:49:08 probaby he means the code the lisp is reading is being interpreted wrong. 18:49:23 Oh, the many meanings of "it". You could be right. 18:49:51 are you also probaby? 18:50:10 I read that as "probably" 18:50:26 i know, its what i meant originally 18:50:38 I mean, I didn't even see the typo. 18:51:01 Anyway, I'm neutral about babies. 18:55:13 well anyway i think languages should be designed so they are easy to parse. Lisp is a very good example. 18:55:59 so if you can't get a parser working, it's probably the language designer's fault 18:56:27 (assuming you are a competent programmer for most things) 18:56:42 I don't like Lisp's (lack of) syntax at all. 18:56:59 How about J? (also easy to parse) 18:57:50 what languages are your favorites? 18:58:53 oren: I disagree, a language should be easy for a human to parse. That generally means whitespace-sensitive. 18:59:07 Indentation-sensitive specifically. 18:59:33 if a language is indentation sensitive it should disallow the tab character 19:00:08 that would make it much easier to parse 19:00:12 That would actually be fine with me. 19:01:14 because if the only indent char is space, then it reduces to a simple count. 19:01:29 > filter isSpace [minBound .. maxBound] 19:01:30 "\t\n\v\f\r \160\5760\6158\8192\8193\8194\8195\8196\8197\8198\8199\8200\8201... 19:02:13 ok just disallow any whitespace other than \n and space 19:02:54 that would also allow code editor to use tab-completion 19:03:42 how do you even type a vertical tab or a form feed? 19:03:44 just make it like makefiles, only allow tabs 19:04:20 noo. tabs only in non-whitespace-sensitive languages! 19:04:47 when i see python first thing i do is change the tabs to spaces. 19:05:39 > isSpace ' ' 19:05:40 in C i change spaces to tabs 19:05:41 True 19:06:02 is that weird? 19:06:12 > length $ filter isSpace [minBound .. maxBound] 19:06:14 23 19:08:16 Hm, I wonder how GHC reacts to double-wide characters in places they would influence indentation … 19:08:39 -!- Frooxius has quit (Quit: *bubbles away*). 19:09:50 what like an ideographic space? 19:10:31 should disallow them but what do i know? 19:10:38 No, an ideographic identifier before a case or where or something. 19:10:44 oh.... 19:11:21 should be treated as 2 chars wide, that is standard in those languages. 19:12:05 oren: I happen to be quite attached to parsing numerical expressions with their usual precedences and evaluation order. 19:13:25 But at least it looks like J wouldn't make me (or my editor) count parentheses all the time. 19:14:42 i think if you need proper algebra it should be a sub-language in the same way as regexes 19:16:11 that way it does not overcomplicate the parser for the rest of the language. algebraic expressions can be treated as black boxes be the parser. 19:16:53 becuase most code is not overly mathematical 19:17:06 It appears GHC treats double-wide chars the same as single-wide chars. Meaning the indentation looks weird in the case I contrived. 19:21:18 oren: So I have two objections, I think. One is, now I have to rely on some third part (not the compiler, and not me) to give me useful syntax errors. That's the smaller concern. The bigger concern is that there will be a proliferation of slightly incompatible algebraic notations in the wild. How do you avoid that? 19:21:29 In any case you've merely shifted complexity. 19:24:31 programming languages already have a proliferation of incompatible algebraic notations. 19:24:45 that is what the algolsphere is 19:25:00 (I happen to be a fan of Haskell, a language that is quite difficult to parse. For the most part I actually like all the syntactic sugar.) 19:25:31 Melvar: I'm only using ASCII though ;-) 19:27:52 oren, i LIke simple syntax language like lisp and forth, infix operators are good to save on brackets though 19:28:01 consider 3^5. it is 6 under C derivatives, and 243 in other languages 19:28:33 oren: I know. I was talking about this kind of thing happening inside a single programming language. 19:28:48 I also am only using ASCII and as far as I am concerned non-ASCII characters should only be allowed inside of string literals and comments. 19:29:08 oh. yeah what you do is standardize it for each language, like PERL has its standard regexes 19:29:48 but the point is there would be a delimiter enclodsing "algebraic mode" from the rest of the language. 19:30:15 oren, Yes 19:30:19 I have a bunch of times used greek letters when the most fitting latin letters were already taken. 19:32:20 i think all letters that look different from others should be allowed. so τ would be allowed but not Ε. 19:33:22 or the program could be reduced to a "lookalike normal form" before being parsed 19:33:28 That’s probably harder to do than parse indentation-sensitive language. 19:33:46 [wiki] [[GridScript]] http://esolangs.org/w/index.php?diff=41337&oldid=41291 * SuperJedi224 * (+0) /* Command Summary */ 19:33:54 yeah best to just select which chars look different enough 19:33:55 I finally got my code to work 19:34:02 it was a really horrible experience 19:34:28 I meant, selecting and enumerating which letters are allowed or not is harder than etc. 19:36:15 why? you only do it once, and then just keep a list and use the unicode equivalent of strpbrk 19:36:52 wcspbrk? 19:37:02 and that would happen in the lexer not the parser anyway 19:37:16 oren, how is scrip7 going 19:37:39 i am still creating a better notation for hexes. 19:37:43 cool 19:37:48 oren: Also, the doing it once was the thing I meant. 19:39:11 oh, i think it is that hard, so long as you are limiting to chars used in math 19:40:17 just the latin greek and hebrew alphabets 19:40:31 -!- Sprocklem has joined. 19:41:27 i also have to work on school stuff still so i don't expect to be done for a while 19:43:12 Obfuscation exercise: use unicode bidi to write a program that looks like it does something different. 19:44:48 i guess if you can reverse division... 19:45:13 > let foo = א"ב" where א = id; ב = id in foo 19:45:15 "\1489" 19:45:29 > var $ let foo = א"ב" where א = id; ב = id in foo 19:45:30 ב 19:45:40 spec obfuscation exercise: extend the bidi algorithm to be turing complete without anyone noticing 19:46:44 If bidi is working, the the א"ב will be shown RTL, so it looks like the א is inside the quotes. 19:47:21 my font shows hebrew in data order 19:47:59 or maybe it's the terminal's fault 19:48:03 It’s independent of your font, only dependent on the program doing the text rendering. 19:48:20 i am using irssi in xfce4-terminal 19:48:31 Not many terminals do this, the only one I’ve heard of is iTerm I think. 19:48:58 Certainly my terminals show them in data order. 19:50:01 php has a function for converting hebrew 19:50:25 because it was invented in israel 19:51:12 “converting”? 19:51:39 hebrev : converts logical heberw text to visual 19:51:57 … that’s horrible. 19:52:23 is there a way to tel the c compiler to figure out function prototypes instead of assuming everything is returning int? 19:52:31 no. 19:52:46 you need to declare everything 19:53:04 at the top of the page 19:53:11 like a book report 19:53:34 the problem is i cant be bothered adding code to do it 19:54:52 if you use my style you can simply copy the first line of the definition, with { changed to ; 19:55:10 to the top of the file 19:55:59 i have code that does this 19:56:15 i just hoped i could get it without having to add a flag to run with that option 19:56:41 huh??? 19:58:28 im lazy 19:58:50 why would you need a flag? it should always declare all functions 19:59:56 good idea 20:00:27 declare allthethings.jpg 20:02:09 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds). 20:05:12 -!- Patashu has joined. 20:10:17 Intercal suggests comefrom could be used for concurrency, but that's true for goto as well 20:10:24 There is a 1 to 1 mapping between comefrom and goto 20:11:04 Yes, although with computed comefrom it becomes a bit different 20:11:09 i have used gcc's computed gotos for coroutines before 20:11:33 Computed comefrom would be interesting 20:16:12 Some implementations of INTERCAL have it. 20:16:30 hmm you could generalize to a TOFROM statement that links two arbitrary lines 20:16:53 50 TOFROM 170 456 20:17:14 makes program code go from 170 to line 456 20:17:47 51 TOFROM 170 123 20:17:56 should it choose randomly? 20:18:06 or maybe hey overwrite 20:18:23 Fork. 20:18:31 YES 20:18:59 -!- MoALTz has quit (Quit: Leaving). 20:19:15 -!- Sprocklem has quit (Ping timeout: 272 seconds). 20:20:44 -!- cluid has quit (Quit: Leaving). 20:20:59 computed TOFROM 20:22:55 oh, nice 20:23:13 cluid: it should fork, like that intercal extension 20:24:59 for thorough unreadability combine with COBOL copybook like things 20:25:18 omg why didn't i know the flip-flop operator in ruby? 20:27:35 because it isn't in any other languge afaik 20:27:52 -!- Patashu has quit (Ping timeout: 252 seconds). 20:28:14 Perl's got a flip-flop operator. 20:28:21 I don't know/remember how similar it is with Ruby's. 20:28:22 http://juliansimioni.com/blog/2014/12/03/deconstructing-fizz-buzz-with-flip-flops-in-ruby/ 20:28:31 not sure if genius or crazy 20:29:40 oh it is in PERL. i hve never used it though 20:31:05 I like putting langugae names in all caps. i am writing a thing for school in MATLAB and PYTHON 20:31:18 i like J 20:31:28 like i'm shouting the name of the language 20:31:31 or APL or INTERCAL 20:32:32 or RUBY or PHP or OBJECTIVE C 20:32:43 C PLUS PLUS!!!!! 20:35:21 Is there any esolang that actually has procedure calls? 20:36:20 What defines a procedure call? 20:37:31 s7 can have them if you code it directly. you can jump anywhere 20:38:04 INTERCAL has NEXT which can be used for procedure calls; some implementations also have lectures which is another kind of procedure calls 20:38:08 by assigning to the program counter 20:38:51 Rail is very procedural, at least for some definitions of. 20:39:09 Like, with parameters and stuff 20:39:45 INTERCAL can also use stashed variables so that you can do something like local variables, and also enslaving variables. 20:40:28 procedures are a very traditional, un esoteric thing. 20:41:05 I think abstractions in general are a very traditional, un-esoteric thing 20:41:05 Well, Rail doesn't do "parameters and stuff" very explicitly, since it's stack-based, but still. 20:41:12 exaclty 20:41:21 Glass has methods and all. 20:41:37 (I have to write an essay on the difference between call-by-value and call-by-reference and one of my friends dared me to work an esolang in) 20:41:54 Taneb: maybe object disoriented 20:42:41 maybe MUMPS? 20:44:23 -!- dario_ has joined. 20:44:33 -!- dario_ has left. 20:46:03 -!- S1 has joined. 20:46:12 I'm not sure if that counts as an esolang 20:47:49 -!- nys has joined. 20:51:56 Funciton has functions that are... hm. I think they're maybe call-by-value, more or less. Maybe it's not the clearest example. I'm not so clear on the evaluation rules of it. 20:53:35 It's not like you could "assign" anything, you just connect the wires. 21:03:27 LOLCODE is call-by-value, and often considered an esolang, but it's quite boring, and you probably shouldn't promote it. 21:03:40 indeed 21:03:49 it's fun to read a feature or two 21:04:00 after that it becomes quite boring 21:05:32 ruby vs C 21:05:39 which is more confusing 21:05:49 C 21:06:05 using ^ for xor or using .. as a conditional 21:06:25 what's the deal of using ^ for xor? 21:07:21 yeah that is one part where scrip7 differs from C. i hate that operator... i used \ but i may change it to something else 21:08:34 \ doesn't sound anything more logical than ^ to me 21:09:13 well \ was only in ascii so you could make logical operators by doing /\ and \/ 21:09:17 -!- adu has joined. 21:10:02 hmm maybe xor should be x 21:11:33 -!- adu has quit (Client Quit). 21:11:52 what is the best notation for xor? 21:13:48 oh what about (+)? 21:14:14 juxtaposition 21:14:17 like I(+)0xf0f0 21:14:37 horrible idea if you use () somewhere else 21:14:49 (a + b)(+)(c + d) 21:14:53 If you mean ⊕ you should say ⊕. 21:15:00 (+) looks like non-infix + 21:15:07 J just has -: inequality act as xor 21:15:15 er 21:15:17 ~: I mean 21:15:37 there is no parse tree in this language. all statements are of the form var operator (var or literal) 21:15:49 and there are exactly 8 vars 21:16:03 If you actually do have \/ and /\ as operators, clearly the only choice is to use _\/_ then. 21:16:42 I don't and anyway \ is a yen sign in my font. 21:17:19 i am using c operators except ^ which is pow 21:18:02 so i need a different symbol for xor 21:19:13 hmm " ' \ ? @ ` and many letters are not taken 21:19:31 'x'? 21:19:46 yeah that sounds good, i'll use x 21:19:59 so, ixi zeroes i 21:20:31 What are those eight variables called? 21:20:49 their notation differs according to type. 21:22:15 there is a table in the article. essentially, when variable 0 points to a char it is a, short A, int i, int64 I, pointer p, float u, double U and the variable's address is P 21:23:22 and this continues for six letters, and then the instuction pointer is g/G and the return pointer is h/H 21:25:14 so if P points to a struct{double x,y;int type;} then you can write its members like this: U:4.5 U:3.5 i:3 21:25:59 the : operator writes the current object and moves to the next 21:27:49 oren: variables can't be named ixi then? 21:28:18 there are 8 variables each with 8 or 2 names, each name 1 char 21:28:28 okay 21:29:22 ixi unabigiously means *(int32_t*)(var[0])^=*(int32_t*)(var[0]); 21:31:27 -!- AnotherTest has joined. 21:31:37 when i am finished the new version, all shall be made clear 22:01:34 -!- AnotherTest has quit (Remote host closed the connection). 22:20:30 yes... i will make everyhting biguous. 22:22:08 are base 64 literals a good idea 22:22:10 ? 22:23:39 for binary data strings that is 22:27:18 -!- oren has quit (Quit: leaving). 22:44:35 -!- dianne has quit (Quit: byeannes). 22:45:33 -!- dianne has joined. 23:06:15 My screen sometimes gets this bad: http://i.imgur.com/Pumu3c2.png 23:06:21 Depends on how it's tilted 23:06:21 -!- augur has quit (Quit: Leaving...). 23:10:08 [wiki] [[Tag]] http://esolangs.org/w/index.php?diff=41338&oldid=41326 * BCompton * (+428) /* Sample programs */ 23:10:32 -!- FreeFull has quit (Ping timeout: 244 seconds). 23:16:00 -!- Phantom_Hoover has joined. 23:17:07 -!- oren has joined. 23:18:44 how does a screen get that bad? 23:18:55 -!- dts|pokeball has quit (Ping timeout: 258 seconds). 23:27:42 what the heck is up with MATLAB's keyborad shortcuts? 23:27:47 -!- FreeFull has joined. 23:28:35 why does MATLAB use all these crazy letters instead of CTRL-C and CTRL-V? 23:52:42 -!- `^_^v has quit (Ping timeout: 244 seconds). 23:57:44 -!- adu has joined. 23:59:50 oren: I don't know 2014-12-05: 00:00:00 I'm assuming something's becoming unplugged 00:00:18 So going to open up computer 00:01:12 Sgeo: how are you talking then? 00:01:40 Becoming. Not completely. And screen isn't always that bad depending on how it's tilted 00:01:49 Although it's been getting worse 00:02:18 lol 00:02:30 -!- FreeFull has quit. 00:04:59 -!- FreeFull has joined. 00:05:52 -!- FreeFull has quit (Client Quit). 00:06:08 -!- mihow has quit (Quit: mihow). 00:06:17 -!- FreeFull has joined. 00:11:31 -!- Sprocklem has joined. 00:15:25 -!- S1 has quit (Quit: S1). 00:52:16 -!- puppy has joined. 00:53:29 -!- nys has quit (Ping timeout: 272 seconds). 00:53:52 -!- puppy has changed nick to nys. 00:54:51 -!- idris-bot has quit (Quit: Terminated). 00:55:46 -!- idris-bot has joined. 01:02:02 -!- CrazyM4n has joined. 01:46:58 are base64 literals a good idea? 01:48:37 base64 literals in *what*? 01:49:29 oren, no. base63 is better 02:01:18 base64 literal integers 02:02:11 hmm i'm gonna put them in anyway 02:05:26 Easy to implement in C++! 02:10:02 -!- Bicyclidine has joined. 02:33:06 I personally enjoy base 62 02:33:45 base62 does have advantage of not requiring 2 extra characters 02:35:22 but with the version of base64 i'm using, 63 is =_= 02:36:12 Why not be original? Why not base 79? 02:36:20 not a power of 2 02:36:34 You're going to let society tell you that you shouldn't use base 79? 02:36:38 i will support also base 60 02:36:39 And that 64 is better? 02:36:58 Society doesn't know what they are talking about. Spit in the face of society and use base 79 02:36:59 in form :12:30: 02:37:37 bases for integers: 10, 16, 60, 64, 256 02:38:18 That's what they try to tell you 02:39:12 hmm... actually maybe i should just do BNN,NNNNNN 02:39:21 where the first NN is the base 02:40:59 -!- Bicyclidine has left. 02:42:43 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 02:53:29 -!- oren has quit (Quit: Lost terminal). 03:26:34 -!- oren has joined. 03:37:36 they said dlls were hell. whoever they were, they never had to deal with these stupid .mex files. 03:44:47 -!- heroux has quit (Ping timeout: 264 seconds). 03:45:00 -!- heroux has joined. 03:45:58 no base32? base8? base2? 03:48:12 What are these stupid .mex files? 03:48:43 Mexican files, of course 03:54:22 .mex files are executables written in c++ that hook into matlab 03:54:34 [wiki] [[K-on Fuck]] N http://esolangs.org/w/index.php?oldid=41339 * 50.53.30.212 * (+470) Created page with "K-on Fuck (けいおんfuck) is an esoteric programming language believed to be created by Yuichi Nishiwaki. It is a programming language where all input is done via the japa..." 03:55:20 ew 03:55:31 [wiki] [[K-on Fuck]] http://esolangs.org/w/index.php?diff=41340&oldid=41339 * 50.53.30.212 * (+4) 03:55:42 K-on! iei! 03:55:56 i like that show 03:56:03 [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=41341&oldid=41287 * 50.53.30.212 * (+16) 03:57:34 and someone from oregon added it to the wiki 03:59:17 the name of that esolang is extremely ungooglable 03:59:36 that's the point 04:00:36 looks like we have our new featured language 04:01:44 Gotta rename it to K-On! Fuck! 04:02:49 the problem is there are many things on the internet with that name, most of which are illegal in my country 04:04:24 Heh 04:05:20 -!- nys has quit (Quit: sleep). 04:13:23 japanese people all know what the word 'fuck' means... this guy is definitely trolling everyone. 04:14:43 Japan is a country composed of trolls and Samsung 04:15:38 -!- Frooxius has joined. 04:17:55 you realise brainfuck also means, like, fucking brains, right 04:19:04 CrazyM4n: Somehow I don't think Japan has anyone from Samsung. 04:19:08 Samsung is Korea, dude. 04:19:21 like 20% of korea's economy anyway 04:19:39 uh 04:19:41 yeah 04:19:45 And yes, pretty much anyone from Japan and in particular anyone in Japan who watches anime would know what "fuck" means. 04:19:50 the samsung playstation 4 is made in taiwan 04:20:30 If nothing else they know it from South Park. 04:20:41 ankuru fakka 04:22:58 (for god knows what reason, South Park is moderately successful in Japan) 04:24:49 in Japanese? 04:25:20 Yes. 04:25:36 -!- CakeMeat has joined. 04:25:52 Were you talking about how weird English is 04:26:02 No. 04:26:19 nah we were talking about how japan is full of toolls 04:26:23 *trolls 04:26:36 As is all of the world? 04:26:39 Oh, Japan 04:26:44 I'd love to go there though 04:26:51 -!- ZombieAlive has quit (Remote host closed the connection). 04:26:54 and in particular one troll wrote an esolang called 'K-on fuck' 04:27:04 which is of course ungooglable 04:27:14 Explain? 04:27:18 Whats it do 04:27:36 well if you google it you get lots of japanese child porn 04:27:55 ... 04:27:59 Well then 04:28:02 Understandable 04:28:07 because K-on is the name of a manga featuing little girls 04:28:12 Use deep web 04:28:15 -!- ZombieAlive has joined. 04:28:26 Marketable assasination league 04:28:29 that will make the problem worse undoubtably 04:28:33 I think we're changing the topic now 04:28:38 ok 04:28:40 Ok 04:28:45 hehheheh 04:28:52 Assasination 04:29:03 buttbuttination 04:29:15 Thats not what i was refering to 04:29:33 I was refering to i can hire assasins 04:29:53 Just search it on paheal or something 04:29:59 assassin comes from the same root as hashish 04:30:02 That should get you the esoteric language 04:30:13 oh god no 04:30:18 don't 04:30:46 despite knowing japanese and having been to japan i have a low tolerance for their shit 04:30:48 use x0r 04:31:09 "Japan, I've had enough. This is too far. I've had too much of this shit." 04:31:38 speaking of low tolerance 04:31:39 Japan pumps out alot of scandolous manga 04:31:41 It is fair. Some aspects of their society are pretty fucked up. 04:31:53 CakeMeat: Well no shit, Japan has a lot of manga of every sort. 04:31:53 Sorry elliott 04:32:00 it's okay I'm blaming everyone else too 04:32:04 Lets stop guys 04:32:45 On an unrelated note, I'm in like 5 channels and only one of them has had nobody talking in it. 04:33:02 ok. new topic: why does matlab use such screwed up keyborad shortcuts? 04:33:07 The only thing there is: http://i.imgur.com/tzZep0I.png 04:33:20 i am not clicking on that 04:33:23 ever 04:33:29 That screen shot tho 04:33:43 It's a screenshot of the only activity in #perl over the course of about 6 hours 04:33:57 it's "ok... on" 04:34:18 Because oren they are just saying Fuck you silently 04:34:46 fine i wgot it and it is safe 04:35:33 wget is a germanic strong verb wget, wgot, wgotten 04:35:42 Off topic 04:35:49 BEEP BEEP 04:36:20 Anyways¿ why are there so many alters of bf 04:36:23 perl has latin. does any language use ablaut? 04:36:31 "¿" 04:36:39 How do you accidentally hit that key 04:36:49 im on that page 04:36:52 Did you put that key on your keyboard layout for the sole purpose of accidentally hitting it 04:36:52 ¿¡ 04:37:10 I think his keyborad is spanish 04:37:25 Re assigning keyboards to show alt symbols along the num pad 04:37:45 mine is, too 04:37:55 ¿¡ ®© ° § 04:38:00 TBH I don't even know how to get to ¿ 04:38:06 but I can do this áéíóú 04:38:10 Alt+21 04:38:19 Wait 04:38:25 Alt+2216 04:38:42 If only alt codes worked in ubuntu 04:38:50 Pfft 04:38:53 Ubuntu 04:39:02 I have RFC1345 on my layout 04:39:06 hold on 04:39:16 Painted green keys 04:39:57 I got everything I need 04:40:21 I got haskell, python, ruby, simplefunge, and league of legends, 04:40:30 All on ubuntu 04:40:42 What do you use ruby 04:40:51 For? 04:40:59 ¿ 04:41:03 ¿? 04:41:11 §_§ 04:41:16 I use it for things 04:41:17 I type & 04:41:24 Like?¡ 04:41:26 Where I want to make the code look good 04:41:48 So a code to make your slop look spiffy 04:42:22 https://gist.github.com/CrazyM4n All of my actually ok code is here 04:42:23 Note: no ruby 04:42:34 ruby is annoying... we did not need a python with {} 04:42:41 JK there's 1 ruby script 04:42:54 Maybe we just didn't need ruby with " " 04:42:57 -!- Frooxius has quit (Quit: *bubbles away*). 04:43:16 Haskell, Python , javascript++ , C , Simplefunge. Are all i need 04:43:30 ruby barely uses {}.... 04:43:41 s/\.$// 04:43:44 also it predates Python, IIRC 04:43:56 Yes but 04:44:03 Its very easy 04:44:06 CakeMeat: Are you being seirous about Simplefunge because if it's caught on in the time that I've been away from esoteric languages 04:44:12 I'd be pretty hyped 04:44:14 okay, no, Python is older. but still 04:44:19 Ruby is as old as me. 04:44:27 Youngin' 04:44:44 -!- Frooxius has joined. 04:45:38 also Ruby was popular in Japan way before it caught on elsewhere, IIRC 04:45:54 Ruby on rails 04:46:13 Also no ones made a ruby alter called emerald yet and im sad 04:46:27 maybe Ishould make sapphire 04:46:30 There's gem 04:46:32 nintendo did 04:47:08 it would be different from ruby in only 4 ways 04:47:33 What if it had all the syntax 04:47:37 but enough to make almost all programs in either one incompatible 04:48:20 Makes most useful program.. Its incompatible with everything 04:48:27 actually that is an interesting category: a language minimally different from a mainstream one, but enough to make porting a huge hardship 04:48:43 the struggle is real 04:49:28 ? ¿ 04:49:48 `icode ¿ 04:50:02 So 04:50:10 Python 2 and Python 3 04:50:10 ​[U+00BF INVERTED QUESTION MARK] [U+0020 SPACE] 04:50:18 exactly. 04:50:20 So laggy? 04:50:54 Man, the Python community was so much more fun when I was younger. XD 04:50:58 is it my fault? my conn is also running matlab through ssh -X 04:50:59 Python 2 will be in my heard forever 04:51:18 Every one i know hates python 04:51:45 I love python and hate the developers 04:52:04 Python was my escape from BASIC. In the end though, it just wound up being my gateway drug to Lisp. 04:52:16 The only thing I don't like about python is everything 04:52:17 Fancy 04:52:18 Except using it 04:52:28 Python to many rules 04:52:38 Imo 04:52:40 also whytf did they make perl 6? 04:52:47 noone uses it 04:53:17 Tried to necro perl 04:53:21 whereas perl 5 is still huge 04:53:22 They didn't realize ruby replaced it 04:53:39 no it didn't, PHP replaced it 04:54:08 CGI sh -> perl -> PHP -> ??? 04:54:26 Node.js 04:54:32 Or, any similar thing 04:54:37 Python, probably 04:54:38 Nooo! js 04:54:43 heh 04:54:55 Ruby was meant as perl's successor of sorts 04:55:17 Node.js is popular with chat bots that arent on irc 04:55:22 but perl had to be replaced with somthing just as fucked up and inconsistent 04:55:35 not something clean 04:55:59 So ruby 04:56:10 I give it crap because I love it 04:56:26 I think ruby is much cleaner than PHP 04:56:44 But perl and PHP weren't really meant for the same thing 04:57:09 Never learned Ruby. If I was still considering an RPG Maker project I'd consider it, but Lua is more widely used for game scripting. 04:57:29 Lua 04:57:31 Roblox 04:57:34 Please 04:58:06 Lua is good for powder particle based games 04:58:07 Oh the days of being 12 and playing Roblox every day 04:58:31 I like the looks of Lua; it's like 90% just another Python but with a hint more Lisp. 04:58:38 Heh, I hate it 04:58:52 I tried making things in a certain powdery simulation with it 04:58:56 But I couldn't deal with it 04:59:12 Powder toy? 04:59:23 Also java is more game maker material 04:59:23 Yeah 04:59:43 J_Arcane: and one-based indexing @_@ 04:59:45 bah... for real games just use BASIC 04:59:46 That was what you were referring to also? 04:59:48 Really though, I just didn't see the point learning another slowass scripting language when even the slowest Lisp was faster. 05:00:29 (of course, Lisp skills also won't get me a job ...) 05:00:55 bah... i got a job by promising to read up on PHP 05:01:08 for a week 05:01:13 Hah hah. 05:01:14 Just turned Friday 05:01:43 oren: Yeah. I am not surprised. 05:02:04 the job market for programmers is still obscene 05:02:27 (at least by other professions' standards) 05:02:33 Governments love programmers though 05:02:41 It just turned friday? 05:02:47 For me 05:02:47 More like it just turned 10 05:02:50 in my time zon 05:02:51 Part of me gets super psyched out of actually applying for programming work because I feel like I don't have much skills yet, but then people tell me stories about whole workplaces that have to be reminded to only push executables that actually, like, execute, and I don't feel as self-concious. 05:03:14 Then I go read about continuations or something and start considering a CS degree again ... 05:03:29 Why not do it? 05:03:39 money. 05:03:45 Its your dream carrie it out 05:04:00 school's free here in Finland, but the student benefit is crap, and I have a wife. 05:04:09 Finland is cool. 05:04:11 I am at the final stretch of my CS degree... I have learned a lot, but there is still lots that I need to learn 05:04:11 Finland?! 05:04:14 Lucky 05:04:30 Yup. 05:04:33 * J_Arcane is expat 05:04:35 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 05:05:34 really the more i know the more i realize that there is so much we don't know 05:05:36 whoa, http://golf.shinh.org/reveal.rb?different+letters+parity/kaki_1416990781&rb 05:06:06 What is that 05:06:10 What is it supposed to be? 05:06:19 I didn't know about Fixnum#[] 05:06:26 Nor did I 05:06:50 Huh... 05:06:54 Wow, that's awesome 05:06:55 one of my lecturers began a lecture with "this is what is true about image processing as of last week" 05:07:13 we are in such a new field 05:08:00 Did you see how google just managed to make an accurate, plain english image recognition engine? 05:08:12 That crap is so futuristic 05:08:26 oren: I just really hope the sudden popularity of FP doesn't prove to be a bubble by the time I get out into the work place. XD 05:08:58 But then I remember that like 75% of the US financial sector is still writing COBOL and I get depressed ... 05:09:19 COBOL is better than PHP IMO 05:09:31 :D 05:09:57 I was reading an article about inhouse programming languages last night and learned about Hack. 05:10:05 Facebook made a typed PHP ... wot. 05:10:29 that is excellent, solves one of the problems with php 05:10:34 next compile it 05:10:39 I can't deal with PHP 05:10:42 What? 05:10:58 facebook *do* compile it. 05:11:04 why the hell do they want to parse and interpret each php file on each request 05:11:05 http://php.net/mysql_real_escape_string 05:11:12 http://hhvm.com/ 05:11:18 they have for years 05:11:33 excellent 05:11:37 Such amaze 05:11:40 It's kinda amazing the amount of effort they've put into a frankly terrible platform. 05:12:10 they probably have 10M+SLOC 05:12:16 so locked in 05:14:03 SLOC = source lines of code, as opposed to what, preprocessed? 05:15:51 As opposed to the 5 or so lines of bytecode 05:16:08 Apparently house-developed programming languages and even just what programming language you use is becoming a big "thing" in competitive terms. 05:16:31 Like, it's not uncommon anymore for companies to literally not talk about or even NDA what languages they even use. 05:16:58 Kinda easy to figure out what fb uses 05:16:59 How absurd. 05:17:00 There's a bunch of companies that use Racket, but almost none of them talk about it publicly at all. They treat it like some kind of secret weapon. 05:17:30 Amaze secret racket 05:18:05 that is ridicueux. 05:18:35 I have a friend who works at a shop with their own hideous in-house XML scripting language, and he is literally not even supposed to talk about it, they act like it's some massive trade secret that they hacked ugly control loops into x-expressions. 05:19:08 Is it that bad? 05:19:09 gah. they keep it a secret so that programmers don't run from them like the plague 05:19:36 who the hell wants to write x-expressions? 05:19:50 oren: He's been there like three months, and they're paying him over €3k a month, and he's still looking for another job. So maybe you're right. ;) 05:20:02 They're going to have to kill him 05:20:11 To keep the trade secret 05:21:40 i am liking these transparent terminal windows btw 05:21:52 i just found otu about them today 05:22:02 Can you show? 05:22:08 sure 05:22:52 are we showing off terminals? http://i.imgur.com/rdDZJap.png 05:23:13 `slist 05:23:15 slist: Taneb atriq Ngevd Fiora Sgeo ThatOtherPerson alot 05:23:44 Is that a tree? 05:24:59 Ç-Ç 05:25:01 http://ctrlv.in/469610 05:25:53 What WM is that? 05:26:01 XFCE? 05:26:34 Sees oren doing stufg in background. 05:26:47 XFCɛ4 05:26:47 Also nice. 05:27:11 ...how did you correctly guess xfce4. 05:27:22 there's no window decorations or anything. 05:28:22 Magic 05:29:01 the tiny mouse on the menu button in the top left 05:29:46 oh, wtf? 05:29:46 or maybe the window decorations on the remote X matlab window 05:29:51 that crappy site cut off the top of the image 05:31:08 The tiny mouse at the top 05:31:17 i like the way the title on each ncurses app works like a title for the terminal window 05:32:26 Cool 05:32:54 -!- diginet has quit (Ping timeout: 250 seconds). 05:33:56 "\x1b]2;" + title + "\x9c" 05:34:32 i don't have window decorations on my terminals 05:34:44 there is no need for them 05:35:49 -!- diginet has joined. 05:40:08 btw CrazyM4n i like the tree. is that a 3d model of some sort 05:41:34 i have another 300 images to run the face detector over 05:41:55 another all nighter 05:42:00 -!- adu has quit (Quit: adu). 05:42:58 -!- adu has joined. 05:43:24 Yeah 05:43:32 I posted it on /r/low_poly a long time ago 05:43:34 Want it? 05:43:52 Thanks btw 05:44:47 i dunno how to use polygons. i am taking the graphics course next semester. i am only taking the image processing course this term 05:45:28 fuck why does my arm hurt when i get the flu shot 05:46:37 That sucks 05:46:41 I just meant do you want the image 05:46:51 oh. sure why not 05:47:17 http://i.imgur.com/53qGNGe.jpg 05:48:04 wgot it 05:48:57 ~250 images left... god why is this thing so slow 05:50:15 after this i have to train a thing to recognize male and female faces 05:50:31 and classify them 05:51:08 (that is the faces in the images i just located faces in) 05:51:32 Heh 05:51:37 OpenCL to the rescue? 05:53:02 i am already using a multithreaded library with SSE and stuff... this thing is slow despite it 05:53:34 stupid MEX file was hard to compile too 05:54:40 i wonder if resizing the jpegs would help. 05:59:21 -!- oren has quit (Quit: midnight snack). 06:03:09 -!- augur has joined. 06:08:12 if oren comes back tell him I left 06:08:38 -!- CrazyM4n has quit (Quit: {}+[]). 06:16:38 -!- adu has quit (Quit: adu). 06:22:00 -!- oren has joined. 06:22:59 -!- cluid has joined. 06:23:15 hi cluid 06:23:18 hello 06:23:52 * oren is eating delicious beef jerky 06:25:10 so did you get your compiler to work? 06:30:55 no 06:31:26 i have to do some debugging 06:31:31 but it dont want to 06:31:38 I added that thing you recommended about the prototypes though 06:38:02 -!- drdanmaku has quit (Quit: ,). 06:41:23 debugging is like the flu shot. it hurts, but you'll be glad later 06:42:12 so is refactoring. these are the boring bits between the 'battles' 06:46:14 I'd say flu shots are closer to refactoring than debugging. With both, you only notice how bad it is when you don't do it, not how good it is when you do it 06:47:50 mhm and i just wasted an hour on one stpid little bug 06:48:29 I wish I could link the chart I just saw. I'm proud of it 06:51:24 what was it a chart of? 07:02:27 whats up 07:03:57 https://gist.github.com/wasabili/737881 07:04:30 echo "++++[>++<-].." | driver/brainfuck 07:06:33 https://gist.github.com/wasabili/562178 translation from kon fuck to branfuck 07:35:32 Aw, /proc//cmdline shows "only" the first 4096 bytes of the command line. 07:37:12 interesting 07:44:11 -!- shikhin has joined. 07:44:19 -!- Patashu has joined. 08:04:49 -!- CakeMeat has quit (Quit: Connection closed for inactivity). 08:05:18 I was thinking it was some ps limitation that even with 'ww' it's not quite unlimited, but apparently not. 08:05:56 its probably the linux kernel? 08:06:00 that woudl be my guess where to look first 08:07:47 fizzie: you're reading it wrong. this is not a limitation, it's the exact opposite. the kernel lets you exec processes with very long command lines, but it won't try to store a pristine copy of that long command line for debug purposes, for that would be a pointless memory leak. 08:08:16 the kernel could be evil enough like old unixen to restrict your command line length to 4k too, but it's kind enough not to do that. 08:09:38 the process you start can overwrite the passed command line, and if it's really huge, it could even munmap it in theory (it can't do that for short command lines in normal programs because it's on the same page as the starting stack and the very important elf stack header containing the sysconf data. 08:09:47 b_jonas: But it's not a copy. 08:10:03 um, not sysconf. whatever that magical data is that's stored there. 08:10:05 At least I don't think it is. 08:10:26 fizzie: how could it be not a copy? the process you start is free to overwrite that data. 08:10:43 Yes, and I think that will be reflected in proc. 08:10:57 no, I think there's some system call that lets the process overwrite what's displayed in proc 08:10:58 proc_pid_cmdline: struct mm_struct *mm = get_task_mm(task); len = mm->arg_end - mm->arg_start; if (len > PAGE_SIZE) len = PAGE_SIZE; res = access_process_vm(task, mm->arg_start, buffer, len, 0); 08:11:20 Okay, possibly it's a separate thing. 08:11:27 what? 08:11:35 Because there's a comment that makes reference to setproctitle. 08:11:40 don't forget that ps can display two or three different commandline-like things 08:11:52 also that all this depends a lot on your flavor of unix 08:11:55 But still, that if (len > PAGE_SIZE) len = PAGE_SIZE; makes it look like an arbitrary limit. 08:12:59 page_size's arent arbitrary, assuming that that means a memory page like in my OS course. it's a property of the mmu. 08:13:28 "arbitrary" in the sense that it could read the whole thing from mm->arg_start to mm->arg_end. 08:13:41 http://sprunge.us/PCPR is the entire thing, for the record. 08:17:08 wow that is arbitrary. but maybe some limitation is necessary to stop some exploit? 08:20:07 why does the linux kernel use goto? 08:20:24 because gotos are good. 08:20:37 gotos are very clear when used well 08:21:21 especially if the labels are named descriptively 08:22:13 Gotos are good for matching resource allocation with cleanup. 08:22:45 http://lpaste.net/115710 08:22:50 -!- adu has joined. 08:23:14 and they are not confusing. go to here, go to there, it could not be clearer 08:23:39 with your code you have to count }s 08:23:49 pro-goto reactionaries are so last century :p 08:23:55 (you need goto in C though because it sucks too much) 08:23:58 oren: "The answer to that is that if you need more than 3 levels of indentation, you're screwed anyway, and should fix your program." -- kernel style guide. 08:24:04 Er, that was to cluid. 08:24:28 right, i'm arguing in favor of goto (but only in C) 08:24:35 idea; amend c with some kind of exception handling mechanism 08:24:51 setjmp longjmp 08:24:54 lol 08:24:57 not like that! 08:24:57 it already has one 08:24:59 i mean something really simple 08:25:03 that desugars into goto 08:25:13 * Sgeo alters oren 08:25:18 something that is block structured 08:25:31 block structure is confusing 08:25:55 ALTER OREN TO PROCEED TO COBOL 08:26:28 wait is that a TOFROM statement like i suggested earlier today? 08:26:36 COBOL has one? 08:26:36 cluid: compare that to the current version, https://github.com/torvalds/linux/blob/master/fs/proc/base.c#L199-L209 08:27:20 oren: I didn't see your TOFROM statement 08:27:27 int-e: I was looking at an old copy since that's what I had around. 08:27:39 https://github.com/torvalds/linux/blob/0cf744bc7ae8e0072159a901f6e1a159bbc30ffa/mm/util.c#L364 08:27:41 so they moved the code here 08:29:16 http://home.ccil.org/~cowan/cobol-horrors.html 08:29:57 earlier today (well, yesterday) i suggested you could have a statement that connects any two lines so control would flow from one to the other 08:30:33 @oren, 08:30:33 Unknown command, try @list 08:30:38 nondeterministic finite automata 08:30:40 -!- FreeFull has quit. 08:30:57 http://en.wikipedia.org/wiki/Nondeterministic_finite_automaton#mediaviewer/File:NFASimpleExample.svg 08:31:38 oren: there needs to be a GOTO statement to alter 08:31:55 oh, so it is a limited TOFROM 08:32:04 aaaah beautiful switch statement... https://github.com/torvalds/linux/blob/master/fs/afs/fsclient.c#L1488 08:32:50 Also not sure if you can actually compute 08:33:16 http://computer-programming-forum.com/48-cobol/b7aab4801e867645.htm 08:33:16 int-e, that line 1557 looks very confusing 08:33:33 oh actually its ok 08:33:39 I didn't realiez they incremented twice 08:34:21 C needs a goto case [n] statment. would make that line clearer 08:34:39 Well, or with Cobol's ALTER to cause it to alter the program to connect two lines of control. 08:34:49 what about continue; ? 08:34:52 oren: Yes, that is also something I have wanted to look at too 08:35:24 Also, C doesn't have \& like Haskell but I can just use "" instead it works OK 08:36:56 what does \& do in haskell? 08:38:42 It's an escape sequence that turns into nothing. 08:39:57 ummm why would you need such thing? 08:40:25 > ("\1234","\12\&34") 08:40:26 ("\1234","\f34") 08:40:50 Well, that wasn't so effective. But anyway \ followed by any number of digits is a single character. 08:41:21 > let { x = "abc\ &def" } in (x, length x) 08:41:22 :1:49: 08:41:22 lexical error in string/character literal at character '&' 08:41:44 > let { x = "abc\ \def" } in (x, length x) 08:41:45 ("abcdef",6) 08:41:53 uh 08:42:04 strange syntax 08:42:19 no stranger than perl tho 08:42:27 b_jonas: imagine a line break in the middle and line up the second \ with the first " 08:42:34 i want to make a language with regex syntax builtin 08:42:37 then it'll look quite nice. 08:42:51 int-e, I tend to use unlines for that 08:42:58 and I found it strange that people used \ \ for it 08:43:05 int-e: sure, but 08:43:19 > "backslash: \\; nothing: \&" 08:43:21 "backslash: \\; nothing: " 08:43:25 but once you put spaces in them, 08:43:31 i think most things in a language besides control flow should be sublanguages 08:43:31 > "nothing: \ \" 08:43:32 "nothing: " 08:43:34 > "\\\" 08:43:36 :1:6: 08:43:36 > "error: \ &" 08:43:36 lexical error in string/character literal at end of input 08:43:38 :1:13: 08:43:38 lexical error in string/character literal at character '&' 08:43:38 > "\\\\" 08:43:40 "\\\\" 08:43:53 > "\/\" 08:43:55 :1:3: 08:43:55 lexical error in string/character literal at character '/' 08:44:35 `! c printf("lolwut?\flolwut\n"); 08:44:51 Does not compile. 08:45:06 `! c int main(){printf("lolwut?\flolwut\n");} 08:45:08 Does not compile. 08:45:32 i guess \f isnt a thing 08:45:33 `! c int main(){printf("lolwut?\\flolwut\\n");} 08:45:50 https://www.haskell.org/onlinereport/syntax-iso.html 08:45:54 actually \f should be form feed 08:45:58 I like the L function part of haskell syntax 08:45:58 on a different note, I think this one is approperiate for this channel: schmorp reports that he's made http://cvs.schmorp.de/vt102/vt102 , a vt100/102/131 hardware simulator, i.e. it runs the original dec vt roms for 100% perfetc temreinal "emulation" 08:46:04 lolwut?lolwut 08:46:16 b_jonas: can I use it as my terminal 08:46:44 form feed used to eject the current page and start a new one 08:47:05 elliott: sort of. it puts the output to another terminal, so you can't use it alone, but yes 08:47:33 https://www.haskell.org/onlinereport/lexemes.html#lexemes-char 08:47:33 does it nest :p 08:47:56 elliott: no idea 08:48:35 cluid: If you're going to use the string as a Bytestring, having a single string literal is *highly* beneficial. That's because string literals are normally translated into something like unpackCString# "foobar"# and Bytestring has a rule to directly use the constant character string "foobar"# 08:48:40 @type ""# 08:48:41 GHC.Prim.Addr# 08:49:09 ah! 08:49:10 So that's one reason for using that syntax. 08:49:55 The story is less nice for Text, because it has to convert from UTF-8 to UTF-16. 08:50:03 b_jonas: I did not hear of that before, now I do! 08:50:12 zzo38: it's brand new 08:50:19 I like how string literals with \0s in them are encoded. 08:50:40 zzo38: "< schmorp> this is what i hacked on in the last few days:" half a day ago 08:51:27 zzo38: also "< schmorp> 4 out of the 6 days needed were lost on debugging that single cpu instruction that was broken" [in his emulator] 08:52:09 I like this kind of ideas 08:52:41 zzo38: it's crazy, but yeah 08:55:40 i figured out something. instead of trying to make escape chars work in scrip7, i am simply putting in Hollerith strings as anoption 08:56:10 no lore \ rubbish escapes except the most common ones 08:56:14 *more 08:56:44 just do 13|anything here 08:57:10 j-bot: #'anything here' 08:57:10 b_jonas: 13 08:57:12 wow this terminal code is cool 08:57:28 he does JIT 08:57:41 cluid: to perl, yes 08:57:42 Actually, I like Hollerith strings as an option too 08:58:02 the point of hollerith notation is that literally any bytes can be placed after the | 08:58:52 because there is no ending delimiter 08:59:01 howdoes that let you write 0x3030303030 08:59:26 Yes I like that 08:59:30 it doesn't but 5%30 08:59:32 does 08:59:47 ok 09:00:05 the entire literal syntax is being revamped it will break some of my example programs 09:00:35 does anyone have a pastebin mover bot here? 09:00:50 how about 5R2H30 09:00:54 or does HackEgo have such a command? 09:00:58 'R' means repeat 09:01:08 or 2H30R5 09:01:16 5% is fine forget this 09:02:28 a literal is: N S D where N is a number in decimal, S is a symbol and D depends on what kind of literal it is 09:02:46 when there is no symbol it is simply a decimal number 09:03:19 when there is only a symbol default parameters are assumed 09:03:54 so %30 is 0x30. 09:04:53 Do you like: callCC x = lemCC >>= either return x; 09:05:01 :t lemCC 09:05:02 Not in scope: ‘lemCC’ 09:05:06 oren: you should be able to use other bases than decimal for N imo 09:05:13 also you should be able to use this recursively 09:05:27 for example (5%30)%30 09:05:42 what use would that be? 09:05:44 lemCC :: Either a (a -> Cont r b) 09:05:52 isn't it obvious 09:05:53 writing literals 09:06:01 integersonly go up to 8 bytes 09:06:19 zzo38, this looks Interesting 09:06:40 cluid: No that isn't quite the type. Although a definition of lemCC in terms of callCC: lemCC = callCC (return . Right . (<=< return . Left)); 09:06:48 what is the type? 09:06:54 lemCC :: ContT r m (Either a (a -> ContT r m b)); 09:07:00 so the maximum thing before % is 8. 09:07:02 A though about this 09:07:14 You need a Cont around your type; other than that it works 09:07:14 Various 'characterization' of classic logic are intuitionistically equivalent 09:07:27 piece law ((a -> b) -> a) -> a is the normal callcc, I think 09:07:33 one of my lecturers began a lecture with "this is what is true about image processing as of last week" ← what was it about? 09:07:38 Yes, it is 09:07:45 so then excluded middle Either a (a -> b) could be define interms of it, and vice versa 09:08:02 it was about google's ability to classify images 09:08:04 cluid: have you seen oleg's haskell "lem" 09:08:04 Although at least to me, using law of excluded middle to define continuations is easier to understand 09:08:07 no 09:08:15 cluid: http://okmij.org/ftp/Computation/lem.html 09:08:17 it doesn't use continuations 09:08:21 it's a cute trick 09:09:14 what 09:09:26 oren: ah 09:09:31 Firefly: and in particular the performance of their awesome superclusters 09:09:38 http://www.lix.polytechnique.fr/~lengrand/Work/Teaching/MPRI/lecture1.pdf slide 30 09:09:43 the evil of excluded middle 09:10:06 oren: reminds me of http://code.flickr.net/2014/10/20/introducing-flickr-park-or-bird/ 09:10:12 Which is also pretty recent I suppose 09:11:26 there is an issue with teaching a course where the answers are changing so fast 09:11:46 that is why this course has a project not a final exam 09:12:59 zzo38, In a book I read, instead of doing it as a monad they add a new binder to lambda calculus 09:13:53 if you can prove _|_ given x : phi -> _|_, then /\x. M : phi 09:15:17 what the heck is ⊥ 09:15:27 oren, its a data type with no constructor 09:15:29 i didn't take the logic course 09:16:19 where do data types interact with given and proving things? 09:16:45 they're just different terms for the same thing 09:18:16 huh? a data type is an interpretation for some digital data... how does that interact with logical proofs? 09:18:56 Specifying a value of the type proves it 09:20:08 proves what? 09:21:03 oren: heh, the image processing class I'm taking has a final exam. 09:21:13 oren, you can think of typed lambda calculus as a programming language and/or a logic 09:21:35 it serves as a foundation for both 09:22:21 is it possible to design a cpu that runs lambda calculus? 09:22:29 I dont think so 09:22:53 why not? 09:22:55 you have to compile it to something more easy to make an instruction set for 09:23:10 i dont know much about these things, but that's what I think 09:23:47 I don't see why you couldn't, if you use some encoding like BLC or so 09:24:21 FireFly, for one thing the "instructions" can be arbitrarily wrong - normally instruction sets are encoded in a handful of bytes 09:24:35 s/wrong/long/ 09:25:06 second there is a lot of things like free variables.. envronments.. which an interpreter would normally handle - it's not clear how a CPU could run it directly 09:25:15 oren: It proves the type! 09:25:24 maybe you have registers for environment, continuation etc.. 09:25:32 You can try to learn about Curry-Howard. 09:25:42 i guess the CPU they mention in the last chapter of SICP does that 09:27:04 A better approach is to mak ea good CPU and then compile languaegs to it 09:28:12 but lambda calculus and all this is incredibly far from what our standard cpus do... 09:28:25 If you know anything about sequent calculus you can also look at: http://esolangs.org/wiki/Gentzen You can see it is using the logical rules of sequent calculus to execute a computer program. 09:28:39 cluid: have you seen reduceron 09:28:44 yeah 09:28:48 what our normal cpus do is manipulate sets of bits 09:29:07 according to other sets of bits 09:29:44 (usually of a fixed size called the word size of the cpu) 09:30:22 and garbage collection 09:30:51 so languages designed on such principles are easy to make fast on our normal cpus 09:31:52 i think we need to put functional programming into the cpu itself to really make it fast 09:32:18 i dont think so 09:32:25 why not 09:32:31 ive just explained in detail 09:32:56 you said you would make a "good cpu" what does that mean? 09:33:14 just something like x86 64 09:33:20 and why are cpus based on manipulating fixed size bit strings "good" 09:34:13 does this imply that languages based on such will always be faster? 09:34:35 well a CPU is put on a circuit board 09:34:55 so it has to have address buses like 64 wires in parallel for a word 09:35:06 so the instruction sets are in accordance with that 09:35:22 if you tried to handle a language with arbitrary length bit strings you would not be able do it in a good way 09:35:28 s/language/instruction set/ 09:36:00 so if a CPU is good general purpose computation, then you can compile all different languages onto it 09:36:14 Thats why I think the way to make functional languages fast is better compilers 09:36:41 isn't BLC "general computation" (Church turing thingy) 09:36:49 although the thing elliott mentioned runs haskell 40x faster than on a normal CPU 09:37:14 reduceron? 09:38:01 ah i see, so i'm right. building functional programming into the cpu will increase performance of functional languages 09:38:42 (and presumably this thing can't run C very well) 09:41:30 [wiki] [[Truth-machine]] http://esolangs.org/w/index.php?diff=41342&oldid=40497 * Zzo38 * (+491) +[[Gentzen]] 09:41:41 perhaps this sort of thing can help with JS performance too! 09:44:49 actually, fpga's have so many uses, why don't all computerscome with fpga's built in? 09:46:14 One reason is that nobody builds generic-open-source-FPGA; due to this you require specific operating systems and CPU to be able to use them 09:46:53 i see. then there is a market opportunity for plug and play fpga 09:47:17 would take a lot of venture capital obviously 09:47:30 it would be cool to try programming an FPGA 09:47:37 Wihle there are some open-source FPGA designs none of them have ever been manufactured. 09:47:38 but it might be very difficult, 09:47:57 i've done it in one course, we used verilog which is very similar to C 09:48:34 cool!! 09:48:34 what university do you go to cluid? 09:48:38 i dont 09:48:59 why not? 09:49:26 i dont know 09:51:41 uhh... i guess this is because i was always expected to get a degree in my family, so i can't even fathom not going 09:52:01 not everyone lives the life their parents expect of them 09:52:43 i know. my dad is annoyed i'm not going for a phd 09:52:58 why dont you do a PhD 09:53:04 heh 09:53:07 because i like money 09:53:20 byou could design a new CPU 09:53:39 i'll do that and make money by starting a company 09:53:49 if i was going to do that 09:54:46 anyway there are 3phds and a dd in my family so they are annoyed 09:55:16 ok 09:55:18 Doesn't seem like reason enough to be annoyed 09:55:22 but shrug 09:55:24 i like to pronounce phd phud 09:55:32 'fudd' 09:55:33 pht magic dogz 09:57:12 -!- oerjan has joined. 09:58:13 FireFly: Perhaps they were hoping to break some sort of family doctoral density record. 09:58:42 fair 09:58:56 would not workwith my dad's side having no-one but him and my youngest aunt 09:59:36 actually no wait my other aunt has a doctor of divinity 09:59:51 the other d.d. 10:00:11 it would be fun to design own CPUs on an FPGA 10:00:16 and try running your own code on them 10:00:39 FPGA's cost about 100 dollars i think 10:00:51 plus the software cost 10:01:02 cluid: i had that exact same thought 10:01:21 cluid: but then i remembered that i hate VHDL and would never use that CPU for anything 10:01:25 so i dropped that idea 10:01:27 haha 10:01:37 use verilog instead 10:03:20 is it better? 10:04:25 -!- shikhout has joined. 10:05:47 i guess i oughta go home and eat breakfast 10:06:12 -!- oren has quit (Quit: going home to eat brekfast). 10:07:23 -!- shikhin has quit (Ping timeout: 252 seconds). 10:10:59 -!- cluid has quit (Quit: Leaving). 10:23:41 -!- adu has quit (Quit: adu). 10:31:54 -!- idris-bot has quit (Ping timeout: 250 seconds). 10:32:28 -!- Melvar has quit (Ping timeout: 264 seconds). 10:35:19 [wiki] [[REGXY]] http://esolangs.org/w/index.php?diff=41343&oldid=41226 * Oerjan * (-38) /* External resources */ Use template 10:35:26 -!- Melvar has joined. 10:37:31 [wiki] [[MNNBFSL]] http://esolangs.org/w/index.php?diff=41344&oldid=41271 * Oerjan * (+18) /* External resources */ yearcat 10:42:02 [wiki] [[Brainfuck implementations]] M http://esolangs.org/w/index.php?diff=41345&oldid=41244 * Oerjan * (+1) /* Normal implementations */ sp 10:43:18 -!- Phantom_Hoover has joined. 10:56:54 [wiki] [[Language list]] M http://esolangs.org/w/index.php?diff=41346&oldid=41341 * Oerjan * (+0) /* K */ order 11:15:12 -!- boily has joined. 11:39:54 There are people buying FPGAs to install Softcpus on them 11:43:49 -!- FreeFull has joined. 11:56:03 :r 11:56:05 oops 11:56:30 Failed, modules loaded: none. 11:59:03 -!- Patashu has quit (Ping timeout: 240 seconds). 12:04:01 -!- boily has quit (Quit: TRANSALPINE CHICKEN). 12:08:32 -!- FreeFull has quit (Ping timeout: 250 seconds). 12:14:11 [wiki] [[Return Oriented Programming]] http://esolangs.org/w/index.php?diff=41347&oldid=41298 * Oerjan * (+45) some proofreading 12:15:19 [wiki] [[Special:Log/move]] move * Oerjan * moved [[Return Oriented Programming]] to [[Return-oriented Programming]]: I see no reason to use a different title than Wikipedia 12:15:51 -!- FreeFull has joined. 12:16:08 oops, 1/10 second later i realize the p isn't capitalized 12:16:34 [wiki] [[Special:Log/move]] move * Oerjan * moved [[Return-oriented Programming]] to [[Return-oriented programming]]: Whoops 12:17:03 [wiki] [[Return Oriented Programming]] M http://esolangs.org/w/index.php?diff=41351&oldid=41349 * Oerjan * (+0) fix link 12:19:01 and there the wiki goes down 12:19:50 and the neigbors start making noise 12:21:34 -!- HackEgo has quit (Ping timeout: 244 seconds). 12:21:48 oops maybe the whole server did 12:21:58 fizzie: ? 12:23:51 -!- HackEgo has joined. 12:24:25 Hmm. 12:24:32 That wasn't me. 12:24:53 perhaps it rebooted 12:25:10 `run uptime # oh wait 12:25:27 ​ 12:24:33 up 0 min, 0 users, load average: 0.00, 0.00, 0.00 12:25:39 OH NO IT IS REBOOTING ALL THE TIME 12:26:18 07:25:07 up 98 days, 10:55, 1 user, load average: 0.19, 0.14, 0.31 12:26:25 I guess something transient, then. 12:26:38 those evil transients 12:27:54 fizzie runs HackEgo? 12:28:42 I "run" the wiki, for some values of run. 12:28:42 [wiki] [[Talk:Pikalang]] M http://esolangs.org/w/index.php?diff=41352&oldid=41300 * Oerjan * (+48) Not signing: the sign of the times 12:28:55 And it's the same server, so I've been doing hackego-related things occasionally. 12:29:27 oerjan: What's next, top-posting in the talk pages? 12:29:49 that's always been. 12:35:43 [wiki] [[Hello world program in esoteric languages]] M http://esolangs.org/w/index.php?diff=41353&oldid=41302 * Oerjan * (+1) Not knowing the alphabet: also a sign. 12:38:03 [wiki] [[Pendulum Instruction Set Architecture]] http://esolangs.org/w/index.php?diff=41354&oldid=41317 * Oerjan * (+4) /* External Links */ standard section name + fmt 12:42:22 -!- Sgeo_ has joined. 12:43:12 This isn't #ghci. 12:43:15 Or is it. 12:43:50 Sometimes it feels that way, with all the Haskellists. 12:45:04 -!- Sgeo has quit (Ping timeout: 264 seconds). 12:48:43 > True||(1/0)==0 12:48:44 True 12:48:46 > 1/0 12:48:47 Infinity 12:48:53 > True||(1`div`0)==0 12:48:55 True 12:49:00 > 1`div`0 12:49:01 *Exception: divide by zero 12:58:27 -!- shikhout has changed nick to shikhin. 13:06:36 > let f xs = (head xs == last xs)||(f (tail xs)) in f [1,2,3] 13:06:38 True 13:06:49 > let f xs = (head xs == last xs)||(f (tail xs)) in f [1,1,1] 13:06:50 True 13:07:20 > let f xs = (head xs == last xs)||(f (tail (tail xs))) in f [1,2,3] 13:07:21 True 13:07:25 yup 13:07:29 -!- shikhin has quit (Ping timeout: 255 seconds). 13:08:31 > let f xs = (head xs == last xs)||(f (tail (tail xs))) in f [1,2,3,4] 13:08:33 *Exception: Prelude.head: empty list 13:09:23 -!- shikhin has joined. 13:09:38 That was a confusing function, in the "what's it good for" sense. 13:09:48 you think 13:09:59 (it can never return False) 13:12:18 > last $ cycle [0] -- a metaphor for life 13:12:24 mueval: ExitFailure 1 13:16:33 > fix id 13:16:37 mueval-core: Time limit exceeded 13:16:55 Don't fix what ain't broken. 13:17:20 how do you know my id isn't broken 13:17:29 > id 42 13:17:31 42 13:17:35 lambdabot's id seems fine to me 13:17:45 I don't know about yours 13:22:02 > (84-) 42 -- of course my test wasn't very thorough. 13:22:04 42 13:22:16 oerjan: Write a prop_id x = x == id x 13:22:18 then run it 13:22:33 @check x == id (x :: Int) 13:22:35 Couldn't match expected type ‘GHC.Types.Int’ 13:22:35 with actual type ‘Debug.SimpleReflect.Expr.Expr’Couldn't match expected type... 13:22:42 funny thing is that prop_Foo x y = x == y always succeeds anyway ;) 13:22:44 @check \x -> x == id (x :: Int) 13:22:46 +++ OK, passed 100 tests. 13:22:54 @check \x y -> x == y 13:22:55 +++ OK, passed 100 tests. 13:23:07 obviously 13:23:12 Yeah 13:23:32 @check \x y -> x == [y] 13:23:34 *** Failed! Falsifiable (after 1 test): 13:23:34 [] () 13:23:48 @check \x y -> x == reverse y 13:23:50 *** Failed! Falsifiable (after 5 tests and 1 shrink): 13:23:50 [] [()] 13:23:58 @check \x y -> (x) == [y] -- prettier 13:23:59 :1:59: 13:23:59 parse error (possibly incorrect indentation or mismatched brackets) 13:24:04 @check \x y -> (x) == [y] 13:24:04 @check \x -> x == reverse x 13:24:06 *** Failed! Falsifiable (after 1 test): 13:24:06 [] () 13:24:07 +++ OK, passed 100 tests. 13:24:12 hm 13:24:18 ah 13:24:30 @check \x -> last x == head x 13:24:31 *** Failed! Exception: 'Prelude.last: empty list' (after 1 test): 13:24:32 [] 13:25:10 @check \x -> x == () 13:25:12 +++ OK, passed 100 tests. 13:26:42 @check \f x -> x == map f x 13:26:44 +++ OK, passed 100 tests. 13:26:53 -!- shikhin has quit (Read error: Connection reset by peer). 13:33:43 [wiki] [[K-on Fuck]] M http://esolangs.org/w/index.php?diff=41355&oldid=41340 * Oerjan * (+20) bold, stub, link 13:36:51 -!- shikhin has joined. 14:02:38 -!- scounder has quit (Ping timeout: 272 seconds). 14:06:04 -!- GeekDude has joined. 14:11:53 @check \a b c n -> not ((a :: Int) > 0 && (b :: Int) > 0 && (c :: Int) > 0 && (n :: Int) > 2 && a^n + b^n == c^n) 14:11:55 *** Failed! Falsifiable (after 95 tests and 10 shrinks): 14:11:55 2 14 62 64 14:12:47 Shows what you know, Wiles. 14:13:45 (I was originally planning a different joke, about how he overcomplicated things, since in query-testing it passed.) 14:18:46 @let a --> b = not a || b 14:18:49 Defined. 14:19:14 @check \a b c n -> not (((a :: Int) > 0 && (b :: Int) > 0 && (c :: Int) > 0 && (n :: Int) > 2) --> (a^n + b^n == c^n)) 14:19:15 *** Failed! Falsifiable (after 1 test): 14:19:16 0 0 0 0 14:19:27 Apparently logic is hard 14:19:38 maybe. 14:20:24 @check \a b -> (a --> b) == (if a then b else True) 14:20:26 +++ OK, passed 100 tests. 14:20:49 @check \a b c n -> ((a :: Int) > 0 && (b :: Int) > 0 && (c :: Int) > 0 && (n :: Int) > 2) --> not (a^n + b^n == c^n) 14:20:51 +++ OK, passed 100 tests. 14:23:30 -!- oerjan has quit (Quit: leaving). 14:26:52 @check \a b c n -> ((a :: Int) > 0 && (b :: Int) > 0 && (c :: Int) > 0 && (n :: Int) > 2) --> a^n + b^n /= c^n 14:26:53 Couldn't match expected type ‘GHC.Types.Bool’ 14:26:54 with actual type ‘GHC.Types.Int’Couldn't match expected type ‘GHC.Types.Bool... 14:27:06 Aw, I guess I got bitten by some precedence. 14:28:45 -!- scounder has joined. 14:46:31 @let infixr 3 --> 14:46:33 Defined. 14:47:22 @check \a b c n -> ((a :: Int) > 0 && (b :: Int) > 0 && (c :: Int) > 0 && (n :: Int) > 2) --> a^n + b^n /= c^n 14:47:24 +++ OK, passed 100 tests. 14:47:26 Yay. 15:03:24 -!- `^_^v has joined. 15:27:42 [wiki] [[Hello world program in esoteric languages]] http://esolangs.org/w/index.php?diff=41356&oldid=41353 * SuperJedi224 * (+1724) /* Mineso */ 15:28:20 [wiki] [[Hello world program in esoteric languages]] http://esolangs.org/w/index.php?diff=41357&oldid=41356 * SuperJedi224 * (-1) /* Mineso */ 15:28:32 [wiki] [[Hello world program in esoteric languages]] http://esolangs.org/w/index.php?diff=41358&oldid=41357 * SuperJedi224 * (+2) /* [Mmmm()] */ 15:37:44 [wiki] [[Truth-machine]] http://esolangs.org/w/index.php?diff=41359&oldid=41342 * SuperJedi224 * (+186) /* GolfScript */ 15:45:27 -!- S1 has joined. 15:46:47 -!- zzo38 has quit (Remote host closed the connection). 15:55:23 -!- idris-bot has joined. 15:55:41 -!- dts|pokeball has joined. 16:45:05 -!- Y4kuzi has joined. 16:47:10 -!- FreeFull has quit (Quit: Going... Going.. Gone!). 16:51:18 -!- Y4kuzi has quit (Quit: Quick on the net.). 16:52:07 -!- shikhin has changed nick to pan. 16:52:23 -!- pan has changed nick to shikhin. 17:14:23 -!- dts|pokeball has quit (Ping timeout: 240 seconds). 17:25:33 [wiki] [[Truth-machine]] http://esolangs.org/w/index.php?diff=41360&oldid=41359 * BCompton * (+60) /* SyL */ 17:36:56 [wiki] [[Truth-machine]] M http://esolangs.org/w/index.php?diff=41361&oldid=41360 * BCompton * (-1) /* Tag */ 17:49:21 [wiki] [[Hello world program in esoteric languages]] http://esolangs.org/w/index.php?diff=41362&oldid=41358 * Tromp * (+46) 17:51:18 [wiki] [[Hello world program in esoteric languages]] M http://esolangs.org/w/index.php?diff=41363&oldid=41362 * Tromp * (+0) 17:57:11 -!- S1 has quit (Quit: S1). 18:25:38 does "/MSG CHANSERV PLEASE #somechannel ABSTAIN FROM JOINING" set the moderated flag? 18:27:47 [wiki] [[Truth-machine]] http://esolangs.org/w/index.php?diff=41364&oldid=41361 * Tromp * (+105) 18:28:56 [wiki] [[Hello world program in esoteric languages]] http://esolangs.org/w/index.php?diff=41365&oldid=41363 * Tromp * (+17) /* Binary lambda calculus */ 18:37:46 b_jonas: shouldn't that be +i, invitation only... 18:37:57 int-e: oh right, the invitation only flag 18:38:16 but I like the idea :) 18:38:49 I wonder if there's a channel mode like "PLEASE #somechannel ABSTAIN FROM 60% JOINING" which lets people join successfully only 40% of the time 18:38:56 but I don't think intercal has that 18:40:08 I guess you could simulate it by something like "DO COMESUB FROM JOINING DO REINSTATE JOINING PLEASE 60% ABSTAIN FROM JOINING DO RESUME" 18:40:37 that would reset the flag each time somebody joins 18:40:52 though you'd better put a label in front of that COMESUB so you can later ABSTAIN from it 18:44:03 int-e: feel free to shorten my blc program for truth :) 18:48:48 -!- ZombieAlive has quit (Remote host closed the connection). 18:55:20 [wiki] [[Truth-machine]] http://esolangs.org/w/index.php?diff=41366&oldid=41364 * BCompton * (+108) /* Tag */ 18:57:13 is there a list of problems like hello world and truth machine? 18:58:44 I made a little dc program to simpliy fractions \o/ 18:58:44 | 18:58:44 /^\ 18:58:45 nyuszika7h@cadoth ~ $ dc -e '[s0q]sa[dst%ltrlgx]sb[d0=ad0!=b]sg[? ]n?dstrdltrlgxdsd/rld/rn[ ]np' 18:58:46 ? 48 18 18:58:47 8 3 18:59:29 simplify, even 19:02:31 -!- oren has joined. 19:06:16 -!- shikhout has joined. 19:09:07 tromp_: http://rosettacode.org/wiki/Rosetta_Code 19:09:25 -!- shikhin has quit (Ping timeout: 264 seconds). 19:09:40 tromp_: specficailly http://rosettacode.org/wiki/Category:Programming_Tasks 19:11:28 tromp_: I have a different 69 bits one... but nothing smaller 19:12:13 thx, b_jonas. and thx int-e for searching fot the truth:) 19:13:39 tromp_: see repo 19:15:58 (it's pity that the meanings of 0 and 1 aren't reversed, \z.z x x would be 2 bits shorter ;-) ) 19:16:08 yes, i had the same realization! 19:18:24 I'm also tempted to replace (\z.z x nil) by xs, but I guess it's against the rules. 19:19:54 yeah, the problem statement is ambiguous there 19:20:25 -!- shikhout has changed nick to shikhin. 19:23:22 xs? why not just a one-letter variable then? :P 19:23:45 nyuszika7h: because the code is compiled to binary lambda calculus 19:23:46 same size 19:24:04 oh, I have no idea what that is :P 19:24:26 it is a functional machine code 19:24:29 b_jonas: well, you can do +j 40:100 which only lets 40 people join within a 100-second time window 19:24:36 then it resets 19:24:41 and starts over again 19:25:09 nyuszika7h: https://github.com/tromp/AIT/blob/master/truth.lam is what we write, which becomes 010001101000000110000000010110111001011110000010010111111011111011110 (using truth) or 000110000001011100001011011100000100100011010000001011000001001110110 (using truth2) when compiled. 19:26:58 yay, functional machine code! 19:34:50 http://rosettacode.org/wiki/99_Bottles_of_Beer that lyrics is wrong :/ 19:39:03 -!- dts|pokeball has joined. 19:57:47 I once heard someone sing it as α₀ bottles of beer 20:06:55 Did they finish? 20:13:11 -!- FreeFull has joined. 20:17:36 i dunno maybe they're still singing it for alli know 20:39:36 are you sure you don't mean aleph 20:41:51 I completely didn't even notice. Some sort of a "sounds alike == looks alike" brain-wiring thing. 21:04:25 nyuszika7h: isn't that like "first day of Christmas" which has multiple different lyrics, many of them ocurring in example programs and obfuscations? 21:05:18 maybe there's a need for an international standard that specifies the default text for hello world, first day of Christmas, 99 bottles of beer, and all the similar stuff 21:05:38 -!- GeekDude has changed nick to GeekAfk. 21:05:42 -!- Frooxius has quit (Quit: *bubbles away*). 21:06:19 -!- Bicyclidine has joined. 21:06:25 -!- Bicyclidine has left. 21:07:42 -!- GeekAfk has changed nick to GeekDude. 21:13:19 hmm, I found this from 1995: http://www.faqs.org/rfcs/rfc1882.html 21:15:18 Knuth, D. "The Complexity of Songs", Communications of the ACM, 1984, 24(4) pp. 344-346 also gives one definition for 99bob. 21:16:13 fizzie: true 21:16:27 and as for hello, world, the authoritive standard is of course the K&R book 21:17:10 It refers to "J. W. Blatz of Mulwaukee, Wisconsin who first discovered a class of songs known as "m Bottles of Beer on the Wall". 21:17:56 -!- Patashu has joined. 21:18:14 With a footnote: "Again Kennedy ([8], p. 631) claims priority for the English, in this case because of the song "I'll drink m if you'll drink m + 1." However, the English start at m = 1 and get no higher than m = 9, possibly because they actually drink the beer instead of allowing the bottles to fall." 21:22:08 tromp_: there, 68 21:22:33 tromp_: I can't believe I didn't try that variant sooner. 21:23:50 b_jonas: well, http://www.99-bottles-of-beer.net/ pretty much defines a de facto standard 21:24:11 http://www.99-bottles-of-beer.net/lyrics.html 21:24:22 gratz, int-e! 21:26:26 and then there's the local let trick 21:27:15 tromp_: 65. 21:28:08 58 coming up 21:29:38 loop shld no longer be applied to x 21:30:10 i'll let you fix it:) 21:30:17 -!- GeekDude has quit (Ping timeout: 256 seconds). 21:30:22 oops. 21:31:03 you can also remove the suboptimal defs 21:31:11 I like the history 21:31:23 -!- GeekDude has joined. 21:34:29 i actually started out with a version of your truth2 21:34:37 but for some reason mine was 70 bits 21:34:52 which led me to my 69 bit truth 21:35:10 tromp_, int-e: what problem is 'truth machine'? 21:35:24 it's a totally dumb problem:(* 21:35:27 FireFly: http://esolangs.org/wiki/Truth-machine 21:36:01 -!- Patashu has quit (Disconnected by services). 21:36:01 -!- Patashu_ has joined. 21:38:35 Danke 21:41:39 tromp_: one nice thing about truth = \xs.xs(\x\d\z.z x (x nil (truth xs))) is that one can write it out as halftruth = \ht\xs.xs(\x\d\z.z x (x nil (ht ht xs))); and then make truth = halftruth halftruth. 21:45:33 b_jonas: Time has sort of passed by the indignation inherent in the "It's a 10GB database!" interjection. 21:45:39 b_jonas: (In the RFC you quoted.) 21:47:46 fizzie: yeah, and that's not even the most dated part 21:48:02 I'm still reading. 21:48:45 The SCSI parts are perhaps somewhat passé too. 21:49:19 (Although I did find a SCSI terminator when rummaging through stuff just last week.) 21:50:47 int-e: isn't that what the recursion eliminator already does? 21:51:01 expect it doesn't call it halftruth:) 21:51:54 -!- shikhin has quit (Ping timeout: 245 seconds). 21:52:21 tromp_: I was after the name 21:52:34 yeah, that's cute:) 21:54:11 tromp_: I was also looking into some more clever argument order abuse (if you invoke things as \io. io halftruth halftruth, then halftruth can be written as \x\d\ht\z. ... with the halftruth argument somewhere in the middle. It didn't help, but it's something that the automatic blc translation won't accomplish. 21:54:31 ) 21:55:59 rosettacode is nice, but i wondered if there was a task list on the esolangs. wiki itself 21:57:41 http://esolangs.org/wiki/Popular_problem ? 21:58:31 (just following a link from the "Truth machine" page) 22:01:13 ah, thx 22:06:59 tromp_: you can just use the same tasks 22:07:08 why would you need a separate list? 22:10:38 because competing with other esolangs feels more manageable 22:11:16 i like the idea of a set of tasks that would appeal more to esolangs 22:27:43 Hrm. The youtube-dl in Debian has stopped working. 22:27:58 (The one in testing, anyway.) 22:28:59 -!- atslash has joined. 22:29:11 -!- `^_^v has quit (Ping timeout: 244 seconds). 22:29:43 I guess there's been a couple of newer ones in unstable, but they haven't migrated. 22:30:42 Oh, of course, jessie's freeze. Hmp. 22:32:30 http://en.wikipedia.org/wiki/Binary_lambda_calculus#Delimited_versus_undelimited "the only caveat being that N will be passed to M as its third argument" in the final sentence--shouldn't N and M be swapped here? 22:32:49 er, oops, I didn't notice the "to". Never mind 22:49:20 -!- Patashu_ has quit (Ping timeout: 252 seconds). 22:49:44 -!- oerjan has joined. 22:56:52 [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41367&oldid=41330 * 71.184.241.244 * (+25) 22:58:09 -!- KingOfKarlsruhe has quit (Quit: ZNC - http://znc.in). 23:09:44 -!- CrazyM4n has joined. 23:13:04 -!- KingOfKarlsruhe has joined. 23:31:04 -!- ZombieAlive has joined. 23:48:11 [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=41368&oldid=41346 * 70.162.52.61 * (+18) Added simplefunge, should have been added long ago 2014-12-06: 00:06:12 My cost function based on Euclidean distance just went negative. :/ 00:08:05 And not just by a little bit, either -- http://sprunge.us/cehd 00:08:13 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds). 00:11:09 Oh, complex numbers. Well, that's not a surprise. 00:18:16 in what crazy language are variables complex by default? 00:19:00 How is that crazy? 00:19:16 I, for one, prefer the complex number plane 00:20:38 its crazy because it is not conventional 00:24:48 it isn't necessarily a bad thing to be unconventional 00:25:32 Like base 79 00:25:44 See, you get it 00:30:53 -!- oerjan has quit (Quit: you're completely off base). 00:31:19 Octave/MATLAB. 00:32:11 (Did a sqrt on the wrong thing, one that was a bit negative.) 00:33:15 aha... 00:33:28 Just a bit negative 00:33:56 Not much more 01:13:20 -!- GeekDude has quit (Ping timeout: 272 seconds). 01:27:33 -!- GeekDude has joined. 01:43:24 fizzie: what are you costing? 01:45:22 J does the same thing 01:45:35 %: _3 gives 0j1.73205 01:46:47 Oh, J 01:54:04 [wiki] [[Special:Log/newusers]] create * XorSwap * New user account 02:08:39 [wiki] [[Eve]] N http://esolangs.org/w/index.php?oldid=41369 * XorSwap * (+484) An event and stack oriented language 02:12:07 [wiki] [[Eve]] http://esolangs.org/w/index.php?diff=41370&oldid=41369 * XorSwap * (+88) 02:33:14 [wiki] [[Eve]] http://esolangs.org/w/index.php?diff=41371&oldid=41370 * XorSwap * (+1623) 02:37:23 [wiki] [[Eve]] http://esolangs.org/w/index.php?diff=41372&oldid=41371 * XorSwap * (+98) 02:48:09 -!- CrazyM4n has quit (Remote host closed the connection). 02:56:28 -!- atslash has quit (Quit: This computer has gone to sleep). 02:58:14 [wiki] [[Eve]] http://esolangs.org/w/index.php?diff=41373&oldid=41372 * XorSwap * (+768) 02:58:38 [wiki] [[Eve]] http://esolangs.org/w/index.php?diff=41374&oldid=41373 * XorSwap * (+1) /* = Explanation */ 03:02:27 [wiki] [[User:XorSwap]] N http://esolangs.org/w/index.php?oldid=41375 * XorSwap * (+222) Created page with "I like to think up esolangs. I'm still working on the whole 'implement' bit. The only one I've written the spec for so far is [[Eve]]. My website can be found at the rather..." 04:07:52 -!- qwertyo has joined. 04:58:00 -!- qwertyo has quit (Ping timeout: 258 seconds). 04:58:07 -!- qwertyo has joined. 05:06:15 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 05:12:02 it is saturday nao! 05:15:53 still friday sir 05:25:36 ^ 05:25:57 it is 00 05:26:11 that is the time where i am 05:26:26 00:25 05:28:06 -!- qwertyo has quit (Ping timeout: 245 seconds). 05:28:40 -!- qwertyo has joined. 05:36:07 -!- CrazyM4n has joined. 05:36:08 -!- CrazyM4n has quit (Client Quit). 05:36:12 -!- CrazyM4n_ has joined. 05:36:25 -!- CrazyM4n_ has changed nick to CrazyM4n. 05:38:53 So I'm making a generic 2d language IDE 05:39:13 in Ncurses or what? 05:39:29 Yeah 05:39:34 It already exists doesn't it 05:39:58 This is gonna have to be some Emacs vs Vim style buisness 05:40:01 i'm no expert 05:40:20 screw both of those they both suck 05:40:31 Nano for lyfe? 05:40:54 i used to use nano but now i use midnight commander 05:41:10 I'm talking about text editors, not DoTA heroes 05:41:18 lol... 05:41:26 :P 05:41:37 Does midnight commander even have a text editor? 05:41:41 mcedit has some nice features 05:41:57 MCEdit.... as in minecraft? 05:42:18 if you go to the options in mc, it has a "use internal editor" option 05:42:26 ohhh I see 05:42:38 hah 05:43:14 the internal editor has some cool features like a "cursor beyond end of line" option 05:43:35 which is very useful for fungeoids 05:44:14 MSWord can do that 05:44:19 Therefore I will use MSWord 05:44:26 :-P 05:45:14 lol. for me editors just have to get out of my way and let me code. 05:45:29 Sublime text represent! 05:45:51 that is what i use for python 05:46:49 using a different editor for different languages helps me because i want only spaces for python and only tabs for C 05:47:05 Huh 05:47:18 I use tabs for everything except haskell (because I literally can't) 05:47:55 basically tabs confuse me in languages with significant whitespace 05:48:01 Ah 05:48:10 Quick, give me a good symbol to represent a space 05:48:16 That isn't in the funge standards 05:48:31 。 05:48:35 I'm thinking of using a bullet point 05:48:39 ・ 05:50:19 those are ideographic tho. what about a ‎∴ or something 05:50:21 How about ߦ 05:50:27 ߦߦߦߦߦߦߦߦߦ 05:50:32 Holy shit they connect 05:50:35 ߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦ 05:50:45 Unicode characters can do that? 05:50:55 -!- cluid has joined. 05:50:55 yes. 05:50:57 hi 05:51:01 hi 05:51:18 what symbol for space in a fungeoid editor? 05:51:18 Sorry, I'm having a moment of realization here 05:51:18 ߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦv 05:53:12 I'll just use ☢ for now, it's not worth it to spend too much time on this 05:54:31 I cannot see that symbol without posting this song https://www.youtube.com/watch?v=uv_srA3WY6s 05:56:14 -!- qwertyo has quit (Ping timeout: 264 seconds). 05:56:29 Heh 05:56:34 -!- qwertyo has joined. 05:56:40 a family of languagse based on CHIQRSX9+ 05:56:58 -!- SopaXorzTaker has joined. 05:57:03 a program in CHIQRSX9+$language is executed as CHIQRSX9+ if its one character, else as $language 05:57:19 hi there 05:57:21 maybe remove X since its covered 05:57:23 hi 05:58:03 Idea! what about a weird language, where you can redefine keywords and literals? 'assume 123=456; print 123;' 05:59:00 this will output 456 05:59:36 and 'assume +=-; print 2+2' 06:00:06 well redefining operators is easy in lisp or forth 06:00:22 > let 2 + 2 = 5 in 2 + 2 06:00:24 5 06:00:31 SopaXorzTaker: 06:00:34 @google esolang forte 06:00:35 http://esolangs.org/wiki/Forte 06:00:36 Title: Forte - Esolang 06:00:40 (like that except even weirder) 06:00:41 :/ 06:01:25 I was thinking of that... 06:01:33 for 2 years 06:01:53 sorry... the space of high-concept languages is very crowded 06:01:55 and now somebody did it! noo! 06:02:00 https://esolangs.org/wiki/Slashes 06:02:06 -!- CrazyM4n has quit (Quit: "I'll be back, internet dieing"). 06:02:23 he needs to reboot his internet 06:03:19 :( 06:03:28 everything is alreadly done, argh! 06:03:46 not true. 06:04:09 am I new with stacked bf then? 06:04:18 literally last week 06:04:24 or don't tell me that is alreadly made 06:04:30 MNNBFSL 06:04:37 made my a dude in japan 06:05:03 another idea: The interprter does a bayesian classifier on the source code and then calls the corrct interpreter (so you can write perl, ruby, haskell, lisp... it will just figure itout and run it) 06:05:07 http://esolangs.org/wiki/MNNBFSL 06:05:24 SopaXorzTaker, in scheme you can redefine keywords but not literals 06:06:02 see 06:06:06 cluid that sounds like a great idea 06:06:07 .g. (let ((lambda +)) (lambda (foo) x)) will add 06:06:24 MNNBFSL is really cool 06:07:14 The interpreter runs all installed interpreters in parallel and picks one that works 06:08:49 SopaXorzTaker: $adjective BF exists for all $adjective 06:09:00 ah 06:09:11 including K-on BF 06:09:18 as in the show K-on 06:10:00 so can anyone help me understand K-on fuck 06:10:09 I thought that its just a text subittution for brainfuck 06:10:15 it is. 06:10:23 object oriented bf? maybe 06:10:34 it just has an ungooglable name 06:10:41 https://gist.github.com/wasabili/640572 06:10:51 but I found this, which is a formatter version of the azunyan interpreter 06:10:59 (ac > 1 && av[1][0] == 97)? a537():kofi(); 06:11:02 im not sure what this is 06:11:07 or what a537 does 06:11:21 here is hello world example https://gist.github.com/wasabili/640467 06:11:27 cluid: ac is argc, av is argv 06:11:28 I can ad this to the wiki after we figure it out 06:11:34 it is probably some shift jis hackery 06:11:37 so if there are arguments passed and the first letter of the first argument is 97 which is uh 06:11:40 > chr 97 06:11:42 'a' 06:11:45 https://gist.github.com/wasabili/640461 less obfuscated version 06:11:54 so $ ./a.out astuff calls a537() instead of running the interpreter 06:12:00 I suspect it's just an easter egg 06:12:12 https://gist.github.com/wasabili/562178 this is what made me think that it is a bf substitution originally 06:12:47 that code doesn't even compile though :p 06:12:57 -!- CakeMeat has joined. 06:13:01 -!- CrazyM4n has joined. 06:13:11 did you try running the interpreter and writing stuff into it 06:14:08 Hi 06:14:14 % ./a.out 06:14:15 **Welcome to K-on Fxxk!** 06:14:15 warning: this program uses gets(), which is unsafe. 06:14:15 > 06:14:16 Hey 06:14:16 not an expression: ‘’ 06:14:19 nice 06:14:33 ./a.out a does weird things too 06:14:39 like uh 06:14:42 print 0 no matter what 06:14:52 http://esolangs.org/wiki/K-on_Fuck 06:14:54 You writing an IRC bot? 06:15:02 except if it's afoo then it prints 0D 06:15:15 wait no 06:15:16 gets() who would do such a thing 06:15:19 that was just my ^D :p 06:15:41 I should make a bot again. Oh the memories 06:16:39 Oh, I didn't show any of you, I made a generic code-running bot 06:16:51 Already been done before 06:16:54 But this one, this one is *extendable* :O 06:18:25 -!- qwertyo has quit (Ping timeout: 256 seconds). 06:19:09 -!- qwertyo has joined. 06:19:48 http://esolangs.org/wiki/Fractran wow 06:19:57 the SE link is dead but https://github.com/graue/esofiles/blob/master/fractran/impl/fractran-in-fractran.txt 06:20:33 My internet isn't working because Skype is eating all the bandwidth 06:20:36 Explain it? 06:20:44 delete skype 06:20:45 Just kidding, it just loaded 06:21:03 pkill -9 skype 06:21:39 It's installing 06:21:42 I got tired of the crappy linux version (which runs on Wine 06:21:43 _ 06:21:44 ) 06:21:47 i have an alias in my bashrc of pulseaudiodieinafire 06:22:23 to pkill -9 pulseaudio 06:22:33 I call that command "fix" 06:22:43 Because it usually solves whatever problem I'm having... 06:22:55 does anyone know about this higher levle fractran language he invented? 06:23:02 at one point I'm pretty sure I fixed a sound problem with "apt-get remove pulseaudio" and it wasn't even installed 06:23:06 One time, my keyboard was disconnecting and generally being weird and doubling keys, 06:23:10 But killing pulseaudio fixed it 06:23:13 who did 06:23:36 I've actually heard of it before 06:24:35 it would be cool to have a compiler from that to fractran, and also a direct implementation 06:26:12 its impressive to program in fractran directly 06:26:21 I like this approach, of making up a language with subroutines 06:27:13 I hate this https://docs.python.org/3/library/curses.html#curses.window.refresh 06:27:27 why 06:27:28 I hate this specific function 06:27:28 please discuss fractran 06:27:29 With every shred of my existence right now 06:27:56 it is like buffering in a graphics library 06:29:31 you call that at the end of your draw step 06:30:22 I know that 06:31:08 Look at the syntax of it 06:31:08 First two arguments are the top left of it, the second two are the top right, the last two are the bottom left 06:31:09 Why 06:31:09 Why world 06:31:30 the C version isn't like that 06:32:06 OH 06:32:11 I read it wrong.... 06:32:14 the C version takes no arguments 06:32:17 I'm really good at reading docs you know 06:32:50 This actually makes sense, the first two args are the coords on the pad 06:33:01 and the last 4 are just the coords of where to render to 06:33:12 -!- qwertyo has quit (Ping timeout: 260 seconds). 06:33:33 -!- qwertyo has joined. 06:43:08 Classic python community.... I ask for how to do something in curses, they tell me to go use their python-only solution and don't answer my original question 06:43:49 what were you trying to do 06:43:59 Get the cursor position in curses 06:45:12 http://www.delorie.com/gnu/docs/ncurses/man/ look here 06:45:53 It's just getyx() 06:45:54 should be getyx 06:45:57 Yeah 06:46:08 So hyped for this IDE 06:53:10 -!- qwertyo has quit (Ping timeout: 265 seconds). 06:53:36 -!- qwertyo has joined. 07:13:00 -!- qwertyo has quit (Ping timeout: 250 seconds). 07:14:30 -!- CrazyM4n has quit (Quit: Leaving). 07:49:01 -!- cluid has quit (Remote host closed the connection). 07:56:36 -!- Frooxius has joined. 07:58:18 -!- shikhin has joined. 08:13:32 -!- dianne has quit (Ping timeout: 244 seconds). 08:15:20 -!- dianne has joined. 08:21:26 hmmm i think a vernier scale could be a cool design for a videogame exp display 08:23:28 which languages provide fraction literals? 08:27:53 ¾ 08:29:29 `quote FinnAir 08:29:44 714) I saw a Finnair plane today In a smoking rubble? Close. Heathrow Airport 08:29:53 I've seen another FinnAir plane! 08:30:39 In another desolate environment? 08:30:57 (Ok, that's a fair description of 90% of airports anyway.) 08:31:34 ruby has fraction (Rational) literals as of 2.1.0 08:31:43 int-e, Hong Kong Airport 08:32:01 Possibly Heathrow too, it's been a long day 08:32:12 CAS languages like pari/gp should generally have them 08:32:16 Taneb: where are you now? 08:32:26 elliott, Hong Kong Airport, waiting for a connection 08:32:39 https://en.wikipedia.org/wiki/File:A_bird%27s_eye_view_of_Hong_Kong_International_Airport.JPG ... yeah 08:33:01 or, i'm not sure if it's a fraction literal, so much as that exact representations are preferred over rounding options 08:34:02 i have a program fragment written on a piece of paper 08:34:05 > 2%4 -- not a literal 08:34:07 1 % 2 08:34:19 and i'm trying to figure out what language it is 08:35:43 i think it is ruby 08:36:16 while(z < 45/22)z++ 08:36:30 That seems like C 08:36:34 with no semicolon. 08:36:46 not ruby 08:37:23 it could be rubbish i found it abandoned on a desk 08:37:52 it would be valid awk inside braces 08:37:58 where 45/22 would be computed as double 08:37:59 is it printed or written by hand? 08:38:14 written by hand in purple pen 08:38:28 so missing a semicolon could just be a mistake 08:38:30 Purple pen... 08:38:33 probably significant 08:38:51 (it could be for printed code, too, but then it would be less likely) 08:38:52 light purple or dark purple? 08:39:06 like gel pen it is sparkly 08:40:10 for hand written things people often write mixture of correct code and short hands for whatever they mean mathematically 08:40:21 s/short hands/shorthand/ 08:40:42 whe problem is it doesn't make sense, why would you increment z while comparing it to a fraction 08:41:11 z could be floating point ? 08:41:11 it could be ++ doesn't mean increment in this case 08:42:06 45 / 22 is a tiny bit below 2 08:42:18 *above 08:42:35 so maybe they are a beginner and want <= 2 08:43:05 Maybe it is concievable for the value to be 1/22 and they want that to behave differently? 08:43:19 ohhh that makes sense 08:43:26 btw i checked that in pari/gp, "type(1/2)" returns "t_FRAC" 08:45:02 but it's still just the result of dividing 1 by 2, so it doesn't really seem to be a literal. (i might not know what i'm talking about) 08:45:17 If I wanted any value slightly above 2 I probably would not write 45/22. 21/10 or 201/100 would be more likely. 08:45:26 mhm... 08:46:04 but maybe I'm supposed to think that ;-) 08:46:08 it is possible that this is an empirically found value 08:46:39 like a value that happens to work for some task 08:48:23 welp maybe next time i'm there i'll scribble down some mysterious code and leave it 08:50:42 as it happens i have a sparkly gold pen 08:55:09 in whole foods (expensive supermarkets with organic food and such), i've noticed the bathroom stalls have inspirational quotes instead of the usual vulgar messages and drawings 08:55:16 if i had a decent phone i would have taken a picture 08:55:36 sorry, i meant inspirational quote grafitti written by customers 08:55:42 important info 08:56:23 things like "be the change you want to see in the world" -- ghandi 08:57:55 dim x as real: x=1; x-=x^2-2/2*x while i*i /= 2; 08:57:59 Taneb why are you traveling so much? 08:58:11 i will write that and leave in the same desk 08:58:15 Going on holiday, CakeMeat 08:58:20 Amaze 08:58:24 Dont die 08:58:34 The first quote must have been in 2009 at the latest... 08:58:58 No, I went to Heathrow a couple of years ago? 08:58:58 Good advice for anyone who goes 'round the world 09:00:05 oh i spelled gandhi wrong 09:00:30 ghandhy 09:00:41 gh and hy 09:00:56 I vaguely know someone called Gandy 09:01:27 he was the leader of the indian rebellion against the british 09:01:55 and then he was all pissed when the muslims and hindus could'nt get along afterwards 09:02:26 I know who Gandhi was 09:02:34 I also vaguely know someone called Gandy 09:02:40 what???? 09:02:41 Friend of a friend or something 09:03:39 i see... i have a friend named Teddy but gandy? 09:04:12 I don't really know the guy that well... 09:04:22 but then again obama is the president and mitt was almost president 09:04:32 so maybe i dunno what a weird name is 09:04:52 All names are weird. Then you get used to them. 09:05:03 In fact, Everything is weird. 09:06:48 Oh the Winslow! 09:07:40 right i mean my name is oren with an e and that is weird, but shachaf tells me that's a normal name in Israel 09:08:11 damn, i spelled graffiti wrong too 09:08:57 https://en.wikipedia.org/wiki/Oren 09:13:42 winslow? 09:14:38 I don't think https://en.wikipedia.org/wiki/Ören is related. 09:20:00 oren kaenbyou 09:22:20 well yeah it's also a japanese name like oren ishii from kill bill 09:23:36 your name just reminds me of rin. 09:27:17 -!- SopaXorzTaker has quit (Read error: Connection reset by peer). 09:41:05 oren: http://www.airshipentertainment.com/buckcomic.php?date=20080313 09:42:18 oren: a stuffed animal of the Foglio's kids, appears as a major plot element in Buck Godot (people worship it), and has numerous cameo appearances in their other comic(s), like yesterday: http://www.girlgeniusonline.com/comic.php?date=20141205 09:42:32 s/'s/s'/ 09:46:00 Is there a comprehensive list of webcomics that are popular here? Order of the Stick, Homestuck, Girl Genius... 09:46:38 super mega comics was, once upon a time 09:46:39 FSVO popular 09:47:11 GG may be just oerjan and I. 09:47:29 `pbflist 09:47:32 hmm 09:47:35 I thought that existed 09:47:42 well, for the best that it doesn't or I'd have pinged people 09:47:45 pbflist: shachaf Sgeo quintopia ion 09:47:45 `` echo 1 09:47:46 1 09:48:09 oops. 09:48:19 HackEgo: taking a nap? 09:48:29 well, there was probably a pbf since the last time anyone ran that. 09:48:41 Nope. 10:02:47 int-e : I also like girl genius. 10:09:34 -!- J_Arcane_ has joined. 10:09:47 -!- J_Arcane has quit (Ping timeout: 244 seconds). 10:09:59 -!- J_Arcane_ has changed nick to J_Arcane. 10:12:30 -!- MoALTz has joined. 10:13:52 -!- J_Arcane_ has joined. 10:15:00 -!- J_Arcane has quit (Ping timeout: 252 seconds). 10:15:03 -!- J_Arcane_ has changed nick to J_Arcane. 10:28:37 -!- Phantom_Hoover has joined. 10:54:51 -!- oerjan has joined. 10:55:58 well well well 10:56:03 if it isn't the big Ø 10:56:30 HELLO 10:58:54 The "big Ø" notation is very useful when talking about asymptotic complexity. 10:59:32 it means "you don't have a chance to understand how big this is" hth 11:00:31 -!- J_Arcane_ has joined. 11:00:56 -!- J_Arcane has quit (Ping timeout: 244 seconds). 11:01:11 -!- J_Arcane_ has changed nick to J_Arcane. 11:04:30 -!- J_Arcane_ has joined. 11:05:44 -!- J_Arcane has quit (Ping timeout: 240 seconds). 11:05:56 -!- J_Arcane_ has changed nick to J_Arcane. 11:15:14 oerjan: So apparently I was wrong after all and Lady Selnikov has merely released the Beast by accident. 11:15:37 Then again, appearances can be deceiving. 11:16:15 i am still not convinced she's not orchestrating this. 11:16:36 Now if this was the Baron finding her, she'd be revived in some vat in no time. 11:16:39 for one thing, if the monk was shot in the foot, how did he _witness_ these things? 11:16:40 But this is Agatha ... 11:17:44 Was he shot in the foot? mmm. 11:18:32 Ah, I suck at reading as usual. 11:18:37 although the alternative seems to be that he's _lying_ which also seems unlikely. unless there's mind control involved. 11:19:10 (I was distracted by the signs in the second panel. "It cannot die but is too stupid to..." 11:19:13 ) 11:19:49 worst case: lady selnikov is the Other and the monk is a revenant. 11:20:02 (possibly newly instated.) 11:20:12 In any case, he clearly did not see her *die*. 11:20:20 indeed. 11:20:32 Smoke and wreckage and the a corpse. Now where's the mirror... 11:20:39 *then 11:21:06 hm that _does_ make more sense. 11:21:58 he would presumably have had time to find her, and may have jumped to conclusions on the rest. 11:22:22 Is she a Smoke knight? If she's half as good as Violetta, all sorts of things could have happened. 11:22:57 int-e: the winslow can surely be distracting yeah :P 11:24:24 now i'm wondering if the train assassins were working for her and just pretending to try to kill her. 11:24:38 you make girl genius sound so exciting 11:24:47 yep hth 11:24:51 -!- CakeMeat has quit (Quit: Connection closed for inactivity). 11:25:08 let me know when the faces aren't horrifying 11:25:44 they're not hth :P 11:33:12 oh hum 11:33:28 * oerjan suddenly remember someone with the initials on that book. 11:33:57 *+s 11:35:20 well the first letter has never been revealed in story, but it's what you'd expect. 11:37:08 wait. http://girlgenius.wikia.com/wiki/Van_Rijn ... it's *that* book! 11:37:58 But then Agatha should recognize it immediately. 11:38:08 oh, the one from the circus! 11:39:05 i even remember rereading that strip a few days ago 11:39:36 agatha wondered how the muse had found it since it was in her [cut off] 11:40:37 damn. 9 years. http://www.girlgeniusonline.com/comic.php?date=20051003 11:41:18 oh that's not the strip i was remembering 11:43:30 and you were right about Anevka, she's merely a clone of van Rijn's designs. http://www.girlgeniusonline.com/comic.php?date=20051104 11:44:38 ah here it is http://www.girlgeniusonline.com/comic.php?date=20060106#.VILrwZUtBjo 11:45:04 (what _is_ with the #.* anchors on that site?) 11:47:47 Odd, I don't see those. 11:48:12 well it may have something to do with how i'm visiting it 11:48:17 -!- J_Arcane_ has joined. 11:49:44 -!- J_Arcane has quit (Ping timeout: 240 seconds). 11:49:57 -!- J_Arcane_ has changed nick to J_Arcane. 11:50:23 i see it even after following the one you linked. only the rwz part varies. 11:50:58 but it seems to change on each click. 11:54:46 strange. must be some sort of malware 11:55:01 (that *is* the easiest explanation ;-) ) 11:57:00 could some "transparent" proxy be adding those extra bits? 11:58:23 -!- J_Arcane_ has joined. 11:59:25 well i assume it's on the site. 11:59:35 perhaps some javascript. 12:00:01 -!- J_Arcane has quit (Ping timeout: 255 seconds). 12:00:02 -!- J_Arcane_ has changed nick to J_Arcane. 12:00:14 i think it started after that recent major redesign. 12:01:54 well I tried a fresh profile, and I still don't see anything like this. 12:02:06 you are using the < and > buttons, right? 12:02:56 -!- J_Arcane_ has joined. 12:04:14 oh, there we have something. 12:04:58 -!- J_Arcane has quit (Ping timeout: 255 seconds). 12:05:06 -!- J_Arcane_ has changed nick to J_Arcane. 12:05:57 mostly < and >, but also the story navigation menu 12:06:15 and it happens even when i go directly there from the address bar 12:06:59 yeah, I see it happening, I just wasn't patient enough... 12:09:18 some script from addthis.com does it. 12:10:58 I feel like I read GG too fast to get up-to-speed, because I can't say I remember all the characters and their names :\ 12:11:11 There's just so many characters 12:23:22 -!- AnotherTest has joined. 12:23:45 ah there it's gone. 12:24:54 FireFly: it's hard to keep up. 12:29:07 " Is there a comprehensive list of webcomics that are popular here?" ← `` ls bin/*list 12:29:14 (well, to some degree) 12:29:28 i'm pretty sure gg isn't there 12:30:11 fair 12:30:25 the *lists don't include comics that update semi-predictably. 12:30:42 I keep interpreting "GG" as "Gunnerkrigg ...Gourt". 12:30:51 And they're hard to decipher. It took me months to figure out the meaning of olist. 12:30:51 OGAY 12:31:51 (I would likely have done better if I were actually following OOTS) 12:32:36 now that's crazy talk 12:33:16 oerjan: well, imagine my impression of `olist ;-) 12:33:46 "okay, people notifying each other of random numbers ... well, maybe I'll figure it out some day." 12:34:29 0147 12:35:44 FireFly: GK is a good comic, too, but there's a lot less of plot to discuss. 12:36:27 good, good 12:36:53 Good to know 12:37:04 gunnerkrigg kourt? 12:37:07 I blame fizzie 12:37:22 Just continuing oerjan's "OGAY". 12:37:36 At least that's the excuse I'll stick to now. 12:42:30 http://bellard.org/bpg/ neat 12:44:05 that's a pretty sticky excuse. do you need help getting off? 12:44:49 * oerjan realizes what he just says 12:44:53 *said 12:45:01 WHAT IS HAPPENING TO MY TENSES 12:45:31 -!- J_Arcane_ has joined. 12:45:55 -!- J_Arcane has quit (Ping timeout: 255 seconds). 12:45:56 -!- J_Arcane_ has changed nick to J_Arcane. 12:47:07 imo order of the scow 12:49:00 FireFly: i find a completely unstyled web page with no date on it slightly disturbing. how do i know whether this is the newest thing or from 1995? 12:49:39 ...well i suppose javascript couldn't usefully do this back then. 12:49:42 -!- J_Arcane_ has joined. 12:49:44 but still. 12:49:55 I agree about that 12:50:10 The spec linked under "Technical information" at least contains a year 12:50:11 oerjan: check the last-modified header hth 12:50:40 *sigh* is it possible to find that in IE... 12:50:50 -!- J_Arcane has quit (Ping timeout: 252 seconds). 12:50:52 -!- J_Arcane_ has changed nick to J_Arcane. 12:50:57 And following the link to the wikipedia article on HEVC informs me it's from 2013 12:51:00 ag tgere 12:51:00 hmm, that was almost too helpful to follow with "hth" 12:51:03 *ah there 12:51:13 shachaf: you've got a point 12:51:22 whoa, your browser shows you the last-modified header? how? 12:51:33 12.06.2014 12:52:06 shachaf: under "properties"? 12:52:33 whoa 12:52:38 (actually "Egenskaper", but i am guessing that's what it's in english) 12:52:40 maybe i should switch to ie 12:53:22 * oerjan is not exactly sure when shachaf started being sarcastic there 12:53:50 . o O ( one of those doesn't fit... http://int-e.eu/~bf3/tmp/comics.png ) 12:54:12 It's a good feature and I think it would be nice if my browser had it. 12:54:17 the no date point applies to papers too, IME. 12:54:25 I don't use Windows so switching to IE would be way too much work to be worth it. 12:54:35 Yes. I like papers with dates on them. 12:54:38 Arguably even more, since they tend to always follow the same style conventions 12:55:05 I guess if it seems they're using something pre-LaTeX for rendering mathematical expressions, that's an indication that this might be a tad too old 12:56:33 shachaf: Firefox seems to show it under 'view page info' 12:57:08 Chromium doesn't. 12:59:03 int-e: is it the "On the cleverness of compilers"? 12:59:10 *CC 12:59:12 oerjan: yes. 12:59:21 yay 12:59:21 -!- J_Arcane_ has joined. 12:59:35 the "Untitled Document" is http://faith.rydia.net/episode1/page20.html 13:00:21 whoa, i have a different page with the same title 13:00:51 shocking 13:01:04 whoa, Word 97 was so good 13:01:10 such a good program 13:01:13 -!- J_Arcane has quit (Ping timeout: 255 seconds). 13:01:16 -!- J_Arcane_ has changed nick to J_Arcane. 13:01:49 much edit 13:02:46 My bookmarks are write-only. 13:04:09 My bookmarking strategy is this: I open tabs with things I want to get to. I never get to them. Eventually I have so many tabs that my browser gets slow, or they don't fit (or my browser crashes and loses them all). I put them all in a bookmark folder and never look at it again. 13:04:19 That sounds like a huge time-saver. 13:04:43 i recall bookmarking in that way back in the early 2000s 13:04:53 (except there were no tabs) 13:05:10 shachaf: you can skip the step where you save the bookmarks 13:05:30 Excel 2000 was the shit. http://youtu.be/UO4DvM9KUyM 13:05:35 int-e: Hence "write-only". 13:05:41 when i quit university i got it all saved to a cd but i doubts it's still readable 13:05:47 (I do. Very rarely that leads to a session of finding something interesting in the browser history.) 13:05:47 * oerjan has never tried. 13:06:07 *doubt 13:06:13 TENSES, I SAID 13:06:18 or persons, technically 13:06:25 oerjan: even if the CD works, many of the links won't :) 13:06:25 int-e: Oh, I also do all browsing in "incognito mode". 13:06:31 shachaf: Ah. 13:06:32 -!- Patashu has joined. 13:06:38 Except for things that I want to save for later. Those become tabs in the regular browser window. 13:06:58 I need to work on my paranoia :P 13:07:06 ion: whiona 13:07:19 -!- shikhout has joined. 13:07:23 There's no paranoia benefit here. My traffic still gets logged. 13:07:36 I just don't like purple links, or something. 13:09:11 * oerjan hates sites that _thwart_ his ability to see whether links are visited. 13:09:20 -!- J_Arcane_ has joined. 13:09:28 either by styling, or by having stupid redirection. 13:09:49 i'm looking at you, blogspot 13:10:45 -!- J_Arcane has quit (Ping timeout: 240 seconds). 13:10:53 -!- shikhin has quit (Ping timeout: 264 seconds). 13:10:59 although i guess it's stupid of IE not to log both the pre- and post-redirection url 13:10:59 -!- J_Arcane_ has changed nick to J_Arcane. 13:11:08 -!- Patashu has quit (Ping timeout: 265 seconds). 13:11:12 i dunno what other browsers do, of course 13:12:18 but an ideal browser should (1) log both post- and pre-redirection (2) have some kind of these-urls-are-equivalent database (3) refuse to use the same styling for visited and unvisited links 13:14:06 -!- J_Arcane_ has joined. 13:15:19 a:visited { text-decoration: blink } 13:15:24 and i also wish reddit had a view setting that was simply "reverse posting order" 13:15:35 -!- J_Arcane has quit (Ping timeout: 258 seconds). 13:15:45 -!- J_Arcane_ has changed nick to J_Arcane. 13:16:14 (iirc "new" browsing only shows the very last new posts) 13:16:25 The best web sites make links look identical to paragraph text. 13:16:50 the best web sites for hunting down and killing, i take 13:16:53 oerjan: but then it would start out as "dinnareadit, dinnareadit, ..." instead of "reddit, reddit, reddit..." 13:17:07 int-e: O KAY 13:18:22 oh and for reddit _comments_, i occasionally have wished that the slightly better new order there looked at the newest undeleted post in the subthread rather than its top ancestor 13:19:03 because my entire use case for "new" in reddit comments is to find new comments in old threads 13:20:58 mind you these days i somehow barely manage to keep up with r/haskell, much less the larger subreddits i used to follow. 13:26:27 argh anarchy golf won't load 13:27:13 which leads me to another feature i'd want: if the site doesn't reload, i'd like it to keep showing me the old version of the page 13:27:52 because like, the last thing i do before reloading that page was take note of the last thing i'd seen 13:27:58 *did 13:28:24 well it worked second time 13:30:20 -!- copumpkin has joined. 13:32:53 I never got into slashdot, and I didn't get into reddit. Instead I'm annoyed when people link to reddit instead of the original articles. 13:34:02 * oerjan glares at int-e 13:34:35 but without the reddit link, how will you know why the original article is bullshit! 13:34:49 I'll use my own judgement? 13:35:03 sounds brittle to me 13:35:13 I know that's a dying concept. 13:35:57 (also sometimes the reddit link tells you relevant information without which you cannot make a sensible judgement.) 13:36:32 i guess, sometimes the reddit discussion is more interesting than the original link. i certainly don't always click on the latter. 13:37:12 -!- cluid has joined. 13:38:57 https://xkcd.com/386/ I guess that's the reason why I avoid reddit. 13:39:17 Or one reason, at least. 13:46:01 i have an alias in my bashrc of pulseaudiodieinafire <-- i note it's longer than what it expands to. might still be faster to type i guess 13:48:20 `addquote at one point I'm pretty sure I fixed a sound problem with "apt-get remove pulseaudio" and it wasn't even installed 13:49:11 1224) at one point I'm pretty sure I fixed a sound problem with "apt-get remove pulseaudio" and it wasn't even installed 13:49:29 `echo hi 13:49:32 hi 13:49:38 -!- GeekDude has joined. 14:01:30 -!- boily has joined. 14:03:36 bod ettermilygdag 14:07:15 * boily does inarticulate chewbacca cries 14:07:32 (bon matœrjan) 14:08:23 oerjan : pulseaudiodieinafire is easy to type hth 14:08:50 especially when you're angry i assume 14:10:22 -!- MoALTz_ has joined. 14:11:44 indeed it is hard to remeber space when youre angry 14:11:59 good morening. 14:12:21 ohayou gozaimasu 14:13:49 -!- MoALTz has quit (Ping timeout: 260 seconds). 14:14:41 o hai yourself 14:14:47 hi 14:15:00 chellouid. 14:15:11 now i'm wondering if that inspired the lolcat thing 14:16:00 boily: what an egregious smipeeling of celluloid tdnh 14:16:03 -!- hjulle has quit (Ping timeout: 264 seconds). 14:16:30 or possibly cthulhuoid 14:16:59 cluid is difficult to hello. let's check the official version... 14:17:06 `ello cluid 14:17:08 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ello: not found 14:17:11 ... 14:17:13 what is the problem that pulseaudio is supposed to solve anyway... 14:17:15 wat 14:17:40 it multiplexes audio between several apps 14:17:50 int-e: it's kinda like jack, but not? 14:18:12 and it is supported by ubuntu for whatever reason 14:18:35 oerjan: mmm. http://codu.org/projects/hackbot/fshg/index.cgi/rev/cd658f881a6a 14:18:35 int-e: e.g., application-level volume contro 14:18:38 *control 14:18:49 and network audio 14:19:12 ah, network audio is important. not. 14:19:16 boily: stealth sabotage by elliotts, i see 14:19:30 not to you 14:19:51 also EQing 14:20:07 changing output device on the fly 14:20:30 int-e: I WAS LOOKING UP THAT 14:20:41 -!- Phantom_Hoover has quit (Remote host closed the connection). 14:20:47 anyway I can't remember the last time I heard someone actually having problems with pulseaudio as opposed to just remembering having a bunch of problems with it, to be honest 14:21:14 -!- oerjan has set topic: Beware of int-e's evil twin oerjan | Beware of ricocheting jokes | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/. 14:21:32 `? ørjan 14:21:37 elliott: Well, I uninstalled the thing, so all my pulseaudio troubles are in the past, for now. 14:21:40 ​Ørjan is oerjan's good twin. He's banned in the IRC RFC for being an invalid character. Sometimes he publishes papers. 14:21:43 did anyone fix the k-on fuck page 14:21:49 cluid: fix how 14:21:59 i explained earlier 14:22:26 elliott: But I do remember what the problem was: about a second of delay between stopping a movie and the audio stopping, in xine, and a matching delay on restarting the movie. 14:22:35 cluid: in that case, i missed it 14:22:47 xine @_@ 14:23:25 I use it for playing DVDs *shrugs8 14:23:46 mplayer masterrace! 14:23:48 nope, not finding your explanation 14:23:51 otherwise it's usually mplayer these days. 14:25:06 -!- S1 has joined. 14:25:20 -!- AnotherTest has quit (Ping timeout: 244 seconds). 14:26:53 -!- mitchs has joined. 14:28:58 -!- mitchs_ has quit (Ping timeout: 255 seconds). 14:35:42 i have problems with pulseaudio still. mostly to do with too many volume controls. 14:37:35 why do you need an application volume control when the applications already provide one? 14:38:13 they don't, necessarily. 14:38:27 and they shouldn't have to (why should every program implement its own redundant audio functionality?) 14:39:05 And sometimes the application volume control == the pulseaudio one, if it's a pulse-native thing. 14:39:25 -!- S1 has quit (Quit: S1). 14:39:37 Though I can't think of an example offhand. 14:42:21 well I use vlc to play everything, and when pulseaudio is installed there are then three volume controls 14:42:25 -!- atslash has joined. 14:44:15 and besides i have a physical volume conrol on my headphones 14:44:50 this sounds like the worst reason to killall pulseaudio 14:45:09 why do nerds love complaining so much 14:45:13 it is a usability problem 14:45:40 there should be only one volume control or failing in that two 14:45:53 not four 14:45:55 You can remove the (useless) VLC volume control with "Tools/Customize interface", and you don't have to ever touch or even see the PA per-application volume control for VLC (if that's all you ever use). 14:46:11 you were just advocating for application-specific volume control, i.e. volume control proliferation 14:46:46 I mean I just don't think this state of affairs actually causes you any hardship but whatever. now I'm "enjoying" complaining about complaining 14:47:48 it is an annoyance... so i pkill -9 pulseaudio to reset its volume 14:48:14 Do you also rip off the power cable to shut down your computer? 14:49:19 i wish i could 14:49:31 on msdos you can 14:50:02 or just hit the power switch 14:50:32 there is no reason why these interfaces have to be so complicated 14:51:02 elliott: Re the cost function, it was too silly to explain, sorry. 14:52:20 anyway it is easier to kill pulseaudio than figure out which volume control is turned down or up. 14:53:29 kill first, ask questions later-- a good policy in life 14:53:33 -!- J_Arcane_ has joined. 14:54:23 fizzie: i assume it was a quantum cost 14:54:37 or as they say in italian, quanta costa 14:55:00 -!- J_Arcane has quit (Ping timeout: 244 seconds). 14:55:13 -!- J_Arcane_ has changed nick to J_Arcane. 14:55:17 *quanto 14:56:18 I feel like I'm missing a joke here. 14:56:45 at least. 14:57:29 (quanto costa is like one of the obvious tourist italian expressions) 14:57:38 cuanta costa means how much does this cost in spanish 14:58:45 cuánto cuesta says wiktionary 14:59:12 oerjan: btw I hope you're not trying to imply that you're the good twin. you're evil, too :) 14:59:16 -!- nys has joined. 14:59:19 * int-e thinks 14:59:35 I know I cannot read but why do I have to keep demonstrating it... 14:59:41 I DUNNO 15:47:57 -!- J_Arcane_ has joined. 15:49:45 -!- J_Arcane has quit (Ping timeout: 240 seconds). 15:49:52 -!- J_Arcane_ has changed nick to J_Arcane. 15:53:36 -!- J_Arcane_ has joined. 15:54:55 -!- J_Arcane has quit (Ping timeout: 255 seconds). 15:55:01 -!- J_Arcane_ has changed nick to J_Arcane. 15:57:37 -!- J_Arcane_ has joined. 15:58:09 -!- drdanmaku has joined. 16:00:02 -!- J_Arcane has quit (Ping timeout: 258 seconds). 16:00:02 -!- J_Arcane_ has changed nick to J_Arcane. 16:00:56 -!- boily has quit (Quit: INTERPUNCT CHICKEN). 16:03:24 Fractran is so cool 16:03:39 did you see the self interpreter that someone wrote? 16:03:43 they made up a whole new notation for it 16:05:02 pretty sure i have once 16:07:18 -!- J_Arcane_ has joined. 16:07:31 a kind of highr level fractran 16:09:39 -!- oren has quit (Quit: going to school). 16:09:57 -!- J_Arcane has quit (Ping timeout: 252 seconds). 16:09:58 -!- J_Arcane_ has changed nick to J_Arcane. 16:27:25 -!- oerjan has quit (Quit: leaving). 16:33:57 im impressed that someone managed to program that 16:34:06 what other fractran programs are there people have written? 16:34:12 I saw the prime sieve but i dont know how even that work 16:43:00 -!- nys has quit (Quit: quit). 16:49:25 -!- cluid has quit (Quit: Leaving). 17:30:47 -!- password2 has joined. 17:31:06 -!- oren has joined. 17:31:13 -!- Sprocklem has quit (Ping timeout: 272 seconds). 17:36:19 -!- shikhout has changed nick to shikhin. 17:38:51 -!- password2 has quit (Ping timeout: 264 seconds). 17:39:29 what character for right shift and left shift? 17:39:59 maybe unicode » and « 17:41:52 or maybe just one character, using negative numbers for the other shift 17:46:23 i'd prefer to keep everything ascii 17:46:30 I don't think « and » are very good, semantically. There's always ≪ and ≫ but possibly they aren't very good either. 17:46:34 oren: no, ≪ and ≫ I believe 17:46:40 And they're more obscure as far as characters go. 17:46:53 fizzie: doesn't Knuth use ≪ in volume 4? 17:47:45 For shift, you mean? I wouldn't know, I haven't read any of the Volume 4 stuff. 17:47:48 I kind of like those characters 17:47:51 yes, for shift 17:48:06 `unicode ≪ 17:48:09 But they do already have a mathematical meaning. Still. 17:48:12 U+226A MUCH LESS-THAN \ UTF-8: e2 89 aa UTF-16BE: 226a Decimal: ≪ \ ≪ \ Category: Sm (Symbol, Math) \ Bidi: ON (Other Neutrals) \ Character is mirrored 17:48:20 `unicode ≫ 17:48:22 U+226B MUCH GREATER-THAN \ UTF-8: e2 89 ab UTF-16BE: 226b Decimal: ≫ \ ≫ \ Category: Sm (Symbol, Math) \ Bidi: ON (Other Neutrals) \ Character is mirrored 17:48:24 hmm i think better to use one chracter for both shifts 17:48:36 oh wait 17:48:38 nvm 17:48:43 those are doublewidth, aren't they? 17:48:48 and just not rendering right in my terminal 17:49:34 or at any rate, I'm supposed to see two arrows, right? 17:49:34 how about capital K 17:49:39 I don't think they're in any official sense doublewidth. 17:49:52 ok, yeah, it's just awful font 17:50:00 `unicode « 17:50:02 U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK \ UTF-8: c2 ab UTF-16BE: 00ab Decimal: « \ « \ Category: Pi (Punctuation, Initial quote) \ Bidi: ON (Other Neutrals) \ Character is mirrored 17:50:45 alternative suggestion: 《 and 》 17:50:53 (these suggestions are even worse. don't use them) 17:51:02 a ⋘ b → a ≪ b. 17:51:11 `unicode ⋘ 17:51:13 U+22D8 VERY MUCH LESS-THAN \ UTF-8: e2 8b 98 UTF-16BE: 22d8 Decimal: ⋘ \ ⋘ \ Category: Sm (Symbol, Math) \ Bidi: ON (Other Neutrals) \ Character is mirrored 17:51:13 hrm 17:51:20 `unicode 《 17:51:23 U+300A LEFT DOUBLE ANGLE BRACKET \ UTF-8: e3 80 8a UTF-16BE: 300a Decimal: 《 \ 《 \ Category: Ps (Punctuation, Open) \ Bidi: ON (Other Neutrals) \ Character is mirrored 17:51:27 interesting that *that* renders as doublewidth on my terminal 17:51:51 I feel like ⋖ and ⋗ would be good bit-shift characters 17:51:51 it is used in chinese for some quotes i think 17:52:04 -!- password2 has joined. 17:52:46 a ⋚ b. 17:53:23 ("LESS-THAN EQUAL TO OR GREATER-THAN") 17:54:11 I think i will just use K for now, and add super special unicode chars in another version (scrip8?) 17:54:29 the 8 stands for utf-8 17:54:41 Also, a = b → a ≸ b. 17:55:05 whereas scrip7 will be limited to 7-bit ascii 17:56:35 `unicode ≸ 17:56:38 U+2278 NEITHER LESS-THAN NOR GREATER-THAN \ UTF-8: e2 89 b8 UTF-16BE: 2278 Decimal: ≸ \ ≸ \ Category: Sm (Symbol, Math) \ Bidi: ON (Other Neutrals) \ Character is mirrored \ Decomposition: 2276 0338 17:57:07 oren: I'm waiting for scripEBDIC 17:58:01 i have another idea for a language with its own code page but i will wait for chrismas break to make it 17:58:19 it willuse all 256 bytes for printing chars 18:04:48 also-- an esoteric markup language 18:16:53 -!- nys has joined. 18:25:11 -!- Sgeo_ has quit (Read error: Connection reset by peer). 18:28:01 -!- CrazyM4n has joined. 18:36:17 -!- atslash has quit (Read error: Connection reset by peer). 18:39:10 -!- password2 has quit (Read error: Connection reset by peer). 18:40:24 fizzie: I've never gotten why those characters exist... 18:42:09 -!- atslash has joined. 18:42:17 'those characters' being ⋚ and such 18:42:20 Perhaps just for consistency 18:42:41 Someone gave me a plausible explanation, but I've forgotten it already. 18:42:42 FireFly: "comparable", in a partial ordering? 18:43:15 I was thinking about that, but I think the plausible thing I heard of had something to do with why both ⋚ and ⋛ are needed. 18:44:24 If putting one thing above another is read as "or", I'd expect them to mean the same thing. 18:44:56 Then again, there's both ± and ∓ 18:44:57 There's also things like ≨ which I guess is just < except it's more explicit about the ≠ part. 18:45:38 I've seen ± and ∓ used in some sort of a case where "a ± b ∓ c" means "a + b - c or a - b + c". 18:48:07 I guess you could extend that interpretation to make "a ⋚ b → b ⋛ a" say "a < b → b > a; a = b → b = a; a > b → b < a" on one line, but it doesn't seem very useful in general. 18:48:38 Right. 18:55:16 -!- MDream has joined. 18:55:36 Guess I'll make the dolphin thread after lunch if someone else hasn't. 18:55:42 https://lainchan.org/r/res/5364.html Also, this spam. 18:55:45 -!- MDream has changed nick to MDude. 18:56:01 I was kind fo hoping it'd be a crudly edited mod of Toontown. 18:56:45 [wiki] [[Ttml]] N http://esolangs.org/w/index.php?oldid=41376 * Orenwatson * (+2222) created page and chart of controls. 18:58:07 hay luk guise i made an awful thing! 19:00:05 that's fantastic 19:01:31 you can use this instead of boring old TeX 19:01:50 and make your paper look likeit was made in 1948 19:01:55 haha 19:02:02 is there an interpreter for it already? 19:02:11 /compiler 19:02:11 no but i am working on it 19:02:13 cool 19:02:22 it will make jpega 19:02:27 *jpegs 19:02:37 one for each page 19:03:23 you can make subscripts/superscripts by moving down a half-line like in the old days 19:03:35 do you have an example 1948 paper? 19:04:03 no but my father has some from 1957 in the soviet union 19:04:12 cool 19:04:21 they have aleph written in by hand with a pen 19:04:37 that would be cool to see 19:05:06 anyway so i thought, what if i were to hand in an assignment wirtten like that? 19:05:29 -!- Sgeo has joined. 19:05:32 they would be freaked, out 19:06:02 I would find ⋚ with a big slash through it useful. 19:06:12 How do you indicate that things aren't comparable? 19:06:38 not with a giant scribble 19:07:26 -!- shikhout has joined. 19:08:15 it appeard from wiki that you use // 19:09:37 but maybe that's because they got tired of scribbling 19:10:45 -!- shikhin has quit (Ping timeout: 265 seconds). 19:11:03 ⋚ 19:12:44 `unicode ⋚̸ 19:12:57 U+22DA LESS-THAN EQUAL TO OR GREATER-THAN \ UTF-8: e2 8b 9a UTF-16BE: 22da Decimal: ⋚ \ ⋚ \ Category: Sm (Symbol, Math) \ Bidi: ON (Other Neutrals) \ Character is mirrored \ \ U+0338 COMBINING LONG SOLIDUS OVERLAY \ UTF-8: cc b8 UTF-16BE: 0338 Decimal: ̸ \ ̸ \ Category: Mn (Mark, Non-Spacing) \ Bidi: NSM (Non-Spacing Mark) \ Com 19:13:42 ⋚̷ 19:14:10 You've broken XChat by posting that 19:14:22 I can now make multiple text selections somehow 19:14:34 lolololol 19:15:03 so yeah there is the scribble character 19:17:07 Anyway i will eventually post an implementation of TTML 19:17:52 Remember that fungeiod IDE I was making 19:17:59 yeah? 19:18:01 You can now scroll (wow) 19:18:12 awsome. scrolling is important 19:18:17 Mhm 19:18:45 Well, you can go up and down 19:19:12 next you should make the cursor able to move in any direction. e.g. so that you can write 'a' and then the cursor will be below it 19:19:27 or behind it or above it 19:19:42 What I'm doing 19:19:51 is if you write, < for example 19:20:31 The cursor will go to the left 19:20:49 ^ will make it go up 19:20:57 v will make it go down 19:21:27 For now I'm coding it with respect to my own fungeoid 19:21:32 But I will add profiles 19:22:18 I could possibly make this my first legit program 19:22:31 I just have to set up github 19:22:35 er, git 19:22:41 awsome, legit. 19:22:47 Which I don't know how to do 19:22:58 i usually use svn can't help you there 19:23:05 git is confusing as hell 19:23:14 I usually use the GUI application on windows :/ 19:23:44 I know how to use gists.... I guess I'll just do that, hah 19:24:20 https://gist.github.com/CrazyM4n/d02380667be743be1310 19:24:36 It's not much yet, but it's getting there 19:26:42 hmm. if it helps i can post my ncurses spreadsheet program 19:27:00 it is very bad still becuase i stopped working on it 19:27:16 No, I've wanted to learn ncurses for a long time 19:27:24 This is a good learning experience 19:27:37 Well, I would look at it if you posted it though 19:28:36 │ | 1310 │ mitchs 19:28:42 sorry, my bad 19:28:48 lol 19:30:11 http://pastebin.com/cN3e35J9 this is (iirc) the only file in it that uses ncurses 19:30:44 it shows how to get control and alt characters 19:31:12 That'll be useful 19:31:21 basically control characters are c-'@' and alt is char 27 followed by the character 19:31:24 So, uh, I broke something on a giant scale 19:31:40 hmm? 19:32:00 I don't even know, try running the script 19:32:03 brb 19:33:23 duuude no tabs in python... bad! 19:34:13 change your tabs into spaces 19:35:33 actually the tabs aren't even being pasted when i copy it 19:35:55 Huh 19:36:09 I'll change them to spaces, but I personally have no opinion on the matter 19:36:20 https://gist.githubusercontent.com/CrazyM4n/d02380667be743be1310/raw/5f0759d39f34749afcd77ffdfe6d986d11ae80bf/ide.py 19:36:31 Copy from there 19:37:03 What have I done http://i.imgur.com/U9q1zA6.png 19:38:34 the cursor doesn't move when i type but other than that seems ok 19:38:57 except when i move cursor off scrren it does not scroll 19:39:39 it instead throws an exception 19:39:41 Wait why did I say all that in the wrong channel. 19:39:46 Really? For me it does a TON of other stuff 19:40:59 I get it now... 19:41:06 For whatever reason 19:41:41 The cursor goes in the correct direction, but when I type, it goes to a spot as if all of my cursor movements were rotated 19:44:58 it doesn't do taht for me 19:45:07 If I swap the coordinates in the addch call, it works, but if it doesn't do that for you... 19:45:11 What OS are you on? 19:45:17 linux 19:45:20 xubuntu 19:45:20 terminal? 19:45:29 xfce4-terminal 19:46:15 i dunno, all the coords in ncurses are y,x. 19:46:26 I'm on lubuntu and it happens to me under both terminator and lxterm 19:46:44 Yeah, but the coords come straight out of getyx 19:47:06 that is the coords are y,x in getyx too 19:47:12 Yes 19:48:34 Bug report time? 19:49:13 Xubuntu++ 19:49:21 plus plus? 19:49:31 I like Xubuntu 19:49:46 I would probably be using it right now, if I weren't using Windows 19:50:10 "++" from my experience is slang for "is awesome" 19:50:17 kinda based on things like C++ 19:50:18 C++ = awesome C? 19:50:31 C++ = pathetic, bloated C. 19:50:49 CrazyM4n: not in particular 19:50:49 Notepad++ = pathetic, bloated notepad? 19:50:57 Notepad++ is pretty awesome 19:51:03 but C++ should not be used in the same purpose as C 19:51:08 no way 19:52:00 all c++ programmers should just write rust 19:53:00 note that earlier versions of C++ were decent. it only got bad recently 19:53:11 :D 19:53:58 Can I make the cursor not move when I call addstr? 19:54:13 yes. use noecho 19:54:21 Already did 19:54:26 CrazyM4n: do you know termbox? 19:54:26 That's what wrapper() does 19:54:46 No, but now I do 19:54:54 okay 19:55:41 uh, use mvprint? 19:55:46 one thing i find interesting about it is the easyness of porting 19:55:46 or mvaddstr 19:56:00 It's... weird seeing a commercial for lego minecraft 19:56:02 yeah, mvaddstr should work 19:56:07 A game I saw in development 19:56:24 and get chars with mvgetch 19:56:35 (Well, I saw it before The End was added, and the commercial referenced The End) 19:57:06 minecraft people should grow some guts and go play dwarf fortress 19:57:19 +1 dorfortress 19:57:26 Well, I found the problem 19:57:37 addch uses x, y coordinates instead of y, x 19:57:44 :D 19:58:10 wtf??? why python has to mess that up? 19:58:18 it isn't like that in C 19:58:24 i really love terminal applications, but ncurses is a pain in the ass to write imo 19:58:33 not in C it isnt 19:58:42 I just got rid of the coord arguments 19:58:47 It's listed as y, x in the docs 19:58:51 But it doesn't work like that 19:59:06 So I just am letting it put the char at the cursor (which is what I want, anyway) 19:59:33 CrazyM4n: what are you going to write? 19:59:44 Writing a fungeoid IDE 19:59:49 ah 20:00:20 honestly i love python but some of its libraries are messed up 20:00:33 Just kidding, it doesn't work now 20:00:41 Now, it literally just doesn't do anything 20:02:02 myname: there are alternatives to ncurses though 20:02:12 termbox is the one i know 20:02:16 what else is there? 20:02:21 libtickit is the one I know of 20:03:00 i have done stuff by outputting ansi sequences 20:03:09 that is a viable alternative 20:03:22 That is essentially what libtickit abstracts 20:03:40 and all these libraries 20:03:50 okay, termbox cannot handle mouse 20:03:53 Well, most of them seem to not pare ansi sequences sanely 20:03:56 parse* 20:04:01 it's not that much of a drawback imho 20:04:31 most terminals you mean? 20:04:43 e.g. vim doesn't--it barfs if you feed it valid escape sequences that it just happens to not be familiar with (yet follows the grammar of escape sequences defined by ECMA-35 20:04:45 ) 20:05:21 oren: no, I mostly mean the application side of things, though I guess both are problematic 20:05:24 why would an editor need to parse them? 20:06:04 i am talking about stuff like printf("\33[45m"); 20:06:09 Because special keystrokes such as ctrl+enter, delete, F1 and stuff are encoded an escape sequecnes? 20:06:10 tickit doesn't look any smaller than ncurses 20:06:10 sequences* 20:06:13 Is Rust a good language for implementing esolangs? 20:06:24 s/is/will it be/ 20:06:42 Sgeo: i don't see why it wouldn't 20:06:58 you will have pattern matching 20:07:02 what else do you ened 20:07:18 oh i see. yeah i have also done that. you can parse them yourself with some ad-hoc code 20:07:28 whichever ones you need 20:08:09 Well, I found the python ncurses source 20:08:10 Wish me luck 20:08:39 I'd prefer if vim said something like "unsupported escape sequence" or just silently ignored it, rather than treating it as "Esc" "[" "35" "u" or whatever, causing all sorts of annoyingness 20:08:43 good luck1 20:09:22 hmm my editor appears to ignore anything weird 20:09:28 mcedit 20:11:26 maybe TTML should support the upper control characters (C1)? 20:12:00 Of the python module is just interfacing with _curses, which is a .so file 20:12:31 so the bugs are probably easily fixable 20:12:51 addch() is in that .so file 20:13:08 e.g. someone borked the argument order in the interface 20:13:46 the curses module doesn't even have the interface 20:14:08 huh? 20:14:14 The whole interface is a couple of initialized variables and an import _curses 20:14:38 uh... ok i have no idea how that works 20:15:01 i use C or pyhton i've never used both in one program 20:15:42 where did the .so come from? 20:16:23 It's most likely a compiled C thingy 20:16:37 It's probably just curses 20:16:56 As in, the C library 20:17:34 It can't be, it's only 93 kb 20:18:23 Welp, I guess it's safe to say that it's probably time to reinstall python unless someone wants to give me their _curses.cpython-34m-x86_64-linux-gnu.so file 20:19:24 http://svn.python.org/projects/python/trunk/Modules/_cursesmodule.c btw 20:22:39 -!- GeekDude has quit (Ping timeout: 250 seconds). 20:24:57 -!- CakeMeat has joined. 20:27:41 -!- GeekDude has joined. 20:27:52 -!- GeekDude has quit (Changing host). 20:27:52 -!- GeekDude has joined. 20:28:08 Huh, apparently the C code in _cursesmodule.c is all correct 20:28:12 Where could the error be then? 20:28:46 [wiki] [[Ttml]] M http://esolangs.org/w/index.php?diff=41377&oldid=41376 * Orenwatson * (+140) 20:36:14 -!- b_jonas has quit (Ping timeout: 250 seconds). 20:38:22 Still doing curses CrazyM4n 20:38:44 Yes 20:38:56 I found out that my python install was probably broken 20:39:23 Reinstall 20:39:33 Also ive had the same problem before 20:39:58 One of the files was corrupted so idk if thats fixed or not 20:40:16 Must go charge 20:42:59 -!- b_jonas has joined. 20:54:30 Okay, I'm so confused 20:54:45 All I need is someone to run https://gist.githubusercontent.com/CrazyM4n/d02380667be743be1310/raw/cb4de1cb60ddd68493a8f2354c5e1a33ccd6528c/ide.py and tell me what it does for them 20:54:49 But nobody will D: 20:57:42 i'll do it hold on 1 sec 20:58:06 Thanks 20:58:11 yeah, I can do it, oo. once I install python on this computer... 20:58:16 s/oo/too/ 20:58:28 You have to push an arrow key to get output 20:59:48 it goes to the space i want, then when i write a char it goes back to the position 4,3. 21:00:02 then when i move again it goes back where i was 21:00:23 Where does it put the F? 21:00:26 *f 21:01:00 line 4, column 2 21:01:09 (1 based index) 21:01:21 Just like that, I give up 21:01:41 write in C 21:01:56 I want to use python 21:02:01 But I might be forced to use C 21:02:17 write i c, write in c, write in c, oh write in c, don't even mention cobol, write in c 21:02:35 oh come on, C is classic. C is an ever-faithful servant 21:02:51 who does exactly as she's told 21:02:52 I just need to test my ncurses 21:02:54 myname: YES. https://www.youtube.com/watch?v=H4YRPdRXKFs 21:04:35 -!- S1 has joined. 21:04:47 whereas C++ is a fat man in meido-fuku. 21:04:58 it just isn't the same 21:05:22 OK, the C implementation works 21:05:36 so... I guess python curses is absolutely broken 21:10:43 http://bugs.python.org/issue21088 praise the lords it's fixed 21:11:06 oren: what is the output of python -v 21:11:52 2.7.6 21:12:32 That makes sense, this bug only affects 3.4.0 21:12:38 Which is what I'm running 21:12:43 ah, python 21:12:50 python 3 sucks 21:12:59 that language where you can choose between buggy and deprecated 21:13:07 python 2 forever 21:13:29 nah 21:13:33 i and b tags are deprecated too, so what? 21:13:48 heh 21:14:02 I just chose python because it's easier to install on windows than ruby 21:14:15 i like ruby as a language way more than python 21:14:25 but the libraries around it are horrible 21:14:29 Me too, shame it's so much slower 21:14:39 ruby is cool but can't handle unicode worth a damn and its slow 21:14:42 The libraries are rather good imho, they just don't work on windows 21:15:47 they just don't work on 1.9+ 21:15:57 at least not after the next update 21:16:05 C90 will be good to us forever 21:16:08 because hey, fuck api stability 21:17:12 yeah. like i'mma change scrip7 so all the literals are different. fuck stability, safety and shit. 21:17:31 that is ok for an esolang but srsly Ruby? 21:17:56 Ruby is just the crappy sequel to Perl 21:18:01 But I love both of those languages 21:18:04 So it's k 21:18:05 nah 21:18:15 ruby is 110% syntax sugar 21:18:15 Perl 6 is the crappy sequel to Perl 21:18:17 i like that part 21:18:27 We don't talk about Perl 6 21:18:42 because it literally will never take off 21:18:48 it is DOA 21:19:05 We don't need new perl imho 21:19:20 We already have old perl and it's good enough :P 21:19:48 exactly. my dad has cgi scripts that he wrote in 1995 and still work 21:19:58 that's awesome 21:20:05 why do we need any of this new crap? 21:20:08 fun fact, perl will turn 27 in 12 days 21:20:25 (so will i) 21:20:48 that's the only thing i like about it 21:20:55 whoa. you have the same birthday as Perl? 21:21:00 You were born on the day Perl was born? 21:21:04 i do 21:21:08 that's epic 21:21:13 brofist 21:21:18 Are you by any chance a dollar sign and a bunch of random garbage characters? 21:21:18 :D 21:21:25 :P 21:21:29 heavy karma 21:21:42 only in #esoteric :D 21:22:10 I have to learn perl. I love it for what it does and how well it works and it's codegolfability, but I don't actually know it 21:22:27 you could also learn golfscript 21:22:35 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 21:22:50 But golfscript is written in ruby *shudder* 21:22:50 useing a language designed for golfing is cheating imo 21:22:59 ^ 21:23:28 oren: what about J? 21:23:40 perl was designed to put sed awk and tcl in one language 21:23:56 CrazyM4n: if you're still looking for someone to run that script, I may be able to help now. Though it looks like oren was able to help you 21:24:09 J was designed to be APL in ascii 21:24:15 Yeah, I found the bug also 21:24:22 glad to hear it 21:24:36 oren: it is perfect for golfing, though 21:24:59 paul2520: http://bugs.python.org/issue21088 21:25:37 CrazyM4n: ah. I see. 21:26:53 yeah but it wasn't designed explicitly for brevity it just so happens that metafunctions make things short 21:29:16 -!- CrazyM4n has quit (Remote host closed the connection). 21:31:21 -!- CrazyM4n has joined. 21:31:30 HALLELUJAH 21:31:32 IT WORKS 21:31:41 howd you manage it 21:31:55 had to install pyenv and install python 3.4.2 21:32:08 it took all day to fix something python broke 21:32:11 screw that 21:38:51 -!- HackEgo has quit (Ping timeout: 264 seconds). 21:41:00 -!- HackEgo has joined. 21:52:36 Okay, scrolling actually works now 21:54:01 -!- atslash has quit (Ping timeout: 244 seconds). 21:58:04 -!- Patashu has joined. 21:58:42 howd you manage it 22:00:34 Eh, lots of testing 22:05:29 i gave up trying to implement ttml in C for now, and i'm writing a translator into html. 22:05:55 using lots of absolutely positioned divs. 22:07:55 -!- AnotherTest has joined. 22:12:51 I'm recording a gif of it 22:15:33 It's glitchy still 22:22:11 http://i.imgur.com/TnfNcXj.gifv 22:22:41 The only glitch I found was writing off screen doesn't actually add the characters, just moves your cursor 22:27:06 -!- MoALTz_ has quit (Quit: Leaving). 22:31:23 -!- atslash has joined. 22:31:45 -!- nys has quit (Quit: quit). 22:33:05 Fixed it 22:34:26 Was it someone in here who linked to http://retroforth.org/docs/The_Ngaro_Virtual_Machine.html ? 22:34:52 I don't remember who I interacted with to find it >_< 22:35:01 There was a JS implementation 22:35:16 And, minesweeper 22:35:39 Not me, but that's cool 22:37:14 Might have been a different network 22:51:30 CrazyM4n: what is that gif 22:51:51 [wiki] [[Ttml]] http://esolangs.org/w/index.php?diff=41378&oldid=41377 * Orenwatson * (-54) too hard to implement. will think of something else. 22:51:51 CakeMeat: my IDE so far 22:52:02 Oh 22:52:09 I've done more since that gif 22:52:22 Saving/loading files is almost done 22:52:34 Why does it look like random garbage > 22:52:41 Because I was hitting random keys :P 22:52:45 Oh 22:52:57 Funny 22:53:28 And Did you fix your python 3 troubles? 22:53:38 Yeah, I had to install python 3.4.2 but it works well now 22:53:57 Great 22:54:24 Why didnt the python support channel help you? 22:54:30 Doing other things 22:54:34 I presume 22:54:43 Helpful 22:54:52 Someone told me to switch to a different framework 22:54:55 lol 22:55:03 lol 22:55:18 Why not use C ? 22:55:36 Because python is easier 22:55:45 And I haven't used C in so long, I'd have to relearn it 22:55:49 Someday, but not today 22:56:02 Oh, well python is easy 22:56:12 Yes 22:56:31 Doesn't make it less powerful, and with PyPy if I bother to install it I can get speed comparable to C 22:57:14 Do you use a library 22:57:19 For? 22:57:23 Stuff 22:57:34 Well, I am using ncurses to draw the screen 22:57:44 Which comes with python on linux 22:57:51 Welp 22:57:53 (It won't work on windows, I just realized) 22:57:54 :c 22:58:10 https://gist.github.com/CrazyM4n/d02380667be743be1310 22:58:20 There are replacements for curses on windows 22:58:30 I'd just have to go through and change a little bit of stuff 22:59:04 Oh my 22:59:14 Hm? 22:59:30 -!- AnotherTest has quit (Remote host closed the connection). 22:59:31 What version of windows do you use 23:00:00 Lubuntu 14.04 :P 23:01:12 Ive had bugs with lubuntu. did they fix any? 23:01:27 I haven't run into too many troubles 23:01:31 What bugs have you had? 23:04:13 use less windows 23:04:18 Installed half way and terminated Process 23:04:50 Like if something wont install properly i wont really use it. 23:05:03 Huh 23:05:37 Well, I installed ubuntu 23:05:48 Decided I hated unity, installed xubuntu-desktop 23:05:58 Decided I hated xubuntu-desktop, installed lubuntu-desktop 23:06:04 Haven't changed since 23:06:14 straight to tiling wms :p 23:06:34 I tried to use i3 for a while 23:06:37 Keyword: tried 23:06:39 Ive never liked ubuntu like products/ubuntu itself 23:07:46 i am using herbstluft wm 23:08:23 I don't like ubuntu much but I'm most used to it 23:08:30 I wanted to switch to arch but I haven't bothered 23:08:36 go for it 23:11:05 Arch linux with Antergos alt. But i should probably switch 23:14:52 -!- Patashu has quit (Disconnected by services). 23:14:52 -!- Patashu_ has joined. 23:17:35 -!- S1 has quit (Quit: S1). 23:20:15 -!- zzo38 has joined. 23:22:15 -!- Phantom_Hoover has joined. 23:27:41 finished: http://pastebin.com/0kifNgpd 23:28:07 well kind of. i'll make the greek and cyrillic escapes later 23:29:23 oren: what's that about? 23:29:39 [wiki] [[Ttml]] http://esolangs.org/w/index.php?diff=41379&oldid=41378 * Orenwatson * (+64) add link to partial implementation 23:30:10 it is an implementation of my teletype markup language 23:30:32 you can use actual ascii escapes or ^ codes 23:30:55 it will translate to an html page 23:31:44 -!- ais523 has joined. 23:32:25 I see 23:32:53 it uses one div for every character i will fix that later 23:33:03 Amaze 23:33:25 [-|] there, a maze 23:33:44 :I 23:34:10 You took it to far oren /o/ 23:34:10 | 23:34:10 /< 23:34:13 the idea is that the result will look like a math paper from the 1950's 23:34:21 Once again myndzi 23:35:01 A math paper from the 1950's how do you know what that looks like 23:35:26 my father has a bunch from his friends who escaped from the USSR 23:36:40 also my father's thesis looks similar; he wrote it on a selectric. 23:36:52 but that was later obviously 23:37:42 anyway it mimics the effect of a paper teletype 23:38:09 with some additions such as limited color 23:38:24 you can download papers online y'know :p 23:39:03 You wouldn't download a car 23:39:46 ...but what about downloading models for 3D printing a car? 23:40:02 Next time you can make one to translate into ANSI instead of HTML, too 23:40:17 anyway i have seen the original of my father's thesis "pseudocompact metacompact spaces are compact" and that inspired this 23:41:07 i do not understand the paper at all obviously 23:42:37 zzo38: yeah i will figure that out. most terminal programs don't let you go down half a line so i don't think everyhting can be made to work 23:43:40 going down half a line was common method to make sub/superscripts 23:44:04 Pretty cool 23:44:09 that's a great thesis title 23:44:51 it is hilarious because i asked him what metacompact is and he couldn't remember. 23:44:59 i know what compact is 23:45:01 These days it'd have a pithy saying in front, separated by dash. 23:45:33 ya it would 23:45:49 Wikipedia's [[Metacompact space]] cites "Pseudocompact metacompact spaces are compact". 23:46:25 Bananas in Space(s) (That Are Compact): Pseudocompact metacompact spaces are compact 23:46:27 One wonders if whoever added the citation read more than the title, since it's all there. 23:46:59 i know... you don't even really need an abstract 23:47:27 I have played Dungeons&Dragons game now I am writing recording and then you can read it please 23:48:02 I found the six "orden" books. 23:52:30 "In 1950, Arens and Dugundji [1] defined metacompact spaces and showed (A) countably compact metacompact spaces are compact. It was known by then that paracompact spaces are normal and that normal pseudocompact spaces are countably compact. Since paracompact spaces are metacompact, (A) also showed (B) pseudocompact paracompact spaces are compact." 23:52:35 I didn't understand any of it, but reading it made the word "compact" itself sound meaningless too. 23:53:09 it makes it sound like compact is not even an english word... 23:53:16 like some sort of mantra 23:53:30 http://en.wikipedia.org/wiki/Semantic_satiation 23:58:11 but yeah it turns out you can stick any latin/greek prefix onto compact and make a new class of topological space 23:59:29 -!- oren has quit (Quit: dinnertime). 2014-12-07: 00:00:44 bisymcompact space 00:01:20 of course http://i.imgur.com/9xt3PxP.png 00:01:32 did you know that originally 'metaphysics' basically just meant 'physics: volume two' 00:05:36 Well, now I can know! 00:10:41 -!- Frooxius has quit (Quit: *bubbles away*). 00:16:04 -!- Phantom_Hoover has quit (Remote host closed the connection). 00:19:01 `danddreclist 60 00:19:14 danddreclist 60: shachaf nooodl boily \ http://zzo38computer.org/dnd/recording/level20.tex 00:19:25 Do you like this? 00:19:53 I haven't been reading these. 00:22:09 Why is that? 00:22:21 I thought you put your name because you want to read it? 00:25:11 zzo38: hows your pokemon games 00:25:28 CakeMeat: Do you mean a pokemon card game? 00:25:35 Yeh 00:25:57 Are people using it yet? 00:26:03 Good god that was a bad idea. 00:26:12 Using what exactly? 00:26:19 In the future I should use a thermometer when I deep fry things. 00:27:17 lol? what were you deep frying 00:27:30 Catfish. 00:27:48 The problem isn't that I burnt the food, the problem is that the oil got to its smoke point while I was breading the catfish. 00:28:01 -!- oren has joined. 00:28:12 And now the apartment is filled with smoke. 00:28:13 So my fungeoid IDE can open files now 00:28:14 woot 00:28:16 https://gist.github.com/CrazyM4n/d02380667be743be1310 00:28:25 awsom d00d 00:29:57 Did you roll the catfish is flour? 00:30:07 Equal parts flour and cornmeal. 00:30:17 After a bit of seasoning. 00:30:23 Also, used buttermilk. 00:30:27 Season after btw 00:30:38 Skim? 00:30:50 Hmm? 00:31:07 CakeMeat: What exactly are you asking about? I didn't write a program or anything for people to use; just some new cards, and some puzzles, and I do not know whether or not anyone is using those in any way. 00:31:38 use a different oil 00:31:51 oren: Why? Peanut oil has a very high smoke point. 00:31:59 The problem was too high temperature and inattention. 00:32:05 Thats what i meant the puzzles 00:32:11 what the hell how did you get the oil to 400 degrees? 00:32:15 -!- mitchs has quit (Quit: mitchs). 00:32:15 Pay attention to your food! 00:32:29 -!- ion has quit (Quit: later). 00:32:33 Using a gas stove? 00:32:40 Whyyy 00:32:42 CakeMeat: I don't know if anyone is *using* them... 00:33:18 Cause there's no point in having a deep fryer if you're not dumb like I just was? 00:33:37 pikhq: i have a gas stove and i fry things in bacon fat and it never caught fire 00:33:45 It didn't catch fire. 00:33:50 or smoke 00:34:00 Thats not what i put thougj 00:34:26 Why cook inside though? 00:34:48 dude don't leave the gas on so high 00:34:56 See, that was my problem. 00:35:06 But I also made u several new cards for the game of Pokemon Card. Some don't have any names yet but you can make such a suggestion; you can also add your own cards if you have some to add. 00:35:39 But hey, guess my stove can get pretty high in heat, so there is at least that. 00:36:03 yeah you've proven you can probably make candy on that stove 00:36:13 wat 00:36:32 Yep. 00:37:00 quintopia: you've never made candy? 00:37:54 -!- CrazyM4n has quit (Quit: Leaving). 00:38:30 screw u elliott :( 00:38:50 gettin my hopes up and dashing them upon the pavement 00:39:01 huh? 00:39:30 he triggered pbflist even though there's no new pbf 00:39:41 * pikhq has no intention of repeating the above mistake 00:40:21 -!- CrazyM4n has joined. 00:41:06 zzo38: what's your favorite famicom game/software 00:41:31 quintopia: I don't know. 00:41:55 bubble b^H^H^H^H^H^H^H^H 00:43:11 Thunder Emperor : The Legend of Pikachu 00:43:48 it is a real game, made by a fly-by-night operation from china 00:45:05 Lei Dian Huang : Bi Ka Qiu Chuan Shuo 00:45:08 So enjoy your catfish pikhq 00:45:19 I did. 00:45:29 I'm not sure it was worth the smoke though. 00:45:32 you ate it already? 00:46:06 Yes. I was a bit busy eating before I came here. :P 00:46:12 Wouldnt it be hot? 00:46:26 I bet your mouth hurts 00:46:30 Nah. 00:46:40 You think I fried it in still-smoking oil? 00:46:42 :) 00:46:56 Cooking with pikhq 00:47:17 "OH GOD THAT WAS A TERRIBLE IDEA I AM NEVER DOING IT AGAIN" 00:47:20 An actual quote. 00:47:21 :P 00:47:32 Give it to hack 00:49:01 so i need ideas as to what the characters FS and EOT should do 00:49:17 that is ^\ and ^D 00:53:26 I want to make up some card that can cause damage according to cards in opponent's trash. 00:53:46 Also another card could be damage according to the cards in your own trash. 00:54:30 is that the formal term in pokemon cards? "hah i put your pikachu in the trash" 00:55:36 Yes, although when a card is discarded (which puts it into the trash which is also called discard) due to having too much damage equal or exceeding their hit points, then the card is knocked out. 00:56:47 I mean, then it is called knocked out. 00:56:52 ah 01:02:10 Do you know about Pokemon Card much? 01:02:45 -!- GeekDude has joined. 01:07:01 -!- shikhin has joined. 01:10:05 -!- shikhout has quit (Ping timeout: 256 seconds). 01:10:25 What are your moods like atm guys 01:10:44 super happy 01:11:10 Is this an accurate mood 01:11:37 yup. my TTML translator is working very well and i am writing the TTML manual in TTML. 01:12:34 TTML? 01:13:18 http://ctrlv.in/470419 there is a wiki article which describes it 01:13:39 it is Teletype Markup Language 01:15:07 an esoteric markup language 01:18:05 Ttml 01:18:20 Sounds like XTML 01:18:56 but luckily it isn't tag based 01:19:08 Amaze 01:19:45 instead you do ^Abold^B ^Eitalic^B ^Funderline^B 01:20:09 where ^B simply returns text to normal 01:20:34 zzo38: I think 'discard pile' is the official name 01:21:23 oren: ...couldn't you at least use the same control characters as IRC does? 01:21:36 like what? 01:21:42 ^Bbold^O ^Iitalic^O ^Uunderline^O 01:21:47 hi oren 01:22:18 (though, ^I is also tab, of course, which might cause issues for you) 01:22:22 but ^I is tab and ^B is start of text 01:22:46 in TTML ^I is used to move one half-char right 01:23:08 Can you use ^H to overstrike characters? 01:23:10 so you can center the bottom of a fraction 01:23:15 yes you can 01:23:20 Good. 01:23:41 and vertical tab goes one half-char down 01:23:53 so you can make subscripts 01:24:17 i am writing a more in-depth manual with examples 01:24:29 in TTML itself 01:30:03 -!- InvalidCo has quit (Ping timeout: 258 seconds). 01:31:35 http://i.imgur.com/lwB2E4S.png 01:31:37 :D 01:33:45 It's almost to a state where it is usable 01:34:13 And it's glitches aren't too life-destroying 01:34:16 its 01:41:51 -!- InvalidCo has joined. 01:55:50 -!- CrazyM4n has quit (Quit: Leaving). 02:03:21 -!- CrazyM4n has joined. 02:08:41 -!- ais523 has quit. 02:11:10 http://ctrlv.in/470448 02:33:38 [wiki] [[Ttml]] M http://esolangs.org/w/index.php?diff=41380&oldid=41379 * Orenwatson * (+17) 02:47:00 -!- CrazyM4n has quit (Quit: Leaving). 02:56:15 My implementation of http://retroforth.org/docs/The_Ngaro_Virtual_Machine.html now manages to display the retro forth's prompt 02:56:27 And then proceeds to crash after taking keyboard input 02:57:01 Oops now you have to fix it please 02:57:07 At least it partially can work 02:57:08 -!- ais523 has joined. 02:59:04 -!- ais523 has quit (Read error: Connection reset by peer). 02:59:15 -!- ais523 has joined. 02:59:16 -!- nys has joined. 03:05:53 Why does the program need to know the endianness of the host system? 03:24:58 -!- Patashu_ has quit (Ping timeout: 250 seconds). 03:28:24 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 03:30:40 -!- Patashu has joined. 03:31:11 -!- nys has quit (Quit: quit). 03:33:58 -!- Patashu has quit (Remote host closed the connection). 03:34:10 -!- Patashu has joined. 03:40:59 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 03:45:38 -!- oren has quit (Quit: Lost terminal). 03:48:43 -!- oren has joined. 03:51:26 -!- oren has quit (Client Quit). 04:07:45 -!- shikhin has quit (Ping timeout: 240 seconds). 04:12:31 -!- oren has joined. 04:12:54 yeahlo. 04:13:56 so i finally figured out the css sorcery necessary to make a better conversion from ttml to html 04:14:45 that is, one that doesn't use a separate div for every character in the file 04:14:55 Yay 04:17:10 so i've now updated the translator. still doesn't support greek and cyrillic but i'll get to that maybe tomorrow 04:17:46 -!- dts|pokeball has quit (Ping timeout: 245 seconds). 04:19:01 Who is dts 04:19:50 oren: div, not span? seriously? 04:20:15 ./div 04:20:26 by the way, the LCRNG problem I was talking about a while ago 04:20:38 I fear it may be NP-complete; the obvious generalization of it is, at least 04:20:42 Div for what oren? 04:20:45 so I'm seeing if I can redefine the problem 04:21:48 ais523 teh new version uses span. but each span is still position absolute. 04:22:12 oren: this is close to the least semantic markup possible 04:22:56 originally in order to apply the right stuff to each char i made a div for each one. now it uses a span every time the formatting changes 04:23:17 Out of context, Span tags are annoying 04:23:37 each span has a whole bunch of classes attached to it 04:23:49 which put in the formatting 04:24:02 spin; div 04:24:27 is probably the worst thing i could have put in my terminal 04:25:21 It forcably flipped everything upside down and now i have to start over 04:25:31 huh? 04:26:15 Nothing i wanted to see what happened if i spun div tags over some stuff 04:26:26 Nothing good apparently 04:26:34 ais523 what do you mean semantic markup? 04:27:05 oren: markup which lets special-purpose web browsers automatically reformat it 04:27:09 e.g. for mobile, or for screen readers 04:27:17 or for previews of search results on search engines 04:27:40 CakeMeat: terminals don't work like that 04:27:53 i'd prefer that those thingies read the original TTML. 04:28:32 anyway this is designed for typesetting those old thingies,,, wahtymcallem, books 04:28:55 but in a teletype-like style 04:29:55 it is an esoteric markup language 04:31:34 Not terminal i used the wrong word sorry 04:31:46 -!- juned has joined. 04:32:58 [wiki] [[Ttml]] http://esolangs.org/w/index.php?diff=41381&oldid=41380 * Orenwatson * (+2612) added exapmle 04:33:30 here is an eaxamlpe 04:33:39 *example 04:34:23 * oren notes to press the right buttons IN THE RIGHT ORDER 04:40:21 CakeMeat did you mean the firefox command line or something like that? 04:43:35 -!- juned has quit (Quit: Leaving). 04:43:57 Yuh 04:44:17 * CakeMeat goes back to the podcast i was listening to 04:46:40 -!- mitchs has joined. 04:47:41 -!- atslash has quit (Quit: This computer has gone to sleep). 04:50:53 C H O + 3O -> 2CO + 3H O^M^K^\ 2 6 2 2 2^M 04:51:16 damn 04:51:22 wrong terminal 04:55:10 why does damn have an n in it 05:00:32 So you dont mix it with dam 05:02:11 -!- MDude has changed nick to MDream. 05:02:43 it is now sunday 05:07:35 Indeed 05:07:48 12:06 pm for me 05:14:28 -!- J_Arcane_ has joined. 05:15:00 -!- J_Arcane has quit (Ping timeout: 252 seconds). 05:15:09 -!- J_Arcane_ has changed nick to J_Arcane. 05:15:38 http://snag.gy/l4WzZ.jpg 05:18:58 -!- J_Arcane_ has joined. 05:19:23 Font? 05:19:55 -!- J_Arcane has quit (Ping timeout: 244 seconds). 05:20:08 -!- J_Arcane_ has changed nick to J_Arcane. 05:20:57 i dunno what font it's just whatever monospace font firefox has 05:21:46 i am testing all possible combos of directives to make sure none of them glitch up 05:21:50 I think the font Firefox will use depends on what is installed on the system which depends on the operating system you are using as well as what fonts you have installed 05:22:06 i couldn 05:22:28 Use palemoon 05:22:37 Or water fox 05:22:42 Idk its better than firefox 05:22:42 n't remember lorem ipsum so i wrote the most memorable latin sentence from my latinclass 05:23:08 Writes an entire paper in wingdings 05:23:47 ancilla grumionem delectat -- the slave girl delights grumio 05:26:31 lorem ipsum is basically latin but with the frequencies of letters, digraphs, etc. changed slightly so that they match English 05:26:35 possibly word lengths too 05:26:40 the result is very hard to understand as Latin as a result 05:29:28 -!- J_Arcane_ has joined. 05:30:01 -!- J_Arcane has quit (Ping timeout: 258 seconds). 05:30:09 -!- J_Arcane_ has changed nick to J_Arcane. 05:32:56 -!- atslash has joined. 05:33:36 -!- J_Arcane_ has joined. 05:34:47 -!- J_Arcane has quit (Ping timeout: 252 seconds). 05:35:01 -!- J_Arcane_ has changed nick to J_Arcane. 05:43:16 -!- J_Arcane_ has joined. 05:44:49 -!- Sprocklem has joined. 05:44:58 -!- J_Arcane has quit (Ping timeout: 258 seconds). 05:45:11 -!- J_Arcane_ has changed nick to J_Arcane. 05:48:12 http://snag.gy/KjwPO.jpg 05:48:26 testing math 05:58:53 http://snag.gy/Oatlf.jpg 05:59:06 dark colors 06:03:14 CakeMeat: "optimised" firefox builds are snake oil and usually slower than the official binaries 06:04:26 they usually also come with a lot of dubious patches by developers of questionable competence 06:05:24 (same applies to chrome/ium) 06:13:46 when in doubt, pkill -9 plugin-container 06:15:44 you sure like kill -9 06:16:12 kill processes first, ask questions not at all 06:18:17 " It forcably flipped everything upside down and now i have to start over" ← I don't believe this actually happened 06:18:29 unless your computer runs entirely on your own thought process 06:18:44 like, your computer experience appears to be how computers would act in a dream, or the like 06:19:25 and when your keyboard acts up, pkill -9 ibus-daemon 06:19:41 that said, I do "sudo killall pulseaudio" when logging on 06:19:56 but that's because audio doesn't work until I do, and the standard kill (not -9) seems to be very consistent in fixing it 06:20:40 [wiki] [[Ttml]] M http://esolangs.org/w/index.php?diff=41382&oldid=41381 * BCompton * (-1) /* Example */ Typo 06:21:00 oh... that was my bad 06:21:09 ; 06:22:46 i don't even really know what the other signals do, othert than that -9 is the one the application can't ignore 06:23:37 hold on man kill 06:23:40 there are two that can't be ignored: 9 and 19 06:24:56 ah i see. 06:27:56 ais523: ofc it didnt actually boom flip it upside down//real time... Why would you think that [ it re listed everything and alot of things were missing, it took about 20 minutes for all of it to load back ] :I 06:28:15 :? 06:28:27 Like, Screen white pages and then it re lists the output 06:28:55 Not WhoooOOooOoo throwing numbers around as if it was water through the air 06:30:05 Idk what you thought i meant 06:30:33 * CakeMeat pats your face 06:30:36 Silly 06:31:01 I normally interpret "flipped everything upside down" as flipping everything upside down 06:31:14 Its a saying as in 06:31:20 Everything went to shit 06:32:08 Also should be interpreted as ( What if your entire room reversed its gravitational pull.) 06:33:19 Õ-Õ 06:36:44 on any site with jquery 06:36:46 jQuery('div').css('transform','rotate(180deg)') 06:36:52 into console 06:37:15 it will flip everything 06:37:31 only every div 06:38:01 jQuery('*').css('transform','rotate(180deg)') 06:38:07 there 06:38:17 CakeMeat: coherent as ever 06:39:28 jQuery('*').css('transform','rotate(40deg)') 06:39:32 even better 06:40:26 it will mess up the entire page into insany 06:42:07 actually it does that whenever the number of degrees is not a right angle 06:44:04 and if i put it with say 0.5degrees into a greasemonkey it will be awsome 06:44:31 everything on the page will be slightly crooked 06:50:45 http://snag.gy/rOgVL.jpg 06:50:58 elliott :I nice to see you too 06:51:36 so now alljquery sites are crooked 07:03:02 -!- Patashu has quit (Ping timeout: 255 seconds). 07:05:36 -!- Patashu has joined. 07:23:58 -!- Patashu has quit (Ping timeout: 265 seconds). 08:03:15 -!- coppro has quit (Ping timeout: 250 seconds). 08:07:01 -!- Sprocklem has quit (Quit: [). 08:07:54 -!- HackEgo has quit (Ping timeout: 264 seconds). 08:14:30 holy shit i think i'm the only person in this whole building 08:14:54 except the caretakers perhaps 08:15:28 what building 08:15:46 the entire comp sci building at university of toronto 08:16:00 (yes i am at school at 3 am) 08:17:12 the entire building is quiet as a graveyard 08:17:48 usually there's at least a few other people here studying 08:20:27 -!- J_Arcane_ has joined. 08:20:45 -!- J_Arcane has quit (Ping timeout: 244 seconds). 08:20:51 -!- J_Arcane_ has changed nick to J_Arcane. 08:21:32 jarcane how come you rejoin the channel every 3 hours? 08:22:36 oren: "ping timeout", so it's due to becoming disconnected from the server 08:22:46 normally that happens due to a bad connection and isn't intentional 08:24:23 but he joined under j_arcane_ and then timed out under j_arcane, then named j_arcane_ to j_arcane 08:24:37 -!- J_Arcane_ has joined. 08:25:43 oren: when a connection times out, it times out at a different time at the two ends 08:25:46 so somehow he knew that as j_arcane he was going to timeout, and he established another connection preemptively 08:25:51 it clearly timed out at J_Arcane's end first 08:25:59 -!- J_Arcane has quit (Ping timeout: 258 seconds). 08:26:02 -!- J_Arcane_ has changed nick to J_Arcane. 08:26:09 see it happened again 08:26:37 his computer is psychic 08:27:30 well, the computer knows it hasn't had any connection for what, 180 seconds? 08:27:35 reasonable to guess it's timing out based no that 08:27:45 also, the computer does figure things out first 08:28:13 because Freenode is the pinging end of the connection, J_Arcane is the ponging end 08:28:25 so J_Arcane's server can see "I haven't had a ping for X amount of time, Freenode normally sends them faster than that" 08:28:44 whereas Freenode is still waiting for the ping reply, and waits (by the look of things) 4 minutes for it 08:28:48 oh i see 08:29:22 so j_arcane's computer gives up before freenode does 08:30:12 right, and it also learns that something has gone wrong before freenode does 08:30:24 that said, from time to time I've had such lag that I can say something 08:30:27 disconnect, reconnect 08:30:31 then see myself saying that thing 08:30:40 because it finally got out of the lag 08:31:17 wow. i'm at university in an empty comp sci building so my connection is great right now 08:32:13 so i guess the lag isn't something i've experiencd yet 08:33:10 but perhaps when i go up north for christmas i'll see it 08:34:14 -!- J_Arcane_ has joined. 08:34:37 my ping to freenode.net is 2 ms 08:35:46 -!- J_Arcane has quit (Ping timeout: 240 seconds). 08:35:54 -!- J_Arcane_ has changed nick to J_Arcane. 08:36:11 -!- nisstyre has quit (Ping timeout: 255 seconds). 08:36:24 hey are you even awake J_arcane? 08:39:56 -!- dts|pokeball has joined. 08:44:18 -!- J_Arcane_ has joined. 08:45:50 -!- J_Arcane has quit (Ping timeout: 252 seconds). 08:45:57 -!- J_Arcane_ has changed nick to J_Arcane. 08:46:20 -!- coppro has joined. 08:48:56 -!- J_Arcane_ has joined. 08:50:06 -!- J_Arcane has quit (Ping timeout: 240 seconds). 08:50:06 -!- J_Arcane_ has changed nick to J_Arcane. 08:51:21 When thinking about the level20.tex game one thing I imagine that the more major temples of Gxxyuxihuvxi are going to be more confusing (whether in service, geometry, or otherwise) than the minor ones; the more major they are, the more confusing it would be. 08:52:08 Such god of confusing monsters it would be; minor temples are being more mundane... 08:59:26 -!- J_Arcane_ has joined. 08:59:46 -!- J_Arcane has quit (Ping timeout: 252 seconds). 08:59:51 -!- J_Arcane_ has changed nick to J_Arcane. 09:00:59 -!- Frooxius has joined. 09:04:46 -!- nisstyre has joined. 09:05:00 shachaf: https://github.com/mokus0/lambdabot/pull/95 ... I wonder which discussion about this I missed. 09:06:10 int-e: Might've been in #haskell-blah 09:06:19 I complain all the time, though. 09:06:23 lambdabot is way too verbose. 09:06:31 Or rather certain people abuse it way too much. 09:08:20 I can reduce the channel output to 3 lines (at some point I changed this from 80 characters total to 5 lines of 80 characters each, feeling generous) 09:08:31 -!- J_Arcane_ has joined. 09:09:50 -!- J_Arcane has quit (Ping timeout: 244 seconds). 09:09:55 -!- J_Arcane_ has changed nick to J_Arcane. 09:10:07 Is there a reason to allow more than one line in channels? 09:13:23 > id 09:13:25 No instance for (Data.Typeable.Internal.Typeable a0) 09:13:25 arising from a use of ‘M165613034931687406129741.show_M1656130349316874061... 09:13:25 The type variable ‘a0’ is ambiguous 09:13:25 Note: there are several potential instances: 09:13:25 instance Data.Typeable.Internal.Typeable Data.Dynamic.Dynamic 09:14:45 You could fit a lot of that message on one long line. 09:16:19 Well. If people would a) try to make their code correct, and b) actually try to read the error message before resubmitting broken code, then the extra lines would help. The M165613034931687406129741 module name is stupid but that's mueval/hint territory. 09:17:36 @check \xs ys -> [xs] == ys 09:17:38 *** Failed! Falsifiable (after 1 test): 09:17:38 () [] 09:17:55 this also goes through that lim80 function 09:18:19 -!- J_Arcane_ has joined. 09:18:23 djinn is a big offender 09:18:38 I guess people don't use it that much, though. 09:18:51 It would be nice if people used /msg much more. 09:19:13 -!- oren has quit (Quit: Lost terminal). 09:19:22 @djinn \a b c d e f g -> g c d e c d a b 09:19:23 Cannot parse command 09:19:36 @djinn f a b c d e f g = g c d e c d a b 09:19:37 Cannot parse command 09:19:39 -!- J_Arcane has quit (Ping timeout: 244 seconds). 09:19:39 err 09:19:43 what am I doing 09:19:45 -!- J_Arcane_ has changed nick to J_Arcane. 09:19:51 reverse djinn 09:20:35 @djinn (a -> b -> a) -> (a -> a) -> ((a -> a) -> b) -> a 09:20:36 -- f cannot be realized. 09:21:27 @djinn (a -> r -> r) -> (a -> r) -> (b -> r -> r) 09:21:27 f _ _ _ a = a 09:21:32 ... 09:21:56 ah, I need to get it to produce cases? 09:22:59 Yes, pattern-matching is what takes vertical space. 09:23:32 @djinn Either (a -> b) (c -> d) -> Either a c -> Either b d 09:23:32 -- f cannot be realized. 09:23:56 @djinn Either (a -> b) (c -> d) -> a -> c -> Either b d 09:23:57 f a b c = 09:23:57 case a of 09:23:57 Left d -> Left (d b) 09:23:57 Right e -> Right (e c) 09:24:49 @djinn Either (Either a b) (Either c d) -> Either (Either a c) (Either b d) 09:24:49 f a = 09:24:49 case a of 09:24:49 Left b -> case b of 09:24:49 Left c -> Left (Left c) 09:24:49 Right d -> Right (Left d) 09:24:51 Right e -> case e of 09:24:53 Left f -> Left (Right f) 09:24:55 Right g -> Right (Right g) 09:24:59 beautiful. 09:25:34 -!- scounder has quit (Ping timeout: 260 seconds). 09:26:14 (clearly that's way more than 5 lines; the plugin doesn't seem to attempt to limit its output at all.) 09:26:57 something I was blissfully unaware of... 09:27:10 I think there are a few that output their own way. 09:27:16 Maybe @src too? 09:29:22 @pl \a b c d e f g -> b a c g e d f 09:29:23 (((((flip .) .) . flip . (flip .) . flip) .) .) . flip id 09:29:35 @pl \a b c d e f g -> b e a e c e g e d e f 09:29:38 ((((flip .) .) .) .) . flip flip id . ((flip . ((flip . (liftM2 flip .) . flip . (flip .)) .)) .) . flip flip id . ((flip . (liftM2 flip .)) .) . flip flip id . ((flip . (ap .) . flip) .) . flip flip id . (ap .) . flip flip 09:30:08 I suspect this is the bigger offender in practice. 09:30:38 (bigger than @djinn, because it doesn't require thinking about types) 09:31:38 for @src, it's a matter of its database... 09:31:41 @src sequence 09:31:41 sequence [] = return [] 09:31:41 sequence (x:xs) = do v <- x; vs <- sequence xs; return (v:vs) 09:31:42 --OR 09:31:42 sequence xs = foldr (liftM2 (:)) (return []) xs 09:31:57 @src compare 09:31:57 compare x y | x == y = EQ 09:31:58 | x <= y = LT 09:31:58 | otherwise = GT 09:32:33 @src (!!) 09:32:34 xs !! n | n < 0 = undefined 09:32:34 [] !! _ = undefined 09:32:34 (x:_) !! 0 = x 09:32:34 (_:xs) !! n = xs !! (n-1) 09:32:54 (ouch) 09:33:21 @src withMVar 09:33:22 Source not found. 09:33:24 @src withMVar_ 09:33:25 Source not found. Are you typing with your feet? 09:33:33 @src modifyMVar_ 09:33:34 modifyMVar_ m io = block $ do 09:33:34 a <- takeMVar m 09:33:34 a' <- Exception.catch (unblock (io a)) (\e -> do putMVar m a; throw e) 09:33:34 putMVar m a' 09:34:52 -!- CakeMeat has quit (Quit: Connection closed for inactivity). 09:35:03 aaah, it has full typeclasses in there. 09:35:31 (@src Arrow will produce 7 lines) 09:39:05 what does sequence do? it looks like [M a] -> M [a] 09:39:27 myname: exactly. 09:40:00 okay 09:40:26 > sequence ["1","23","456"] -- of course, demonstrating this in the list monad usually causes more confusion than enlightenment 09:40:27 -!- oren has joined. 09:40:28 ["124","125","126","134","135","136"] 09:41:37 wtf 09:41:51 wait 09:42:07 it does make sense 09:42:07 (in the list monad, the type is [[a]] -> [[a]], and the effect is to compute the cartesian product of the input lists. which makes sense if you think of [a] as a list of choices between several values of type a.) 09:44:34 so i should be able to do [[a]] >>= something 09:47:58 @type let { x = >>; y = x []; } in x 09:48:00 parse error on input ‘>>’ 09:48:09 @type let { x = (>>); y = x []; } in x 09:48:10 Monad m => m a -> m b -> m b 09:48:23 um, no, I want it monomorphism restricted 09:50:20 :t (>>) `asAppliedTo` [] 09:50:22 [a] -> [b] -> [b] 09:54:35 -!- CakeMeat has joined. 09:55:20 ah, thanks 09:58:20 -!- CakeMeat has quit (Client Quit). 09:58:30 -!- CakeMeat has joined. 09:59:35 ... Why am i getting a date in the freenode server logs when it logs me in saying December 31 1969 09:59:46 Has it been that long 10:00:02 CakeMeat: that's time 0, adjusted for a US timezone 10:00:07 so it's probably a bug 10:00:18 CakeMeat: a date from what? 10:00:39 When i log it freenode does a bunch of checks like 10:01:00 CakeMeat: do you mean a "server was created" time, or a "current time is" time, or a "channel was created" time, or something else? 10:01:35 Current time is 12:00 PM December 31 1969 10:02:30 that is kind of cool 10:02:48 Its at the top of the page that checks stuff like ( looking up your host name... Checking indent ) 10:02:54 Go check 10:03:52 Guys im officially in the past communicating through my microwave prototype 10:04:24 Seems to only be freenode though 10:07:13 Ill just repeat in #freenode for halp 10:18:52 -!- Patashu has joined. 10:23:56 -!- Patashu has quit (Ping timeout: 272 seconds). 10:25:56 -!- Patashu has joined. 10:26:40 CakeMeat: I can't reproduce that. When I connect to freenode, I don't get a 391 (current time) reply, and if I send TIME explicitly, I get “:barjavel.freenode.net 391 nc_jonas barjavel.freenode.net :Sunday December 7 2014 -- 10:25:04 +00:00” which seems about right 10:29:05 -!- Patashu has quit (Remote host closed the connection). 10:29:16 -!- Patashu has joined. 10:35:26 -!- heroux has quit (Ping timeout: 255 seconds). 10:38:23 CakeMeat "microwave prototype" omg that is a steins:gate reference now i get it 10:41:47 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 10:44:13 -!- MoALTz has joined. 10:48:01 -!- heroux has joined. 10:50:35 -!- scounder has joined. 11:12:42 -!- cluid has joined. 11:14:01 hi 11:20:24 -!- oerjan has joined. 11:21:28 hi 11:21:34 hi 11:21:53 what's cooking 11:22:05 whoa, that hi was just for oerjan 11:22:07 v. clever 11:22:24 fiendish 11:22:48 sounds liie i should start readig steins:gate 11:22:52 why do you talk so much while i'm not here it takes me ages to check the logs tdnh 11:22:59 *moves it in to read* 11:23:33 oerjan: don't check them 11:23:37 why do you read the logs 11:24:01 why not enslave/encourage the regulars to make a #esoteric digest, which has only the useful information of that day collected 11:24:02 to see if (1) i've been mentioned (2) anything interesting has been discussed 11:24:35 1 should be told to you by your irc client 11:24:47 cluid: btw programming fractran is not that hard if you know how to program a minsky machine, it's like "just choose primes for your registers and a few control flags, then translate" 11:24:52 irc clients don't work that way hth 11:25:01 alright I better check out the minsky machine then 11:25:05 its not a model im familiar with 11:25:13 shachaf: yes they do 11:25:17 cluid: because inevitably elliott would make that digest and it would be always empty hth 11:25:30 hehe 11:25:37 I was just about to say it'd usually be empty 11:25:56 I sort of read the logs in that I usually check scrollback unless it's really long :/ 11:26:21 it's never worthwhile though 11:26:40 Minsky machine has only two opcodes? 11:26:44 { INC ( r, z ), JZDEC ( r, ztrue, zfalse) } 11:26:55 cluid: in one formulation yes 11:28:02 oh you also need the state. i guess that needs just one more prime. 11:30:15 1 should be told to you by your irc client <-- i don't idle hth 11:30:27 oerjan: huh? 11:30:43 where do you have logs from, then? 11:32:01 points at topic 11:32:25 ah 11:32:36 start idling more 11:33:35 myname: but it's more convenient to read long backscroll via the codu logs 11:33:44 i feel like there shuld be implementations of various computational models 11:33:52 like minsky machine, mu-recursion functions, etc... 11:34:38 cluid: i'm sure there are a lot floating around. 11:35:05 i haven't searched for any big collections though 11:35:09 well I had an idea to make a github page maybe (not sure if they allowed javascript?) which has implementations of various languages collected up 11:35:20 and it should have some code examples etc. 11:35:46 it would be nice and useful 11:36:17 not sure about the useful part 11:36:51 i recall there have been several multi-esolang implementations through the years i've been here 11:37:09 esco!! 11:37:12 cpressey has his yoob.js thing 11:37:15 @google yoob.js 11:37:16 http://catseye.tc/node/yoob.js_API 11:37:16 Title: yoob.js API | Cat's Eye Technologies 11:37:26 as well as his yoob thing. but that's a freaking java applet 11:38:16 myname, obviously i only mean its useful for people who actually want to program or test things in various esolangs/minimal computational models 11:41:25 ok noone like my idea 11:43:09 hey i don't hate it, i'm just being "been there, it'll fizzle out like all the rest" cynical hth 11:43:28 that doesn't help 11:43:46 you meant: tdnh hth 11:44:25 i,i That Doesn't Work 11:46:23 OKAY 11:47:07 Discworld was such a good computer game 11:47:51 i hear the made a book based on it 11:47:53 *they 11:48:11 * oerjan needs a new keyboard that doesn't drop letters twh hth 11:48:27 ...what happened now 11:48:37 test 11:48:45 * oerjan test hth 11:49:09 elliott: wow i've never noticed before that the script doesn't handle /me 11:49:34 I wrote it without testing, what do you expect :p 11:49:47 cluid: I was suggesting you could use yoob.js as a base for some things maybe 11:49:56 thanks but idont think i would use it 11:49:57 since cpressey's yoob / yoob.js are intended as web-accessible collections of tons of esolangs 11:50:17 i had a look at it 11:50:38 wha script are you talking about 11:51:03 i think we are inching into http://xkcd.com/927/ territory 11:51:21 myname: the script that sensors hth etc. at the end of my lines hth 11:51:32 not just the end 11:51:41 okay 11:51:41 mostly the end 11:51:53 it strips punctuation 11:52:06 https://www.youtube.com/watch?v=LBfsJ3Z0ei8#t=9m39s hth 12:01:28 -!- Patashu has quit (Ping timeout: 272 seconds). 12:02:20 @karma also 12:02:20 also has a karma of -1 12:02:24 also++ 12:06:20 I was there when that happened and resisted the temptation to do that. 12:11:34 i am finished my breakfast. my number theory course for some reason had an exam question that was a fractran program 12:12:36 nice 12:12:42 what was it 12:12:51 shachaf: i was surprised that you resisted hth 12:13:52 i can't remeber but it ended up with 7^4*5^3*3^3 12:14:12 it was last year 12:14:49 this year all my courses are computer but none involve esoteric languages 12:15:03 :( 12:15:37 maybe i can sneak one into my game design course next semester 12:18:07 actually i probably can. you always end up building an inner platform for level scripts 12:18:21 wow 12:18:27 that's a cool number theory course! 12:18:29 there should be courses on how to design an esolang 12:19:15 there is a programming languages course, it covered scheme, prolog, and various aspects of grammar and semantics 12:20:15 but then this university has a big cs department (one of the largest in Canada). other universities might not have as many courses 12:21:29 but seriously it seems like every game makes up its own language for mods and scripts and user-generated content 12:22:31 it's called lua 12:23:27 for some games maybe. other games use messed up xml, some games use ini file like thingies... 12:24:52 oerjan: was it intended as a fractran program? 12:25:13 wat 12:25:33 * oerjan suspects tab miscompletion 12:25:38 you mean me? 12:26:20 the question didn't say 'fractran' but it was an iterative process equivalent to a fractran program 12:26:23 oren yeah 12:27:45 the course is a math course so they porbably did not want to alienate the non-cs people by calling it a program 12:29:02 the question was stated as "if x | n multiply by m/n" for a bunch of different fractions 12:29:27 whoops i think i reversed that notation 12:32:46 yeah it is n | x for n divides x 12:34:52 -!- CakeMeat has quit (Quit: Connection closed for inactivity). 13:19:32 -!- MDude has joined. 13:23:49 -!- MDream has quit (Ping timeout: 272 seconds). 13:28:34 -!- boily has joined. 13:29:41 Wait why did I say all that in the wrong channel. <-- aww i was so looking forward to the dolphin thread 13:46:48 -!- SopaXorzTaker has joined. 13:48:21 `? myname 13:48:32 argh 13:48:40 what 13:48:48 no HackEgo 13:49:18 i was checking what information we have distilled about you hth 13:49:30 * oerjan shouts for fizzie 13:49:44 does ObjectFuck or somewhat like exist 13:50:08 everythingfuck exists, that's well established 13:51:58 elliott: maybe we should just feature Category:Brainfuck derivatives and get it over with 13:52:04 all at once 13:52:23 lets just feature special:random 13:52:59 what's the difference 13:54:08 not that much obviously 13:56:29 oerjan: hellørjan. from the Wisdom, I have “myname is not your name. You don't know what they are doing. Or you are doing. Or am I?” about myname. 13:56:50 thoilyx 13:57:18 feature MMBFSL please 13:57:36 TOO NEW I SAID 13:57:40 fractran 13:57:50 hm plausible 14:03:06 why not collatz functions? 14:06:59 hm the wiki isn't down 14:07:36 fizzie: HackEgo is somehow online but not in the channel 14:07:56 fizzie on the other hand is totally absent 14:26:40 -!- G33kDude has joined. 14:27:44 -!- G33kDude has changed nick to GeekDude. 14:41:30 -!- cluid has quit (Remote host closed the connection). 14:41:54 -!- J_Phone has joined. 14:46:12 So provided I can figure out the macro for an alternate let, I think I can add object function support to my weird Lisp BASIC thing when I get home. 14:47:01 -!- shikhin has joined. 14:47:25 -!- J_Phone has quit (Read error: Connection reset by peer). 14:47:59 -!- J_Phone has joined. 14:48:36 Closures are magical things. 14:49:38 -!- J_Phone has quit (Read error: Connection reset by peer). 14:50:17 can anyone help me with a bf interpreter 14:50:23 who do I process loops 14:51:03 who do I 14:51:07 HOW* 14:51:07 there are basically two main ways 14:51:18 I know, stack and counter 14:51:25 I want to use the stack way 14:51:29 um no 14:51:42 those are both the same way afaiac 14:51:53 the other way is actually preparsing 14:52:30 which is much more efficient for jumping forward 14:52:41 I wanna use stacks 14:52:54 what to do when I reach the start of loop? 14:53:00 What would you like to put on the stack? 14:53:16 then you check whether the cell is 0, and if so, you search to the end of the loop. 14:53:38 otherwise, you can push on the stack and enter the loop 14:53:58 (preparsing makes the search to the end part actually efficient) 14:54:40 Implement it by compiling to scala to run as JVM bytecode on J3 via LLVM on top of a Xen system 14:54:49 Oh, you mean the stack datastructure 14:55:12 you need either a counter or some special mark on the stack for the forward search. 14:55:19 Oh, loop stuff. 14:55:55 I'm guessing the preparsing way is just to remember where each brace's mathc is so you can just jump. 14:56:23 MDude: that's one way. or you could use an actual data structure, if you're interpreting in something like haskell. 14:57:18 basically there are heaps of ways to do it 15:00:42 Guess I'll link the dolphin language thread if you're interested in that: https://www.lainchan.org/r/res/5366.html 15:01:22 Also, maybe it'll get a dolphin based programming language or something. 15:01:43 Cymatic representations of code 15:03:37 MDude: i'm was being a tiny bit ironic, although i _would_ be interested if there were any actual _news_ about dolphin language. 15:03:42 *-'m 15:03:55 WHAT IS HAPPENING TO MINE TENSE AND GRAMMARS 15:04:34 Well there are some articles I linked that are recent. 15:04:54 -!- drdanmaku has joined. 15:05:04 http://phys.org/news/2014-11-bottlenose-dolphins-specific.html Or at least this one, of dolphins getting recorded without being captive. 15:06:53 Rest on language is from at least a year ago, although there's this one I found of river dolphins http://news.mongabay.com/2014/1203-sanders-ucsc-indus-river-dolphin.html 15:16:40 -!- oerjan has quit (Quit: Later). 15:16:52 фтв иец 15:16:55 and btw 15:17:13 does ***fuck exist, where program and data are in the same maeory? 15:17:20 *memory 15:17:38 *this gives ability to write self-modifying code 15:17:48 yes 15:18:19 https://esolangs.org/wiki/Aura 15:20:25 also http://esolangs.org/wiki/Braintwist sort-of counts 15:22:00 Hmmm. 15:22:27 Braintwist seems to have the last bit a needed for Brainfuck-without-Brainfuck. 15:22:42 A way to loop without using []. 15:23:25 i doubt that 15:23:43 you need way longer to write an instruction than to execute 15:24:17 there is some bf derivate with instructions of only 3 bit 15:24:25 Aura's believed sub-TC, btw 15:24:28 and selfmodifying 15:25:10 I don't quite know what you mean by that, myname. 15:25:31 [ is not whatever ord('[') is but e.g. 3 15:25:31 myname: |spelling error 15:25:31 myname: | is not whatever ord('[') is but e.g. 3 15:25:31 myname: | ^ 15:25:56 -!- nys has joined. 15:25:58 Bigger obstacle that I just remember is that I was going to see if I could have the data space by a 3x3 grid of bits. 15:26:09 ah 15:26:11 http://esolangs.org/wiki/Agony 15:26:13 that one 15:27:10 Oh, you were talking about Braintwist. 15:27:36 -!- boily has quit (Quit: RAPSCALLY CHICKEN). 15:27:39 -!- skarn has quit (Ping timeout: 258 seconds). 15:28:41 what about braintwist with BF Joust-style RLE ? 15:37:25 Is there a language made to have code represented as zzstructures? 15:42:11 Aw, BeQunge's site seems to be down. 15:42:41 -!- Frooxius has quit (Read error: Connection reset by peer). 15:43:18 Or at least has turned into some weird thing where it expects me to download an application/x-httpd-php (563 bytes) named dmaupKve. 15:44:18 "x-httpd-php"? 15:44:32 presumably that's "page generated by a PHP script which won't say what format it's in" 15:44:47 Yeah I'm not sure either. 15:47:28 To me it sounds a bit like a televized clown jumping into the camera's feild of veiw and saying "Hey guys, it's time for virus city!" 15:47:44 Though it could just be misconfigured stuff, yeah. 15:47:59 a sensible virus wouldn't claim to be in a format that no browser knows how to open 15:48:14 A well made one, no. 15:48:42 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 15:49:38 What I'm wondering now though why when I right click it my options are "Open" and "Mount ImDisk as Virtual Disk". 15:49:52 does the second option appear for absolutely every file on your computer? 15:50:15 if so, it's probably an overly optimistic shell extension (or less charitably, one that's trying to advertise its existence by appearing on all your context menus) 15:50:38 Ah, I see it is. 15:51:34 the number of ways that Windows program developers come up with to advertise their programs is shocking 15:52:02 I was wondering why the menu wasn't showing open as/with. 15:52:46 But I guess it thinks it doens't need to, if it'll open the same menu when I try to open it anyway. 15:56:29 Yep, it's php. 15:56:37 Starts with $activelink = 0; 15:56:38 include("header.php"); 15:56:38 ?> 15:56:38 Maybe you meant: v @ ? . 15:57:10 And ends with $activelink = 0; 15:57:10 include("header.php"); 15:57:10 ?> 15:57:10 Maybe you meant: v @ ? . 15:57:29 ? 15:57:53 I meant include("footer.php"); 15:57:53 ?> 15:57:53 Maybe you meant: v @ ? . 16:00:29 -!- dts|pokeball has quit (Ping timeout: 264 seconds). 16:04:55 -!- irctc984 has joined. 16:05:06 ау маги) 16:05:42 i search girl for tantric)) 16:06:00 -!- hjulle has joined. 16:06:03 irctc984: do you know what this channel is about? or are you a spambot? 16:06:35 i yogi 16:06:43 `welcome irctc984 16:06:46 who are you? 16:06:54 esoteric programmer, like everyone else here 16:07:11 Gregor: hackego's down 16:07:19 dou speak russian?) 16:07:23 but this channel is about programming languages that aren't widely used 16:07:33 and is mostly in english, and occasionally finnish or norwegian or swedish 16:07:50 i know php java c++ c# ruby python 16:08:21 ^^ 16:08:31 hail Odin! 16:08:48 here's our website: http://esolangs.org/ 16:09:03 if you don't find it relevant/interesting, you're probably in the wrong place 16:09:04 if you do, then welcome 16:09:07 (sadly the welcome bot is down) 16:09:38 new progrmm lang? 16:10:03 yes, basically experimental programming languages 16:10:08 sorry me need magic) 16:10:10 that don't have to be useful 16:10:11 right 16:10:20 there is a channel for that sort of thing, but it's not on freenode 16:10:23 I forget where offhand 16:10:28 (also it's normally empty) 16:10:33 ) 16:10:37 let me search logs, a moment 16:11:31 irctc984: 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.) 16:11:34 there we go 16:11:50 that other channel is sadly normally empty, but perhaps if you idle there long enough, someone else will turn up 16:15:00 -!- irctc984 has quit (Ping timeout: 246 seconds). 16:22:10 -!- J_Arcane has quit (Quit: ChatZilla 0.9.91-rdmsoft [XULRunner 32.0.3/20140923175406]). 16:22:36 -!- J_Arcane has joined. 16:24:06 Ooh, long time no "other esoteric" visitor. 16:24:24 some day two of them are going to meet each other 16:24:43 and discover that they both care about entirely disjoint subsets of other-esoterica 16:37:25 -!- Frooxius has joined. 16:37:27 -!- S1 has joined. 16:51:27 -!- shikhin has quit (Quit: study crap). 17:00:00 -!- GeekDude has joined. 17:28:18 -!- dts|pokeball has joined. 17:49:49 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 18:40:10 -!- GeekDude has joined. 18:45:20 -!- SopaXorzTaker has quit (Disconnected by services). 18:45:28 -!- SopaXorzTaker has joined. 18:46:15 Ah, another anagol record unreachable due to abolishing NPlusKPatterns 18:47:47 which one? 18:48:11 http://golf.shinh.org/p.rb?Smileys+Triangle 18:49:42 -!- ZombieAlive has quit (Read error: Connection reset by peer). 18:54:07 -!- CrazyM4n has joined. 18:58:06 The parsing of n+k patterns is a bit odd. One may write let n+1?m = n, but not let n?m+1 = m, regardless of the operator's fixity. 19:05:16 -!- evalj has joined. 19:09:57 Ghc is a bit too generous there, accepting programs that are invalid by the Haskell 98 report. I don't think this will be fixed :) 19:16:59 b_jonas: obviously I have no proof, the evidence consists of a) a working solution of the right size, using n+k patterns and b) failure to produce a non-n+k-patterns solution despite trying fairly hard. 19:17:18 int-e: sure 19:17:27 it's hard to be sure with these kinds of problems 19:21:30 earlier I improved the Haskell record for http://golf.shinh.org/p.rb?Timeout after 7 years, hard to believe all those people missed that idea. 19:24:54 but! that was the second time I attempted this problem and the first time I ended up with main=print[0..] like everybody else, and was satisfied at the time. 19:33:21 -!- shikhin has joined. 19:35:50 -!- Tod-Autojoined has joined. 19:36:16 -!- TodPunk has quit (Read error: Connection reset by peer). 19:36:55 -!- Tod-Autojoined has changed nick to TodPunk. 19:38:40 int-e: I'm also surprised no one tried main=getChar 19:38:54 Or, hmm. 19:39:00 Maybe it doesn't work, oops. 19:40:21 main=unsafeCast $ main -- thar you go 19:41:03 ? 19:41:08 I... dunno. 19:47:06 -!- lowdown has joined. 19:50:05 does main=main work? 19:51:08 It should, since "let f=f in f" works 19:51:21 Neither one works. 19:51:38 Really? "let f=f in f" stopped my ghci 19:51:54 Maybe ghci has such radically different rules that that works for some reason 19:52:06 radical, man 19:52:52 -!- CakeMeat has joined. 19:54:08 ³√4 19:54:11 So radical 19:59:14 Howd you create that symbol 19:59:31 Looked it up 19:59:31 √√√ 19:59:32 CrazyM4n: I'm actually not quite sure why the RTS's loop detection doesn't trigger for that code in ghci. With main=main and compiled code the program terminates and prints <> 20:00:32 Fancy 20:02:20 Huh 20:03:22 -!- lowdown has left ("Leaving"). 20:03:35 Hm? 20:05:53 -!- Patashu has joined. 20:06:10 ;~; it's so hard to debug a curses app 20:08:41 Okay, why in the world 20:08:59 A 1,000 size pad crashes when I try to draw to the char at [999, 999] 20:14:03 Idk 20:24:07 -!- evalj has quit (Remote host closed the connection). 20:26:18 -!- Patashu has quit (Ping timeout: 264 seconds). 20:53:42 -!- MoALTz has quit (Ping timeout: 252 seconds). 21:13:19 -!- AndoDaan has joined. 21:14:04 hola 21:14:59 Would anyone have advice on where (with who) I should host my own webpages? 21:17:44 depends on whether it's static hosting, or something more complex (CGI, etc.) 21:17:49 and how much money you have 21:18:12 static hosting is basically trivial nowadays, so there are probably a ton of companies willing to do it for cheap/free, some of which are more reputable than others 21:18:41 little money, that for sure. And it would be first for like running javascript interpreters, not sure if that static or not. 21:19:15 you can do that static 21:19:23 actually you can do that without hosting, just it's hard to send the results to other people 21:20:17 if people click on raw under a github html page, would they see the html page as if it were hosted? 21:20:33 html code page, I mean. 21:21:52 AndoDaan: not on github itself 21:21:58 however, github.io (not .com) does something very like that 21:22:04 but I don't know the details 21:22:10 …let me visit their home page and see if it explains 21:22:33 I'll have a look too. Thanks. 21:22:44 oh wow is this saddeningly github 21:23:01 that page reminds me of how much I hate github 21:23:05 seriously seriously hate 21:23:11 but I think it does the job you need it to 21:23:40 github's already the hosting site with the least understanding of git, and they seem to actively promote their users not understanding git either 21:23:44 so things go wrong all the time 21:23:51 or, well, there's probably some site even worse than github 21:23:52 Really? Why do you dislike github? I mean, I'm not too familiar with it, but it seems to be the most recommended. 21:24:04 no, it's the most /popular/, people use it due to network effects 21:24:24 but basically they're trying to be a social network, and are using repositories as the hook to draw people in 21:24:45 all the starring... 21:25:35 that, and the utter desperation for users (signup process doesn't even have a confirm password, so there's no way to know you typed it correctly, and is directly on the home page while logged out) 21:25:53 and the way they create and recommend a "github client for windows" that doesn't understand git (seriously, I've seen people try to use it) 21:26:53 I've used it... once. Now I just manually upload, or copy/paste, the few things I put on there. 21:27:05 I'm small fries though. 21:27:29 that is also not how git works 21:28:05 Hmm, you mean it's for collaboration? 21:30:21 collaboration; version history; syncing a repo between multiple machines 21:30:27 these are some of the most basic things a VCS does 21:30:57 not "copy-paste your work into a website" or "download this client that doesn't actually have any way to access most of git's functionality, and the subset it does apparently provide access to is really misleading" 21:31:14 What did you use for INTERCALC(?) 21:32:02 I didn't write INTERCALC 21:32:12 if someone is confusing me with claudio calvelli again, I will get mildly frustrated 21:34:07 You didn't, but I thought you, together with an Eric person, collected everything that was known on the language into one central location. 21:34:36 i think i read an article. 21:35:14 AndoDaan: oh, that article 21:35:31 you should probably not consider everything written in it to be true, or at least, non-misleading 21:35:43 I'm not sure if there are any actual false statements in it, but I wouldn't have told the story like taht 21:36:02 also, the "eric person" is pretty famous, one of the few people who's referenceable by initials 21:38:32 Wait, is he the same person that wrote the hacker's lingo dictionary and hacker's guide (or something like that)? 21:38:54 He didn't write the jargon file either. 21:39:03 he's the same person who maintains the jargon file, yes, but didn't originally write it 21:39:28 AndoDaan: here's the Wikipedia page: https://en.wikipedia.org/wiki/Eric_S._Raymond 21:39:29 I guess he "wrote" (edited) the one print version. 21:39:54 it's been so long that I've been working on killing d_level, but now I've forgotten what I want to do next 21:40:14 I know I was working on some migration stuff, but I can't remember why :/ 21:41:00 coppro: possible mischan? 21:41:41 ah, yes 21:41:43 Nethack as well, you've must have known him for a while. I keep meaning to try nethack, but it seems so big to get started on. 21:42:02 ais523: I sort of assume that NH is ontopic in any channel you're talking in 21:42:09 same with agora 21:42:18 I, hmm 21:42:26 on Freenode that rule does seem to almost apply 21:42:32 I can think of one exception (agora in #tasvideos) 21:42:57 okay okay so 21:43:01 I'm currently in two channels in synirc which have lax topicality rules, but trying to bring up either nethack or agora would likely be ignored at best and shunned at worst 21:43:23 brainfuck is a language that can be executed as a string 21:43:30 it doesn't really require "parsing" 21:43:31 most languages are like that 21:43:43 but some are better executable as strings than others 21:43:45 beyond a case statement 21:43:50 technically you could do it with C, but it'd be a nightmare 21:43:59 some massive state machine 21:44:38 okay but so is it possible to encapsulate some method of abstraction in such a language 21:45:15 I'm not sure it's possible to create a TC language with no abstraction 21:45:28 worst case you write an interpreter for a language with abstraction, plus a program for it to run 21:45:51 I'm only in one channel in synirc 21:46:00 well i mean a kind of abstraction meaningful to humans 21:46:01 synirc has really unreliable infrastructure, though; comparable to freenode 21:46:08 or accessible to humans perhaps 21:49:40 pretty much all the really inaccessible languages 21:49:48 like that 2,3 machine that wolfram set his prize for 21:50:05 are only programmable in by defining many layers of abstraction on top of them until you find something that humans can mentally grasp 21:50:39 (that you won) 21:51:05 blurp 21:52:42 -!- dts|pokeball has quit (Ping timeout: 260 seconds). 21:54:21 reverse polish s k combinators 21:57:40 * Sgeo remembers a Berenstain Bears book explaining a beautiful sunset as being caused by pollution 21:59:37 ais523: What's "synirc"? (I mean, any special topic, or just generic IRCery?) 22:00:13 no idea if it has any particular topic 22:00:50 I'm not sure what I'll use as an IRCnet server in UK. Here in Finland, all the ISPs have their own. 22:02:02 huh, you are moving to the UK, then? 22:02:04 or just planning? 22:02:14 Moving on Jan 2, 2015. 22:02:52 (I only remember irc.stealth.net as an open server, and it was rather unstable. Ten years ago or so. I did find out open.ircnet.net is a DNS alias for five open servers, but I have no idea whether those are any better.) 22:03:28 now I wonder why anyone would want to come here 22:03:45 I guess I can construe it as an attempt to restore the finland/hexham balance 22:03:56 …you're not moving to Hexham, are you? 22:04:13 No; London. (I got job offers from there and from Aachen, Germany.) 22:04:48 -!- AnotherTest has joined. 22:05:07 As far as cities go, Aachen might have been more to my liking. I'm just hoping nobody has managed to make a city as big as London completely uninhabitable. 22:05:28 london is possibly unlike any other city 22:05:52 first time I went there, it struck me as a bit odd that my parents gave me specific london-handling advice in advance 22:06:09 in retrospect, it wasn't 100% necessary, but I could see why people could think it would be 22:06:33 I've been there doing the tourist thing a couple of times (3?), but that's pretty much the extent of my knowledge. Except I did see that one documentary. 22:06:55 also, I think london has reached some sort of reverse-singularity where the number of jobs required to support the population of london is now sufficiently high that it's impossible to fit enough people into london to do those jobs 22:07:19 thus, some large proportion of people have to commute, and commuting into london is both very crowded and very expensive 22:07:53 We'll be looking for a place that's (a) quiet and peaceful, (b) within a reasonable commute from the job, and (c) cheap, which I'm sure will be entirely trivial to find. 22:07:56 ais523: this is not uncommon of large cities 22:08:01 fizzie: ahahahahahahah 22:08:18 (We've got a company-provided place for January and February to do some looking.) 22:08:32 fizzie: oh wow 22:08:45 "cheap" by those definitions is on the order of a million pounds, last I looked 22:09:11 It's not "that bad". I mean, you don't have to go *that* far to be easily under, say, £1500/month. 22:09:46 how central is the workplace? 22:09:56 if it's outskirts it hopefully shouldn't be too bad 22:10:05 It's about next door to Buckingham Palace, so... quite? 22:10:32 My wife's parents suggested asking the Queen for spare rooms. 22:10:35 haha 22:10:35 I hear it's a big palace. 22:10:52 Share with the corgies. 22:11:00 I expect you're going to get very familiar with the Tube 22:11:22 actually I'm beginning to wonder if the tube is even worthwhile for zone 1 journeys 22:11:35 I'm not convinced that going down to tube level, then back up to street level, is faster than just walking in many cases 22:11:40 Well, it's also next to Victoria station. Some of the places we've been preliminarily looking at seemed to have somewhat reasonable overground commuting railroad connections. 22:11:45 partly depends on which line you're on 22:12:33 The relocation package includes two days of time with a local "homesearch consultant" who's supposed to be knowledgeable about these things, I'm hoping that'll help. 22:13:44 companies in london have to get good at this sort of thing 22:13:53 if they want their employees to be able to afford to stay working for them 22:13:57 so yes, I imagine it will help 22:14:14 government-funded jobs (like teaching) have much higher salaries in london, partly because of this sort of thing 22:15:10 my advice is, enter the same character name 22:15:22 if you get a "shall I pick for you?" prompt, quit out and then run recover 22:15:51 mischan, sorry 22:16:13 ...that confused me quite a bit, actually. 22:16:30 At least the first line seemed like it could just possibly be relevant. 22:16:33 it's the fact that nobody talked in between 22:16:41 that makes it hard to follow 22:17:15 -!- AnotherTest has quit (Ping timeout: 244 seconds). 22:25:16 -!- ais523 has quit. 22:39:44 -!- oerjan has joined. 22:43:19 fizzie: HackEgo is strangely missing hth 22:47:56 http://pastie.org/private/b6c8kaawz19ilhxixwva mmmmmmmmmmm 22:48:32 the class of evaluators you can only stare dreamily at 22:48:32 WhatS this 22:48:41 Oh my 22:49:49 nys: it's tricky to do anything useful with an ExpVal. i guess you could throw exceptions. 22:50:02 -!- nisstyre has quit (Changing host). 22:50:02 -!- nisstyre has joined. 22:50:07 yeah 22:50:28 it'd be nice to just return regular functions but the type system doesn't like that so much 22:50:34 Mmm green olives and a yogurt cup is best lunch 22:50:56 it's relatively easy to extend expval with stuck terms though 22:50:59 adding a monad is easy, though. 22:51:34 is it?? 22:51:41 that's what i wanted to do next!! 22:52:03 well i mean, adding IO capabilities 22:52:16 or what i did in the Real Fast Nora's Hair Salon 3: Shear Disaster Download implementation. 22:52:52 data Sem = Stuck String [Sem] | Fun (Sem -> Sem) 22:53:09 data WHNF a = WHNF { ann :: Maybe a, fun :: (WHNF a -> WHNF a) } 22:53:09 type EXPR a = [WHNF a] -> WHNF a 22:53:20 ($$) :: Sem -> Sem -> Sem; Stuck n xs $$ x = Stuck n (xs ++ [x]); Fun f $$ x = f x 22:53:43 i guess my a is like your Stuck, except that everything _also_ has a function interpretation. 22:53:51 add ... | Var String to the source language that evalutes to Stuck n [] and voila 22:54:34 that WHNF is probably really misnamed as a result of later rewriting of the code 22:54:47 * nys blinks 22:56:56 nys: just renaming: http://lpaste.net/7364802953296740352 (my motivation was that there's a natural name for a record selector, namely 'apply') 22:58:16 makes sense 22:59:26 -!- dts|pokeball has joined. 23:00:22 oerjan: I managed to log in but then it hung up on me and now it no longer answers. 23:00:29 fizzie: eek 23:00:48 the wiki was working a moment ago... 23:01:16 Yes, and at least from my point of view it stopped too. 23:01:41 elliott, what exactly is what you just described? 23:02:06 nys: I'll write a demonstration 23:05:40 and discover that they both care about entirely disjoint subsets of other-esoterica <-- aww 23:08:22 nys: http://sprunge.us/dcOA 23:12:02 earlier I improved the Haskell record for http://golf.shinh.org/p.rb?Timeout after 7 years, hard to believe all those people missed that idea. <-- maybe it didn't work before, due to different blackholing or whatever... 23:12:20 like, main=main _could_ work that way (although you say it doesn't) 23:12:46 I don't expect main = main >> main to <> 23:12:47 hm cool cool 23:13:04 Any more than I'd expect main = print 5 >> main to loop 23:13:24 shachaf: hm i guess. 23:13:25 -!- HackEgo has joined. 23:13:28 oerjan: DONE. 23:13:30 yay! 23:14:08 I'm sure it'll suffer from another hiccup soon and go down again. 23:14:09 `learn_append myname His evil twin brother is Perl. 23:14:21 perhaps immediately. 23:14:25 Learned 'myname': myname is not your name. You don't know what they are doing. Or you are doing. Or am I? His evil twin brother is Perl. 23:14:42 hm that doesn't fit in so well. 23:14:49 but then, when did Perl ever. 23:15:15 :D 23:15:33 wtf @ php sollutions for timeout 23:16:31 oerjan: also, you are quite serious about that log reading thing 23:17:51 oerjan: would using // for slashlearn satisfy your pedantry twh 23:19:17 what pedantry, i've never used that command anyway... 23:19:26 (or have i?) 23:21:23 2014-10-02.txt:04:22:14: technically you can have slash too, but you need to create the directories first >:) 23:22:02 2014-10-03.txt:11:31:02: `slashlearn fnord/? ¯\(°_o)/¯ 23:22:31 ah 23:22:42 `? fnord 23:22:44 ​? ¯\(°​_o)/¯ 23:25:14 i'm not sure we want to encourage directories. for one thing, if there is a directory it cannot also be a file... 23:31:09 whoa, "Heikki is a Finnish form of the man's name Henry." 23:31:40 http://golf.shinh.org/reveal.rb?Timeout/leonid_1205162298&rb that's a cheat 23:31:58 cheating is allowed hth 23:32:24 "exec is forbidden" 23:34:47 @tell I can think of one exception (agora in #tasvideos) <-- you need to make that tasvideo now hth 23:34:48 Consider it noted. 23:34:58 -!- boily has joined. 23:35:38 oerjan: does @tell support <> now twh 23:35:46 AAAAAAAAAAAA 23:35:57 @tell ais523 I can think of one exception (agora in #tasvideos) <-- you need to make that tasvideo now hth 23:35:58 Consider it noted. 23:36:07 @tell ais523 getting rules passed to make agora tas'able is left as an exercise 23:36:08 Consider it noted. 23:36:24 shachaf: Probably via "Henrik". And these days we have "Henri" as a Finnish name, too. 23:37:18 Perhaps "these days" is not quite right, but it's popularity peak is clearly later according to http://verkkopalvelu.vrk.fi/nimipalvelu/nimipalvelu_etunimihaku.asp?L=3 23:37:34 @ask does @tell support <> now twh 23:37:34 Consider it noted. 23:37:39 hi there 23:37:43 NOPE 23:38:08 AAAAAAAAAAAA ← ? 23:38:32 (also, bon soirjan.) 23:39:04 boily: see previous comment by shachaf 23:40:00 @tell int-e it would be nice if @tell could like warn about illegal chars in nicks 23:40:01 Consider it noted. 23:40:48 oerjan: oh. 23:40:59 oerjan: it already handles "@tell foo:" and "@tell foo," hth 23:41:03 shachaf: @tell is not a monoid hth 23:41:18 tdnh 23:41:33 oh, i see, you're saying it's hard 23:41:38 shachaf: it wouldn't be right anyway, since i actually _want_ the <...> as part of the quoted message 23:42:00 oerjan: I know. 23:42:06 the point is that it's a mess hth 23:42:12 why not just lose hope 23:42:24 oh i did that long ago. 23:43:00 but what does that have to do with bug fixing 23:43:49 “when your program fails for parts of the domain, change the domain.” 23:44:15 boily: that's pretty much the rule here, yeah 23:52:17 -!- ZombieAlive has joined. 2014-12-08: 00:09:47 -!- CakeMeat has changed nick to Lilin. 00:15:20 -!- Frooxius has quit (Quit: *bubbles away*). 00:16:58 -!- tromp has quit (Ping timeout: 250 seconds). 00:25:02 int-e: what was that solar flare site again? 00:25:48 the daystar is out there 00:28:42 This one? http://www.tesis.lebedev.ru/en/sun_flares.html I don't recall for sure, I just googled for solar flares. 00:29:15 Hmm, perhaps BLC ought to be added to anagol 00:30:50 may hard to sell with the "universal lambda" variant already there. 00:31:49 “Copyright 1953-2014”. nice. 00:32:02 Good point 00:37:58 Thanks int-e 00:48:56 -!- tromp has joined. 00:53:46 -!- S1 has quit (Quit: S1). 01:07:50 -!- shikhout has joined. 01:11:08 -!- shikhin has quit (Ping timeout: 256 seconds). 01:16:15 So I've been reading up on turing tarpits 01:16:23 So fascinating 01:17:25 Dost thou needith a hug? 01:18:19 * oerjan swatteth Lilin for bad grammar -----### 01:18:44 How could you #-# 01:18:52 oerjan: that's all it takest? 01:19:00 IT'S BECAUSE I'M A GRAMMAR NAZI 01:19:18 oerjan: is very dirty shachaf 01:19:43 He likes to hit people 01:22:57 * oerjan lives for the hit parades 01:23:23 And I like to be hit. And yet it doesn't work out. 01:33:22 Oh mai shachaf thats dirty 01:33:42 It would be nice if you stopped changing your nick every few days. 01:34:11 Well 01:34:27 Its easier for me to lose myself 01:34:37 Sorry 01:40:25 if P != NP why the heck can't we prove it? 01:41:29 i mean all you have to do is find ONE problem in NP and prove it's not in P, right? 01:42:44 yes, and it's damn hard 01:43:38 but theres a million problems in NP. how many are not in P? 01:45:11 (how many are suspected to no tbe in P) 01:46:55 oren: one of the basic problems is that we don't have a real grip on how much power P itself has 01:47:49 so, it is very hard to prove that something _cannot_ be done in P, if none of the simple diagonalization tricks work. 01:47:49 -!- dianne has quit (Read error: error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac). 01:48:30 and it has been proved, essentially, that diagonalization _cannot_ work to prove P != NP 01:49:54 so it is essentially extremely hard to prove something is not in P 01:50:34 yeah. because of NP-completeness, we already _know_ which problems have to not be in P for it to be different. 01:50:42 -!- dianne has joined. 01:52:02 can we prove a subset of P? what about 'polynomial, degree below 4' 01:52:23 well there is a proof that SAT cannot be linear time iirc 01:52:30 I figured out how to solve it, actually 01:52:45 3x³ - 2x² != 2x 01:53:07 You can tell that the polynomial doesn't equal the thing that isn't a polynomial 01:53:12 because degrees above N^5 with a reasonable constant are almost useless anyway. 01:53:14 Therefore, P != NP 01:53:27 * oerjan swats CrazyM4n -----### 01:53:32 :P 01:54:39 whøarjan 01:54:44 two swats on the same screen 01:54:51 shocking 01:55:07 so in other words, proving that an NP-complete problem can't be solved with degree N^4 or below would have most of the same practical consequences 01:55:09 shachaf: you have a big screen 01:55:31 oerjan: or small text hth 01:55:53 my screen's resolution is so high that things break all the time :'( 01:56:05 oren: there's this thing i've seen mentioned - let me try to find it 01:58:06 hm http://blog.computationalcomplexity.org/2004/06/impagliazzos-five-worlds.html it's not as relevant to what you said 01:58:40 i'm sure the possibility of "P = NP but with high exponent" has been discussed here and there, though 02:01:18 -!- oerjan has quit (Quit: Good night). 02:01:59 like for example we have prime number tests in (logn)&6 02:02:13 (log n)^6 02:04:30 with a large constant too 02:09:11 Mmm eggnog 02:12:42 -!- AndoDaan has quit (Quit: bbl). 02:15:05 -!- qwertyo has joined. 02:18:20 @ask oerjan It hasn't been proven that SAT cannot be linear time (unless you forbid linear space) 02:18:20 Consider it noted. 02:25:12 Aww I can't just go out and buy some Vantablack 02:25:19 * Sgeo is extremely dissappointed 02:27:09 wow, that stuff sounds cool 02:27:27 Whenever you eat a chicken egg 02:27:34 You are eating its period 02:27:37 :) 02:27:43 lol 02:28:16 People always say im eating a chicken fetus 02:28:28 But you are eating something worse 02:49:07 I wonder what Vantablack feels like 02:52:37 it's... it's disturbingly dark. I need to buy some. 03:08:26 -!- boily has quit (Quit: ULTRAVIOLET CHICKEN). 03:12:30 goths are gonna wear vantablack dresses 03:16:43 oh man, it looks like a hole in the photos 03:17:39 yeah, pretty awesome 03:19:17 -!- oren has quit (Ping timeout: 265 seconds). 03:24:09 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 03:51:23 -!- shikhout has quit (Ping timeout: 250 seconds). 04:16:29 -!- tswett has joined. 04:17:48 So I'm trying to devise a type theory where, if a function is definable in the type theory, then the function's output length grows at most polynomially in its input length. 04:17:55 Which raises a question. 04:18:19 The type theory should allow higher-order functions, whose inputs are other functions. But what's the length of a function? 04:19:21 17 04:19:34 -!- AndoDaan has joined. 04:19:37 Ah... I think you're right. 04:19:47 you're welcome 04:19:51 Obvious when you think about it 04:19:57 Right, right. 04:20:29 Since the string "a function" contains ten letters, but the largest prime number no larger than ten is seven, so you have to add seven. 04:22:20 Precisely 04:22:30 Conveniently, we don't have to add any more because 17 itself is a prime 04:22:43 Right. 04:24:10 More seriously, I think functions ought to be constant, because for something like concatMap the sizes you care about are the lists 04:25:56 Does that make sense? 04:26:05 Well, I'm not sure what you mean by "ought to be constant". 04:27:15 Like, (a -> b) has the same size as () 04:29:12 (I'm not experienced in type theory) 04:30:08 If you're dealing with polynomials, it doesn't matter which constant it is unless that is 0 04:30:27 (forall a b. a -> b) is uninhabited 04:31:08 elliott, I meant for arbitrary a and b 04:31:31 so (Int -> Void) should have one inhabitant? :p 04:31:46 Well, a (() -> [()]) seems like it should have the same length as the corresponding [()]. 04:32:46 elliott, I don't think size is the same thing as number of inhabitants in this context 04:32:59 tswett, that is a good point 04:33:06 I didn't really look too much at the context, true. 04:33:50 Maybe something like RHS/LHS? 04:34:11 No, that's stupid... 04:34:29 And not constant for a particular function 04:35:39 Let's consider concatMap. Its type is (a -> [b]) -> [a] -> [b]. 04:36:14 Certainly if f :: a -> [b] grows polynomially, then concatMap f :: [a] -> [b] grows polynomially, too. 04:36:29 I should understand the thing about groupoids having non-integer cardinality. 04:38:24 Seems boring enough. 04:38:42 How about the church numeral c2 :: (a -> a) -> a -> a; c2 f x = f (f x)? 04:39:29 f could be the unary natural number squaring operator unat -> unat, where unat is [()]. 04:39:52 Then c2 f takes the fourth power. 04:40:00 If f takes the 10th power, then c2 f takes the 100th power. 04:40:21 There doesn't seem to be anything illegal going on here. 04:41:10 I suppose we might be able to define "grows at most polynomially" without actually defining what length is. 04:41:44 If you have an expression involving c2, then it doesn't seem to be possible to make the expression grow faster than polynomially. 04:42:16 How about ap :: (a -> b -> c) -> (a -> b) -> a -> c; ap x y z = x z (y z)? Does that "grow at most polynomially"? 04:43:23 Probably, I guess. It's not obvious to me how to define a function in STLC that doesn't "grow at most polynomially". 04:43:32 Is that, in fact, possible? 04:44:35 \_ -> repeat 1 04:44:46 In fact, "repeat" in Haskell 04:44:58 Oh, STLC 04:45:00 I don't think so? 04:45:28 I note that the number c2 c2 c2 c2 c2 is large. But c2 has a different type each time. 04:48:03 So problems only seem to come in when you allow polymorphism or dependent typing. 04:48:22 I'm not sure I want to know what the length of Type is. 04:50:32 Lessee. A list of "a"s can be thought of as a "forall b, (a -> b -> b) -> b -> b". Presumably the length of a "forall b, (a -> b -> b) -> b -> b" should be (at most a polynomial in) the sum of the lengths of the elements. 04:52:10 -!- singingboyo has joined. 04:52:21 But I think that's inconsistent. Since c2 :: (a -> a) -> a -> a is a list, it must have constant length, like 2 or something. 04:53:04 But then the function \f g -> f g, taking two Church numerals and returning their exponentiation, is illegal, isn't it? We want \f g -> f g to be a legal function. 04:54:28 Dunno. 04:58:01 Forbid church numerals, or forbid applying them 04:58:38 -!- oren has joined. 05:02:02 -!- tswett_ has joined. 05:02:31 Well, what you can't do is apply two Church numerals of the same type together. That's exponential. 05:03:45 So every STLC function seems to be allowable. No STLC function takes two Church numerals of the same type and applies them together. 05:04:43 But there are STLC functions which add or multiply Church numerals of the same type. 05:05:35 -!- tswett has quit (Ping timeout: 272 seconds). 05:05:37 -!- tswett_ has changed nick to tswett. 05:11:54 -!- nys has quit (Quit: quit). 05:13:49 -!- supay has quit (Ping timeout: 272 seconds). 05:15:36 -!- supay has joined. 05:16:49 Then I think we get a problem if we permit the dependently typed Church numerals. If c and d are dependently typed Church numerals, then \S -> c (S -> S) (d S) is their exponentiation. 05:17:38 Simply typed Church numerals, good. Dependently typed Church numerals, bad. 05:19:45 What are dependently typed Church numerals supposed to mean? 05:21:30 -!- tswett has quit (Quit: Colloquy for iPhone - http://colloquy.mobi). 05:24:53 -!- Lilin has quit (Quit: Connection closed for inactivity). 05:26:32 -!- tswett has joined. 05:27:32 A dependently typed Church numeral is a function of type (a : Type) -> (a -> a) -> a -> a. 05:29:28 -!- qwertyo has quit (Ping timeout: 258 seconds). 05:31:20 -!- qwertyo has joined. 05:31:58 -!- qwertyo has quit (Max SendQ exceeded). 05:32:36 -!- qwertyo has joined. 05:33:58 it is a function, mapping somthing of type a to a function, which maps functions from a to a to functions from a to a? 05:34:21 -!- atslash has quit (Read error: Connection reset by peer). 05:35:01 -!- atslash has joined. 05:35:58 a (*(*f(a))(a(*)(a)))(a) 05:36:25 No, its first argument is a type. 05:36:41 -!- tswett has quit (Ping timeout: 250 seconds). 05:37:09 so it maps a type a to a function mapping functions from a to a to functions from a to a? 05:37:27 Yes. 05:37:42 that is seriously demented 05:38:32 -!- MDude has changed nick to MDream. 05:40:49 like i've heard of power sets, but this is like, a meta-powerset 05:41:35 It's a reasonable way to do polymorphism. 05:41:48 You don't even need dependent types for that sort of thing, just something like System F. 05:42:54 gyaaa... maybe if 'reasonable' is defined as 'probably will confuse more people than pointers do' 05:45:57 You can take a type like that even in Haskell by using Typeable and a few other stuff, I think? 05:46:02 how weird and confusing and unreasonable to model something parameterised over types as having a type as a parameter 05:46:15 what were type theorists thinking 05:47:24 having a type as a parameter isn't confusing, returning a member of the powerpowerset of the typeis 05:48:01 (a -> a) isn't the power set of a, if that's what you're getting at? 05:48:03 what powerset? 05:48:18 the powerset of A is A -> Bool. 05:48:45 the space of functions from a to a is the powerset 05:48:51 you're wrong. 05:49:00 then what is it called? 05:49:05 powerset is 2^A i.e. A -> 2 i.e. A -> Bool 05:49:15 endomorphism of the type A, I guess? 05:49:22 whatever you're returning some thing of the C type 05:49:29 church numerals represent the natural n as functions taking a function f to f^n. 05:49:37 so f has to be of type A -> A for some a. 05:49:46 so it's (A -> A) -> (A -> A) and it works generically no matter what A is. 05:49:50 A (A (*)(A))(*)(A(*)(A)) 05:49:50 so it's (A : Type) -> (A -> A) -> (A -> A). 05:50:05 yes, C has bad function pointer syntax, what's your point? 05:50:20 people don't do functional programming in C. and anyway church numerals are a theoretical construct, nobody actually programs with them. 05:50:36 but how is that a "reasonable way to do polymorphism"? 05:50:51 i don't think it is 05:51:32 that was referring to passing types as parameters. 05:51:45 Constructively (A -> Bool) and the power set are different. :-) 05:51:53 fine, A -> Prop 05:52:06 oren: (church numerals *are* a perfectly reasonable way to represent the naturals in the lambda calculus, though) 05:52:18 though they kind of suck type theoretically because you need parametricity to prove anything about them 05:52:47 well yeah... 05:53:05 Hmm, does Prop behave like the Sierpinski space? 05:53:38 The polynomial-time type system should probably be designed over terms, instead of unnatural things like numbers and lists 05:54:24 how are terms more natural than numbers? 05:54:37 Sierpiński, apparently. 05:54:43 because one is a primitive notion in type theory and the other is something you build up 05:54:50 So the size of a term in STLC has a natural definition (after full normalization) 05:54:55 -!- qwertyo has quit (Ping timeout: 265 seconds). 05:55:06 well there's the limitation in your abstraction thn 05:55:11 -!- copumpkin has joined. 05:55:14 what 05:55:15 -!- qwertyo has joined. 05:56:01 you're taking the natural parts of your model as primitive instead of the primitive which real computers actually operate in O(1) on. 05:56:06 Existing polynomial-time languages need fiddly non-local restrictions though, I don't know if you can have a compositional type theory for lambda calculus 05:56:59 oren: that's because we're talking about computer science, not computers 05:57:01 if you want to model real computers you need to insert parameters into your model which are dependent on how real computers operate 05:57:13 oh my god shut up 05:57:30 you're making even more negative contributions to this discussion than I am with my whining 05:57:34 The only O(1) in real computers is circuit delay 05:58:38 real computers can add binary numbers of fixed size in O(1) time. 05:59:07 these numbers of fixed size come up often in real problems 05:59:15 you only care about finite stuff? great, let's just say everything is O(1) 05:59:19 we have our type system 05:59:21 There was a paper on a language complete for P, but it's complicated to determine statically and I think the language was imperative 06:01:02 the size of the numeric type is fixed. the size of array types is not. you can use pragmatic principles to determine which parameters of your problem are fixed size in actual exapmles 06:01:37 you're talking about irrelevant crap to criticise something you clearly don't understand at all. it's disruptive. please stop. 06:03:52 `welcome 06:03:54 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.) 06:05:07 it's not irrelevant to the time complexity of operations of church numbers to consider whether the church numbers are a good way of modeling your system in the first place? 06:05:22 -!- AndoDaan has quit (Ping timeout: 250 seconds). 06:05:33 -!- tswett has joined. 06:05:59 did you even read the context? I mean I didn't at first but at least I didn't try and argue for half an hour about it 06:07:00 actually I did, with you, but that was after I read the context 06:08:16 -!- tswett has quit (Client Quit). 06:08:24 Beta reductions can be implemented in polynomial time, so they can be considered as units 06:08:48 well the context involves input lengths, but church numbers have a different length than the corresponding binary numbers. 06:08:48 (As long as the intermediate terms grow polynomially) 06:09:02 -!- ChanServ has set channel mode: +o elliott. 06:09:05 -!- elliott has kicked oren oren. 06:09:07 -!- elliott has set channel mode: -o elliott. 06:09:28 `emoclew 06:09:30 ​(.ten.lad.cri no ciretose# yrt ,aciretose fo dnik rehto eht roF) .>/gro.sgnalose//:ptth< :ikiw ruo tuo kcehc ,noitamrofni erom roF !tnemyolped dna ngised egaugnal gnimmargorp ciretose rof buh lanoitanretni eht ot emocleW 06:12:06 -!- drdanmaku has quit (Ping timeout: 272 seconds). 06:12:24 -!- oren has joined. 06:13:21 can you define length of a function as the number of instructions in it? 06:14:12 ellio why are you so angry? 06:15:11 You can use binary encoding for church numerals. 06:15:21 -!- drdanmaku has joined. 06:15:32 -!- adu has joined. 06:16:15 i guess but isn't that not the 'natural' encoding? I mean if a church number is a "function" should it not be encoded as code? 06:16:54 unless you never intend to apply it as a function? 06:17:03 -!- CrazyM4n has quit (Quit: sleep to do). 06:17:06 -!- dts|pokeball has quit (Read error: Connection reset by peer). 06:17:12 A polynomial-time language would probably need to distinguish between counting numbers and arithmetical numbers 06:17:41 cardinals and ordinals? 06:17:46 If you use a number to determine the number of steps in the program, it would need to be in unary 06:18:00 -!- dts|pokeball has joined. 06:18:32 ah i get it now! but you do math with binary numbers of fixed size but these can't be used in loop conditons? 06:20:08 but how do you determine whether a number will end up being a loop condition or not? 06:21:25 oh i see church numbers are your loops? 06:22:44 Presumably tswett wants a compositional type theory that allows exactly the programs requiring a polynomial number of reductions on polynomial-sized terms, which is harder 06:24:00 -!- Lilin has joined. 06:24:26 -!- qwertyo has quit (Ping timeout: 250 seconds). 06:24:33 binary numbers are log sized while church numbers (in a natural encoding as code) would be O(N) sized 06:24:43 -!- qwertyo has joined. 06:27:49 am i wrong elliot? 06:30:22 hmm... elliot hates me now, just for saying that church numbers are unary. 06:31:10 you're making a fool of yourself 06:31:18 Church numbers do not seem to be any base I think? 06:32:37 well the church number n is a function. the code for that function would apply that function n times. unless the code contains a loop, the code would be O(N) in te size of the code to appl the srgument once. 06:33:19 Such a function ca be made up from other function (other Church numbers) too though 06:33:31 Such as applying one to the other, to make exponentiation 06:34:19 oh crap. yeah it really depends on how the 'apply' operation is perforemed 06:34:58 -!- MoALTz has joined. 06:35:08 i assumed that constructing f(g()) is done by appending the code for f to the code for g 06:36:05 if the code for apply instead involves reparsing the function's code, then it is no longer O(1) 06:36:19 -!- qwertyo has quit (Ping timeout: 260 seconds). 06:36:30 -!- qwertyo has joined. 06:37:17 but then of course the church number n could simply be code for a loop that loops n times 06:38:07 Well, that is one way but it is not the only way; regardless of how it is defined it can be mathematically the same function though 06:38:29 yes but in terms of space and time complexity it matters 06:38:31 -!- qwertyo has quit (Client Quit). 06:38:57 Yes, the implementation does affect how efficiently it can be executed on a computer, of course. 06:42:24 but if we want to create a type system that only allows polynomial space and time,then the fact that binary numbers are log(n) space allows different things 06:42:52 How would a type system to only allow polynomial space and time? 06:43:14 i dunno but that is apparently what they were talking about earlier 06:44:26 a type system could certainly forbid exponential strcutures like trees to be built 06:45:26 you essentially forbid operations on your types, strategically... 06:46:58 if it were up to elliot i think all numbers would be bignums 06:48:04 it's considerate that you misspell my name when saying crap so that it doesn't ping me but unfortunately I'm reading all of this anyway 06:48:38 so why do you hate me so much 06:49:11 b/c I have a crush on you (I don't hate you) 06:49:30 you dislike trying to model real sytems soyou can predict real performance? 06:50:18 04:16:57 So I'm trying to devise a type theory where, if a function is definable in the type theory, then the function's output length grows at most polynomially in its input length. 06:50:19 i would love a compiler that tells me how long the program will take to run... 06:50:28 nothing you have said is relevant to what the discussion is actually about 06:50:41 input length defined in what symbols? 06:50:57 binary numbers? instructions? 06:50:59 and saying that people should be "using" fixed-size binary integers instead of church numerals doesn't even make any sense given that the reason church numerals come up was to figure out what restrictions they'd end up having 06:51:28 since you can define church numerals in the lambda calculus, but they allow doing too much unrestricted. it was an attempt to explore how the system would differ from more conventional type theories. I don't know why I'm explainign this to you. 06:51:32 *explaining 06:52:26 but if you allow higher order functions you automatically allow church numbers? 06:52:50 04:17:05 Which raises a question. 06:52:50 04:17:29 The type theory should allow higher-order functions, whose inputs are other functions. But what's the length of a function? 06:53:24 yes i read that. the question still doe not have a real answer 06:53:28 05:01:40 Well, what you can't do is apply two Church numerals of the same type together. That's exponential. 06:53:31 05:02:55 So every STLC function seems to be allowable. No STLC function takes two Church numerals of the same type and applies them together. 06:53:34 05:03:53 But there are STLC functions which add or multiply Church numerals of the same type. 06:53:37 05:15:59 Then I think we get a problem if we permit the dependently typed Church numerals. If c and d are dependently typed Church numerals, then \S -> c (S -> S) (d S) is their exponentiation. 06:53:41 05:16:48 Simply typed Church numerals, good. Dependently typed Church numerals, bad. 06:53:44 I'm just gonna paste everything said that answers the questions you're raising 06:54:32 I propose a truce: both of us stop talking 06:54:41 so does the length of a functions have a legitimate answer? 06:55:29 I propose a different kind of truce which means, you can both ignore each other temporarily if you do not want to answer each other's questions. 06:55:34 04:40:19 I suppose we might be able to define "grows at most polynomially" without actually defining what length is. 06:58:31 are the inputs allowed to be pointers? 06:59:24 pointers? in type theory? 07:00:17 e.g. so a data structure containing duplicates doesn't include the duplicates in its length 07:00:53 call them references. whatever 07:01:52 a type system allowing indirection is very different from one where everything is hieracrchical 07:02:55 e.g. consider the lisp lists cons(cons(a,a),cons(a,a)) vs. cons(a,a). 07:03:23 depending on encoding, the ratio of size is different between those two structures 07:06:31 python for instance uses immutable strings, so every string is basically stored only once. 07:07:01 while C++ copies everything every time 07:09:10 i guess elliott thinks this is irrelavnt because it is not math 07:09:54 lol 07:11:16 nah i'll stop injecting any kind of reality. 07:12:10 A mathematical model of such thing could still be defined though, but such a model won't be useful if you do not define it at first. 07:12:30 thank you 07:13:05 you'd think #esoteric would be the last place to get "um, but REAL COMPUTERS use BINARY NUMBERS" jokers re: a discussion of type theory, but no... 07:13:33 heh heh 07:14:15 a language can be esoteric by being too real. consider subleq 07:14:46 too... real... 07:14:47 or for that matter boolfuck 07:15:22 maybe real isn't the right word 07:15:26 "low-level" 07:15:50 -!- ZombieAlive has quit (Remote host closed the connection). 07:17:03 subleq has no abstractions is my point. you have to build any abstractions up from scratch 07:27:10 -!- Patashu has joined. 07:53:40 -!- AndoDaan has joined. 07:54:56 -!- cluid has joined. 07:55:02 hi 07:55:15 Hey, cluid. 07:55:22 good morning 08:00:23 -!- MoALTz has quit (Quit: Leaving). 08:05:45 -!- dts|pokeball has changed nick to pokeball|dts. 08:06:22 -!- pokeball|dts has changed nick to dts|pokeball. 08:43:56 Woo 08:47:35 -!- dts|pokeball has changed nick to dts|supersaiyan. 08:54:02 -!- adu has quit (Quit: adu). 08:54:56 -!- Lilin has quit (Quit: Connection closed for inactivity). 09:08:49 -!- Frooxius has joined. 09:21:51 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 09:37:41 -!- AndoDaan has quit (Quit: bbl). 10:09:26 -!- oren has quit (Quit: leaving). 10:28:13 OMG 10:28:15 BRAINFUCK 10:29:27 agreed 10:29:37 we should, like, feature that language or something 10:29:38 oh wait 10:30:00 brainfuck has been featured for over a year because it's just that good 10:30:05 unlike all the previous featured languages which only lasted months. 10:32:45 elliott: we can make a poll, which was your first esoteric programming language? (Brainfuck here) 10:33:01 -!- oren has joined. 10:33:48 <- Befunge. 10:34:39 (Also I completely forgot about featuring something else for a chance.) 10:35:34 am i right in thinking that swapping two values in place is impossible in barinfuck? 10:35:53 *brainfuck 10:37:53 oren, yes you need a third cell 10:39:31 -!- ZombieAlive has joined. 10:42:56 -!- Vuk has joined. 10:43:36 A movement of Mahler's 1st symphony played by 12 networked ZX Spectrums (FF to around 7m for the music) https://www.youtube.com/watch?v=WiFEicJ6grM 10:43:40 Though if you stretch the problem statement enough it may be possible: In Boolfuck, executing [>[[+<+x]x will end up with two neighbouring cells swapped the first time any of the 'x' is reached. 10:46:04 the ZX spectrum had networking? 10:46:42 serial ports? 10:47:04 It had a rather custom "network" of sorts, too. 10:47:09 apparently there was somehting called "zx net" but wikipedia has no details 10:47:10 The http://en.wikipedia.org/wiki/ZX_Interface_1 10:47:12 oh wow https://en.wikipedia.org/wiki/ZX_Interface_1 10:47:22 int-e: Fancy, isn't it? 10:47:28 yes! 10:48:40 like the old ethernet networks 10:49:58 I see my "serial ports" guess wasn't far off the mark though :) 10:49:59 There's also a modern Ethernet interface for it, the "Spectranet": http://spectrum.alioth.net/doc/index.php/Main_Page 10:52:37 it sounds really bad 10:52:46 this attempt at "music" sucks 10:54:40 sounds like a kid with a brand new trumpet 10:55:27 cluid: surely it can't be worse than the floppy disk drive music (eg https://www.youtube.com/watch?v=jEzXjJN1RH0 ) 10:55:33 sounds better at 8:30 tho 10:56:24 haha 10:56:26 thats cool! 10:56:44 holy crap how did he do taht? 10:57:05 are the floppy drives tuned? 10:57:10 https://www.youtube.com/watch?v=bBpdvYkGtzs This guy makes the 1 bit speaker of the spectrum do great things 10:57:36 oren: step motors 10:57:39 There's a lot of {floppy disk,printer,3D printer,...} music around. 10:58:30 3d printer ... of course there would be. step motors again... 10:59:36 because step motors can be run at any speed? 10:59:46 within limits, yes. 11:00:23 -!- Vuk has quit (Ping timeout: 265 seconds). 11:00:42 do floppy drives have an interface providing such fine-grained control? 11:01:08 or is he bypasing the normal interface 11:02:01 he hacked it 11:04:36 I don't know, but you can issue commands to the FDC to switch tracks, and you can do that at any frequency you desire as long as FDC + Floppy drive can keep up. 11:05:03 -!- J_Arcane_ has joined. 11:06:27 -!- J_Arcane has quit (Ping timeout: 240 seconds). 11:06:28 -!- J_Arcane_ has changed nick to J_Arcane. 11:07:43 these floppy drives have great bass 11:19:15 -!- boily has joined. 11:22:01 -!- oerjan has joined. 11:22:41 @messages- 11:22:41 Jafet asked 9h 4m 20s ago: It hasn't been proven that SAT cannot be linear time (unless you forbid linear space) 11:22:58 @tell Jafet Ah. 11:22:59 Consider it noted. 11:26:22 That seemed more like a statement than a question. 11:28:58 hm indeed. 11:29:19 and also i remembered it when seeing it. 11:32:37 fizzie: what a rebel hth 11:34:56 this is p. much Jafet: http://i.imgur.com/1NRLSoP.jpg 11:36:56 no smoke 11:39:10 also it's not obvious from the picture that he's actually inside the library 11:41:40 http://www.reddit.com/r/firstworldanarchists/top/?sort=top&t=all is great 11:51:25 stupid slow web 11:53:07 Sticky web? (Sticky webs slow you down, with the potential of trapping you.) 11:54:39 eek 11:56:44 I think the /topic may be a little bit misleading, and int-e is the eviler twin. 11:57:04 no claim was made regarding int-e's evilness 11:57:19 wouldn't you expect a correlation among twins, if anything? 11:57:48 int-e: that's from that game, isn't it 11:57:51 what's it called 11:58:36 boily: the wisdom/ has clearly established that ørjan is the good twin. int-e is the redundant one. 11:59:01 he's so redundant we're not even triplets. 11:59:09 `? oerjan 11:59:11 Your evil overlord oerjan is a lazy expert in future computation. Also an antediluvian Norwegian who hates Roald Dahl. He can never remember the word "amortized" so he put it here for convenience. 11:59:14 `? ørjan 11:59:15 ​Ørjan is oerjan's good twin. He's banned in the IRC RFC for being an invalid character. Sometimes he publishes papers. 11:59:20 `? int-e 11:59:22 int-e? ¯\(°​_o)/¯ 11:59:32 `learn int-e vet jag... 11:59:35 Learned 'int-e': int-e vet jag... 12:01:16 is it a subtle horrible Norwegian pun? 12:01:35 hint: I don't know anything about nordic languages. (this seems to be swedish?) 12:01:52 (at least google found https://en.wiktionary.org/wiki/jag_vet_inte ) 12:01:56 `? shachaf 12:01:58 shachaf sprø som selleri and cosplays Nepeta Leijon on weekends. 12:02:04 it seems that int-e is my twin 12:02:58 int-e: basically "i dunno" in swedish... 12:03:04 /topic Baware of the evil triplets oerjan, shachaf and int-e | Beware of ricocheting jokes | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/ 12:03:13 ;) 12:04:10 baware is a license for software released by sheep 12:04:20 Though I have been made aware of that meaning of "inte" (on a non-IRC server that didn't like the dash) 12:05:41 Did you know that "sheep" means "Schaf" in german? 12:05:57 curses 12:06:03 my /hilight is vulnerable 12:06:07 you don't sau so 12:06:55 shachaf: Obviously I can't always avoid reading your nick that way. 12:07:27 oerjan: Sorry, those Säue won't fly. The pronunciation is all wrong. 12:07:51 "ikk-e" would be a good nick. 12:08:45 int-e: i was going for slight misspelling, also that's norwegian not german 12:09:46 it's not germane either hth 12:10:20 -!- Patashu has quit (Ping timeout: 264 seconds). 12:10:44 y'où dont te sais. 12:11:12 boily: i am looking forward to poutine hth 12:11:17 oerjan: Oh a false friend, funny it should be another kind of animal. 12:11:55 Beware of int-e's false friend oerjan 12:12:41 oerjan: I hope you can appreciate the flying pigs reference anyway. 12:13:22 int-e: there's also the word "su" which means the same as the german but only farmers and crossworders know that one... 12:13:51 oerjan: also unix users hth 12:13:54 int-e: oh i missed that 12:14:09 shachaf: they don't know that word, only another one that is spelled the same way hth 12:14:28 am i the only one who uses su instead of sudo? 12:14:44 oren: same here 12:16:35 (I can't explain why, except I'd rather have a root shell than a shell which might-or-might-not rememb that I just used my sudo password.) 12:16:48 *remember 12:19:47 http://esoteric.codes/ 12:20:17 shachaf: I'm waiting for your report. 12:20:36 -!- boily has quit (Quit: CONDENSED CHICKEN). 12:22:58 ...someone got a grant for writing an esolang blog? 12:26:44 (someone aka User:Rottytooth from the wiki) 12:26:59 that guy is Rottytooth ? 12:27:09 i see 12:27:25 il msg you oerjan 12:27:31 if you like 12:27:32 NOOOO 12:27:41 haha 12:28:51 i just looked up Light Pattern on the wiki 12:29:27 could also have looked up his real name, it's there on his user page 12:34:01 :/ 12:35:09 * oerjan prefers public chatting unless it's something actually secret. 12:35:28 This is kind of neat. http://lightpattern.info/Basics/Machine/ 12:37:59 But I'm a bit disappointed by its use of shutter speed and aperture rather than actualy image features (beyond dominant channel in average color). 12:40:24 Aww, really ... the corpse is actually dead and identified as Lady Selnikov? 12:40:36 -!- J_Arcane has quit (Ping timeout: 244 seconds). 12:41:12 yeah it should have 'dog' and 12:41:13 Maybe it'll explode. There must be *some* twist!!!1 12:41:20 -!- J_Arcane has joined. 12:41:31 'bike' as instructions 12:42:06 RIGHT. https://xkcd.com/1425/ 12:42:07 and it should perform image recognition to decide the outcome 12:43:05 hey it might be implable in 10 years, google have make progress 12:43:37 it's implable, but you need actual imps 12:44:58 lol yeah, to paint the pictures. don't run out of pink! 12:45:02 -!- shikhin has joined. 12:46:15 oerjan: "implorable" has a shorter editing distance to "imblable" than "implementable", hth 12:47:06 ("imps" needs no comment, I believe.) 12:47:21 well i thot it would be biguated by context 12:48:56 I suck at context. As you can see I can't even distinguish between "oren" and "oerjan". 12:49:09 OKAY 12:49:27 how cant you? it's like apples and oerjans 12:49:48 orly? 12:51:05 -!- J_Arcane_ has joined. 12:52:29 -!- J_Arcane has quit (Ping timeout: 244 seconds). 12:52:31 -!- J_Arcane_ has changed nick to J_Arcane. 12:52:37 heh 12:54:51 oerjan: I *can* distinguish between oerjan and oerjan, but I tend to mix up the nicknames. :-> 12:56:08 * oerjan looks sternly at int-e 12:56:55 -!- J_Arcane has quit (Ping timeout: 252 seconds). 13:01:30 -!- cluid has quit (Remote host closed the connection). 13:01:56 i'm the one from Canada hth 13:02:59 i've been in canada once hth 13:03:04 (toronto, even) 13:03:37 although mostly in waterloo 13:05:13 I've been over Canada, in a plane, if that counts. 13:05:36 Assuming the in-flight route map was telling the truth, anyway. 13:07:47 they all lie because in reality the earth is flat hth 13:08:24 -!- shikhout has joined. 13:09:55 I can't convince Google Maps to draw a line that wouldn't be curved with the "measure distance" option. 13:10:12 Since they're perpetuating the lie. 13:10:24 -!- oren has quit (Ping timeout: 265 seconds). 13:10:38 time zones are the most elaborate part of the joke 13:10:50 they actually had to invent time travel to make that work 13:11:07 Based on some eyeballing, depending on how it's flat, the direct line between Portland and Amsterdam might still cross Canada. 13:11:51 -!- shikhin has quit (Ping timeout: 265 seconds). 13:14:32 -!- oren has joined. 13:14:49 -!- tswett has joined. 13:16:52 -!- oren_ has joined. 13:17:48 -!- tswett has quit (Client Quit). 13:19:42 -!- J_Arcane has joined. 13:21:38 -!- J_Arcane_ has joined. 13:21:55 -!- J_Arcane_ has quit (Client Quit). 13:24:25 -!- J_Arcane has quit (Ping timeout: 252 seconds). 13:25:24 -!- augur_ has joined. 13:25:25 -!- augur has quit (Read error: Connection reset by peer). 13:37:25 -!- AndoDaan has joined. 13:43:17 -!- J_Arcane has joined. 13:48:34 -!- J_Arcane has quit (Ping timeout: 258 seconds). 13:51:08 -!- sebbu has quit (Ping timeout: 245 seconds). 13:59:26 -!- shikhout has changed nick to shikhin. 14:05:10 -!- Lilin has joined. 14:20:00 -!- AndoDaan has quit (Ping timeout: 258 seconds). 14:21:38 -!- sebbu has joined. 14:22:16 -!- sebbu has quit (Changing host). 14:22:16 -!- sebbu has joined. 14:25:39 @tell tswett I think a fundamental problem here is that there _is_ no measure on polynomial functions that fill allow the length of f(x) to be polynomial in the measure of f and the length of x. Because f includes the exponent which you need to apply to the length of x. 14:25:40 Consider it noted. 14:27:13 @tell tswett And |x|^|f| just isn't going to be polynomial in |x|. 14:27:13 Consider it noted. 14:30:21 @tell tswett Or at the very least, it seems impossible for f's with different exponent to have all the same type. 14:30:21 Consider it noted. 14:37:08 -!- MDream has changed nick to MDude. 14:43:30 -!- S1 has joined. 14:50:02 -!- atslash has quit (Quit: This computer has gone to sleep). 14:58:45 [wiki] [[Truth-machine]] M http://esolangs.org/w/index.php?diff=41383&oldid=41366 * Oerjan * (+0) Ahem 14:58:48 -!- J_Arcane has joined. 15:02:28 -!- `^_^v has joined. 15:09:04 -!- dianne has quit (Ping timeout: 258 seconds). 15:35:26 wow the admins responded to my error report and got the patch in before breakfast! you never hear about the admins who do their jobs well... 15:35:30 Do bitwise operations have any interesting algebraic properties/identities in combination with usual operations? For instance, could I reason about (x + y) xor z algebraically anyhow? 15:35:45 (Seems on-topic enough for this channel) 15:36:15 umm... there is that weird sqrt trick i heard about 15:36:55 You mean http://h14s.p5r.org/2012/09/0x5f3759df.html ? 15:37:00 yeah that 15:37:32 although there could be similar tricks involving integers 15:38:11 I was thinking more in terms of if I could solve equations involving bitwise operations by hand algebraically 15:38:20 Given that arx is a cryptographic primitive, probably not 15:38:29 * FireFly looks up arx 15:38:37 Oh 15:38:47 -!- GeekDude has joined. 15:38:49 Well darn 15:39:13 @messages-lewd 15:39:13 oerjan said 4h 16m 14s ago: Ah. 15:39:31 Very lewd 15:39:38 yeah the problem is that normal operations mix the bits while bitwise ones keep them separate 15:39:57 so reasoning is very hard 15:41:26 Well, if you omit rotations, you can propagate from the lowest bit 15:41:55 yes 15:42:30 In this case I have a,b,r and want to find k such that (a - k) bxor (b - k) = r 15:43:11 I know that k is smallish, so it's easy enough to bruteforce, but.. it'd be neat if there's a way to reason about the solution 15:44:17 a + b = ((a & b)<<1) + (a ^ b) 15:44:43 there's one identity i know 15:45:32 unfortunately + appears on both sides 15:47:43 Hi o/ 15:48:06 hello 15:48:48 if you apply the above a number of times equal to the maximum bits in k, then it may reduce 15:50:30 Hm 15:51:14 -!- GeekDude has quit (Ping timeout: 258 seconds). 15:59:18 FireFly: well you can still propagate from the lowest bit 16:00:15 first, subtracting something common from the lowest bit doesn't change the xor, so you need a xor b = r (mod 2) 16:00:37 -!- mihow has joined. 16:01:33 *the lowest bit of the xor 16:02:08 Makes sense 16:02:15 That makes it "a bit" easier 16:02:22 just one :P 16:02:29 Indeed 16:02:52 and also the higher bits of k don't change whether the lower ones work 16:04:14 yeah, addition only propagates information up the bits 16:04:42 hm, in fact you need to choose the lowest bit of k such that it makes ((a-k0)>>1) xor ((b-k0)>>1) == (r>>1) (mod 2) 16:05:13 -!- skarn has joined. 16:05:44 it seems like at each step you can either reduce, keep or increase the number of possibilities alas 16:06:44 perhaps looking at the highest instead... 16:06:45 but we only need one k that works right? not every k? 16:07:28 sure but we cannot throw any away until we know they're not the only ones that work for the next bits... 16:09:08 the highest bit of k can never matter, i think 16:11:21 what matters is the carries/borrowings of the a-k and b-k subtractions 16:11:54 at each bit, it is determined whether those must be equal or different 16:12:18 which are equal to (a&(-k))<<1 16:12:33 wat 16:12:45 the carries 16:13:22 they happen only when the bits of a and -k are both 1 16:13:31 um no 16:13:54 oh right there are multiple carry rounds 16:15:34 i think it's easier to replace k with -k overall here... 16:15:51 addition is easier to think about than subtraction 16:16:18 well -k = ~k+1 16:16:25 that's not what i mean 16:16:43 oh you mean do that afterward 16:17:01 or wait hm 16:18:20 on the second bit, (a+b)>>1 = (a&b)+((a^b)>>1) 16:18:39 -!- SopaXorzTaker has quit (Changing host). 16:18:39 -!- SopaXorzTaker has joined. 16:18:42 Yeah, thinking in terms of additions is probably easier 16:19:01 FireFly: i have possibly changed my mind 16:19:10 Why? 16:19:44 when k is small, the high bits of -k are all 1 16:19:45 because to know whether a-k gives a borrowing, you need to know the ordering of a and k 16:20:18 There's no need to worry about borrows in my case 16:20:38 FireFly: with addition it's carries instead, of course 16:20:48 but that means you need the ordering of a and -k 16:20:54 does k have only one bit nonzero or something? 16:21:04 Sadly, no 16:21:30 FireFly: the borrowings tell everything about which k work 16:21:39 Hm 16:21:44 that, and a xor b xor r 16:22:44 basically, if a bit of a xor b xor r is 0, you want the borrowings from that bit to be identical for a-k and b-k 16:22:52 -!- drdanmaku has joined. 16:23:08 while if it's 1, you want it to be different 16:23:48 so could you process it by shifting everything right 16:23:50 oh this is of course because if x is the borrowing bits for a-k, then a-k = x xor x xor k 16:24:02 er 16:24:09 *x xor a xor k 16:24:46 Interesting 16:25:04 so if y are the borrowing bits for b-k, then (a-k) xor (b-k) == x xor y xor a xor b 16:25:44 so you want to have x xor y == a xor b xor r 16:28:02 and say the 5th borrowing bit of a-k is determined by how a & 31 compares to k & 31, i think 16:29:22 so you want the order of a & 31, b & 31 and k & 31 to be one that gives the right bit 16:29:45 *the right xor of the borrowing bits 16:30:27 this gives you a set of ranges that the bits of k need to be within 16:30:47 More generally, since you can write addition as a big linear combination in GF(2) you can solve any problem involving addition and and and xor using linear algebra 16:31:03 that is integer programming isn;t it? 16:31:14 maybe not 16:32:30 although it is possible that when you start intersecting those ranges, they split into several 16:34:01 also, it could be contradictory altogether, but i assume that's not your usecase since you say there will be a small solution 16:35:08 gah brain 16:35:26 (also noise) 16:35:31 Well, I suppose rather that I want to know whether there's a "reasonably small" solution 16:35:38 oh. 16:35:42 Hmm, finding the numerically smallest solution could be a shortest vector problem 16:35:52 (the kth bit is weighted by 2^k) 16:36:27 -!- GeekDude has joined. 16:36:48 would it not be faster to iterate over the integers? (given that for "reasonably small" k we operate in O(1)) 16:36:53 i am not sure whether Jafet is making sense or not, i'm dubious that this is really linear algebra. 16:37:07 oren: sadly, probably :P 16:37:11 oren: sure is. I mostly thought it was an interesting problem to ponder 16:37:16 It's linear algebra over GF(2) 16:37:22 In this case "reasonably small" means, say, <50 :P 16:37:43 oh i thought it meant less than 2^32 16:37:45 Jafet: i am not convinced addition of binary digits is a linear operation over GF(2). 16:37:55 *of binary numbers 16:38:12 you need multiplication to get the carries 16:38:18 or xor? 16:38:23 and and. 16:38:40 xor you have, that's the addition in GF(2) 16:38:42 Oh, you end up with nested multiplications 16:39:13 The idea is that I have two messages encrypted with a stream cipher using the same key, and taking the xor of those messages reveals a 32-bit field that looks suspiciously like it'd hold the message length 16:39:17 but and you only have with constants, as long as you don't use the entire _ring_ GF(2) 16:39:34 (offset by some constant k) 16:39:36 (Which means you're beyond linear) 16:39:55 oh i see... back to linear algebra II. 16:42:57 FireFly: there would always be a chance of ambiguity here, because not all bits of k always matter 16:44:06 although i guess all information is good... 16:45:00 -!- FreeFull has quit (Quit: Dance). 16:46:06 -!- oerjan has quit (Quit: Dine). 16:47:11 the statement that A==B is the same as A^B == -1 16:47:29 no wait zero 16:47:54 yah. A==B => A^B == 0 17:02:56 Yes 17:04:24 Hmm, you can write addition as a polynomial in GF(2) but its size seems to be exponential 17:12:52 -!- skarn has quit (Remote host closed the connection). 17:19:25 I propose an extension to Brainfuck! 17:19:38 (if this hasn't been done alreadly) 17:20:01 Adding direct program tape manipulation 17:20:47 one operator for exchanging current memory cell and program at the current pointer 17:26:06 I don't remember its name, but something very much like that has surely been done. 17:26:28 -!- AndoDaan has joined. 17:27:00 There's so many brainfuck derivatives, it's hard to find any single one. 17:28:11 http://esolangs.org/wiki/Braintwist is not exactly that, but similar. 17:28:45 (The instruction it adds swaps the entire program and data tapes.) 17:30:10 If MediaWiki could take unions of categories, you could take the union of Category:Brainfuck_derivatives and Category:Self-modifying. I think I did that at least once manually. 17:35:45 (There are also at least four things that put the program in the data tape.) 17:35:49 you cant really change individual tokens of a program. as soon as you change one of [ ] you're left with nonsense 17:38:03 That doesn't really seem to be much of a problem, except slightly complicating the implementation (either rescan every time, or keep track of whether the region inside has been modified). You can just make it undefined to end up actually executing a [ or a ] that doesn't have a match. 17:43:59 -!- dts|supersaiyan has changed nick to dts|pokeball. 17:44:54 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 17:46:28 -!- skarn has joined. 17:46:44 -!- adu has joined. 17:50:56 made a BF-like language with not--so-far nested loops and functions 17:58:50 and btw 17:59:00 finished my BF interpreter :DD 18:06:09 -!- mihow has quit (Quit: mihow). 18:24:03 -!- S1 has quit (Quit: S1). 18:24:57 -!- Lilin has quit (Quit: Connection closed for inactivity). 18:42:47 I read that at some time they will make a computer program to solve FIDE chess, because "there aren't so many moves which are at all sound", but I expect you will need a mathematical proof of this in order to take advantage of it. 18:48:58 zo38: http://www.inwap.com/pdp10/hbaker/hakmem/proposed.html#item95 expects about 10**40 positions 18:49:59 I saw that HAKMEM 18:50:35 -!- mihow has joined. 18:51:21 It says "in most of them, one side is hopelessly lost", but that means you should determine how many of these it is as well as a mathematical proof that you really are hopelessly lost and doesn't just looks like it, as well as for a computer program intending to solve chess to identify such positions. 18:52:00 Still, it might be possible. 18:52:19 zzo38: yes, it's just that 10**40 might not be that far off in the future 18:53:40 zzo38: http://www.cube20.org/ is a computation with about 2**32 or 2**33 states, aggressively optimized, and before it appeared I expected it would take like ten or twenty more years of technology before it became possible 18:53:44 hmm wait 18:53:48 10**40, not 2**40 18:53:50 then it's impossible 18:53:52 sorry 18:54:01 that makes more sense 19:00:04 The source-codes says "They are written in a literate programming style using the CWeb system. You will need cweave to compile the programs." That isn't quite right; ctangle is needed to convert the .w into a .c to pass them to a C compiler, while cweave converts it into a .tex which can be typeset. 19:00:38 zzo38: source codes where? 19:01:06 In http://www.cube20.org/src/ 19:01:25 ah 19:02:47 (Well, in this case they are C++ so you will need a C++ compiler; still ctangle is used to convert the .w into the .cpp file to pass to a C++ compiler then.) 19:03:38 However, the makefile will do the correct things, so that's OK. 19:07:09 -!- MoALTz has joined. 19:08:24 -!- shikhout has joined. 19:10:19 -!- MoALTz has quit (Read error: Connection reset by peer). 19:11:31 -!- shikhin has quit (Ping timeout: 244 seconds). 19:11:40 -!- adu has quit (Quit: adu). 19:12:25 -!- MoALTz has joined. 19:14:24 Someone ask a question about "At what point will humans alone be unable to devise a chess variant too complicated for computers to solve?" I expect never (until there is no human anymore, of course) because a game can be designed it isn't even possible to play this game by anyone in this universe even computer programs. That doesn't necessarily mean it cannot be solved, but suggests that it may be possible that some such games are too complicated t 19:15:52 too long 19:16:41 -!- FreeFull has joined. 19:28:30 -!- atslash has joined. 19:40:49 -!- GeekDude has joined. 19:42:04 zzo38: I think it's prudent to ask what the intended meaning of "solve" is. 19:42:48 If solving a game means to play it better than humans then it's the standard AI question, with unclear answer. 19:43:30 If solving means mathematically solving the game, then chess is a good candidate for a game that won't be solved. 19:44:05 To me, solving a game means mathematically solving the game. To play it better than humans isn't quite good enough. 19:44:34 Yeah but it wasn't your question. 19:44:56 Yes, that is a good point though. 19:46:00 However, a lot of good AI for playing chess already exists. However, time odds can be used to allow grandmasters to play against a computer program at a reasonable level of play. 19:48:51 Go has seen impressive advances in the last decade. 19:52:54 (but it's still completely unclear how to beat professional go players; it's not going to be solved by increased computational resources.) 19:55:01 -!- shikhout has changed nick to shikhin. 20:06:13 -!- Patashu has joined. 20:08:23 -!- atslash has quit (Quit: This computer has gone to sleep). 20:26:52 -!- Patashu has quit (Ping timeout: 258 seconds). 20:55:56 -!- b_jonas has quit (Ping timeout: 260 seconds). 21:08:19 -!- b_jonas has joined. 21:19:13 it's easy to devise a game that can't be solved -- what is interesting is whether a game can be devised so that the best way of "solving" it is for the computer to simulate a human. 21:19:49 -!- cluid has joined. 21:19:50 hello 21:19:55 hello 21:20:27 -!- atslash has joined. 21:20:53 wha'ats up? 21:21:20 nothing much 21:26:07 i am bored, any ideas 21:26:52 You could do what I'm doing 21:27:00 build a wiimote-controlled robot 21:27:11 i have been attempting to devise a language where all possible programs are polynomial time 21:27:55 based on C. essentially it will be a C header 21:27:58 oren: like HQ9+ 21:28:57 one idea is that instead of allowing arbitrary loop conditions, you have only the repeat(n){} loop 21:31:15 Sounds like LOOP programs, which give you primitive recursive functions. 21:31:48 (The question here is, what is n?) 21:32:18 n is an integer, evaluated only once at the start of the loop 21:32:29 If you can write things like m = 1; repeat(n) { m=2*m; }; repeat (m) { ... } you're way beyond polynomial time. 21:33:07 that's true. we need to nerf integers too i guess 21:34:39 The usual approach for this that I know is to have different kinds of variables, those you may use as loop counts, and those that you can't use that way but can do computations with. 21:35:16 aha. the repeat statement needs to take a special type as input 21:35:38 just limit the data space to 2**32 bytes, and ban all IO, then it can't run for more than 2**(2**32) time. 21:36:42 that is true but not useful because that is longer then the age of the computer. 21:37:02 oren: https://www.cs.toronto.edu/~sacook/homepage/ptime.pdf is a restriction of primitive recursion but it's based on that principle; the recusion argument of a primitve recursive function acts as a loop count (that's how translations from primitive recursive functions to loop programs work) 21:37:41 ideally i would like to be able to pass a flag, which sets the maximum time complexity 21:37:58 and programs above it would not compile 21:39:36 hmm... you start with a loop count variable representing the data length... 21:39:40 go will not be solved, but at least it will be counted. i'm doing 18x18 right now 21:40:09 no hope of counting number of chess positions 21:44:11 -!- nycs has joined. 21:45:31 -!- `^_^v has quit (Ping timeout: 255 seconds). 21:50:40 -!- S1 has joined. 22:11:26 tromp_: By "chess positions" do you mean those reachable from the starting position by a legal sequence of moves? 22:12:07 (Go makes the reachability part easy...) 22:13:51 yes, i mean reachable positions 22:14:16 like, is White Kc3 Ba4 Black Kd1 Rb5 Bd5 reachable? 22:17:48 -!- AndoDaan has quit (Ping timeout: 245 seconds). 22:18:29 nice one. 22:24:19 -!- oren_ has quit (Ping timeout: 265 seconds). 22:24:19 -!- oren has quit (Ping timeout: 265 seconds). 22:27:38 Oh even better, since the answer is yes. 22:30:18 ... 22:41:31 But with white ka3 the asnwer is no:) 22:46:29 right. 22:46:57 -!- oerjan has joined. 22:50:06 If MediaWiki could take unions of categories, [...] <-- itym "intersection" hth 22:50:19 *+s 22:51:20 tromp_: I wonder whether being a chess player helps or hurts in this problem 22:51:57 (I'm not, but I do know enough of the rules) 22:56:50 -!- boily has joined. 23:01:16 you have to know some subtle rules 23:01:17 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 23:04:22 https://github.com/nasser/--- 23:04:31 can I add this to the wiki? Maybe it is offensive to call it esoteric 23:04:53 it feels like a cool language which should be on the wiki, but i am not if its appropriate 23:05:00 -!- Frooxius has quit (Quit: *bubbles away*). 23:05:26 cluid: is it a brainfuck clone? 23:05:35 haha 23:06:17 oh it is implemented in javascript rather than itself :/ 23:06:19 i think it's at least honorary esoteric 23:06:41 the language it's implemented in usually doesn't matter. 23:07:00 (to wit, reference implementations of mine are in ruby or python...) 23:07:13 http://nas.sr/%D9%82%D9%84%D8%A8/ 23:07:55 http://animalnewyork.com/2014/artists-notebook-ramsey-nasser/ 23:08:14 > The current name قلب means Heart, but is actually a recursive acronym for قلب: لغة برمجة pronounced ‘alb: lughat barmajeh meaning Heart: A Programming Language. Acronyms in Arabic are generally difficult to pull off, and قلب is the first recursive one I have seen 23:08:16 :1:33: parse error on input ‘,’ 23:08:51 ...LISP ekil skool siht 23:09:15 -!- CrazyM4n has joined. 23:12:15 -!- MoALTz_ has joined. 23:12:37 ill create it 23:14:07 -!- skarn has quit (Killed (sinisalo.freenode.net (Nickname regained by services))). 23:15:15 -!- MoALTz has quit (Ping timeout: 245 seconds). 23:17:41 -!- nycs has quit (Quit: This computer has gone to sleep). 23:22:45 -!- adu has joined. 23:24:36 -!- oren has joined. 23:24:51 So the fungeoid IDE Is usable 23:24:54 [wiki] [[قلب]] N http://esolangs.org/w/index.php?oldid=41384 * Cluid Zhasulelm * (+968) created page 23:24:57 [wiki] [[Eve]] http://esolangs.org/w/index.php?diff=41385&oldid=41374 * Oerjan * (-90) some proofreading 23:25:08 awsome 23:25:46 https://gist.github.com/CrazyM4n/d02380667be743be1310 23:25:49 It's glitchy 23:25:59 And backspace occasionally doesn't work 23:26:03 And it autosaves 23:26:13 But it works 23:26:57 works for me 23:27:33 I also somehow got simplefunge to compile 23:27:36 And that works too 23:27:40 So everything is working out for me today 23:28:43 Thhere is also http://nas.sr/godjs/ 23:29:12 im not sure if it counts 23:31:18 I'm going to go reimplement simplefunge in python 23:31:20 WIsh me luck 23:31:22 No 23:31:23 JS 23:31:26 yisss 23:34:29 -!- augur_ has quit (Remote host closed the connection). 23:35:05 -!- augur has joined. 23:39:41 -!- augur has quit (Ping timeout: 258 seconds). 23:41:42 -!- GeekDude has joined. 23:41:53 hey GeekDude 23:43:59 -!- skarn has joined. 23:44:56 -!- cluid has quit (Quit: Leaving). 23:47:18 hi CrazyM4n 23:53:26 have I shown you the latest thing I've been working on? 23:53:32 http://i.imgur.com/0V13wX1.png it's a funge editor 23:56:47 -!- qwertyo has joined. 23:57:37 fungot: do you like being edited? 23:57:37 boily: he's absolutely hilarious though. the php compiler, from the bible the fact that its totally non-idiomatic examples from me? ;p 23:57:50 a biblical php compiler? AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH! 23:59:07 because http://xkcd.com/224/ was not dark enough 2014-12-09: 00:09:29 -!- S1 has quit (Quit: S1). 00:10:48 -!- qwertyo has quit (Ping timeout: 240 seconds). 00:11:23 -!- boily has quit (Quit: EXQUISITE CHICKEN). 00:24:11 oerjan: Hint, he's saying Perl because nobody would admit to writing mission critical software in PHP. 00:24:32 As if the universe is mission critical 00:25:23 Good point, we're in no position to tell. 00:26:10 Hell, it's probably slapped together in BF or something as an example of cellular automata 00:40:15 if the gods are so alien they think BF is a good language for slapping things together we're all doomed anyway 00:42:37 "It's just a demonstration!" 00:43:02 -!- AndoDaan has joined. 00:43:09 Universes as a target for code golfing. 00:43:55 I got this life sustaining universe down to 1,300,000 chars! 00:44:22 i think that's a bit bloated 00:45:52 see, if you use complex numbers instead of probabilities you can cut it down to just 14,000 and the inhabitants will never notice unless they start probing ridiculously small distances 00:46:04 the trick is to keep your code simple and plant all future behaviour in the ether. 00:46:20 -!- mihow has quit (Quit: mihow). 00:48:09 oerjan: did you see the third Haskell entry to Euclidean Norm? It should make you feel better ;-) 00:48:27 fungot: how many characters are you? 00:48:27 olsner: finns are generally very suspicious about all new ideas, have to admit that i didn't need to see them 00:48:32 You really have to exploit the emergent behavior of some simple quantum rules, let it run long enough and you can get a good seed 00:52:47 int-e: OKAY 00:53:31 hey, did you know that matlab doesn't have a good way to programmatically save a diagram as an image? I sure love matlab! 00:54:01 today's NSFL: wikipedia main page 00:54:26 oh god why 00:54:37 do not want 00:54:49 "Gross pathology ..." indeed 00:58:47 so in other words i have to draw rectangles pixel by pixel. 00:59:11 might as well write a brainfuck program to do it 00:59:34 itym "paintfuck" hth 01:07:24 oerjan: is that L = life? 01:07:45 indeed 01:07:53 it's not like i invented the acronym... 01:08:25 I'm extrapolating from NSFW, and you're quicker than google. 01:08:25 -!- shikhout has joined. 01:08:37 fancy 01:11:40 -!- shikhin has quit (Ping timeout: 260 seconds). 01:16:41 -!- dts|pokeball has quit (Read error: Connection reset by peer). 01:29:40 -!- Lilin has joined. 01:30:04 'Sup 01:30:15 soup. 01:30:25 not reddit, that's for sure 01:30:39 Lots of stars weighing heavy on our souls, whose only saving grace is the inverse square law. 01:31:03 wow you're a poet! 01:31:30 The sky has gravity. 01:32:11 Engelina - Walking in the Sky 01:35:38 Makin' my way down town 01:36:55 -!- oerjan has quit (Quit: zzleepy). 01:37:06 oren: If I were I'd probably not mistreat the language so much. In this case, I used an adjective instead of an adverb. 01:39:57 -!- TodPunk has quit (Read error: Connection reset by peer). 01:47:00 -!- TodPunk has joined. 01:49:52 So I'm going to try to golf down a befunge interpreter 01:49:56 Perl or ruby? 01:50:23 javascript. 01:50:41 Ah screw you I already wrote like half of that 01:50:55 Actually, I'll finish it 01:50:59 and golf it 01:51:06 Gotta stay on top of the things I start 01:51:30 sounds good. yeah i have that problem too, i mash out a prototype and never finalize it 01:51:49 Perl 01:51:52 Ruby is eh 01:54:21 http://i.imgur.com/PQZEVYa.png Perl and your weird function names 01:55:24 yeah... the keywords are unClike too: last? next? 01:55:43 open without death 01:55:59 i have a cheat sheet somewhere with the differences. 01:56:56 yeah open or die; appears in a lot of my scripts 01:57:34 Sadism = perl 01:58:07 but in C i prefer if(!F=fopen())goto hell; 01:58:15 It's actually a death threat against the file 01:58:36 Well then 01:58:55 I find languages to be more evil nowadays 02:01:17 i also sometimes do things like for(){if()goto heaven;} 02:02:06 good old while 1 == 1 02:02:23 actually imperative languages rarely make it easy to specify a loop with two separate ending conditions leading to different results 02:02:48 with tail recursion it is easy 02:04:52 It's all easy in functional languages until you realize you're neck deep in code that's neck deep in recursions and category theory that you don't understand why the code uses it 02:06:40 that is why instead of using functional languages, we steal features and smuggle them into our imperative kingdom in the dead of night. 02:07:01 oren: Well, usually in such cases I don't need to use goto anyways, although sometimes it can help a bit 02:07:06 It's like a slave trade 02:07:15 Especially in C; in BASIC programs I will write GOTO a bit more often than in a C program. 02:08:01 in C i often use return instead of goto, but it comes to the same thing 02:08:29 you have control flow that forks in the middle of a loop 02:09:15 -!- CrazyM4n has quit (Quit: brb). 02:12:38 -!- oren has quit (Quit: batteries out bleh!). 02:12:48 -!- olsner has quit (Ping timeout: 240 seconds). 02:53:23 -!- MoALTz__ has joined. 02:57:15 -!- MoALTz_ has quit (Ping timeout: 272 seconds). 03:31:52 -!- dts|pokeball has joined. 03:48:45 -!- mitchs_ has joined. 03:51:55 -!- mitchs has quit (Ping timeout: 258 seconds). 03:59:05 -!- CrazyM4n has joined. 04:06:40 -!- shikhout has quit (Ping timeout: 260 seconds). 04:09:00 -!- adu has quit (Quit: adu). 04:12:14 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 04:14:57 -!- tswett has joined. 04:24:26 -!- MDude has changed nick to MDream. 04:27:13 -!- augur has joined. 04:30:57 -!- olsner has joined. 04:31:51 -!- augur has quit (Remote host closed the connection). 04:32:45 -!- augur has joined. 05:05:07 -!- tswett has quit (Ping timeout: 250 seconds). 05:11:23 -!- Lilin has changed nick to Decensum. 05:13:14 Decensum: Why do you keep changing your nick? 05:13:18 I thought you were going to stop. 05:13:33 Wtf do you want? 05:13:38 oh sorry 05:13:50 >_> 05:14:07 Its not my fault 05:18:33 -!- qwertyo has joined. 05:20:56 -!- CrazyM4n has quit (Remote host closed the connection). 05:26:10 -!- oren has joined. 05:37:44 -!- qwertyo has quit (Ping timeout: 244 seconds). 05:38:46 -!- nisstyre has quit (Ping timeout: 244 seconds). 05:47:36 -!- b_jonas has quit (Ping timeout: 256 seconds). 05:54:53 -!- b_jonas has joined. 06:08:13 -!- nisstyre has joined. 06:16:10 -!- MoALTz__ has quit (Quit: Leaving). 06:18:56 * Decensum throws shachaf off a cliff 06:23:24 -!- dts|pokeball has changed nick to illuminaughty. 06:23:38 -!- illuminaughty has changed nick to dts|pokeball. 06:26:04 -!- dts|pokeball has changed nick to marketbot. 06:26:31 -!- marketbot has changed nick to dts|pokeball. 06:28:28 -!- Dr_pattabhi has joined. 06:29:36 -!- ZombieAlive has quit (Remote host closed the connection). 06:29:42 -!- Dr_pattabhi has left. 06:32:24 * oren casts a curse of cursed cursing on matlab and whatever scientist decided that everything had to eb wirtten in it 06:32:47 -!- shikhin has joined. 06:34:23 Lol 06:35:11 -!- AndoDaan has quit (Ping timeout: 250 seconds). 06:57:39 Decensum: Please don't do that. 06:57:50 Sorry 06:57:57 Its very tempting 07:05:30 -!- augur_ has joined. 07:06:32 -!- augur has quit (Read error: Connection reset by peer). 07:08:09 -!- shikhin has quit (Write error: Connection reset by peer). 07:09:16 -!- shikhin has joined. 07:23:29 `words --finnish 10 07:23:32 käämmiksenne kourisimmillasi lämmetsompaamilta reltäni neuvomissani karistäviänne nielillamme kehomollasi näkyvälistä mummanne 07:24:49 Just realized there's a Finnish word that's not *too* colloquial, yet breaks vowel harmony: "tällainen". 07:24:58 (It's a contraction from the compound "tämänlainen".) 07:26:10 -!- Patashu has joined. 07:26:25 http://en.wiktionary.org/wiki/-lainen#Etymology_2 "From compounds with laji (“kind, sort”) +‎ -inen. The origin as a separate word can still be seen in the imperfect accommodation to vowel harmony." 07:57:02 -!- Decensum has quit. 08:05:28 -!- AndoDaan has joined. 08:09:02 -!- atehwa has quit (Remote host closed the connection). 08:10:46 -!- Frooxius has joined. 08:28:59 -!- weissschloss has quit (Max SendQ exceeded). 08:31:17 -!- weissschloss has joined. 08:31:50 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 08:44:45 -!- idris-bot has quit (Ping timeout: 250 seconds). 08:44:57 -!- Melvar has quit (Ping timeout: 264 seconds). 09:51:12 !blsq_uptime 09:51:12 6d 19h 44m 45s 10:04:25 -!- nisstyre has quit (Changing host). 10:04:25 -!- nisstyre has joined. 10:13:53 -!- cluid has joined. 10:30:17 -!- AndoDaan has quit (Ping timeout: 265 seconds). 11:00:45 [wiki] [[Special:Log/newusers]] create * Domi382 * New user account 11:15:02 -!- boily has joined. 11:15:12 -!- Melvar has joined. 11:20:01 [wiki] [[GERMAN]] N http://esolangs.org/w/index.php?oldid=41386 * Domi382 * (+289) GERMAN 11:22:34 how ORIGINAL. 11:22:52 Or should I say ORIGINELL. 11:23:22 How SNARKY. 11:23:27 (But true.) 11:24:39 Who's going to slap a [[Category:Brainfuck equivalents]] on it, though? 11:25:54 -!- oerjan has joined. 11:26:48 [wiki] [[GERMAN]] http://esolangs.org/w/index.php?diff=41387&oldid=41386 * 213.162.68.138 * (+36) "Who's going to slap a [[Category:Brainfuck equivalents]] on it, though?" -- Well, who? 11:28:44 sometimes, there are cues that we are being watched by otherwordly powers who listen to everything we say... 11:30:00 [wiki] [[قلب]] M http://esolangs.org/w/index.php?diff=41388&oldid=41384 * Ehird * (+10) clarify 11:30:29 boily: why are you mispasting from the other esoteric and why haven't you told us where it is tdnh 11:31:38 eh? 11:31:51 boily: also, have you heard about the codu log stealth mode 11:32:01 * boily facepalms 11:32:15 the stealth mode. I forgot about it. 11:32:29 . o O ( Sorry, Randall, but university homepages are more about securing budgets than about helping prospective students, and even less about helping current students, invited speakers and the like. ) 11:32:31 admittedly there is no proof that ip isn't someone on channel. 11:32:55 int-e: wait, there's a new xkcd today? 11:33:16 Stalker mode, I think. 11:33:19 No. It's yesterday's. 11:33:47 err. 11:33:53 int-e: i don't think yesterday's xkcd is relevant to that statement... 11:33:58 Even worse, I hit the "random" button and didn't realize. 11:34:05 fancy :D 11:34:19 What's up with what-if, anyway? 11:34:20 https://xkcd.com/773/ -- sorry. 11:34:54 fizzie: is there a new one now? it's been hiated for a couple weeks afaihn 11:35:45 * int-e is using an advanced stealth mode where IRC host != web browsing host. (Also known as "irssi inside screen on VPS") 11:37:26 wait, someone made GERMAN when there's already German? 11:37:51 mayber GERMAN is germanier? 11:38:24 (does German have comparative and superlative like in English?) 11:38:28 huh interesting 11:38:32 I don't like the German esolang, but it is more original than simply stating the names of the actions. 11:39:02 did you know that if you visit a page in IE that is just a different capitalization of the one you were coming from, it doesn't add it to history tdnh 11:40:09 boily: yes, sure. Unnötig, unnötiger, am unnötigsten. 11:40:44 oerjan: that's terrifying tdnhaa 11:41:35 boily: in fact german does them in essentially the same way as english, except that it isn't afraid of long words so it rarely does the equivalent of "more/most" 11:41:36 (unnecessary, more unnecessary, most unnecessary.) 11:42:26 i think norwegian is somewhere in between 11:42:57 `? int-e 11:42:59 int-e? ¯\(°​_o)/¯ 11:43:02 wat 11:43:09 `learn int-e is not Swedish. 11:43:11 Learned 'int-e': int-e is not Swedish. 11:43:26 There, that'll help. 11:43:47 I had an idea for branfuck 11:44:11 int-e: what have you done neither that nor my previous pun is showing up in the repository 11:44:23 we could maybe figure out in a lot of programs which registers are used 11:44:37 I imagine most brainfuck programs used registers in a linear repeating pattern 11:44:53 `? int-e 11:44:54 int-e? ¯\(°​_o)/¯ 11:45:09 oerjan: Nothing. Hackego is not committing anything, apparently. 11:45:15 I know that my most complex programs only use that format, some constant initial segment & nx+b & nx+c & nx+d 11:45:15 AAAAAAA 11:45:20 fizzie: I'm sure this is your fault ;-) 11:45:39 hm maybe it didn't yesterday either 11:45:58 maybe a full partition? 11:46:00 `df 11:46:06 `run echo hi >test 11:46:07 df: cannot read table of mounted file systems: No such file or directory 11:46:08 No output. 11:46:19 nope 11:46:48 right. even `learn would've complained. but is the repo on the same partition? 11:47:30 `run echo hi >test; cat test 11:47:33 hi 11:47:48 fizzie: /^[AÄEËIÏOÖUÜYŸ]{5,}$/ 11:52:51 cluid: all programs with <> balanced loops, in particular; that's a known optimization. 11:53:32 -!- lambdabot has quit (Quit: tweak). 11:54:51 * oerjan hates when his touchpad accidentally starts dragging a window 11:55:50 oh okay 11:56:04 I only really have one program that doesn't have balanced loops 11:56:49 it's easier to program that way when you really _do_ have a fixed number of cells. 11:56:59 -!- Patashu has quit (Ping timeout: 245 seconds). 11:57:03 but it won't do for doing things like arrays. 11:58:00 -!- lambdabot has joined. 11:58:08 oerjan: There is none, but it still says "What If will return next week. Happy Thanksgiving!" on top. 11:58:30 fizzie: OOOKAY 11:59:17 cluid: i vaguely recall people talking about trying to deduce what cell you are on even when not all loops are balanced, but it's far harder because then the compiler has to actually guess what memory layout the program uses and check that it's consistent. 11:59:25 Re HackEgo, I'll have a look, but I should be doing useful things at the moment. 12:00:08 Okay, "useful" is rather arguable. 12:00:55 It's not just a full disk, at least. 12:01:30 there's nothing about my last commit that looks weird, at least. 12:01:45 (last successful) 12:01:56 that's what you think! 12:02:08 `run echo "let's see if the log gets any messages" > useless_file.txt 12:02:10 No output. 12:02:17 * oerjan is mentioning that because we _have_ manage to lock up HackEgo's repository mechanism with commits in the past 12:02:22 *+d 12:02:36 Nothing in the stdout log, at least. 12:02:53 oerjan, I was thinking generalize the assumption to linear equations and you should be able to handle some unbalanced loops? 12:02:54 run hg verify on the repo? 12:03:59 If I can remember where it is. 12:04:34 Oh, right, it's the unassuming "env" directory. 12:05:04 this is when we discover the repository has been broken since 2011 12:05:19 Also we didn't notice this for more than a day, you can investigate later :P (this is what I always tell myself when lambdabot is acting up.) 12:06:23 int-e: THAT EXPLAINS SO MUCH 12:08:01 > id 12:08:03 No instance for (Data.Typeable.Internal.Typeable a0) 12:08:03 arising from a use of ‘M339982716941561429716085.show_M3399827169415614297... 12:08:03 The type variable ‘a0’ is ambiguous 12:08:52 did it do that before 12:09:03 which? 12:09:18 or wait 12:09:25 At some point there was a Show instance for functions ... not sure what happened to it. 12:09:31 > id :: Char -> Char 12:09:33 Char> 12:09:35 ah 12:09:41 thanks, right, that was stupid 12:09:43 int-e: i think at some point there were _two_ 12:09:57 actually no 12:10:11 there *used* to be an instance for a -> b that just printed 12:10:16 and > id worked just fine with that. 12:11:18 "abort: no username supplied (see "hg help config")" 12:11:20 Hmm. 12:11:36 it's because ExtendedDefaultRules still requires one of the classes to be in a limited list, iirc 12:12:05 Hmm, so I could try to adding Typeable to that list. 12:12:18 i'm not sure it is customizable 12:12:54 it includes the numeric standard classes and Show, at least 12:13:38 `run ls useless_file.txt 12:13:39 useless_file.txt 12:13:45 `rm useless_file.txt 12:13:47 No output. 12:13:53 `ls useless_file.txt 12:13:54 ls: cannot access useless_file.txt: No such file or directory 12:13:57 Well, I don't know. 12:14:40 It works now, but I'm not sure what I did. I mean, there was that uncommitted file "hmm\n? hello" in the directory that I cleaned up, but that's been there for a while. 12:15:33 oerjan: right. there's a feature request about this here: https://ghc.haskell.org/trac/ghc/ticket/8171 12:15:45 I *can* patch GHC the next time I upgrade though ;-) 12:16:15 `learn int-e är inte svensk 12:16:17 Learned 'int-e': int-e är inte svensk 12:16:26 (Without looking, shouldn't be *too* hard because at least the compiler already knows about the type class.) 12:16:43 `? int-e 12:16:44 int-e är inte svensk 12:16:47 oooooh! 12:16:58 fizzie: cheers! 12:17:21 (who cares why it works if it works) 12:17:31 (who, except hackers... err, never mind.) 12:18:45 And I mean that term in the traditional sense. 12:20:00 `learn int-e är inte svensk. 12:20:02 Learned 'int-e': int-e är inte svensk. 12:20:27 with `learn_append around, not ending wisdoms with punctuation gets awkward. 12:24:34 oerjan: would `learn-append int-e . have done the trick? 12:24:41 I guess not... 12:24:54 `cat bin/learn-append 12:24:54 nope, extra space 12:24:54 cat: bin/learn-append: No such file or directory 12:25:19 `cat bin/learn_append 12:25:20 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\? .*//') \ stuff=$(echo "$1" | cut -d' ' -f2-) \ perl -i -p -e 's/\n/ /' "wisdom/$topic" \ echo "$stuff" >>"wisdom/$topic" \ echo -n "Learned '$topic': " \ cat "wisdom/$topic" 12:26:28 oh. perl -i -p -e 's/\n/ /' 12:26:48 (perl -pie anyone?) 12:27:18 i dunno, i cannot read proto-indoeuropean very well 12:27:39 -!- boily has quit (Quit: TEMPEST CHICKEN). 12:28:39 oerjan: http://www.vexxarr.com/archive.php?seldate=112714 hth 12:29:50 i think that film's a turkey 12:31:24 does this mean there are Gobbeldammerung 1-5 12:32:37 looks like it http://www.vexxarr.com/archive.php?seldate=112813 12:34:10 Gobbelwhat? 12:35:30 http://www.vexxarr.com/archive.php?seldate=112212 12:36:10 oerjan: http://sprunge.us/JHeL hth 12:36:15 http://www.vexxarr.com/archive.php?seldate=112411 12:37:00 oerjan: sorry, I was faster this time. 12:37:03 -!- GeekDude has joined. 12:37:08 AAAAAAAAAAAAAAAAAA 12:37:21 int-e: you have committed a gravy mistake 12:42:05 [wiki] [[RingCode]] N http://esolangs.org/w/index.php?oldid=41389 * TomPN * (+1711) Created page with "'''RingCode''' is an esoteric programming language invented by Tom Price-Nicholson in 2014. RingCode is based on the Tengwar alphabet from Lord of the Rings. The Tengwar are d..." 12:43:01 oerjan: That's not punny, it needs another helping to meat minimum requirements. 12:44:28 this is getting out of hand, i cranberry anymore 12:45:37 (this about exhausts my knowledge of thanksgiving) 12:49:32 berry! 12:53:38 Right. Let's berry the subject. 12:54:20 [wiki] [[قلب]] M http://esolangs.org/w/index.php?diff=41390&oldid=41388 * Ehird * (+12) /* Examples */ rtl 12:54:47 I forgot to apply an abs to this vector before plotting, but on the other hand I think it looks better this way: https://dl.dropboxusercontent.com/u/113389132/Misc/20141209-plot.png 12:54:51 Very sciencey. 12:58:09 what's it supposed to look like? 12:58:37 it's supposed to gave abs hth 13:02:55 It's supposed to look like https://dl.dropboxusercontent.com/u/113389132/Misc/20141209-plot-1.png which is, like, so square. 13:03:29 Maybe I could use the non-absified version in the cover or something. 13:04:21 a thesis with a blooper appendix, now that's something 13:04:40 oerjan: btw, I'm curious. have you tried the Polyominoes golf problem? 13:04:58 oh, no i haven't 13:06:13 I think what the original reminded me of was one of these http://cdn.arstechnica.net/Science/August10/lhc.jpg things. 13:07:00 Except maybe the 90-degree turn there at around (0.5, 0) is not so likely in a particle accelerator. 13:08:58 must be a collision :) 13:09:07 -!- shikhout has joined. 13:09:25 that's a fancy magnetic field you have there though, does it vary over time? 13:10:05 [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41391&oldid=41389 * TomPN * (+513) 13:10:50 -!- ais523 has joined. 13:12:26 -!- shikhin has quit (Ping timeout: 256 seconds). 13:13:26 -!- ais523 has quit (Client Quit). 13:13:34 -!- ais523 has joined. 13:14:45 [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41392&oldid=41391 * TomPN * (+189) 13:18:59 ah, I wish the article would focus on semantics instead of syntax. 13:19:49 The way it looks now, it could still be a Brainfuck clone. 13:20:21 hm a brainfuck equivalent that is so obfuscated we never notice 13:29:37 OK, what about a esolanguage that is normally interesting in an eso sort of way 13:29:47 however, it has a 0.1% chance of interpreting any input program as brainfuck instead 13:30:11 oerjan: "This is my new universal language which I developed specificially for writing a Brainfuck interpreter in!" 13:30:54 oerjan: Would omitting that sentence count as obfuscation? 13:31:31 why would you develop a language for writing a BF interpreter in? BF's too simple 13:31:50 ais523: I'm speculating about the meaning of "obfuscation". 13:31:54 I mean, I developed a language for writing INTERCAL optimizers in, but that's complex enough that it could do with a language of its own 13:32:14 how do we define brainfuck equivalency, btw? at the command level? 13:32:30 I was thinking "Turing completeness." 13:32:40 wat 13:32:44 well, yes, I'm trying to find the definition we /actually/ mean 13:32:46 and it's hard 13:33:02 Ok, so we've identified the same problem :) 13:33:03 something like "programs in this language can be translated to BF in linear time" are defeated by the bundle-an-interpreter trick 13:34:08 -!- _AndoDaan has joined. 13:34:27 something that's to brainfuck like zzo38's 1d chess is to chess 13:36:35 fizzie: here's what that graph reminds me to http://www.math.bme.hu/~ambrus/pu/missing-abs 13:36:41 I don't know of zzo38's 1D chess 13:36:45 is it anything like my 1D sokoban? 13:37:32 1D sokoban... 13:37:50 a most intriguing game 13:38:24 I'm tring to figure out whether it could be made interesting. Say, by adding the ability to jump over a box. 13:38:51 each square allowed you to teleport to a specific other square 13:39:08 Ah. 13:39:11 other than that, it was identical to regular sokoban 13:39:26 did the blocks teleport too? 13:39:27 ais523: does it teleport boxes too? 13:39:36 no, the boxes just move normally 13:39:54 ais523: can you teleport on a box? 13:40:05 or inside a wall? 13:40:42 do you get teleported at most once after each move? 13:41:04 you can choose when to teleport, and can teleport multiple times in a row if you like 13:41:08 you can't teleport under a box 13:41:14 and there are no walls except one at each end 13:41:29 (and the teleport destinations are all on the map, obviously) 13:41:34 -!- shikhout has changed nick to shikhin. 13:41:48 * int-e is reminded of the cyberbox level subset in xsok 13:42:24 though teleportation there just picks the nearest free teleporter, so it's not the same. 13:43:33 ah 13:43:39 so there's no mandatory teleport 13:43:39 ok 13:43:55 I guess walls aren't really necessary, you can emulate them with boxes anyway 13:48:01 i can find logs where zzo38 talks about it but no actual link 13:48:42 point was, it was 1d yet entirely equivalent to chess 13:50:25 presumably the board was 64 by 1, and each piece had a set of distances it could move forwards or backwards 13:50:33 main problem there is preventing the sides of the board wrapping 13:51:29 Vorpal: Yes. It is not quite like category theory, though. I do not understand category theory completely, so it is not category theory. 13:51:32 whoa 13:51:52 Q.E.D. 13:52:24 oerjan: http://www.chessvariants.org/index/msdisplay.php?itemid=MSeeeeeeeeeeeeee hth 13:52:37 b_jonas: Oh, it's a common theme? 13:53:01 I'd be very surprised if 1D Sokoban were equivalent to Sokoban 13:53:20 if it is, maybe there's a rule that "everything is PSPACE-complete unless it obviously isn't" 13:53:36 ais523: sounds like a corollary to that wolfram thing 13:53:44 or the similar TC thing 13:54:02 and of course there has be one for NP 13:54:04 fizzie: what? 13:54:35 shachaf: thx 13:54:40 oerjan: I don't see any reason why turing-completeness being common would cause pspace-completeness to be common 13:54:56 (especially as np-completeness seems more common in practice, and I don't think anyone really believes that pspace=np) 13:55:29 ais523: i think it's basically about the kind of resources you have available 13:55:55 if your game is about finding a fixed solution setup, it's NP-complete 13:56:14 right; the paper about computational complexity of computer games mentioned, for most of those games, that they weren't above NP because all moves were irreversible 13:56:21 if it's about finding a solution that moves around inside a setup, it's PSPACE-complete 13:56:35 and if it actually has unbounded state, it's TC 13:57:09 now I want to think up a counterexample to that 13:57:19 of course there will be some in theory 13:57:20 although, by that heuristic, 1D sokoban is PSPACE-complete 13:58:05 [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41393&oldid=41392 * TomPN * (+2108) 13:58:15 there are hierarchies of complexity classes, after all 13:59:02 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=41394&oldid=41336 * TomPN * (+70) /* See also */ 13:59:02 and below them there are loerarchies 13:59:27 [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41395&oldid=41393 * TomPN * (-3) /* See also */ 13:59:40 [wiki] [[Dimensions]] http://esolangs.org/w/index.php?diff=41396&oldid=41328 * TomPN * (+70) /* See also */ 13:59:50 ais523: of course _all_ of them, in addition to resources, require your game or the like to have enough local logical primitives 13:59:53 in a sense 13:59:56 [wiki] [[Quantum Dimensions]] http://esolangs.org/w/index.php?diff=41397&oldid=41099 * TomPN * (+70) /* See also */ 14:00:45 oerjan: right, but a good esoprogrammer can craft logical primitives out of almost anything 14:00:49 [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=41398&oldid=41368 * TomPN * (+15) /* R */ 14:01:06 that said, it still frustrates me that some of the constructions in the computer games complexity paper are wrong 14:01:26 e.g. they claim the Metroid construction also works for Super Metroid but it doesn't due to the existence of the mid-air morph 14:02:43 [wiki] [[User talk:TomPN]] http://esolangs.org/w/index.php?diff=41399&oldid=40923 * TomPN * (+14) /* Other esolangs */ 14:02:59 ais523: I hope you wrote to the authors to note these mistakes 14:03:06 maybe they just don't play those games enough 14:03:35 b_jonas: I haven't 14:03:40 interesting idea, though 14:04:27 ais523: that's almost the _definition_ of a good esoprogrammer there 14:04:43 it's certainly the way i work, at any rate 14:04:43 oerjan: eys 14:04:45 *yes 14:04:58 [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41400&oldid=41395 * TomPN * (+0) /* Adding tehtar to form instructions */ 14:05:02 ais523: tell them. try to do a quick search first for later articles of theirs correcting the mistakes of course. 14:05:05 oerjan: btw you should work on clue (keymaker)'s tcness 14:05:27 -!- nortti has changed nick to lawspeaker. 14:06:05 -!- lawspeaker has changed nick to nortti. 14:06:14 elliott: is clue (oklopol)'s obviously TC, or obviously sub-TC? I have a feeling it's one or the other 14:06:24 obviously TC, there's an ski implementation 14:09:01 ais523: although my best work also involves being able not to be overwhelmed by the complexity of putting it all together. 14:09:51 that can be a hard part 14:24:05 -!- ZombieAlive has joined. 14:25:13 -!- drdanmaku has joined. 14:30:24 -!- ais523 has quit (Read error: No route to host). 14:30:34 -!- ais523 has joined. 14:57:41 -!- _AndoDaan has quit (Remote host closed the connection). 15:07:05 -!- spiette has joined. 15:15:02 -!- `^_^v has joined. 15:29:08 elliott: clue seems to fall into the same class as self-bct and dupdog: too complicated to prove non-tc, too unruly to see any obvious way of controlling the complexity 15:30:16 and xigxag? 15:31:20 hm probably 15:35:57 oerjan: does deciding whether an input to McCulloch's second machine is immortal fall into the same class? or is that obviously controllable? 15:36:18 -!- Sprocklem has joined. 15:36:33 what is that 15:36:43 mcculloch has far too many machines 15:36:49 you'll have to list the rules, rather than just name it 15:37:00 ais523: I have them listed on the esolang wiki 15:37:12 fiendish 15:37:14 ais523: http://esolangs.org/wiki/McCulloch%27s_second_machine 15:39:28 -!- Decensum has joined. 15:39:38 hm the digits 6-9 are redundant with each other, it seems 15:39:56 Go to bed 15:40:07 ? 15:40:09 -!- ChanServ has set channel mode: +o oerjan. 15:40:16 :0 15:40:20 -!- oerjan has kicked Decensum You are getting annoying. 15:40:30 oerjan: oh, it's dulnes? 15:40:30 Oh 15:40:35 oerjan: that's irrelevant if you ask only about immortal numbers, becaues in this machine any number containing a digit 1 or 6 or 7 or 8 or 9 is mortal 15:40:48 also, first -n message! 15:40:53 yay! 15:40:59 -!- oerjan has set channel mode: -o oerjan. 15:41:09 has dulnes been kicked before? 15:41:16 i don't remember 15:41:21 and if so, what was the offence? 15:41:25 -!- Decensum has joined. 15:42:20 what does -n mean 15:42:54 ais523: as in channel mode -n , right? 15:42:57 oh i guess i know nothing about irc 15:43:06 b_jonas: yes 15:43:29 add it to the list of things i know nothing about 15:43:48 b_jonas: oh so you cannot avoid a digit getting to the start 15:43:57 hmm, now the list of things that oren knows nothing about has been removed from the list of things that I know nothing about 15:44:11 -!- Decensum has changed nick to Decensum|Away. 15:44:17 oerjan: yes. I can tell you the proof but it might be more interesting if you try to figure it out yourself 15:44:47 oh yes, obviously 15:45:32 Any ideas for clever ways to take the tail of an FMList? http://stackoverflow.com/a/27382987 15:47:13 * oerjan decides his brain doesn't have room for both FMLists and machines at the moment 15:47:31 whoa, you're doing things with -- oh, not that machines 15:48:20 nah 15:48:34 oerjan: isn't it the same thing? they both want to access a list from both ends quickly 15:48:44 (don't take that seriously( 15:48:45 )) 15:48:47 b_jonas: O KAY 15:49:17 I've kicked dulnes I think 15:49:20 I've also kicked oren 15:49:33 it's therapeutic 15:49:57 elliott: are you sure you've not been replaced with facekicker 15:50:05 [345]*2[1-9][1-9] 15:50:07 what is this 15:50:09 I kick people, not faces! 15:50:17 anyway I'm going to take his advice and go to bed. 15:50:17 is that a regex 15:50:18 cluid: a regular expression hth 15:50:19 cluid: a regex, by the look of it 15:50:23 Heh heh. http://en.wikipedia.org/wiki/Heisenbug 15:50:56 aha, a spam I just got: "You have been selected as a winner for using Google services" 15:51:03 j-bot: +/i.1e9 15:51:04 b_jonas: |limit error 15:51:04 b_jonas: | +/ i.1000000000 15:51:07 j-bot: +/i.1e6 15:51:07 b_jonas: 499999500000 15:51:11 j-bot: +/i.1e8 15:51:11 b_jonas: |limit error 15:51:12 b_jonas: | +/ i.100000000 15:51:14 j-bot: +/i.1e7 15:51:14 b_jonas: |limit error 15:51:14 b_jonas: | +/ i.10000000 15:51:19 when I'm in the minority of the Internet-using population that doesn't (at least, not those that require login, and I normally use a separate browser even for the ones that don't) 15:51:35 ais523: Is it signed by the "CEO of Google UK"? 15:51:37 j-bot: 3 :'+/i.1e6'"0]i.1e5 15:51:40 I got spam like that recently. 15:51:52 what is difficult about the mcculloch machine thing 15:51:54 b_jonas: |timeout 15:52:07 have you tried checking each rule against the "regex" 15:52:08 shachaf: yes 15:52:14 ©2014 Google Terms & Privacy 15:52:17 j-bot: 3 :'+/i.1e6'"0]i.1e4 15:52:20 That spam was so good. 15:52:32 I pasted the whole thing into an IRC channel. 15:52:32 that's quite some bizarre copyright notice 15:52:33 b_jonas: |timeout 15:52:36 j-bot: +/3 :'+/i.1e6'"0]i.1e3 15:52:39 b_jonas: 499999500000000 15:52:49 is Matt Brittin the actual CEO of Google, I wonder? 15:52:54 guys? 15:53:06 cluid: sorry, I'm here 15:53:25 cluid: I don't claim it's difficult, but I couldn't solve the problem I gave 15:53:34 oh, it says "find attached email with more details" and has an attached jpeg 15:53:36 Larry Page is the CEO of Google.1 15:53:40 which I'm not going to lok at 15:53:43 err, Google UK 15:53:53 According to Wikipedia Matt Brittin is a VP. 15:54:17 ais523: are you paranoid? 15:54:25 The machine is defined for exactly the digit strings matching the following regular expression: /^[345]*2[1-9][1-9]*$/ 15:54:30 is this derived from the rules? 15:54:34 oren: to some extent, yes 15:54:34 or is this a definition 15:54:35 cluid: yes 15:54:39 it's derived from the rules 15:54:50 so this needs proof 15:54:57 the proof is trivial 15:54:59 it would be a shame if there was a mistake in that 15:55:03 oh excellent 15:55:47 cluid: any string with no 2 is mortal 15:55:54 because that's the base case of the induction 15:57:02 shachaf: not since http://dilbert.com/fast/2014-11-15/ I think 15:57:40 R = /^[345]*2[1-9][1-9]*$/ 15:57:40 dR/d2 = /^[1-9][1-9]*$/ 15:57:46 dR/d3,4,5 = R 15:59:21 this is extremely difficult 16:01:12 -!- MDream has changed nick to MDude. 16:02:34 -!- tswett has joined. 16:02:40 b_jonas: that loads so fast i cannot see it 16:02:50 ah there 16:02:51 b_jonas, why not [345]*2[1-9]* ? 16:03:19 I tried to derive that regex myself 16:03:24 but I got a different answer 16:03:28 cluid: because the rules specifically forbid giving an empty string 16:03:39 this string always has 2 in it though 16:03:50 oh 16:04:05 so [345]*2[1-9]+ ,which is what you have 16:04:27 -!- Sprocklem has quit (Quit: [). 16:04:32 -!- Sprocklem_ has joined. 16:04:52 -!- Sprocklem_ has changed nick to Sprocklem. 16:07:00 http://lpaste.net/116084 16:07:21 I think this characterizes the strings which are mortal, so this might be a step in the right direction? 16:08:09 oh it would be !R union those (whic lets us delete the last one) 16:09:51 what's !R 16:09:57 the negation of the regex R 16:10:15 that's not what mortal means 16:10:21 I don't think regex is powerful enough for this problem though, since you have m x ++ 2 ++ m x 16:10:29 the same string occurs twice 16:10:38 it can take any number of iterations to die 16:10:46 oh I see what you mean, thanks 16:12:06 maybe you could express mortal strings as a CFG? 16:12:08 b_jonas: this does resemble dupdog... 16:12:27 cluid: i doubt it 16:13:17 yeah i gues thats hard 16:13:38 well another approach might be: If you can decide if a string diverges then you wi 16:13:39 n 16:13:57 that also looks very hard to find though 16:15:24 well you can rephrase the question but you have to have some reason if that rephrasing is going to be easier to solve... 16:15:49 I think this problem is too hard to solve, but it would be nice to solve it 16:15:50 -!- ais523 has quit. 16:15:55 * oerjan realizes he just rephrased the problem of finding a solution 16:16:57 It has worked before... 16:17:18 M xs when not (P xs) or (P xs and M (m xs)) 16:17:25 this is theform of the mortal predicate 16:17:29 int-e: now that's crazy talk 16:17:32 where P tells you if a string is in the machine 16:20:08 are there strings which grow large then get smaller? 16:20:13 if not its probably decidable 16:20:25 oerjan: dupdog... hmm 16:20:31 well ther are strings like 5:5:5:5:something 16:20:38 which gets really big them the 'somethings' might get smaller 16:20:45 555555555444 for example 16:21:04 that would need pathced I guess 16:21:05 wait, can some op add +n to the channel modes, please? 16:21:19 seeing messages from kicked people is ... strange. 16:21:32 int-e: ais deliberately has it at -n until it becomes a problem 16:21:34 as a test 16:21:38 so don't set it to +n yet 16:22:16 this problem is very hard :( 16:22:18 well, consider this as one vote for it being a nuisance then. 16:22:43 i dont think its -n that is a nuisance 16:23:16 anyway, can you give ma hint for solving the McCulloch's second machine 16:23:29 it is to me. it breaks my mental model of IRC. ;-) 16:23:31 int-e: note that iirc an actual ban still prevents talking 16:23:34 -!- hjulle has quit (Ping timeout: 264 seconds). 16:23:43 int-e, I was joking that the real problem is Dulnes 16:23:58 cluid: I know. 16:24:09 oerjan: hmm. 16:24:09 oerjan: no, not with -n 16:24:12 * oerjan swats cluid for explaining jokes -----### 16:24:19 oerjan: the ban doesn't apply for people who aren't joined, 16:24:21 for implementation reasons 16:24:25 b_jonas: oh. 16:24:37 oerjan, any insights into this 16:24:38 cluid: the -----### depicts a paddle, btw. 16:24:42 lol 16:24:49 i thought it was a swatter 16:24:55 int-e: no, it's a flyswatter hth 16:24:56 oh 16:25:21 oerjan: oh. how did you depict mapoles? 16:25:37 oerjan: basically the server caches which joined users can talk on a channel, so it doesn't have to recompute it from the channel modes at each message, but it doesn't want to cache anything for non-joined users, so it just allows everyone 16:25:47 so help me with math please :) 16:25:49 anyway, can you give ma hint for solving the McCulloch's second machine <-- this is a problem that _we_ don't know how to solve yet, so unlikely. 16:26:16 oerjan: besides, you can see messages from recently kicked users because of multiple server stuff 16:26:20 I thought of something 16:26:22 Anyway, my impression of the McCulloch machine was that it's a hard problem, and that there may just be enough rope to hang it on the TC nail. 16:26:45 all infinite loops occur in the following way: x is in R, and m x is in R 16:26:59 int-e: if it matters, my guess is that there is a relatively short algorithm to decide mortality, and has a human-understandible length of proof. 16:27:22 -!- ZombieAlive has quit (Remote host closed the connection). 16:27:24 oh wait that's wrong 16:27:38 int-e: the mapoles aren't mine so i don't generally depict them 16:27:40 -!- ZombieAlive has joined. 16:27:43 you need a language R' such that: forall x in R', m x is in R' 16:28:07 the loops live in R' 16:28:48 maybe you could define R as a CFG? 16:28:50 sorry R' 16:29:39 1 16:29:46 /#####| 16:29:46 =========<######| 16:29:46 \#####| 16:29:54 there, for future reference. 16:30:30 http://lpaste.net/116088 16:31:17 R' -> 2 R' | 3 R' 2 R' | 4 Z | 5 R' R' 16:31:17 Z -> Z 2 | Z 2 Z 3 | R' 4 | Z Z 5 16:31:19 like that? 16:31:47 int-e: whoa 16:31:50 this language is empty :/ 16:31:58 this approach doesn't work 16:33:06 perhaps you could write a prover in prolog? 16:33:18 cluid: note that you are going to have a _very_ hard time finding a "general" method to solve it, because only takes a bit different rules to get a "tag system" for which the problem _is_ unsolvable. 16:33:43 so if it is solvable it needs looking at specific properties of the rules used 16:34:12 *it only 16:35:35 I don't really have any other ways I could approach the problem though 16:36:32 In fact, I'd say that tag systems look simpler! 16:36:42 indeed! 16:36:43 if S is the language of looping machines, S -> 2 S | 3 K | ... 16:36:58 then K is the language of machines such that m x ++ 2 ++ m x is a looping machine 16:38:21 http://lpaste.net/116090 it seems unlikey to transform this program into something which can be computed 16:38:31 int-e: the only thing that might make this simpler is that you don't have many constant strings. 16:38:44 it needs "base cases" 16:39:34 guys 16:39:45 I made another Functional Brainfuck! 16:40:11 SopaXorzTaker, what is it? 16:40:47 [ ];._1' can I talk after parted?'[+/([:+/@i.1e6"_)"0 i.6e3 16:40:51 -!- j-bot has left. 16:41:01 b_jonas: can 16:41:02 b_jonas: I 16:41:02 b_jonas: talk 16:41:02 b_jonas: after 16:41:02 b_jonas: parted? 16:41:04 oerjan: And of course it may be possible that mortal strings are easy to characterize and you can *still* embed a TC language in the immortal one (say, some CA). 16:41:10 do you mean actually functional, or just procedural? 16:41:23 oerjan: But that's just crazy talk at this point. 16:41:30 (on my part) 16:42:09 int-e: your attempt to solve identity matrix just triggered a henkma incident hth 16:42:21 Ah? 16:42:49 ah. 16:42:52 is that like a collapsing hrung disaster? 16:43:07 b_jonas: much worse hth 16:43:12 * oerjan goes to look up hrung 16:44:12 what would you say is the state of matter of the identity matrix twh 16:44:22 5 characters shorter and completely different statistics. Sigh. 16:44:26 shachaf: non-exotic 16:44:39 cluid, it has function definitions 16:44:42 perhaps i got that backwards 16:44:48 by numbers 16:45:03 oerjan: but at least it's an endless problem, plenty of time to catch up ;-) 16:45:27 like that {[>,]} 16:45:34 oh, that identity matrix! 16:45:35 and calling like that ++| 16:45:56 where {} are function operators 16:46:03 and | is a call 16:46:04 cool! 16:46:15 SopaXorzTaker: you know it's generally not allowed to create brainfuck variants these days, unless you have a very good excuse, right? 16:46:17 callse function number (mem[ptr]) 16:46:29 b_jonas, I am not gonna make it publicv 16:46:36 it's my entertainment 16:47:30 oerjan: I have a post-mortem toy problem, http://golf.shinh.org/p.rb?postfix+to+infix 16:47:41 could you encode collatz type problems into this machine? 16:47:59 cluid: maybe? 16:48:10 my guess is no 16:48:39 why are there no active problems? 16:49:36 because no one made any 16:51:43 -!- nortti has changed nick to lawspeaker. 16:52:25 -!- lawspeaker has changed nick to nortti. 16:54:04 you know the thing where you're writing a recursive function and you accidentally unfold it one step for no good reason? 16:54:07 what a scow 16:54:58 *what a what a scow 16:55:50 now that you're not thinking about machines you should tell me whether this fmlist business is possible twh 16:56:11 i'm actually not completely sure whether it's possible even though i have a working implementation 16:56:36 Nope hth 16:56:48 -!- oerjan has quit (Quit: leaving). 16:58:04 tdnhbwaprr hth 17:05:03 -!- Sprocklem has quit (Ping timeout: 258 seconds). 17:12:35 -!- MDream has joined. 17:14:35 [wiki] [[KittyKittyMewMew]] http://esolangs.org/w/index.php?diff=41401&oldid=38827 * 67.78.57.11 * (+141) /* Interpreters for KittyKittyMewMew */ 17:14:38 -!- MDude has quit (Ping timeout: 258 seconds). 17:16:13 -!- SopaXorzTaker has changed nick to ummjackson. 17:16:20 -!- ummjackson has changed nick to SopaXorzTaker. 17:17:33 -!- scounder has quit (Read error: Connection reset by peer). 17:30:52 -!- scounder has joined. 17:37:06 -!- AndoDaan has joined. 17:53:41 -!- mihow has joined. 18:03:45 shachaf: sorry, what fmlist business, didn't the stackoverflow thread already answer all questions? 18:04:10 int-e: I linked to my answer in the thread. I want a non-cheating way to do what I did there. 18:04:24 "noncheating"? 18:04:56 -!- Decensum|Away has quit (Quit: Connection closed for inactivity). 18:05:16 Yes. Without using any types that break the monoid laws. 18:07:22 Ah. 18:08:07 shachaf: that did not help but was a pretty what? rude reply? 18:08:46 perfectly reasonable response 18:10:13 Oh. 18:20:20 shachaf: http://sprunge.us/WJWB?hs doesn't break any rules, I think. 18:21:36 [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41402&oldid=41400 * BCompton * (+94) 18:22:54 int-e: See also http://lpaste.net/116099 from glguy in #haskell-lens 18:23:02 shachaf: using the basic property that uncons ((a:b) ++ c) = Just (a, b++c), so UAux stors the head, the tail, and a reconstruction of the original list. 18:23:30 right, that's the same idea. 18:24:23 i find Haskell a lot harder to understand than lisp; is that normal 18:25:26 yes 18:25:37 -!- MDream has changed nick to MDude. 18:28:26 oren: only if you know Lisp. 18:29:52 what if you don't relly know either? 18:32:43 -!- spiette has quit (Remote host closed the connection). 18:32:57 lisp has a lower barrier for entry 18:33:07 haskell is more complex and unusual 18:34:23 i think it's that haskell is somewhat an ALGOL dialect 18:34:39 I dont thik so, 18:34:55 in my picture of things scheme (a lisp) descends from ALGOL 18:35:06 haskell comes from miranda and gopher and lazy ml 18:35:33 well you probably know more than me so ok 18:36:08 int-e: I think your solution comes up with the same result as glguy's. 18:36:13 shachaf: Now I'm wondering whether the (a,b) <> (_,d) = (a <> d, b <> d) semigroup has a name. 18:36:16 (And mine, after I changed it not to unfold the recursion.) 18:39:10 I encourage y'all to submit answers with your solutions. 18:39:33 * int-e is confused. 18:39:48 ? 18:39:56 What is a solution, if it's not an answer? 18:40:28 To submit answers to the stackoverflow question that contain the solutions. 18:40:42 Ah. Not going to happen. 18:41:05 OKAY 18:41:14 No, I can't pull it off. 18:41:59 shachaf: I actually parsed the sentence wrong: (I encourage y'all (to submit answers) with your solutions.) 18:42:14 rather than (answers with your solutions) 18:42:25 I don't follow your parentheses. 18:42:31 Oh. 18:42:43 Use your solutions to encourage you to submit answers? 18:43:01 Well, it didn't make sense to me either. 18:43:35 It sounded almost like something a teacher would tell her students, but not quite. 18:49:23 I still like this free magma thing. 18:49:33 lambdabot should have it so we can inspect monoid trees. 18:50:47 I have a 9-line @let definition suitable for pasting, but only I can use that easily. 18:54:41 > foldMap N (S.fromList [1..6]) 18:54:42 (N 1 ◇ (N 2 ◇ N 3)) ◇ (N 4 ◇ (ε ◇ (N 5 ◇ N 6))) 19:09:04 -!- shikhout has joined. 19:12:09 -!- shikhin has quit (Disconnected by services). 19:12:12 -!- shikhout has changed nick to shikhin. 19:22:10 11:20 shachaf: int-e's solution is a little too strict 19:22:10 11:20 minefield = (singleton 0 <> singleton 1 <> undefined) <> (singleton 2) 19:22:48 int-e: You should be in #-lens or something, it's the future. 19:24:11 too scary. 19:25:07 -!- MoALTz has joined. 19:28:59 Ah yes, nasty strictness. So using tuples for separating out the full part is essential. 19:34:45 -!- S1 has joined. 19:38:56 actually no, the type is fine... but I need the selectors. 19:41:59 so that leads to http://sprunge.us/acbH?hs 19:42:59 I'm going to stop conveying messages between you two now, because it's silly. 19:43:12 aww 19:43:30 Either you join #-lens or glguy joins this channel. Or something. 19:43:42 -!- glguy has joined. 19:43:53 Well then. 19:43:55 heh 19:44:24 shachaf: I'm still OK with you relaying messages for me 19:44:30 this way I can make sure they are relayed correctly 19:45:21 `welcome glguy 19:45:22 glguy: 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:45:40 (just following standard operating procedure) 19:46:15 so did shachaf relay the http://sprunge.us/acbH?hs link? 19:46:57 glguy: in any case, thanks for pointing out the strictness bug in my code. 19:47:05 Yeah, he pasted that in another channel 19:47:28 I didn't know where the discussion had originated but we were discussing it there, too 19:48:27 shachaf: no. I'm aiming for maximum confusion. :P 19:48:58 this is what I had come up with : http://lpaste.net/116099 (I don't know if shachaf managed to share that over here) 19:49:08 enough about shachaf 19:49:31 Yes, I saw that. 19:50:57 -!- relrod has joined. 19:51:26 `relcome relrod 19:51:28 ​relrod: 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:51:53 -!- Sprocklem has joined. 19:52:09 :D 19:55:12 `` grep -l welcome bin/* 19:55:13 bin/bienvenido \ bin/emoclew \ bin/ozcome \ bin/relcome \ bin/rwelcome \ bin/tervetuloa \ bin/wehlcohme \ bin/welcome \ bin/welcome \ bin/WeLcOmE \ bin/WELCOME \ bin/welcome13 \ bin/wlcm \ bin/wow \ bin/zalgreet 19:55:44 whoa, I didn't know about all these. 19:55:53 `wlcm shachaf 19:55:54 shachaf: 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:56:02 hmm. 19:56:23 `` cat bin/wlcm 19:56:24 welcome "$@" | sed 's/aeiou//' 19:56:36 oh. 19:56:41 That program has a high bug density. 19:57:17 `` sed -ir 's/.$/g&/' bin/wlcm; cat bin/wlcm 19:57:20 welcome "$@" | sed 's/aeiou//g' 19:57:28 `wlcm FireFly 19:57:28 FireFly: 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:57:33 oh. 19:57:34 That's one bug, but there's a more important one. 19:57:39 I didn't spot the other obvious bug 19:57:46 (but I did now, of course) 19:57:47 how about tr -d aeoiu? 19:57:56 That's neater 19:58:08 `zalgreet FireFly 19:58:09 F͓̈́i̻͓r͈ͨe̵ͫF̲͂ĺ͚y̖̕:͓ͮ ͨͤW͇̐e͎̣lͯ̓c̳̊o̯̰m̶͏ĕ̟ ̣̀t̻͕o̢͆ ͖̓t̗̝h͍͑eͪ̉ ̨ͫi͇͒n̢̼t̥̘eͬ͟ṛ̀n̾̈́a̫͏t̸͒i͉ͬŏͦn̳͗a̫ͮl̿ͤ ̓ͭh͗͊ų͎b̢ͪ ͯ̒f̹̀ơ͉r̨͗ ̋ͬeͮͭs͝ͅo̝͛t̹ͮe̎͋r̵̪i͎ͥc̿͞ ̱͗pͥ͏r̓͞o̅ͥg̡͑rͭͫa͉͡m̜̑mͭ็iͩ̓n̨̕g̈́͒ ͣ͜l̺͖ã̲n͠ 19:58:30 `` sed -ir 's/sed.*/tr -d aeoiu/' bin/wlcm; cat bin/wlcm 19:58:48 `wlcm yourself 19:58:50 HackEgo? 19:59:07 Shouldn't've zalgreeted. 19:59:07 zalgreet might've been too much for HackEgo 19:59:19 `` thanks shachaf | zalgo 19:59:26 yourself: 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:59:27 T͈͑hͩͭaͫ̉n̍̾k̪ͬs͈̐,̘̌ ̯́s̾͊ḧ̜a̛̚c̙ͦh̸̃a͔̽f͎̰.̙̅ ͗̄T̷͇h́͊ä̇c̘ͨh̛̻å̎f̂ͨ.̱̊ 19:59:28 welcome "$@" | tr -d aeoiu 19:59:51 `` ls 19:59:52 ​:-( \ 113500 \ bdsmreclist \ bin \ canary \ cat \ complaints \ :-D \ dc \ dir \ dog \ etc \ factor \ faith \ head \ hello \ hello.c \ ibin \ index.html?dl=1812 \ interps \ lib \ paste \ pref \ prefs \ py.py \ quines \ quotes \ script.py \ share \ src \ test.c \ Wierd \ wisdom \ wisdom.pdf 20:00:10 `help 20:00:10 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 20:00:32 `? HackEgo 20:00:33 HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing. 20:01:10 Interesting 20:02:15 `wlcm hi 20:02:16 h: Wlcm t th ntrntnl hb fr strc prgrmmng lngg dsgn nd dplymnt! Fr mr nfrmtn, chck t r wk: . (Fr th thr knd f strc, try #strc n rc.dl.nt.) 20:02:20 `cat cat dog canary 20:02:21 cat: cat dog canary: No such file or directory 20:02:24 Better 20:02:25 `` cat cat dog canary 20:02:27 Meow~~ \ ヽ༼ຈل͜ຈ༽ノ \ chirp 20:03:12 -!- Patashu has joined. 20:24:02 -!- Sprocklem has quit (Ping timeout: 245 seconds). 20:25:42 -!- Patashu has quit (Ping timeout: 245 seconds). 20:59:04 -!- Sprocklem has joined. 21:07:21 how come so many languages have REPLs but don't porvide the ability to save functions/variables you have defined on the REPL? 21:10:00 because they are read-eval-print-loops, not editors. 21:10:38 but BASIC had that ability in the 1980s 21:11:08 and matlab has it 21:11:23 why can't GOOD languages do it? 21:11:48 yeah it sucks 21:11:50 i dont get it either 21:11:51 Not trying to be cocky. It's a mindset that comes from editing code in editors, then loading it to run it. Once you reach that point it's easier to modify the code in the editor and reload it. 21:12:23 The strange thing is that nevertheless, simple REPL loops often grow and acquire the ability to define new functions. 21:13:40 i just had to scroll up in my terminal, and copypaste it and edit the prompts out 21:13:50 that should not be necessary 21:16:21 (The REPLs I can think of don't even keep the entered source code around.) 21:17:12 -!- Vorpal has quit (Ping timeout: 255 seconds). 21:17:31 It's noteworthy BASIC comes from a completely different era when running two programs simultaneously was generally not done. So of course you needed an IDE, rather than just a REPL, and an IDE that can't save code is worthless. 21:18:05 With a repl you can define definitions in terms of previous effects: x = sizeOfFile "somefile"; f y = y + x, so it might not be enough to just save a function definition. You'd probably need to save the whole transcript 21:18:11 -!- Vorpal has joined. 21:18:14 -!- Vorpal has quit (Changing host). 21:18:14 -!- Vorpal has joined. 21:30:10 You can save the current state of the REPL 21:31:26 yeah that's what I mean: you should be able to turn the state where there is a variable x and it contains 19, into a file containing "x = 19" 21:31:36 -!- ocharles_ has joined. 21:32:05 Some REPLs store the transcript in a list which you can write out or replay manually (ipython, mathematica) 21:32:37 Others let you save a snapshot of the heap to reload later 21:33:18 oren: what about the state where x is a file descriptor? 21:33:50 -!- tswett has quit (Ping timeout: 272 seconds). 21:34:03 in that case it should either fail to save x or turn it into fopen...fseek... 21:34:27 not that the language would necessarily use C's functions 21:35:20 -!- Melvar has quit (Ping timeout: 245 seconds). 21:35:31 What if the file is an open TCP socket 21:35:59 obviously you'd just also save a version of the remote program alongside your REPL state 21:36:12 then it should definitely fail (with an error like "cannot save this type of value: TCP-socket") 21:36:13 and bring both back up when you were ready 21:36:27 I would think that saving transcripts would be useful. Going beyond that in languages that don't have native code inspection is probably not going to pay off. 21:37:13 Isn't this basically how smaltalk environments work? 21:37:19 So ... not Lisp, Scheme or TCL, did I miss any? ;-) 21:37:37 The smalltalk environments that I've seen (very few) use Heap images. 21:38:13 which presumably do something to abstract out these rough edges when resuming from a saved heap 21:38:18 (where they can be smoothed) 21:38:26 probably 21:38:36 -!- Melvar has joined. 21:38:37 why can't it save as source code? 21:38:48 like BASIC did? 21:39:27 you should be able to 21:39:30 that way i can develop a function in the repl and then compile it 21:39:46 you could make a better REPL with this feature 21:40:37 i am working on one for scrip7... 21:40:55 But the approach to IDEs has been turned upside down. Rather than extending a REPL with editing functionality, we have editors that integrate the REPL. 21:41:19 good oren 21:41:20 If you want code editing, the state of the art is to use an editor, not a REPL. 21:41:26 scrip7 is really cool 21:41:54 it will be cooler... current version kinda sucks 21:42:24 it needs better repl, which i am making in ncurses 21:46:04 the registers will have context-relevant display above the normal scrip7 command line 21:47:51 and of course the new version of langugae will have better IO commands providing functionality as described above 21:48:28 and the context-relevant display is fully editable of course 21:49:04 e.g. point register 0 to a 64-bit value, then edit the displayed value directly 21:50:21 a drop-in debug/programming console for any C program is what it ends up being 21:52:21 -!- nys has joined. 21:54:25 -!- idris-bot has joined. 21:59:14 -!- Frooxius has quit (Quit: *bubbles away*). 22:00:17 -!- cluid has quit (Remote host closed the connection). 22:04:27 -!- Frooxius has joined. 22:21:35 -!- Sprocklem has quit (Ping timeout: 245 seconds). 22:33:31 Heh, Agda's source has its own definition of lenses 22:33:55 It's essentially a veeery stripped down version of lens 22:49:32 -!- Froox has joined. 22:49:33 -!- Frooxius has quit (Read error: Connection reset by peer). 22:56:50 -!- oerjan has joined. 22:58:03 -!- Decensum|Away has joined. 22:58:15 goddammit, the asus smarttouch (or something like that) driver has died again 22:58:52 the only way i know to fix it is rebooting windows 23:02:42 *smart gesture 23:04:22 C or C++ ? 23:04:24 of course it has to happen when i have 24 tabs open 23:05:02 Decensum|Away: what are you comenting on? 23:05:06 *commenting 23:05:22 Im asking if i should use C or C++ 23:05:45 rust 23:06:21 No 23:06:32 -!- CrazyM4n has joined. 23:06:46 use C 23:06:59 -!- AndoDaan has quit (Read error: Connection reset by peer). 23:07:04 Thanks 23:07:08 or C++ without boost 23:07:15 yes, rust 23:07:24 -!- Decensum|Away has changed nick to Decensum|Zzz. 23:07:55 -!- AndoDaan has joined. 23:07:56 I like to use C 23:08:00 But what program is it anyways? 23:08:04 Client stays on for about 5 hours so im gonna go sleep 23:08:13 o/ 23:08:30 -!- Vorpal has quit (Ping timeout: 240 seconds). 23:08:47 if he's asking "C or C++" he must have a need for speed 23:09:04 and possibly a need for low-level hardware access 23:09:18 soy rust 23:09:22 *, 23:10:14 -!- Vorpal has joined. 23:10:25 rust doesn't look stable enough... 23:10:44 look at what happened to the python community 23:11:26 -!- `^_^v has quit (Ping timeout: 250 seconds). 23:13:02 1.0 beta should be out at the beginning of next year 23:13:28 The foolish man builds his house upon sand. 23:13:38 -!- boily has joined. 23:13:58 i don't build a house 23:14:15 The wise man builds his house upon rock: C90, no gnu extensions. 23:14:56 Or Perl 5 23:15:44 Just slapped together in perl 23:16:26 myname: it's a biblical reference. the point is you should build important things upon a grounding of things that won't fail. 23:16:33 or change 23:17:08 oren: i don't build anything 23:17:43 at this way i am actually totally okay with unstable languages 23:19:05 well, ok. but until told otherwise i'mma assume that whatever Decensum is building is something he'd rather not have to constantly revise. 23:27:58 -!- dts|pokeball has quit (Ping timeout: 244 seconds). 23:34:03 -!- dts|pokeball has joined. 23:43:13 -!- dts|pokeball has quit (Read error: Connection reset by peer). 23:47:19 -!- Frooxius has joined. 23:50:42 -!- Froox has quit (Ping timeout: 244 seconds). 23:50:43 -!- Froo has joined. 23:54:18 -!- Frooxius has quit (Ping timeout: 252 seconds). 2014-12-10: 00:02:33 -!- Froox has joined. 00:02:33 -!- Froo has quit (Read error: Connection reset by peer). 00:06:21 -!- S1 has quit (Quit: S1). 00:07:34 -!- Froo has joined. 00:07:35 -!- Froox has quit (Read error: Connection reset by peer). 00:14:02 -!- Froox has joined. 00:14:03 -!- Froo has quit (Read error: Connection reset by peer). 00:14:53 -!- Sprocklem has joined. 00:18:36 -!- Froo has joined. 00:21:42 -!- Froox has quit (Ping timeout: 244 seconds). 00:27:01 -!- scounder has quit (Ping timeout: 260 seconds). 00:28:13 I'm trying to refine my documentation 00:28:20 In BF 00:28:38 When you input a char, does it take from the STDIN of the whole runtime? 00:28:40 -!- Decensum|Zzz has changed nick to Decensum. 00:28:44 Or does it just specifically take one char 00:28:57 -!- Frooxius has joined. 00:29:14 Question? 00:29:37 As in, if you were to do ",,", and the first time type ab, and the second time type c 00:29:37 What is the document you are trying to refine 00:29:45 Would you get "ab" or "ac" 00:30:02 (it's my esolang's doc I'm trying to refine) 00:30:08 Oh 00:30:16 Isnt skilled at bf 00:30:54 -!- dts|pokeball has joined. 00:31:17 "ab" 00:32:20 Does it take in newlines? 00:32:26 Ok so Void linux is pretty good 00:32:34 -!- Froo has quit (Ping timeout: 264 seconds). 00:33:21 -!- mihow has quit (Quit: mihow). 00:34:04 depends on version but i assume it does take newlines. 00:34:12 Yeah, but I think you have to pick specifically 10 or... 00:34:19 what oren said. 00:34:41 -!- mihow has joined. 00:34:46 Er, I mean as in if you did ",," and just typed "a" and pressed return 00:35:06 Would the second comma give back an \n or would it ask for more input 00:35:10 That'd be a\n 00:35:28 How convenient 00:37:58 except on windows it might give instead \r\n... 00:38:07 depending on implementation 00:38:38 text files are still not standard.... stupid unix 00:39:04 *stupid windows 00:39:19 when ascii came out it was supposed to be \r\n but unix wanted to save one char 00:39:32 A char saved is a char earned :P 00:39:37 for web data it is also \r\n by standard 00:39:40 Really? 00:39:43 TIL 00:39:52 yes 00:40:00 Part of HTTP I think … 00:40:15 http://en.wikipedia.org/wiki/Newline 00:40:26 (that sounded really sarcastic. that wasn't supposed to be sarcastic) 00:40:47 -!- AndoDaan has quit (Read error: Connection reset by peer). 00:40:57 Melvar: it's standard for network protocols in general 00:41:00 as is big endian 00:41:11 they managed to standardise on the exact things nobody uses 00:41:17 because on line printers, \r moves to the beginning of line, and \n moves down one line 00:41:36 (ok, windows uses \r\n, but not big endian. I doubt there are many big endian \r\n environments in production right now.) 00:41:44 So *that's* why it's called carriage return 00:42:00 yup it comes from carriages on a typewriter 00:42:25 and in TTML i'm using the same convention 00:42:33 -!- AndoDaan has joined. 00:44:06 btw, \f is "form feed" and it means "next page" 00:46:57 -!- AndoDaan has quit (Ping timeout: 245 seconds). 00:47:59 -!- scounder has joined. 00:54:38 -!- mihow has quit (Quit: mihow). 01:05:15 -!- hjulle has joined. 01:09:12 -!- shikhout has joined. 01:12:08 -!- shikhin has quit (Ping timeout: 244 seconds). 01:19:25 \v is a vertical tab, and good luck having it do anything useful anywhere. 01:19:51 it goes down half a line in TTML: good for writing sub/superscripts 01:20:19 do we have any tab? 01:21:00 not in ttml but you could extend it when we get 3d wed environments like is ghost in the shell 01:21:00 you could consider pages the third axis, since you stack them 01:21:05 trefunge-98 does 01:21:20 so then \f is the third axis 01:22:33 -!- idris-bot has quit (Quit: Terminated). 01:23:24 -!- idris-bot has joined. 01:26:58 -!- ^v has joined. 01:27:05 -!- ^v has quit (Read error: Connection reset by peer). 01:39:04 -!- boily has quit (Quit: BIPEDAL CHICKEN). 01:42:07 the expression ((c%32+15)%23+8)%16 converts an ascii hex character c to its hex value 01:43:14 might be doable in only one mod, add cycle but not sure how 01:43:39 oren: I think it's 10 instead of 8 01:43:55 try it? 01:44:15 ((65%32+15)%23+8)%16 == 8, expected 10 01:44:52 -!- Sprocklem has quit (Ping timeout: 245 seconds). 01:45:57 hmmm.... 01:46:27 oren: (c|32)%39-9 would work 01:47:51 right! i knew it must be doable in one mod add cycle (not quite but i'll take it) 01:49:46 in fact if you only want lowercase then you don't need the |32 02:01:49 -!- _AndoDaan has joined. 02:13:44 [wiki] [[Ttml]] http://esolangs.org/w/index.php?diff=41403&oldid=41382 * Orenwatson * (-46) we don't need hyphens when the format doesn't support autowrapping anyway. 02:15:22 oren: why only green, red and blue (and possibly purple or gold/amber)? 02:15:58 because in old days having colors meant printing the page once for each color 02:16:13 ah, backstriking? 02:16:27 move back and overstriking* 02:16:35 hmm 02:16:49 shouldn't that be cyan, magenta and yellow then? 02:17:54 -!- oerjan has quit (Quit: nite). 02:18:22 not exactly. each time youprint a page, the page would be printed in a slightly different place. if you printed the page in both red and blue, you'd get two slightly-off letters, with the overlap in purple 02:19:01 you don't use green, red and blue ink though 02:19:05 you use CMYK 02:19:58 depends on the printer, as i said old printers you had to physically change the ink cartridge manually for each new color (and change the typeball for each alphabet) 02:20:46 if you used color mixing you'd hae registration problems due to the teletype's mechanicla tolerances 02:20:49 ...but it's still subtractive colour, right? 02:21:51 not exactly. each color has its own ink. you don't mix colors at all due the problems of getting the teletype to strike the exact same place twice 02:22:08 (on two different print runs no less) 02:23:23 -!- MoALTz_ has joined. 02:26:05 -!- MoALTz has quit (Ping timeout: 250 seconds). 02:27:42 thus it makes sense to only stock inks of the most used colors, especially red and green 02:28:14 (for financial data, y'know) 02:29:25 -!- Sprocklem has joined. 02:30:25 fair enough 02:31:06 this is designed to be retro -- not to the 1980's, the 1960's! 02:32:02 so it has arbitrary limitations 02:59:19 -!- ZombieAlive has quit (Remote host closed the connection). 03:25:22 So I realized my implementation for something i wrote a long time ago was wrong 03:25:34 I looked back at the incorrect code 03:25:41 http://i.imgur.com/SxFaEhw.png 03:25:51 mfw http://i.imgur.com/CcKQTXg.png 03:27:02 it isn't one indexed? 03:27:49 drop is 0 indexed, dropFromIndex was some hacky function I made that is one indexed for whatever reason 03:28:17 so you are TRWTF? 03:28:51 yes 03:29:01 the sad part is that that ended up breaking everything 03:33:07 ... I just can't stop breaking things today 03:33:47 sometime you have to break the bone before you can set it 03:34:22 I just re-factored some other code a ton just to realize my other implementation worked correctly and this doesn't work because the stack is being popped when I don't want it to be popped 03:34:33 You're right 03:36:08 There we go, heh 03:36:48 -!- Sprocklem has quit (Ping timeout: 244 seconds). 03:44:31 -!- dts|pokeball has changed nick to dts. 03:44:55 -!- dts has changed nick to dts|pokeball. 03:52:00 -!- bb010g has joined. 04:03:18 http://snag.gy/wFFiC.jpg 04:03:48 is this worse or better than using comic sans? 04:07:41 this is the densest font i was able to find that supports japanese 04:08:08 so do you have a preference for dense fonts? 04:08:11 http://slbkbs.org/ser.html -- Ctrl-F and type something in Chrome 04:09:37 -!- lambdabot has quit (Remote host closed the connection). 04:09:56 -!- nys has quit (Quit: /quit quit). 04:10:41 paul2520: yes i want more code on my screen (contrary to the picture i usually have like 5 terminals open) 04:11:04 shachaf: how the heck is it doing that? 04:12:44 makes sense 04:15:25 -!- esowiki has joined. 04:15:28 -!- glogbot has joined. 04:15:29 -!- esowiki has joined. 04:15:30 -!- esowiki has joined. 04:16:44 If only web browsers had a feature where you could look at how web pages do what they do. 04:17:36 <_AndoDaan> ... 04:17:40 just because i can see the code doesn't mean i can understand it, shachaf 04:20:20 there should be a comedy sketch where neo can see the code, but he doesn't know the matrix's programming language 04:20:40 Looks like chrome leaks data somewhere 04:20:41 -!- _AndoDaan_ has joined. 04:20:47 Try scrolling with the scroll bar 04:20:56 it somehow also works in firefox though 04:21:06 Webkit? 04:21:08 <_AndoDaan_> The actual find text input tabby thingie gets hidden too? 04:21:17 -!- shachaf has quit (Quit: Reconnecting). 04:21:21 in firefox it doesn't 04:21:30 -!- shachaf has joined. 04:21:32 Nor on chrome, for me 04:21:40 but the text you look for still appears 04:21:59 http://slbkbs.org/sel.html is a version that works only with Firefox. 04:22:00 -!- _AndoDaan has quit (Ping timeout: 255 seconds). 04:22:37 http://i.imgur.com/OGpgqvZ.png in some weird generic Ubuntu Web Browser 04:22:52 (doesn't have a find menu, happens when scrolling) 04:23:33 what the hell that is a serious security hazard 04:24:13 could it target your history/other tabs and send it back? 04:24:23 No, gets the current selection 04:24:29 Press ctrl-a to freeze firefox 04:24:43 Not sure about the chrome one 04:25:12 -!- trn has quit (Quit: quit). 04:25:59 -!- trn has joined. 04:30:46 -!- _AndoDaan_ has quit (Ping timeout: 264 seconds). 04:38:59 -!- password2 has joined. 04:40:37 -!- MDude has changed nick to MDream. 04:49:49 -!- _AndoDaan has joined. 04:54:57 -!- Decensum has quit (Quit: Connection closed for inactivity). 05:00:41 -!- password2 has quit (Read error: Connection reset by peer). 05:03:09 -!- indiagreen has joined. 05:10:09 `relcome indiagreen 05:10:10 ​indiagreen: 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.) 05:11:45 I'm not sure relcome is valid for anyone except relrod. 05:12:13 -!- CrazyM4n has quit (Quit: "sleep"). 05:14:54 -!- shikhout has quit (Ping timeout: 272 seconds). 05:16:10 GAAAAA burned once again by C's precedence rules!!!! 05:16:30 and people wonder why i don't like ALGOL dialects 05:17:47 -!- password2 has joined. 05:18:08 -!- password2 has quit (Read error: Connection reset by peer). 05:20:33 oh, but it's great that you can write x=a*b+c>>d&~e|f,y=x; in place of x=(((a*b+c)>>d)&~e)|f); y=x; 05:21:05 very useful in golfing 05:21:21 that is the opposite of great. bitwise ops should be below math 05:21:54 (asuming you view the parse tree as reaching down) 05:22:43 (I have to say that, when it is useful in golfing, it is normally useless for other jobs.) 05:23:31 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 05:24:05 that is why scrip7 does not even have a parse tree 05:24:36 so there is less to memorize 05:27:04 -!- b_jonas has quit (Ping timeout: 244 seconds). 05:27:11 well also because it is easier for me to write an implementation ifi don't need to build a parse tree 05:29:01 -!- b_jonas has joined. 05:30:17 `slist 05:30:18 slist: Taneb atriq Ngevd Fiora Sgeo ThatOtherPerson alot 05:35:55 [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41404&oldid=41296 * Orenwatson * (+67) uploaded super unstable release 05:37:30 [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41405&oldid=41404 * Orenwatson * (-26) updated example for super unstable version 05:41:46 [wiki] [[Scrip7]] M http://esolangs.org/w/index.php?diff=41406&oldid=41405 * Orenwatson * (+0) updated literals 06:02:27 My prescription glasses are a gimmick 06:02:35 They're effectively 3D glasses for the real world 06:08:49 -!- drdanmaku has quit (Quit: ,). 06:26:33 -!- MoALTz_ has quit (Quit: Leaving). 06:27:00 -!- scounder has quit (Ping timeout: 258 seconds). 07:03:50 -!- hjulle has quit (Ping timeout: 240 seconds). 07:08:46 -!- scounder has joined. 07:26:24 -!- Patashu has joined. 07:40:19 oooh slist is a thing that is happening 07:40:23 Although looking at the list you mayswell just ping me 07:41:36 no, it's the past 07:47:57 -!- Frooxius has quit (Quit: *bubbles away*). 08:22:29 shachaf: ;) 08:31:47 http://www.introducingcarrot.com/ 08:32:37 lololol! 08:32:55 generic marketing words 08:34:49 https://twitter.com/jaden_coding 08:39:11 I want carrots now. 08:40:06 ha! i don't eat any real vegetables, only fried potatoes and onions 08:41:09 "want C's safety and BF's readablity? then look no further than scrip7!" 08:44:14 actually, scrip7 seems quite readable compared to BF 08:44:19 so it's a middle ground 08:58:47 hollerith notation is now implemented 08:58:59 cause quotes suck 08:59:26 13"Hello, World! 09:00:07 that doesn't look LR(0), oren 09:00:27 how is it not? it reads once from left to right? 09:00:51 there is no backtracking 09:01:15 well, ok. 09:01:18 what are your number literals like? 09:02:28 for integers 1234, for floats 1343.2231, for hex 4%ff = ffffffff. the space at the end of a hex literal is mandatory 09:03:51 Parsing such Hollerith notations would require to know what is previously parsed in order to decide what to do next (actually, I suppose it could be done without but then the parsing table would need to be infinite). 09:04:32 no it just allocates n bytes and then memcpys the next n bytes into the string 09:04:50 it does not detect end of code or anything. 09:05:25 it will copy the next n bytes of memory after the " into the string 09:05:52 Yes I know that 09:06:09 it is effectively one token 09:06:37 It means the parser needs to read the entire number first to know how to do and cannot use an ordinary parsing table or regular expression or anything like that 09:07:35 Actually, I am not entirely sure. Let's see if a LR parsing table can actually do it by itself. 09:08:44 (note that the interpreter i wrote does not have a lexer or a parser or anything, it is just a ream of ad-hoc code, and therefore things like LR(0) don't really even apply) 09:08:59 Despite this, a manual parser/lexer shoudn't be too difficult to parse this. 09:09:54 oren: what I mean is that in 123456789"q you don't know whether the 1 starts a string or number literal until you see the H. 09:09:57 er, the ". 09:10:47 oren: Perhaps it doesn't apply to your implementation (and as you say, it shouldn't!), but still it is meaningful to say whether or not it is LR(0) or whatever, as well as to say token or the byte stream 09:11:59 hmm can you not define-- string_lit ::= integer_lit '"' binary_data 09:12:39 no, the lexer needs to be too complex 09:13:05 and that isn't LR(0). 09:13:10 You are correct that implementation won't work of course. 09:14:38 hmmmm i don't think hollerith strings are LR(0) which essentially means that the "conceptual complexity" is higher than the "real complexity" because real computers are arbitrarily focused on integers... 09:15:37 and have primitives for integers that don't appear in regular expressions or general parsers. 09:20:13 the "real complexity" of parsing a hollerith string involves pointer arithmetic and the expression i=i*10+c-'0' neither of which are primitive to a symbol-based computing environment like a regex 09:26:13 In a combinator parser it might look like: hollerith = (integerLiteral <* quotationMark) >>= thisManyCharacters; See the ">>=" is involved which means it involves "impure action symbols". 09:26:36 oren: what 09:26:58 nothing you said made much sense 09:27:18 you're way too focused on details of machine representation when talking about something in the realm of theory... 09:28:28 ummm... is it wrong to say that regexes work on symbols while real computers in general work on numbers? 09:28:43 never mind 09:29:38 Real computers in general work on bits, isn't it? So, you cannot actually use numbers too large to fit in the memory. 09:31:38 that is a major difference but the difference salient to the problem at hand is that a real computer can compute the value of "43" as an integer and use that to tell how long the string is, while a regex can't (at least not easily). 09:32:09 so a lexer implemented as general code can do this easily while a lex lexer can't 09:33:06 that is all i'm saying: regex engines do not have arithmetic 09:33:17 O, that's all, then OK 09:34:40 I still wonder if such a thing would be actually possible though in the unbounded way using such mathematical models as regex or LR or whatever else; another model is Ligature Machine and I wonder if any variants of the Ligature Machine are capable of such thing. 09:46:08 [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41407&oldid=41402 * TomPN * (-35) /* Syntax */ 09:47:29 [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41408&oldid=41407 * TomPN * (+52) 09:48:40 [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41409&oldid=41408 * TomPN * (+107) 09:56:08 in terms of ligature machine, i think key question is given a number in decimal N, can we produce the string of N symbols? 09:56:39 converting decimal to unary would help considerably 09:57:38 [wiki] [[IDTM]] N http://esolangs.org/w/index.php?oldid=41410 * TomPN * (+629) Created page with "'''IDTM''', or Infinite Dimensional Tengwar Meltdown, is an esoteric programming language written by Tom Price-Nicholson in 2014. IDTM draws together ideas from his earlier pr..." 09:59:05 tengwar are awesome but they are not easily distinguishable... 10:01:21 [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41411&oldid=41410 * TomPN * (+294) 10:02:13 "the tengwar language from Lord of the Rings" -- youv'e got to be trolling me, aaaaaaa 10:06:00 [wiki] [[Talk:IDTM]] N http://esolangs.org/w/index.php?oldid=41412 * Orenwatson * (+125) blahg 10:09:37 [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41413&oldid=41411 * TomPN * (+912) 10:17:55 [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41414&oldid=41413 * TomPN * (+484) 10:38:21 [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41415&oldid=41414 * TomPN * (+1979) 10:39:11 [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41416&oldid=41409 * TomPN * (+65) /* See also */ 10:39:53 [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41417&oldid=41415 * TomPN * (+100) 10:40:13 [wiki] [[Dimensions]] http://esolangs.org/w/index.php?diff=41418&oldid=41396 * TomPN * (+67) /* See also */ 10:40:30 [wiki] [[Quantum Dimensions]] http://esolangs.org/w/index.php?diff=41419&oldid=41397 * TomPN * (+42) /* See also */ 10:40:44 [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=41420&oldid=41394 * TomPN * (+42) /* See also */ 10:41:28 [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=41421&oldid=41398 * TomPN * (+11) /* I */ 10:42:13 [wiki] [[User talk:TomPN]] http://esolangs.org/w/index.php?diff=41422&oldid=41399 * TomPN * (+10) /* Other esolangs */ 10:44:10 [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41423&oldid=41417 * TomPN * (+0) /* The Tehtar */ 10:44:19 [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41424&oldid=41423 * TomPN * (+0) /* Instructions */ 10:49:53 [wiki] [[User:TomPN]] N http://esolangs.org/w/index.php?oldid=41425 * TomPN * (+354) Created page with "Also know as Tom Price-Nicholson. I have created a bunch of esolangs. Here is a list in chronological order: * [[Musical notes]], 2014 * [[Dimensions]], 2014 * Quantum Dim..." 11:08:55 <_AndoDaan> ...And here I am endlessly agonizing over what my first esolang should be. 11:09:23 -!- cluid has joined. 11:10:33 zemhill, help 11:11:01 <_AndoDaan> cluid, what was your first esolang? 11:12:51 I don't know 11:13:27 i wish i knew, it's probably just boring old brainfuck though 11:14:01 <_AndoDaan> I mean, language that you authored. 11:14:51 I haven't created any esolangs 11:15:46 have y0ou? 11:15:55 I've tried, but I didnt come up with something original yet 11:16:18 <_AndoDaan> Ah, sorry. I would have guessed that you had. 11:16:33 this shame consumes me 11:16:47 <_AndoDaan> I'm in the same boat. 11:17:03 we could coauthor one 11:17:35 -!- AndoDaan has joined. 11:17:51 -!- _AndoDaan has quit (Quit: Bye). 11:18:35 hmm, that could be interesting. At the very least it would help knock some ideas around. 11:26:09 http://esolangs.org/wiki/McCulloch%27s_second_machine 11:26:11 I want to solve this too 11:27:33 Yeah, I saw that earlier. By solve, you mean " User:b_jonas would like to see a proof..." 11:27:37 ? 11:27:39 yes 11:27:43 it looks far too difficult though 11:31:22 So if the machine is TC equivalent, that would mean it is not possible. 11:31:44 yeah 11:35:17 hmm, it feels like a 3x+1 function. 11:35:38 Collatz, I mean. 11:36:46 yeah 11:36:58 If you could code a 3x+1 style iteration into it that would be very interesting 11:38:33 I don't remember what my first esolang was 11:38:38 it's not on the esowiki 11:38:40 -!- mroobmoobn has changed nick to mroman. 11:38:51 not burlesque? 11:41:25 I know what my first esolang was, and I believe the spec has been lost 11:45:57 -!- Patashu has quit (Ping timeout: 250 seconds). 11:51:11 -!- oerjan has joined. 11:51:58 argh the driver died _again_... no wait it suddenly showed up. 11:52:02 whew 11:53:00 except it had an exclamation mark for a moment... and now i'm having trouble with its menu. 11:53:48 AndoDaan: http://codepad.org/Xd33Oy5f 11:53:49 ok seems to be working. 11:53:50 oerjan, what 11:53:55 it was more like something like that 11:54:15 No, Burlesque wasn't my first esolang by far :D 11:54:55 Taneb: i have a driver for my touchpad that sometimes dies after hibernating the computer and then my touchpad gets very annoying to use (no scrolling), and the only way i've found to fix it is to reboot windows entirely. 11:55:08 Oooh, I thought you meant like a bus driver 11:55:24 Taneb: no. in fact i rarely take the bus. 11:55:29 I just invented an esolang: tree-Brainfuck 11:55:46 it has two new operators, PUSH and POP which let you manage a tree of tapes 11:55:55 it is much easier to program in than brainfuck 11:56:56 if the tape head is here: 0101010101[1]010111 then when you push do stuff and pop, anything left of [] will be retained, but anythig right of [] will be deleted 11:57:00 I mean reverted 11:58:35 cluid: is this your rite of passage 11:59:15 it could be called brainstacks 12:00:26 oerjan: I parsed it as if it was about a person, too. 12:00:52 fizzie: ARE YOU SAYING PERSONS ARE DYING INSIDE MY COMPUTER TDNH 12:01:05 hey oerjan have you thouht about mchullochs second machine? 12:01:16 yep, in fact i think i've nearly solved the problem 12:01:38 oerjan: That's what makes it run. 12:02:03 fizzie: always knew computers were fiendish, but... 12:02:33 i think my only remaining case is when there are no 3's and exactly 2 5's 12:02:52 (and whatever 2's and 4's) 12:03:25 b_jonas: ^ 12:04:06 damn!! 12:04:08 nice workk 12:05:24 the remaining case is somewhat complicated though, e.g. 5252 is immortal but 2525 is not 12:08:14 hm i think 2442 as a substring is equivalent to 2 12:08:42 oh wait 12:09:00 no, not necessarily 12:09:26 the first 2 could be prefixed by a 5 say 12:10:02 5244252 -> 4425244252 -> 5244252 oh hm that case works 12:12:54 425245 -> 5425 -> 55 hm 12:15:03 42252245 -> 542252 -> 252252 --> 252252 so it can be immortal even if the second 5 is last 12:16:15 at this point, it's the 4's that seem to complicate matters 12:17:03 anyway, any string iterates either to this stage or to one which is obviously mortal or obviously immortal 12:17:20 oerjan: ok 12:17:26 awesome! 12:17:37 i wonder how you found that out 12:17:55 and yes, the 4 definitely complicate the matters, it's the twist. 12:19:37 cluid: the first thing to notice is that if you have a string of the form x ++ y ++ z, then in less than length(x)+length(z) iterations it will either die or get to a string that starts with y or reverse(y) 12:20:16 that's how you prove that strings with digits other than 2,3,4,5 cannot be immortal, for one thing 12:20:21 oerjan: um, no, you need some more restrictions to make that precise 12:20:36 b_jonas: are you sure? 12:21:02 oerjan: x=3, y=2, z=3 is a counterexample, it is immortal but never iterates to a string that starts with y or reverse(y) 12:21:18 oops 12:21:43 -!- prontotest has joined. 12:21:44 -!- prontotest has left. 12:21:52 oh 12:22:07 right it's imprecise. 12:23:06 it's that m() will be applied to something of that form 12:23:28 -!- dianne has joined. 12:24:12 -!- drdanmaku has joined. 12:24:39 but it can possibly happen as part of the rule calculating a prefix 12:25:36 so it will start with something of the form [345]* ++ y or [345]* ++ reverse(y) 12:26:05 hopefully that is correct. 12:28:05 anyway, after getting digits outside [2345] out of the way, you can note that if there are 3's in the string, it will get to [345]*3 ++ s. if m(s) doesn't contain 3, then all 3's die; if m(s) _does_ contain 3, then this case is immortal. (because anything of the form ...3...2...3... is immortal) 12:29:05 *all 3's disappear 12:29:54 now the remaining case has only [245] 12:31:16 we count the number of [45]+ blocks in it. if there is just one, it is mortal. if there are three or more, it's immortal. (there's a ...5...2...5...2...5... rule similar to the ...3...2...3... one) 12:32:44 oh hm 12:32:51 -!- S1 has joined. 12:32:58 * 5[45]+ blocks 12:33:04 needs to have at least one 5 12:33:04 -!- S1 has left. 12:36:02 after a few steps of executing these blocks, you either will have merged the result blocks to one (thus mortal), expanded to more than two (thus immortal), or the two remaining blocks can only have one 5 each. 12:37:29 and now it depends a lot on the surrounding pattern of 2's and 4's what happens, it seems. 12:37:53 which i haven't solved yet. 12:51:37 hm i guess this case is hardest precisely because it _doesn't_ blow up trivially. 13:12:17 [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=41426&oldid=41421 * TomPN * (+25) /* Q */ 13:14:37 [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41427&oldid=41416 * TomPN * (+2) /* Adding tehtar to form instructions */ 13:18:32 -!- GeekDude has joined. 13:18:36 -!- GeekDude has quit (Changing host). 13:18:36 -!- GeekDude has joined. 13:19:07 [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41428&oldid=41427 * TomPN * (+10) /* Syntax */ 13:27:25 [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41429&oldid=41424 * TomPN * (+33) /* Instructions */ 13:28:07 [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41430&oldid=41429 * TomPN * (+0) /* Entropy */ 13:40:49 unsafe { sgeo.attemt_to_get_through_day_without_phone(); ] 13:40:52 } 13:41:06 :( 13:41:52 hmm. 13:42:27 is that a phone-to-be-called-and-call-people-with, or a phone-with-gps-to-know-where-you-are? 13:42:42 Both 13:43:07 which of those is causing you to suffer? 13:43:16 Although the former is more signficant day to day, latter is going to be significant Friday 13:43:28 Just in a feeling of safety way 13:43:44 I don't necessarily use it all the time to keep safe, but like knowing it's there 13:44:16 is it an ipod? 13:44:19 apple phone 13:44:41 no 13:45:01 It is a phone with what I am guessing is a damaged USB port 13:45:09 use a spare phone 13:45:45 Looked for my old phone, couldn't find it 13:46:31 AFK 13:58:26 -!- MDream has changed nick to MDude. 14:16:37 How did Gosper discover the glider gun? 14:16:53 I know that he used an oscilloscope to display/animate GOL 14:20:21 -!- indiagreen has left. 14:22:04 wow, he did? 14:22:07 that's so cool 14:25:01 I don't think so 14:25:08 I think that's earlire 14:25:25 oscilloscope was used to animate GoL, but only for simple constructs like the glider 14:25:28 the gun is later 14:28:27 -!- augur_ has quit (Remote host closed the connection). 14:29:01 -!- augur has joined. 14:33:10 -!- augur has quit (Ping timeout: 240 seconds). 14:38:20 -!- GeekDude has quit (Ping timeout: 250 seconds). 14:39:17 -!- GeekDude has joined. 14:40:00 -!- GeekDude has changed nick to GeoDude. 14:44:30 -!- scounder has quit (Changing host). 14:44:31 -!- scounder has joined. 14:50:41 -!- GeoDude has changed nick to GeekDude. 14:53:50 -!- FreeFull has quit (Ping timeout: 240 seconds). 14:59:28 -!- AndoDaan_ has joined. 15:02:32 -!- AndoDaan has quit (Ping timeout: 252 seconds). 15:02:42 -!- `^_^v has joined. 15:02:57 https://www.youtube.com/watch?v=BpgA2oCQj9o 15:03:14 computing pi in game of life 15:25:52 -!- ZombieAlive has joined. 15:30:30 -!- Sprocklem has joined. 15:40:47 -!- hjulle has joined. 15:45:50 -!- FreeFull has joined. 15:54:15 -!- Decensum has joined. 15:55:45 -!- augur has joined. 16:00:52 If the Finnish border isnt called the Finnish line im done with life 16:01:09 Also C worked thanks for telling me to use that 16:03:03 The joke is that finnish line sounds like finish line 16:03:11 prety good 16:04:41 Yeh 16:19:38 I can't find a download for Martin Gardner scientific american :( 16:21:43 Torrent it 16:21:49 Or use deepweb 16:22:19 how do I do that? 16:23:24 VPN+t0r i think 16:23:32 Or go torrent it 16:23:52 Idk what Martin garder is so ask someone here 16:24:56 OK 16:25:08 Decensum, where do i get martin gardner scientific american? 16:25:41 The joke is that technically you are someone here, even though its already clear you dont know the answer 16:26:46 Then why ask me? 16:27:42 the joke. 16:28:16 I see now 16:28:40 :I 16:41:35 Decensum: you're allowed to type "tor" 16:41:57 I hear sirens. 16:43:50 it was crated by the US naval research laboratory and the department of state is a major source of funding, talking about it is unlikely to produce any sirens in the US at least :p 16:44:00 *created. *developed, even, whatever 16:44:23 elliott: stop correcting yourself so fast i was going to make an indiana jones joke 16:45:11 oerjan: sorry, OCD refuses to cooperate with that request :p 16:45:15 darn 16:47:14 -!- ocharles_ has quit (Ping timeout: 258 seconds). 16:47:14 -!- supay has quit (Ping timeout: 258 seconds). 16:47:15 -!- mihow has joined. 16:48:21 -!- bb010g has quit (Ping timeout: 244 seconds). 16:48:25 -!- Decensum has quit (Ping timeout: 272 seconds). 16:48:46 -!- drdanmaku has quit (Ping timeout: 258 seconds). 17:08:03 -!- Sprocklem has quit (Ping timeout: 272 seconds). 17:08:34 -!- MDude has quit (Read error: Connection reset by peer). 17:11:57 -!- Sprocklem has joined. 17:17:32 -!- axelcsep has joined. 17:23:54 -!- shikhin has joined. 17:35:30 -!- axelcsep has quit (Ping timeout: 265 seconds). 17:43:24 -!- drdanmaku has joined. 17:45:12 -!- Vorpal has quit (Ping timeout: 250 seconds). 17:46:15 -!- Vorpal has joined. 17:46:15 -!- Vorpal has quit (Changing host). 17:46:15 -!- Vorpal has joined. 17:48:16 -!- oerjan has quit (Quit: leaving). 17:59:07 -!- bb010g has joined. 18:04:17 -!- ocharles_ has joined. 18:05:59 -!- oren has quit (Quit: conexion taimd aut). 18:09:19 -!- augur has quit (Remote host closed the connection). 18:21:23 -!- supay has joined. 18:23:04 -!- augur has joined. 18:25:31 -!- Decensum has joined. 18:34:28 -!- oren has joined. 18:37:40 any tips on what i'll forget during an algorithm design exam? 18:39:20 -!- dario has joined. 18:42:00 hi 18:42:34 -!- GeekDude has quit (Read error: Connection reset by peer). 18:43:13 hi 18:44:10 how are you? 18:44:37 great! 18:45:35 -!- GeekDude has joined. 18:49:33 brainntree: BF on infinite tree of cells ratger than a tape 18:49:54 braingraph 18:50:08 that actually sounds kind of interesting :/ 18:50:25 maybe add some way to tie the graph up circularly and then restrict loops somehow 18:50:34 would need a way to specify the topology of graph 18:50:56 (in informal sense of "topology") 18:51:42 like how many edges each vertex has, how many vertices it loops at, ets 18:51:48 -!- augur has quit (Remote host closed the connection). 18:52:21 I was assuming you'd change the graph structure dynamically as it executes 18:52:34 reify control into it 18:53:15 oh! then the [ statement would be a fork in the graph 18:53:27 with a zero and nonzer edge 18:53:52 well, I was rather thinking that you'd only get a simple restricted (not TC on a tape) control structure 18:53:59 and you'd have to make it TC by tying the graph up appropriately 18:54:32 like, only "balanced" loops, but you can change the edges dynamically during the loop 18:55:43 -!- Sprocklem has quit (Ping timeout: 272 seconds). 19:00:35 -!- augur has joined. 19:09:44 -!- shikhout has joined. 19:10:04 -!- shikhin has quit (Disconnected by services). 19:10:09 -!- shikhout has changed nick to shikhin. 19:10:23 -!- S1 has joined. 19:11:14 which NPC problems are good for reducing problems to? 19:12:56 *reducing problems from... 19:20:36 Throw a 21-sided die, pick result from http://en.wikipedia.org/wiki/Karp%27s_21_NP-complete_problems 19:22:40 cool. i'll write those down and that will be my aid sheet for algorithms/computability 19:23:18 -!- Sprocklem has joined. 19:23:49 everything else in the course is simple, i just need to know which famous problems are actually known to be NPC 19:23:54 i reduce this problem to deckard cain being trapped in tristram hth 19:24:18 @google which famous problems are actually known to be NPC 19:24:19 http://en.wikipedia.org/wiki/List_of_NP-complete_problems 19:24:19 Title: List of NP-complete problems - Wikipedia, the free encyclopedia 19:25:14 so i can write their names and descriptions down on my aid sheet for the exam. it's lucky that i get to make an aid sheet... 19:26:54 ooh, subset sum! i forgot that one! 19:27:37 sokoban 19:28:30 sokoban is pspace-complete, so too hard. 19:29:30 :O 19:29:42 :B 19:30:05 what about the binary puzzle. 19:30:34 I noticed there don't seem to be many solvers for those, but perhaps it's just a case of no one knowing about them or bothering. 19:32:01 (like Pousse) 19:35:54 -!- oren has quit (Quit: lunchtaim). 19:50:28 -!- dts|pokeball has quit (Quit: Leaving). 19:50:51 -!- dts|pokeball has joined. 19:51:21 -!- axelcsep has joined. 20:02:34 -!- dts|pokeball has quit (Quit: Leaving). 20:02:59 -!- dts|pokeball has joined. 20:04:47 -!- dario has quit (Read error: Connection reset by peer). 20:05:47 -!- nycs has joined. 20:07:17 -!- `^_^v has quit (Ping timeout: 272 seconds). 20:18:54 -!- Patashu has joined. 20:24:50 -!- jose__ has joined. 20:26:01 it's really big the portal, is there some esoteric social network in existence? 20:26:58 Just IRC, I think 20:27:08 is anyone good at derivatives of data types? 20:27:34 cluid: What question do you have about it other than that? 20:27:35 i got an AAAA+++++ on my derivatives of data types course 20:27:45 (it was on ebay) 20:28:36 zzo38, I'm not sure how to write movement functions for data T a = Branch (T a) a (T a), I have already got data Z a = ZL (Z a) a (T a) | M T T | ZR (T a) a (Z a) 20:29:59 I am not quite sure either 20:30:42 Although the term "M T T" in your definition look like wrong to me, it is the wrong kind, isn't it? 20:31:01 -!- Decensum has quit (Quit: Connection closed for inactivity). 20:31:22 thank for the correction, I've changed it to M (T a) (T a) now 20:32:25 ah I thinkn that I have it now 20:34:59 -!- Patashu has quit (Ping timeout: 264 seconds). 20:35:42 Now it does look correct to me 20:58:07 -!- Sprocklem has quit (Ping timeout: 244 seconds). 20:59:53 -!- nycs has quit (Ping timeout: 245 seconds). 21:00:22 -!- nycs has joined. 21:00:47 -!- drdanmaku has quit. 21:02:47 -!- Sprocklem has joined. 21:08:40 -!- jose__ has quit (Quit: Page closed). 21:15:51 my brainfuck interpreter doesnt work :( 21:17:51 nvm it does 21:22:00 I need to find a silly D&D game so I can get this character :( 21:23:22 how do I read all the input in haskell? 21:23:27 What character is it exactly? 21:23:43 cluid: You can use "getContents" although that is using lazy I/O 21:23:59 thanks 21:24:56 (Lazy I/O makes the IO monad to be impure, I think.) 21:25:31 (The way some kinds of errors are trapped also makes the IO monad to be impure.) 21:26:56 -!- S1 has quit (Quit: S1). 21:27:45 I have implemented a new brainfuck derivative 21:27:59 i have to try to write some programs with it that couldn't be done in brainfuck 21:32:44 What are the new features though? 21:33:19 Brainfuck is Turing complete, so it can do any function computable in a Turing machine when using the standard I/O model and not others. 21:33:45 zzo38, instead of being based on a right infinite array of cells, it is based on a infinite binary tree 21:34:04 so instead of < and > , we have ^ (back) and < > to traverse down left or right branches 21:36:33 any idea for an esolang that would help children to toy around without a computer? 21:36:50 bitwise cyclic tag> 21:37:35 hmm 21:38:25 http://lpaste.net/116196 21:38:29 Here's an example of this 21:38:37 -!- augur has quit (Remote host closed the connection). 21:38:51 I can swap two cells by using a third 'outside' one 21:38:59 this is not possible in brainfuck 21:40:17 "Not possible" is an awfully heavy statement. You can alternate the tape between "data" cells and spare cells, and do the same. 21:40:49 I don't think what im saying is contraversial 21:42:39 It depends on what you mean when you say it, of course. But "not possible" kind of makes it sound like you'd be saying you couldn't e.g. write an interpreter for your thing in brainfuck. 21:42:42 Using such a binary tree may make it far more suitable for some things, although its computation class isn't affected by such. 21:43:02 you can write an interpreter for this in brainfuck 21:43:22 -!- FreeFull has quit (Ping timeout: 244 seconds). 21:43:25 Proof: I've implemented it in haskell 21:46:06 -!- FreeFull has joined. 21:58:28 -!- dts|pokeball has quit (Read error: Connection reset by peer). 21:58:44 -!- augur has joined. 21:58:52 -!- dts|pokeball has joined. 21:59:32 -!- dts|pokeball has quit (Read error: Connection reset by peer). 22:00:19 -!- dts|pokeball has joined. 22:00:54 I will try to find some things that you can progarm in it shorter than you can do in brainfuck, or other interesting ways it beats brainfuck 22:01:47 -!- dts_ has joined. 22:02:08 -!- dts_ has left. 22:03:46 -!- axelcsep has quit (Ping timeout: 265 seconds). 22:05:15 [wiki] [[ABC]] http://esolangs.org/w/index.php?diff=41431&oldid=33852 * BCompton * (+48) /* Interpreters */ dead links 22:08:04 http://esolangs.org/wiki/ABC 22:08:10 could it be marked as sub-turing? 22:13:04 That sounds relatively safe. If we had a category for that in general, and not just more specific things? 22:13:29 -!- augur has quit (Remote host closed the connection). 22:14:22 (If you even meant a category by "marked", as I assumed.) 22:16:10 -!- augur has joined. 22:20:46 What would "invert the accumulator" meam exactly? 22:22:23 -!- Sprocklem has quit (Ping timeout: 245 seconds). 22:31:01 -!- nys has joined. 22:34:38 -!- AnotherTest has joined. 22:49:19 -!- AnotherTest has quit (Remote host closed the connection). 22:51:18 -!- AndoDaan_ has changed nick to AndoDaan. 22:59:33 -!- CrazyM4n has joined. 23:04:34 [wiki] [[User:CrazyM4n]] N http://esolangs.org/w/index.php?oldid=41432 * CrazyM4n * (+89) created page 23:05:40 -!- augur has quit (Read error: Connection reset by peer). 23:06:17 -!- augur has joined. 23:06:26 the other day being a slow day at work, I got going making a fungot style for our commit messages 23:06:27 olsner: he wrote the scheme plugin for irssi? without indentation support and such? compared to windows 23:06:39 fungot: nah 23:06:39 olsner: there can be no side effects; they _must_ have happened earlier, and maybe scheme48, though i'm not personally aware of them, i'm afraid. 23:11:47 The main thing that my brainfuck lets you do is encode temp varibales in bianry (>><><>) rather than unary (>>>>>>>>>>>>) 23:12:00 but it has potentially more power, just very hard to use.. 23:13:53 haven't gotten to try running a fungot instance (lacking an IRC server etc), but oddly enough the instructions in the repo seem to work 23:13:53 olsner: 14:25:48 rj: no such file or directory." just like that.) thanks for the tip jonnay 23:16:06 its not just temp variablesthough.. you can get a new infinite tree at any point, i dont know how to use that though 23:16:34 olsner, heh, dthey didn't work for fungot 23:16:34 Taneb: what about it?) in bingen that are even cheaper... so i might as well 23:18:14 what are some programs very hard to write in brainfuck? maybe I can find simple implementations in this 23:18:23 that would justify it 23:18:37 Taneb: fungot probably can't follow simple instructions 23:18:37 olsner: that's where i learned to trigger a page load. ( filename.ss), 23:20:31 https://archive.org/ is doing a wikipedia style fundraiser 23:21:08 does anyone have an archive of "Keymaker's many brainfuck programs"? http://www.73b.org/ 23:23:49 -!- cluid has quit (Remote host closed the connection). 23:29:05 olsner: I was sure I had still in the instructions the "I have to eat now, I'll document this later" comment, but seems that I only had that online for maybe four years before fixing it. 23:29:26 -!- oerjan has joined. 23:29:55 (I see it's still missing Appendix A.) 23:30:34 I noticed that, but I didn't see any references to Appendix A 23:30:42 If cluid comes back, I found https://github.com/johanvanl/Brainfuck-Interpreter/tree/master/examples/73b 23:30:54 what was it meant to contain? 23:30:56 olsner: Step 5, "For format specification, see Appendix A of this document." 23:31:02 olsner: Not terribly crucial, perhaps. 23:31:05 ah, that 23:31:45 (Also VariKN's new home is https://github.com/vsiivola/variKN and it's up to a 1.1 release.) 23:32:41 iirc, the instructions explicitly mentioned 1.0.2 though 23:32:51 They do, but not for any particular reason. 23:33:03 and it seems to need an old version of gcc to compile 23:33:03 It was the newest version when the instructions were written, is all. 23:33:43 The ARPA n-gram model format is quite standard, chances are a modern VariKN version would work as well. 23:34:38 Also there's some theoretical reason I can't possibly remember why, if the -E option is x, the -D option should be... er, maybe x/2. Or possibly vice versa. Or maybe it was some other factor than 2. But there's a relationship there. 23:38:01 one thing I had a problem with was running into the 2 million token(?) limit in the fungot format 23:38:02 olsner: as if thats going to be 23:38:11 [wiki] [[Simplefunge]] http://esolangs.org/w/index.php?diff=41433&oldid=40413 * CrazyM4n * (+228) 23:38:47 * oerjan finally remembered to find the file for the flaky driver while it was still running 23:38:52 olsner: Yes, you may need to prune rare words. 23:38:56 I guess the fnording happens at the last step and the model includes all the singleton tokens? 23:40:26 olsner: Actually, there's no fnording in the model construction if you follow the instructions literally. 23:41:31 olsner: VariKN has vocabulary prune options ("-f N" keeps only the N most common words, and "-d N" drops all words that occur less than N times) that you can use. 23:41:36 to fnord, or not to fnord, that is the question 23:42:09 olsner: From what I recall, though, it actually drops all ngrams where OOV words occur, rather than mapping them to a single OOV token. You'd have to do some manual processing to fnord. 23:42:33 Oh, that's probably not true. 23:42:40 is that strictly less than? i.e. -d 1 does nothing and -d 2 removes tokens that only happen once? 23:42:55 Because there's also a -N option that will "remove n-grams containing OOV words". 23:42:58 So I believe. 23:43:11 Maybe I should just try. 23:45:15 I think the token count got below the limit after unifying integers, splitting on dashes and underscores and some other mangling 23:45:18 (there were something like 100k unique bug numbers referenced) 23:45:37 It seems to be <= instead of <, unlike what the documentation implied. 23:45:49 So "-d 0" will do nothing, and "-d 1" will drop singleton words. 23:47:11 Given the Zipfian distribution you usually get, probably "-d 1" is often enough. 23:48:36 Zipf is a pretty good name to have when having things named after yourself 23:50:15 -!- augur has quit (Remote host closed the connection). 23:51:25 After some empirical testing, I'd say both the -f and -d options actually do fnord the model. 23:51:35 (hmm, wonder what the worst name for that is... like, the name that has the most different things named after it) 23:52:11 Gauss is pretty bad, though often someone else's name gets included to disambiguate. 23:52:15 Still, http://en.wikipedia.org/wiki/List_of_things_named_after_Carl_Friedrich_Gauss 23:53:22 -!- oren has joined. 23:56:01 Alternatively, Euler. There's a [[List of things named after Leonhard Euler]], and the general [[Category:Lists of things named after mathematicians]], and its higher-level generalizations (apparently mathematicians are scientists are people). 23:57:54 -!- boily has joined. 23:57:57 due to a theorem of euler, ... 23:59:57 -!- axelcsep has joined. 2014-12-11: 00:08:08 quintopia: QUINTHELLOPIA!!!!!!!!!! 00:10:11 -!- axelcsep has quit (Ping timeout: 240 seconds). 00:11:22 so, we meet again 00:11:59 * boily motions a time out, pause, PAUSE! 00:12:07 (hot pepper. ow. oooow.) 00:12:22 boily: pause? no. 00:12:38 -!- augur has joined. 00:12:45 (strawberry jam. mm. mmmmm.) 00:13:18 olsner: more of a chilli-ng out 00:14:03 i just ate a pizza with tabasco and chili flakes. unlike some people, i can handle the heat 00:14:59 http://en.wikipedia.org/wiki/Bird%27s_eye_chili 00:17:15 I grew some piri piri as potted plants this year, looks much the same (but seems to be a different species?) 00:18:18 it's similar, but not the same. 00:37:13 -!- nycs has quit (Ping timeout: 258 seconds). 00:38:59 -!- mihow has quit (Quit: mihow). 00:52:40 -!- augur has quit (Remote host closed the connection). 01:05:27 Rust would make me happier if there weren't so many little details that seem to be undocumented 01:05:45 e.g. the concept of partially moving a value 01:06:37 the concept of partially documenting 01:09:07 deserves a formal semantics 01:10:07 -!- shikhout has joined. 01:13:24 -!- shikhin has quit (Ping timeout: 264 seconds). 01:13:59 -!- oerjan has quit (Quit: Nite). 01:24:03 -!- AndoDaan has quit (Ping timeout: 245 seconds). 01:31:08 -!- AndoDaan has joined. 01:43:21 -!- adu has joined. 01:59:08 -!- glguy has quit (Quit: Part). 02:07:05 -!- axelcsep has joined. 02:07:48 -!- FreeFull has quit (Ping timeout: 245 seconds). 02:11:31 -!- axelcsep has quit (Ping timeout: 258 seconds). 02:25:01 -!- b_jonas has quit (Ping timeout: 255 seconds). 02:25:33 -!- b_jonas has joined. 02:59:49 -!- FreeFull has joined. 03:01:13 -!- axelcsep has joined. 03:06:21 -!- boily has quit (Quit: PROPANOLOL CHICKEN). 03:06:21 How can I wire a TV cable so that channel 95 comes from one cable and I can get lower numbered channels from another cable? 03:07:08 (I have no need to access higher numbered channels at all.) 03:08:14 I don't know 03:10:31 Are the channels 1-95 all in the same frequence band? 03:11:13 Actually I only need 3-90 from one cable, not all of them up to 94. I do not know much about exactly what frequency bands and stuff TV cables use 03:11:44 (I don't need channel 2 either because that channel has gone out of business.) 03:12:42 3 - 90 havent made the transition to digital yet? 03:13:18 They probably are available in digital too, but I am not using digital service; digital is too slow and cannot be used with VHS. 03:15:33 I'm no expert, I just played with my vcr and tv setting years ago, but I vague remember being able to tune my vcr to a certain bandwith height, and also use it as a splitter. 03:17:25 Is your aim to just have your tv ignore any channel above 90? 03:17:47 No, it is to connect a different device to channel 95 specifically. 03:18:03 Other than that I have no use for the other channels above 90. 03:19:25 Channels 3-90 come from the television service provider, and I have another device that broadcasts on channel 95, and I don't want to have to switch the cable manually every time. 03:21:00 okay, again, not an expert, but plug from the wall to your tv, tv to the vcr, set your vcr to channel 95, and then output from your vcr to chosen device. 03:22:01 In the slim chance that works, you'd have to keep your vcr on channel 95 though. 03:22:33 Yes but I cannot connect two cable inputs to the VCR. It is actually a VCR/DVD combo, and it isn't actually a TV either but a computer monitor, so only the VCR is used as the tuner. Also, I want to be able to change the channel to other channels in order to watch and record other TV shows. 03:24:48 That's me spent. 03:31:59 -!- augur has joined. 03:33:26 -!- augur has quit (Remote host closed the connection). 03:34:24 fizzie, ping 03:35:23 -!- augur has joined. 03:36:06 -!- augur has quit (Remote host closed the connection). 03:39:16 -!- adu has quit (Quit: adu). 03:39:30 -!- augur has joined. 03:58:22 -!- augur has quit (Quit: Leaving...). 04:13:28 -!- nys has quit (Quit: quit). 04:22:21 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 04:23:23 -!- AndoDaan_ has joined. 04:23:42 -!- AndoDaan has quit (Read error: Connection reset by peer). 04:27:01 -!- shikhout has quit (Ping timeout: 264 seconds). 04:45:52 -!- CrazyM4n has quit (Quit: Leaving). 04:46:44 -!- AndoDaan_ has quit (Quit: bbl). 04:53:49 -!- Decensum has joined. 04:54:51 -!- Decensum has changed nick to Decensum|Zzz. 04:58:17 How much danger am I putting myself in if I buy a USB port from eBay? 04:58:33 I'm kind of desparate 04:59:40 Odds are, I'd guess, not much 05:00:02 Any reason you can't buy one from a store or other reputable retailer 05:00:08 ? 05:00:21 Tried going on Amazon, would take around a month to come in 05:00:31 This one on eBay will arrive in days 05:00:58 Are you near a physical store that might sell them? 05:01:27 and able to get to the store 05:01:32 Would AT&T store be likely to sell such a part? 05:01:47 They might offer to do the repair, but I don't necessarily want to give my phone out 05:03:33 I don't know, could you ring them and ask? 05:03:45 -!- Sprocklem has joined. 05:04:26 I could walk over there and ask I guess 05:04:28 Tomorrow 05:05:08 -!- Farra_000_ has joined. 05:06:44 THe listing says 3 available (from this seller which seems to be the best not lucrudiously expensive nearby). What if I wait that day and it runs out 05:06:58 dude just meditate 05:07:10 thats all you need to do 05:07:24 `relcome Farra_000_ 05:07:32 lol thank you 05:07:38 ​Farra_000_: 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.) 05:07:58 oh, this is a promgramming channel 05:09:10 Meditation is certainly not the only thing that is necessary or possible!!! 05:09:16 Learning computer programming is also good. 05:09:22 I know java and c++ 05:09:41 not no damn esoteric 05:09:45 lol 05:09:49 That's good, but do you know any esoteric programming (such as INTERCAL)? 05:10:16 INTERCAL was designed in 1972 by Donald R Woods 05:10:21 and James M Lyon 05:10:28 - Wikipedia :) 05:10:45 Do I win a prize? 05:11:03 Yes, of course Wikipedia says so; our esolang wiki also mentions it. 05:11:23 I am not the one to decide who win the prize or not, but I expect there isn't a prize. 05:11:32 :( 05:11:55 In that case, i am off in search of other channels where prizes may be awarded. 05:11:57 Godspeed 05:12:00 OK 05:12:11 I wish you all the best in life 05:12:17 OK 05:12:21 -!- Farra_000_ has left ("Leaving"). 05:14:20 Do stores even -sell- replacement electronic parts? 05:14:26 I'm trying to replace the USB port... 05:15:20 I have never tried to buy a replacement USB port so I don't know. 05:16:37 I have never lived in the country you are in, so I also don't know 05:18:40 i've never peed 05:19:10 elliott, you may want to fix that 05:19:41 it's too dangerous 05:20:23 Well, I'm writing a plugin for an IRC bot written in Haskell so it has a BF Joust hill 05:21:04 lambdabot? 05:21:07 No 05:21:25 I think BF Joust is somewhat out-of-scope for lambdabot 05:22:02 It's for yukibot, an IRC bot one of my friends is writing 05:22:04 for a desktop you may be able to buy a usb pci card 05:22:34 are you implementing the fancy scoring algorithm 05:22:38 did fizzie ever fix that 05:22:51 Right now I'm basically translating fizzie's code 05:22:55 Haven't done much yet 05:24:39 i buy most ofmy electronics at a store in chinatown where everything is cheap and the cashiers don't speak english. 05:27:35 so i know you can get a desktop computer with a usb pci pard in it for less than 120 dollars (canadian) 05:29:06 oren: I'm trying to be able to charge my phone 05:29:42 you can get a plug-to-usb adaptor for 3 dollars 05:30:41 unless the problem is with the phone.... 05:30:54 The problem is with the phone. 05:31:17 then buy a new phone. 20 dollars. 05:33:35 the problem is these phones have the usb ports and everything soldered to one plastic board. 05:34:36 Did python update? 05:34:54 Which is why I've found exactly 0 replacement parts such as the one I'm considering buying on eBay? 05:35:22 Is it your battery 05:35:27 i was saying the 20 dollar phones are one piece 05:35:29 Or did you crack it 05:35:43 I think the pins in the port are bent 05:36:01 try using needlenose pliers 05:36:21 Oh 05:36:32 Micro usb? 05:36:47 or tweezers 05:36:59 Not for a micro oren 05:37:04 If thats what it is 05:38:24 Not sure what the difference between micro and mini is, but probably 05:39:13 on the off chance: did you try cleaning the port with vodka? 05:40:03 No 05:41:26 you should def try cleaning it. use a thin watercolor paintbrush and some strong alcohol such as cheap vodkaor everclear 05:42:35 The pins look bent I think 05:42:50 * Sgeo just bought the part from eBay. Spent more in shipping than the part itself, to save a few days 05:43:34 Have you tried 05:43:50 -!- adu has joined. 05:44:01 Putting the chsrger back in and trying to slowly bend them back 06:18:41 [wiki] [[Scrip7]] M http://esolangs.org/w/index.php?diff=41434&oldid=41406 * Orenwatson * (+37) hollerith encoding 06:27:05 -!- shikhin has joined. 06:28:39 is there any fast way to convert floating point to a fraction 06:29:52 To what approximation do you want? 06:30:36 so that if the user entered a simple fraction it would be converted losslessly back 06:31:36 e.g. if i were to enter 30.0/7 the algorithm would output 30/7 06:34:04 i realize this requirement isn't defined mathematically... 06:34:06 My suggestion would be to use a rational type 06:34:13 Instead of floating point 06:34:29 the floats are being read out of the memory of a running C program 06:35:08 Floats are scientific notations. Is there any fast way to simplify fractions? 06:35:12 *notation 06:35:20 But it probably won't show original input so closely 06:35:39 hopefully close enough 06:37:11 suppose that the integers of the original fraction are under 16 bits... 06:37:21 and the result of the division is given as a double 06:37:33 is it possible to reverse the division? 06:41:04 i am going to try some ieee hackery 07:07:00 making some progress: 3/4->0.75->1572864/2097152 07:07:37 But 3/4 is represented exactly in floats, isn't it? 07:07:52 it is... so i am trying to extract it better... 07:07:55 mantissa of 3 and exponent of -2 07:08:00 exactly 07:08:45 the mantissa is extracted by: ((*(int64_t*)&f)&0x000fffffffffffffLL|0x0010000000000000LL) 07:09:23 and then i reduced it to a small nubmer of bits 07:09:58 why are you doing this... 07:10:08 to undivide 07:10:18 also, I think that cast violates strict aliasing. not sure though 07:10:35 whatver the cast works 07:10:46 no, it doesn't. not necessarily/ 07:10:52 it depends on compiler optimisations 07:10:55 *neccessarily. 07:11:04 (if I'm right) 07:11:39 it works on gcc -O3. 07:11:56 I hate programmers like you. 07:12:19 because we think in bits and bytes? 07:12:27 (and no. not necessarily. undefined behaviour can break depending on billions of other things, like surrounding code, CPU architecture...) 07:12:51 no, because you don't care when if write code that explicitly violates the standards and can and will break. compilers have only gotten *more* aggressive at exploiting UB 07:13:30 for instance signed overflow always does the obvious thing even though it's UB, right? 07:13:36 but some unefined behaviour is defined by programmer's conventianl usage 07:13:37 except, oops, no, gcc and clang will do optimisations that assume it never happens 07:13:59 for instance you can do a signed addition and check if it overflows and raise an error if it does, and return the result if not 07:14:08 gcc and clang will happily optimise out the check but then let it wrap at runtime anyway 07:14:11 because /it is undefined behaviour/ 07:14:29 if you don't write code that obeys the rules of the language you will get burnt, whether "it works right now" or not 07:14:32 because wrapping is the conventional behaviour 07:14:41 oren: ...but optimising out the check is not. 07:15:03 and easiest to implement in a cpu. it is harder to have a check 07:15:11 oh my god, would you listen to what I say? 07:15:34 Maybe UB just should be banished 07:15:57 he can't 07:16:02 oren: { int c = a + b; if ((a >= 0 && c < a) || (a < 0 || c > b)) { puts("overflow!"); abort(); } do_something_with(c); } 07:16:08 One thing that I want to do at some point is to write a C implementation which does the worst thing with undefined behaviour 07:16:14 oren: gcc and clang *can and do* optimise code like this to be the same as { do_something_with(a + b) } 07:16:20 *even if (a + b) overflows in practice* 07:16:28 Taneb: Boing? 07:16:40 relying on undefined behaviour can and will get you burnt, in practice, on programs that have an "obvious conventional meaning" to you. 07:17:04 What happens when there's no standard, or the standard is ignored half the time? 07:17:08 Fuck the web 07:17:30 fizzie, I'm trying to use gearlanced for an IRC bot... 07:17:43 Actually, could I talk to you later 07:19:00 Taneb: Oh, poor you. But sure. 07:20:07 gcc on overflow does not do the opimization you said elliot 07:20:16 even on -O3 07:20:57 checkmate 07:21:23 it is defined by convention that 2s complement integers will wrap 07:21:49 because that is obvious and easy to implement 07:21:53 oren: fine, I'll bring up a fucking bug report where it optimises out overflow checks and got closed as WONTFIX 07:22:05 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=30475 07:22:24 if you say something false that could have been proven wrong by reading that page I'm probably going to be annoyed enough to kick you again 07:23:14 (I take no position on whether C *should* be like this but the gcc developers in that bug report are completely correct that this is legal behaviour by the C standard, and this of course suffices as proof that compilers can and do optimisations like this in practice.) 07:23:53 here's some more reading material http://blog.regehr.org/archives/213 http://blog.regehr.org/archives/226 http://blog.regehr.org/archives/232 http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html http://blog.llvm.org/2011/05/what-every-c-programmer-should-know_14.html http://blog.llvm.org/2011/05/what-every-c-programmer-should-know_21.html 07:25:08 (those do cover strict aliasing) 07:27:06 It is a bug. C is a bug. 07:27:22 Rust has UB too I think :( 07:30:07 I had http://sprunge.us/iRcT as an example of GCC optimizing something by assuming no signed integer wraparound recently. 07:30:52 Rust arithmetic overflow is defined, I think 07:31:04 Defined as wrapping iirc, but defined 07:31:19 -!- dts|pokeball has quit (Read error: Connection reset by peer). 07:32:00 -!- dts|pokeball has joined. 07:32:33 "I'm still amazed that for the gcc maintainers, performance seems to be more important than security of the existing code base. " 07:32:46 It's C! Stop using C for security. Stop using C for security. Stop using C for security. 07:33:37 people used COBOL, Fortran, and indeed C in the defense industry 07:33:56 I think only the parts that are needed to be secure, need to be made secure; most of it needn't need be secure since that is the job of the individual program being written. 07:34:00 however they probably have their own compilers 07:34:12 -!- AndoDaan has joined. 07:34:40 "My issue with gcc is that it removes statement THREE. Your argument about undefinedness is about statement TWO. " 07:34:41 ahahaha 07:34:56 i guess many makefiles will include -fwrap soon 07:35:32 You certainly can write secure programs in C if you are careful; that isn't a problem. Making careful isn't too difficult; you can avoid buffer overflows and stack overflows if you don't have a buffer or recursive subroutine calls, for example. 07:35:47 This was 2007 07:36:08 oren: It's "-fwrapv", and I highly doubt that. 07:36:08 I know in LLVM it is possible for each instruction to specify whether or not signed wrapping, and whether or not unsigned wrapping, is possible. 07:37:12 oren: "soon"? gcc has worked this way for an extremely long time. as has clang. 07:37:43 I'm pretty sure C compilers have been making assumptions like this since the 90s at the latest, and they've only gotten more aggressive. that bug report is from 2007 and was certainly nothing new at the time. 07:37:45 fizzie: why? it was the 'standard' behaviour for so long no doubt people relied on it... take the guys complaining for example. are they going to change their code or add the flag that gets the behavious they want? 07:37:52 no, you just assumed it was. 07:38:01 things don't start existing when you become aware of them. 07:38:23 object permanence trumps arrogance 07:38:57 http://pastebin.com/gnHcc4EX this works. gcc only optimizes when it is obvious 07:39:42 and most of the time i don't bother checking for overflow at all 07:40:25 so i just see it wrap and don't care 07:41:17 oren: For the record, that definition for main is also undefined behavior. 07:41:19 you're trying to make talking to you as frustrating as possible by ignoring everything said to you until the evidence is overwhelming enough that you have to accept 1% of the truth and continue vociferously denying the remaining 99%, right? 07:42:00 it must be nice for everything you know to be the obvious, self-evident truth that you can argue it when someone tries to correct you and not even have your belief shaken next time when you turn out to be wrong 07:42:09 Just... use a better language already 07:42:46 I have no problem with people not knowing things but nothing is more irritating than confidence exceeding that knowledge. 07:43:07 (a sin which I've been plenty guilty of over the years, true.) 07:43:10 anyway elliot, if gcc does not do what i want then i will change my makefiles or use a different compiler. why are you so mad? 07:43:20 -!- Patashu has joined. 07:43:38 Sgeo: if you don't care about how the language you're programming in and the compilers you're using work, no language will save you 07:43:50 it is true C makes writing correct programs significantly harder. 07:44:05 but you have to actually care about things to go from that to deciding you'd be better off using something else. 07:44:09 fizzie, you still about? 07:44:34 oren: because you're the second most annoying person in here and I don't like people enroaching on my title 07:44:57 (also, I only talk in here when I feel like venting these days, because it's usually boring) 07:45:37 souns good! i actually like reading your tirades 07:45:37 fizzie, is it possible to use gearlanced as a library? 07:46:10 great. it would be nice if you actually listened to them 07:46:36 fizzie: I like how argv is mega-super-duper-const but argc isn't. 07:47:34 perhaps legacy code contains code looping backward thru arguments by --argc? 07:48:09 Legacy could could equally well contain code looping forward via ++argv. 07:48:41 I suspect that most programmers in the world are more like oren than like elliott :( 07:48:42 Taneb: I'm not sure what you mean by that, but assuming an abritrary interpretation, you'd probably need to change the code a little bit, since it's designed to be used as an external process. 07:49:07 Right. I'm not sure if I'm up to that task. 07:49:16 For now I'll just use it as an external process. 07:49:42 Sgeo : most programmers are trying to get things done, not achieve mathematical provability and perfect precision 07:50:00 blasphemy! 07:50:08 :( 07:50:11 if it works 99 percent of the time you can do it manuallt he other 1% 07:50:52 welcome to the real world where COBOL is *still* a thing 07:50:54 fizzie, how well-documented is gearlanced's interface? 07:51:11 Oh I see, in the comments at the top of the file 07:51:26 oren: Yeah, I somehow expect that excuse not to work so well when the resulting bugs ends up costing someone money. 07:51:36 When a Java method returns null instead of an empty array when there are no items, and the programmer doesn't realize this, is it the programmer's fault for not reading the docs carefully enough, or Java's fault for providing such a backass stupid method? 07:51:52 fizzie: can I just kick him again? it's therapeutic. 07:52:02 go ahead 07:52:35 Taneb: Librarification would probably just entail splitting the three cases of main into separate functions, and fiddling the persistent state into some struct. 07:52:54 Sgeo: the latter, but if the programmer argues not that java is badly designed (which is fair), but that actually the code is okay and they'll keep using it because everyone assumes by convention that the method will return an empty list... 07:52:54 I may do that at some point, but not just now 07:53:30 fizzie:true. but will it cost more money to fix the bugs or to simply learn to deal? 07:53:58 "the code works, it's fine" -> "the code is broken, but it's fine" 07:54:28 it is fine if the cost is less than your salary for the time it will take to fix it 07:54:31 I'm going to smirk way more than is reasonable if a type-based alias analysis optimisation breaks your code in this case. 07:54:50 I'd pay you to not contribute to any open-source software I might use x_x 07:56:14 well in the case of OSS the cost can't be less than your salary since the salary is often zero 07:56:44 elliott: I think e'd fit in with the OpenSSL team 07:56:57 (Ok, that's mean to the OpenSSL team, I'm sure... they're not that bad?) 07:57:32 save me from programmers 07:57:35 I wish I was any good at anything else 07:58:33 Depressing cynicism can be funny! 07:58:40 the companies that rely on OSS whould pay programmers to work on OSS... or is that already happening? 07:58:45 That's how I cope. I find humor in how horrible everything is. 07:59:12 I kind of think of it as a job perk 07:59:17 oren: I don't know how common it is, although it does seem like reasonable. 07:59:21 sadly, there's a certain level of horribleness in your life where that doesn't stop you drowning 08:00:09 I think it's relatively common for companies to let their progammers commit code they've made back to the project. 08:00:38 elliot: i am willing to write standard-conforming code if i am paid to do so. 08:01:52 you know, people missing the t from my name hasn't actually annoyed me for years 08:01:54 however if the requirements are simply that it works, then my boss will not be happy if i expend extra effort to avoid undefined behaviour. 08:02:00 lol 08:02:13 save me from programmers. 08:02:35 you mean 'save me from economics' it's the dismal science for a reason 08:02:48 or is that comp-sci 08:03:07 oh my god 08:03:16 you keep getting more and more absurd 08:03:26 -!- adu has quit (Quit: adu). 08:03:50 I would probably fight back against my boss in that situation 08:04:05 Product never cares about security, but they should 08:04:56 Actually, that's not really true 08:05:43 thankfully, everything sucks and one day each and every nerd will be condemned to the eternal blazing fires of hell, wherein they will maintain a sustained argument that said fires manifestly don't exist and they can't possibly be burning in them 08:06:01 I can't wait for them to come for me. 08:07:17 what is absurd? you have requirements and you are paid to write a program satisfying business objectives. if business objectives do not include "works every single time and is super-secure" then you do not do that it is a waste of time. instead the solution is "when it doesn't work, call Bob to type it into the DB manually" or something 08:08:17 I actually kind of agree with oren. Security is a trade off. 08:08:47 listen. listen. jesus has saved me from talking about undefined behaviour in C with you any more, and He could save you too. 08:08:47 oren: By the way, getting back to your "compilers only optimize when it's obvious" example: http://sprunge.us/TJcW -- "Hey, your code stopped working when we switched compiler vendors!" "Oh? Well, learn to deal." 08:09:10 Sgeo: and there is a tradeoff between my salary and Bob's. 08:09:13 (I don't think the overflow check was quite right, earlier.) 08:09:18 fizzie have you not heard His word 08:09:57 I use only the Lord's C Compiler and it never lets me down 08:10:16 you mean tcc ? 08:10:28 I mean the Gospel. 08:10:42 (because t is the cross on which He was crucified) 08:11:34 If you write "gcc" on an OS X system, it's actually clang. 08:11:39 Of course, is Product really trustworthy to even comprehend the tradeoff? 08:11:41 (Assuming Apple's Xcode.) 08:12:02 fizzie: I wonder what llvm-gcc does. or that dragonegg thing. 08:12:23 hey, I wasn't paid to do anything but compile a binary on this exact linux box at 2 pm on a tuesday. if that's the only time it works so be it 08:12:51 Didn't OpenOffice have a bug that printing wouldn't work on Tuesdays? 08:13:04 elliot in all seriousness it is possible for that to be the business requirments 08:13:05 http://mdzlog.alcor.net/2009/08/15/bohrbugs-openoffice-org-wont-print-on-tuesdays/ 08:13:08 now watch for my next trick as I show you my perfectly acceptable C program that exploits a buffer overflow in one version of gcc on one platform to do a bunch of manual printfs to the outputted assembly file 08:13:45 Sgeo: that's great 08:13:56 Also I think these days if you write "as" what you get is 'clang -cc1as' instead. 08:15:21 fizzie: I don't think so, they have their own assembler 08:15:27 % as --version 08:15:27 FATAL:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../libexec/as/x86_64/as: I don't understand '-' flag! 08:15:35 % clang -cc1as --version 08:15:36 LLVM (http://llvm.org/): LLVM version 3.5svn from Apple Clang 6.0 (build 600.0.54) Optimized build. Default target: x86_64-apple-darwin14.0.0 Host CPU: core-avx2 08:16:01 it could be a wrapper, but /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../libexec/as/x86_64/as is a binary, at least 08:16:29 as(1) says as - Mac OS X Mach-O GNU-based assemblers 08:17:05 maybe it uses LLVM under the hood nowadays, though. 08:17:12 it certainly knows about options clang -cc1as doesn't 08:19:01 Possibly not. I don't have any real OS X systems to test on. 08:19:25 elliott: do you also hate people who use compiler-specific extensions? 08:19:28 I just came across something that said they "will switch /usr/bin/as to call the clang internal assembler soon". Perhaps it never happened. 08:20:23 because that is also undefined behaviour which may change at any time. 08:20:46 oren: The storm had now definitely abated, and what thunder there was now grumbled over more distant hills, like a man saying "And another thing..." twenty minutes after admitting he's lost the argument. 08:21:54 when did i admit id lost argument? i just accepted you have different objectives from me. 08:22:24 yes, nobody's perfect 08:22:32 I was being charitable 08:23:41 but if you like gcc for using undef-behaviour for speed,do you dislike them for creating new constructs that are undefined or even illegal standard c? 08:24:22 e.g. {label: void q =&&label; ...} 08:24:31 e.g. {label: void *q =&&label; ...} 08:24:33 oren: I'm not sure how you derived "like" from "I take no position on whether C *should* be like this". 08:24:45 you know you can't force me to argue with you even if you keep doing your side of it, right? 08:25:15 sorry, i thought you hated programmers who do stuff that is undefined? 08:26:20 I use some of the GNU extensions; I like ?: with nothing in between, and I like the ability to create zero-length arrays. I also sometimes use function to count how many bits are set. 08:26:32 I hate programmers like you. 08:26:43 fizzie: should I be compensating you for your efforts here 08:27:26 so do you hate programmers who use gcc extensions too? 08:27:34 zzo38: I'm curious, how does (x ?: y) differ from (x || y)? 08:28:29 What does that mean? 08:28:48 x?:y seems to turn into x?x:y but i would have assumed it was undefined, just happened to see teebee using it once 08:28:48 (x || y) is always 0 or 1. 08:28:56 Taneb: it's (x ? x : y) but x is only computed once 08:28:58 oh 08:29:09 right, C logical operators are pedantic like that 08:29:19 elliott: The (x ?: y) acts similar to how (x || y) functions in JavaScript. 08:29:52 i don't use ?: very much actually, i prefer full if statements 08:32:32 fun fact, in php 1?1:0?2:3 gives 2, in C it gives 1. 08:32:34 I wonder when Bike left. 08:43:28 -!- glguy_ has joined. 08:49:03 -!- FreeFull has quit (Ping timeout: 244 seconds). 08:51:01 -!- Decensum|Zzz has quit (Quit: Connection closed for inactivity). 08:54:32 -!- dts|pokeball has quit (Ping timeout: 244 seconds). 09:09:26 Did you know that? In ZZT, picking up a gem while your health is at 32767 (regardless of how many gems you have), will kill you instantly. However, a program that gives you additional gems or health will not do this. 09:14:17 What will it do? 09:18:22 What will what do? 09:18:46 -!- AnotherTest has joined. 09:20:34 A program that gives you additional gems or health. 09:24:40 -!- glguy_ has quit (Quit: Computer has gone to sleep.). 09:25:19 -!- AnotherTest has quit (Ping timeout: 245 seconds). 09:25:36 It simply doesn't adjust the amount of gems/health you have in such a case. 09:41:00 -!- FreeFull has joined. 10:38:58 -!- ais523 has joined. 10:59:52 -!- GeekDude has joined. 11:04:26 -!- cluid has joined. 11:04:31 hello 11:04:40 hell0 11:04:54 I've been thinking about this new brainfuck derivative but I can't find anything it's really good for 11:06:00 any brainfuck derivative is good for annoying people (even though they don't complain about yet another algol derivative...) 11:06:32 well it gives you more room to use than brainfuck, so it shoudl be able to write some programs more efficiently or much shorter or something 11:11:52 http://lpaste.net/116231 11:11:59 This is the language 11:12:30 you can embed any brainfuck program into this language by s/\^/ cluid: it's kind of cute how that lets you contain infinite data structures in one cell 11:12:46 you mean s/ yes thanks! 11:13:06 yeah you can have infinite structures next to any cell, 11:13:17 so you might represented tree structured data quite easily 11:13:31 (without having to flatten it as you would in brainfuck) 11:14:02 is the tree infinite in all directions? 11:14:06 yes 11:14:22 http://lpaste.net/116233 11:14:26 here's an example program I wrote 11:14:39 to swap two numbers using a third cell 11:15:19 so but you can binary encode your tmp varibales (<><>>><><>) rather than unary in brainfuck (>>>>>>>>>>>>>>>>>>) 11:15:29 this isn't too amazing though 11:15:55 cluid: you could run the same language on an arbitrary graph with the condition that every vertex has three edges 11:15:57 the next thing I learned about this language is what elliott said 11:16:15 sort of like doing bf with a wrapping tape 11:16:29 cluid: what's the tape like? is it an infinite unrooted 3-regular tree? 11:16:34 yes b_ 11:16:35 yes b_jonas 11:17:30 have you tried to search the existing bf variants for whether this already exists? 11:17:42 no, but I dont think it exists 11:17:49 do you think that it might exist? how would I check... 11:17:56 most bf derivatives aren't so fancy to mess with the tape 11:17:59 well, there are already tons of bf variants 11:18:01 the closest thing I can think of is dimensifuck 11:18:23 sadly https://esolangs.org/wiki/Category:Brainfuck_derivatives is pretty incomplete I think but it probably has most of the more interesting ones 11:18:34 elliott: what? I think there's a two-tape brainfuck somewhere. or maybe a two-headed brainfuck. I mean, that's sort of an obvious idea. 11:18:36 (people often don't bother to categorise crappy text substitution bf derivatives that pop up I think) 11:18:48 b_jonas: by closest thing I meant closest to cluid's language 11:18:49 -!- sebbu2 has joined. 11:18:56 and yeah (doublefuck) 11:19:26 -!- sebbu2 has quit (Changing host). 11:19:26 -!- sebbu2 has joined. 11:19:29 the ultimate will be when someone makes a dual deadfish + brainfuck derivative 11:19:37 http://esolangs.org/wiki/Arborealis (similar but not same), http://esolangs.org/wiki/V (close? danger..) 11:19:39 then we can permanently feature it and implement it in every language that has ever existed 11:19:41 I don't have a problem with working on a 3-regular tree tape, but why make it a brainfuck variant? can't you do something else on a tape? 11:19:44 i am just glad cluid's language is not called ?fuck for any ? 11:20:12 whoa, V is cool for a bf derivative 11:20:25 try to figure out more than one cool ideas, and put them together, rather than just changing one thing in brainfuck. 11:20:36 -!- sebbu has quit (Ping timeout: 264 seconds). 11:21:07 Fun fact: I implemented this brainfuck derivative using derivatives 11:22:27 cluid: parsing derivatives? 11:22:32 data T a = B (T a) a (T a) 11:22:35 oh 11:22:36 cluid: hehe. have you also written any programs in that language that can't be just as easily written in brainfuck? 11:22:39 a zipper, of course 11:22:42 data Z a = ZL (Z a) a (T a) | M (T a) (T a) | ZR (T a) a (Z a) 11:22:54 b_jonas, that's the hard bit, I've been thinking about it all night 11:23:26 All I got so far was tmp variables are much shorter and the point elliott raised, about infinte structures held next to one cell 11:23:38 I was thinking maybe iyou could implement something like game of life much shorter, but then im not sure if you really could 11:24:17 i feel like this language can improve on brainfuck a lot but only in more complex programs? 11:25:18 actually, interesting question: out of all the TC esolangs, which are only polynomially slower than, say, C? which are no more than O(n) slower? 11:25:24 just being TC doesn't mean you have the same complexity 11:25:39 yes ais523 good point 11:25:52 I like that you say this becaues when ever I say things like this people try to teach me about the turing machines and it's really frustrating 11:26:26 well, almost all languages are TC, but nonetheless, some are better than others 11:26:33 ais523 learned about arguing subtleties about tcness the hard way :p 11:27:01 even defining "TC" is hard when you reach the edge cases 11:27:49 I'd like to understand the connections between derivatives (of types) and linear types better. 11:29:35 ais523: as you know, many languages are quadratically slower, specifically all tape-based (even multi-tape or multi-head) languages have a quadratic slowdown. 11:29:53 b_jonas: I first noticed with Thutu, which seems O(n) slower than anything else 11:29:59 I'm not convinced that BF has to be quadratically slower, though 11:30:02 A fun game could be like a 'boy scouts' thing for esoprogramming. You get a badge for writing a quine, for self interpreter, implement certain algorithm in strange language etc.. 11:30:14 I think that if you use tape elements only as single bits, it can be linearly slower instead 11:30:27 cluid: #esoteric achievements? 11:30:59 http://www.cs.nott.ac.uk/~txa/publ/tlca03.pdf talks about it a bit. 11:31:02 * shachaf goes to sleep. 11:31:04 ais523: by quadratically, I mean that there are programs that take O(n) time in, say, C, but require Omega(n^(2-epsilon)) time on brainfuck or even on a multi-head turing machine 11:31:34 b_jonas: right, that's what I took you to mean 11:31:48 Also, as you know, counter machines (turing machines that can't write the tape) are exponentially slower; counter machines with only two counters are probably doubly exponentially slow. 11:32:05 I'm not 100% sure you're wrong, but I think it's quite likely that all programs that are O(n) in C can be done in O(n^2) in BF, unless there's something obvious I'm missing 11:32:23 also, C is a bad example 11:32:30 maybe we should pick Scheme or something 11:32:43 C's only TC due to technicalities involving writing to a file and reading it back, due to the existence of sizeof 11:33:18 just pick the obvious subset of Python 11:33:21 or whatever 11:33:37 nah... Fortran 11:33:51 how about just measure the complexity of the best algorithm for a given problem 11:34:16 My favourite reference machine is a pointer machine with only immutable cells. This has any number of registers (given by the program) and any number of algebraic data types. 11:34:41 that sounds pretty cool 11:34:52 without mutation there is a logarithmetic slowdown though, so that might not be the perfect benchmark 11:36:13 The program has a number of states and four kinds of instructions: (1) halt; (2) allocate a new cell on the heap of the given constructor, filling its cells from registers, then jump to a state; (3) test whether a register contains a value with particular constructor, if it does, unpack it to registers and jump, else jump to somewhere else. 11:36:57 Where can I upload a implementation of my esolang? 11:36:57 You get the input as a linked list in a register, and put the output as a linked list in another register. You could add a register copy instruction for convenience but it's redundant because it can be simulated in two instructions. 11:37:04 i want to link to it from the wiki 11:37:16 i have been using pastebin 11:37:17 or have it as a 'behind' page would be nice.. if that's ok 11:37:25 oren, that is likely to 404 after some time, I linke 11:37:26 think 11:37:26 cluid: Does it have a short text source code? If it does, you could just put it to a wiki page. 11:37:28 you shuldnt' trust it 11:37:43 -!- oerjan has joined. 11:37:44 its 90 lines 11:37:54 oh, huh, the esoteric files archive is on github now 11:37:55 https://github.com/graue/esofiles 11:38:03 yes its just i dont want to use github 11:38:11 I don't like github eitehr 11:38:14 cluid: I say put it on the wiki. 11:38:16 if someone else puts it on github that would be fine/kind 11:38:18 ok thank you 11:38:28 I'm fine with other repo hosting sites, I just dislike github in particular 11:38:32 (Provided it's 90 not very long lines.) 11:38:55 ais523: do you like gitorious 11:38:57 ? 11:39:03 b_jonas: it's my favourite git hoster, right now 11:39:31 bah git is unnecessarily complex to my mind... 11:39:35 cluid: you could put it on a subpage of your user page and link to that or such 11:39:38 that's quite common 11:39:39 (is github better than sourceforge?) 11:40:02 ais523 got crawl to use gitorious and everyone involved has suffered for years because of it :p 11:41:05 -!- callforjudgement has joined. 11:43:39 -!- ais523 has quit (Ping timeout: 245 seconds). 11:43:43 im giving up on the undivider for now, can't figure out a good heuristic 11:43:48 -!- callforjudgement has changed nick to ais523. 11:45:34 undivider? 11:46:51 -!- ais523 has quit (Read error: Connection reset by peer). 11:46:53 suppose i have a double f which i know came from dividing two small numbers. reproduce the small numbers again. 11:47:00 -!- ais523 has joined. 11:47:40 of course it is not necessary to distinguish 3/9 from 1/3... 11:47:45 oren: use continuous fractions for that 11:48:03 -!- ais523 has quit (Read error: Connection reset by peer). 11:48:17 -!- ais523 has joined. 11:48:19 nah let's assume the double came from say a core dump... 11:48:23 wait, I might have code for that 11:48:53 um 11:48:56 continued fractions 11:49:05 I think that's what they're called, not "continuous fractions" 11:49:34 here: http://www.perlmonks.com/?node_id=424519 11:49:36 there's the code 11:49:51 oren: see there 11:49:54 looks good. 11:50:49 for reference on the theory of how it works, I recommend the ''Concrete Mathematics'' book 11:51:03 How do I upload an image to wiki? 11:51:06 http://i.imgur.com/axDhZce.png 11:51:08 I want to use this one 11:51:32 under tools, upload file 11:51:52 cluid: http://esolangs.org/wiki/Special:Upload (you may have to log in first) 11:52:20 wait, is the source code 90 lines PLUS and image? 11:52:26 [wiki] [[Special:Log/upload]] upload * Cluid Zhasulelm * uploaded "[[File:Fulbt.png]]": A picture of a full binary tree 11:53:08 source code doesn't include an image i don't think, it is not that kind of language 11:54:24 A continued fraction would be good 11:54:31 you can take the first fwe terms before you see a very large convergent 11:54:45 zzo38: you might or might not be interested in http://www.madore.org/~david/weblog/d.2014-12-10.2254.html#d.2014-12-10.2254 11:54:57 it's very easy to compute a CF 11:55:15 take off the integer part and then 1/ in a loop 11:55:30 cluid: sure, but what I wrote is more numerically stable 11:55:42 oh interesting 11:55:43 it won't give as much nonsense when you run out of precision 11:55:48 and it's not too complicated either 11:55:51 il have to look at this 11:55:53 -!- Patashu has quit (Ping timeout: 244 seconds). 11:57:36 [wiki] [[Treehugger]] N http://esolangs.org/w/index.php?oldid=41436 * Cluid Zhasulelm * (+1495) created page 11:58:58 cluid: btw one disadvantage of putting implementations on the wiki is that they have to be public domain 11:59:26 what's bad about that? 11:59:59 nothing unless you like the gpl or whatever 12:00:05 just letting you know 12:00:06 I like GPL a lot but this is fine 12:00:07 thank you! 12:00:16 [wiki] [[Treehugger/Implementation]] N http://esolangs.org/w/index.php?oldid=41437 * Cluid Zhasulelm * (+2989) Implementation 12:00:26 I like the GPL in spirit but the implementation isn't great :/ 12:00:34 If anyone will try writing programs in this I would be interested in what you find 12:00:44 also the code is excellent 12:01:47 elliott: sure. but for an esolang, it can be useful to have a readable (non-obfuscated) reference interpreter which is clearer than your description 12:02:17 cluid: I wonder how hard a self-interpreter would be 12:02:23 it would be cool to write the tree structure 12:02:31 doing fiddly things like parsing makes it unfun though :/ 12:03:14 [wiki] [[User:Cluid Zhasulelm]] M http://esolangs.org/w/index.php?diff=41438&oldid=41295 * Cluid Zhasulelm * (+124) 12:04:49 elliott: GPL3 has a much better impl than GPL2; it annoys me a lot when people use GPL2 specifically because they like the bugs, because BSD or Expat or something would probably be a better choice for those people 12:04:57 but yes, it could be better still 12:05:08 ais523: I just don't like how you get fuzzy definitions of "linking" 12:05:09 I guess the GPL looks good once you're working with the NetHack General Public License 12:05:21 which is one of the buggiest licenses ever 12:05:23 where things like static linking can be relevant and stuff 12:05:27 LGPL is much worse in that respect though 12:05:36 like when using GHC, LGPL is equivalent to GPL basically 12:05:42 I had to invent a comment syntax for NetHack level files purely to comply with the license 12:05:57 If anyone looks at my page http://esolangs.org/wiki/Treehugger and http://esolangs.org/wiki/Treehugger/Implementation - would you comment? thanks you 12:06:02 also there's hugely widespread disagreement on lawyers about linking wrt the GPL 12:06:11 -ss 12:06:13 and people just prefer to avoid the issue if they can 12:06:17 the whole libedit controversy, for instance 12:06:47 (actually, I wonder if the FSF position on that is actually correct, in the wake of Oracle v. Google; I hope it isn't, because it's ridiculous) 12:06:49 cluid: I think a "reified" binary tree in this language would look like a 0 or 1 to denote whether it has children 12:07:06 cluid: followed below by either two leaf value slots if not, or a left and right pointer if so 12:07:06 I dont understand 12:07:06 lawyers are more expensive than programmers 12:07:14 cluid: if you wanted to represent finite binary trees in this language 12:07:19 using the binary trees it has 12:07:20 oh you mean like implementing it in a non lazy language 12:07:23 that's a good idea! 12:07:23 no I mean 12:07:28 implementing binary trees inside the language 12:07:30 ohh 12:07:31 I see 12:07:35 I agree 12:07:38 (since I was thinking about a self-interpreter) 12:08:20 a self interpreter would be really stunning 12:08:44 a structure like ((*,*),(*,t)) could be used to implement each node of the empulated tree 12:08:48 so if you have that tree structure you should be able to write something that descends to an index in it coded as binary 12:08:49 I was shocked how small the best BF interpreter is 12:08:53 self-interpreter 12:09:01 I looked up some stuff to get ideas to try out in treehugger 12:09:02 the smallest, you mean? 12:09:05 by moving it into the 0/1 meta slots, chopping off a bit, and then copying the new index down to the appropriate child 12:09:06 yes 12:09:14 the best at smallness :P 12:09:19 self-interpreting BF is interesting because of the limited access to data that you have 12:09:23 [^] will ascend all the way up a tree 12:09:40 hmm, BF self-interpretation is obviously eigenratio infinity, right? 12:09:41 what if there is no top 12:09:47 there isn't, but you run into a 0 12:09:53 ah 12:09:54 because you can't keep your place in both the program and data at the same time 12:09:59 actually, no, it's O(length of program) 12:10:05 cluid: one thing that's a bit weird is that moving around gets you a penalty 12:10:08 as you can move the program around as you move the tape pointer around 12:10:14 massively slow, but not so bad asymptotically as leaving it in place 12:10:28 cluid: like if you're a thousand nodes deep in the reified tape you have to like [^]< down to the program and back again 12:10:51 ais523: as for me, I prefer non-copyleft licenses these days, like the X11 license. I haven't really thought about gpl2 versus gpl3 yet. 12:11:09 ais523: why use GPLv3 when AGPLv3 exists? 12:11:19 agpl is also bug-fixing in the same way 12:11:39 okay no I don't even want to talk about licenses on IRC ever again 12:11:47 OK, let's change the topic then 12:11:58 ok 12:12:01 -!- ais523 has set topic: arbitrarily changed topic | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/. 12:13:32 -!- nyuszika7h has quit (Remote host closed the connection). 12:15:01 In some sense, the eigenratio of brainfuck is constant 12:15:02 -!- nyuszika7h_ has joined. 12:15:36 As you interpret the input program, also take some time to search for a proof that the program state is a brainfuck interpreter applied to a program 12:15:50 When you find such a proof, start interpreting the nested program instead 12:16:47 hmm, BF self-interpretation is obviously eigenratio infinity, right? <-- i discussed it with that eigenratio guy previously, the _usual_ implementations have something like a^(n^2) growth but i also thought of that moving the program thing which gives an actual eigenratio. 12:17:47 Jafet: doesn't that fail in cases where you have a program that's a BF interp, but not provably so? 12:18:03 if you're talking about the alternative case where you just have an interpreter that recognises and optimizes out itself 12:18:09 something like that would be pretty handy for Feather 12:18:26 Well, if you write a bf interpreter presumably you know why it is one 12:18:41 what if some bf instructions take longer than others? 12:18:56 ais523: that's pretty unlikely. but I wonder if the program would start nested bf interpreters faster than you can prove it's a bf interpreter 12:19:24 The self-recognition case is degenerate, but any attempt to generalize it would require proof search probably 12:19:25 in particular, a naive interpreter might take O(n) time to do a [ or ] 12:19:32 oren: doesn't matter for computational complexity unless some of them are asymptotically slower 12:19:40 also, a program could start a bf interpreter parallel to some other task, so you may have to recognize that too. 12:19:48 not sure if [] matching is asymptotically slower on the right variable 12:20:02 Yes, but the definition of eigenratio presupposes a tower of (arbitrary) interpreters 12:20:03 like, a bf interpreter and some fancy performance counters. 12:20:06 program size? 12:22:19 yes i think a naive interpreter would be O(1) on program size for most instructions but O(n) on program size for [ and ] 12:22:59 oren: as i said, i concluded a naive interpreter's "eigentower" grows as O(a^(n^2+...)) 12:23:34 where n is number of generations and ... is something <=linear 12:23:54 ...i guess that's redundant with O() 12:24:07 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 12:24:46 oren: note that you're not going to escape using [ and ] for implementing the others, so things definitely go O(n) from second generation 12:25:55 or well, you can try tricks that delay it for a finite number of generations, clive gifford tried some 12:26:22 iirc 12:26:52 -!- shikhout has joined. 12:30:16 designing an actual moving-program bf self-interpreter that has an eigenratio you can calculate is one of my many vaporware projects. 12:30:24 -!- shikhin has quit (Ping timeout: 265 seconds). 12:30:37 i think its eigenratio would be several thousand, at least 12:33:15 -!- sebbu2 has changed nick to sebbu. 12:33:42 oerjan: moving program? wouldn't it be rather repeated program? 12:35:08 b_jonas: no, you put the representation of your program between your left and right tape representations, and > and < are implemented by moving the whole program representation 12:35:25 repeating the program would seem overkill in comparison... 12:35:44 oerjan: ah! 12:36:00 that could work, yes 12:40:35 another thing that i believe will simplify the actual matrix (by avoiding having a row/column for every possible cell _value_ you operate on) is to let the current cell be either to the left or to the right of the program representation, and not moving across it unnecessarily. 12:40:57 -!- shikhout has quit (Ping timeout: 258 seconds). 12:41:59 -!- shikhin has joined. 12:42:37 but that's just an additional trick, and not necessary to have an eigenratio bound. 12:45:40 [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41439&oldid=41430 * TomPN * (+42) 12:45:50 the thing about phi eigenratio got disproved right 12:46:20 -!- nyuszika7h_ has changed nick to nyuszika7h. 12:46:21 as far as i am concerned my unlambda self-interpreter did that 12:47:28 howso? I've forgotten 12:47:35 it has eigenratio 1 12:47:48 because it is nearly entirely metacircular 12:48:57 well, I mean, so does eval 12:49:07 what I mean is "no eigenratios > 1 < phi" 12:49:15 oh well 12:49:16 (and then arbitrarily branding eigenratio 1 as cheating) 12:49:25 is phi one? 12:49:40 > (sqrt 5 + 1)/2 12:49:41 1.618033988749895 12:49:45 it's that 12:49:53 has that been attained? 12:50:18 no but there's some anecdotal evidence/handwavy argument that it might be a lower bound of some sort 12:50:35 http://eigenratios.blogspot.co.uk/2007/11/search-for-phi-holy-golden-ratio.html 12:50:50 i thought he just picked it beacuse its a nice looking number 12:51:31 there's a bit more argumentation in that post :p 12:51:42 i don't think it really is a lower bound even in that sense because you can lower the number by having a longer chain of operations that are implemented as a single other. 12:51:45 (it's more about it "feeling" right than just being pretty, though, I think) 12:52:25 oerjan: I guess 12:52:28 I want it to be true though :( 12:52:42 OKAY 12:54:08 it really annoys me that letter size paper isn't a golden ratio 12:54:48 you know A(n) paper is sqrt(2) ratio for rather elegant reasons, right? 12:54:58 oren, golden ratio is a myth hth 12:55:30 -!- mr45_ has joined. 12:55:44 the point is that when you fold the paper in half it has the same proportions 12:56:16 so you can print 2^n pages on one page without distortion 12:56:19 oren: yes. assuming you're referring to sqrt(2) _not_ golden ratio 12:56:52 yes. 12:57:02 oren: psst, you can still print 4^n pages 12:57:06 golden ratio on the other hand just looks good 12:57:18 or n^2 pages 12:57:26 can you print phi^n pages? 12:57:38 -!- ais523 has quit (Read error: Connection reset by peer). 12:57:43 the golden ratio is literally a myth 12:57:43 cluid: no because that's never an integer hth 12:57:45 like the number doesn't exist 12:57:46 -!- callforjudgement has joined. 12:57:48 complete hoax 12:57:55 (sqrt(5)+1)/2 has no value 12:58:14 with golden ratio, you could cut out a square and be left with a piece of paper of the same proportions 12:58:17 well it has no value in the rationals hth 12:58:17 I'm not sure if that's useful or not 12:58:19 elliott: it's used to hide the mathematical errors of the "round globe" fraud hth 12:58:20 oerjan: Origamists would probably like golden ratio paper, because you could cut off a square (and use it for folding), and still be left with... 12:58:27 lol 12:58:33 fizzie: true 12:58:36 oren: yeah, believing in the golden ratio can only be irrational 12:58:44 Origamists prefers squares 12:59:00 callforjudgement: I had painstakingly typed all that with a touchscreen and then you scooped it. 12:59:07 the golden ratio: 1 : 1 12:59:20 callforjudgement: fizzie: are you competing with me and int-e for redundancy? 12:59:33 i have a notebook from mexice which for some reason has square pages 12:59:38 *mexico 13:00:27 oren: not fair, I didn't see your line due to disconnect 13:00:40 *oerjan: 13:00:47 you two have names that are very easy to mistabcomplete into each others' 13:00:51 callforjudgement: _my_ line? 13:00:56 callforjudgement: *fizzie 13:01:09 I was later. 13:01:22 mine came before fizzie's 13:01:34 and because I wasn't here for the original, I didn't see who said it 13:01:45 callforjudgement: i ... don't think there was one? 13:01:59 oh 13:02:14 why are you accusing me of competing with people for redundancy when I was first, then? 13:02:15 -!- callforjudgement has changed nick to ais523. 13:02:26 all i said was that it annoys me that letter size paper isn't a golden ratio 13:02:45 [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41440&oldid=41439 * TomPN * (-2) /* Syntax */ 13:02:47 it isnt root 2 either... so it is entirely useless 13:03:02 ais523: you and fizzie are stealing our redundancy trademark hth 13:03:26 why should it be golden ratio? 13:03:38 because it look better 13:03:41 it's a myth. a myth! 13:03:41 no it wouldn't 13:04:09 [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41441&oldid=41440 * TomPN * (+131) 13:04:29 oerjan: the more the merrier, you just have to learn to share. 13:04:40 int-e: NOOOOOOOOOOO sharing 13:04:41 Let's compromise on 1.5, then you can fold one big crane and twi small ones. 13:06:13 fizzie: how rational of you. 13:06:47 8.5/11 is just... stupid. 13:07:00 it is a stupid number 13:09:14 the golden ratio is 1/79 13:09:15 * elliott hides 13:09:30 Recent reviews of the empirical literature bearing on the claim of special aesthetic significance for this ratio in the context of the perception of simple figures include Green (1995), Hoge (1995), and contributors to a dedicated edition of Empirical Studies of the Arts (Hoge 1997). Some investigators doubt that the golden section has any aesthetic significance, even suggesting that research on it be abandoned 13:09:42 Russel (2000) explored the height to width ratio of a large database of famous paintings and did not find any particular support for a preference for the golden-section 13:10:05 McManus (1980) felt that existing empirical research was unable to adequately differentiate preference for the golden-section versus other similar ratios such as 1.5, 1.6 or 1.75. 13:10:12 Boselie F, 1992. "The golden section has no special aesthetic attractivity!" Empirical Studies of the Arts 10 1-18. 13:10:31 well 8.5/11 is not even close and i hate it 13:10:38 one use I like for the golden ratio is using rotations of (tau/golden ratio) radians around a color wheel to create distinct colors 13:11:04 because it's irrational, the colours never exactly repeat; and the golden ratio is also quite good at avoiding approximate clashes 13:11:23 ais523, there is rigorous mathematics explaining why that works 13:11:36 well, yes, obviously 13:11:47 damn ais523 that is what i should have done instead of using rand 13:11:49 sqrt(2) is so much better 13:12:06 i will remeber that trick 13:12:12 oren: for what, colours? 13:12:15 yeah 13:12:23 ais523: tau, really :p 13:12:25 also, the word "damn" looks a little out of place there 13:12:38 phi has importance in number theory, not `aesthetics` 13:12:43 normally I go into a rant when people use it, but this time I'm just confused because I can't parse the sentence 13:12:49 elliott: I wanted "complete circles" 13:12:57 what did you want me to say? 400 gradians? 13:13:03 use 2 pi 13:13:16 ais523: it is an exclamation of dismay hth 13:13:27 I guess complaining about tau is even more a waste of time than using tau in the first place 13:13:29 stop hthing, that's oerjan's gimmick 13:13:43 really we just need a "complete cycles" unit of measurement 13:13:44 it helps to increase confusion dth? 13:13:53 hertz-seconds, perhaps 13:14:07 "rotations" 13:14:15 'cycles' 13:14:37 well, hertz = cycles per second, thus hertz-seconds = cycles 13:14:39 but "rotations" has precedent in rpm. 13:14:52 http://www.shallowsky.com/blog/science/fibonautilus.html 13:15:29 (Not a strong argument. But I rarely associate associate Hertz with rotations.) 13:16:11 elliott: anyway, tau makes more sense in that context than in most others, because of the actual connotation of "complete rotation" which is its only advantage over pi in the first place 13:17:06 tau is bad because of the assholes spamming wikipedia with it 13:17:16 Hertz-seconds, the SI definition of numbers 13:18:56 naughtilus 13:20:21 -!- mr45_ has left. 13:20:38 hm are there any other SI units that can be multiplied to be dimensionless 13:20:58 oh. "The cycle per second was a once-common English name for the unit of frequency now known as the hertz." 13:21:57 oerjan: Can't all of them? metres per meter, ... 13:21:58 oerjan: or more interestingly, multiplied to be dimensionless and not equal to 1 13:21:58 they should have made more of the units be vaguely relevant german organ names 13:22:37 ais523: well you have to find the first before you can get the latter 13:22:43 The bequerel is the same as the hertz. 13:23:02 wat 13:23:06 It's s^-1, as decays/time. 13:23:23 fizzie: in that case bequerel-seconds also work 13:24:04 "A special name was introduced for the reciprocal second (s−1) to represent radioactivity to avoid potentially dangerous mistakes with prefixes. For example, 1 µs−1 could be taken to mean 106 disintegrations per second: 1·(10−6 s)−1 = 106 s−1.[3] Other names considered were hertz (Hz), a special name already in use for the reciprocal second, and fourier (Fr).[3] The hertz is now ... 13:24:06 i suppose radians and steradians... 13:24:10 ... only used for periodic phenomena.[2] Whereas 1 Hz is 1 cycle per second, 1 Bq is 1 aperiodic event per second." 13:24:11 -!- oren has quit (Ping timeout: 256 seconds). 13:24:38 oerjan: well there are plenty of secondary units. N = kg m/s^2 13:24:55 fizzie: i mean without using division, obviously 13:25:18 oerjan: so you probably need some more rules in the game. 13:26:21 int-e: the rule is to take a list of named units and multiply them, hth 13:26:27 oerjan: Well, arguably second-hertz makes seconds dimensionless just as much as hertz-seconds make hertz. 13:29:26 the list at https://en.wikipedia.org/wiki/International_System_of_Units#Derived_units contains no negative exponents for mol, K or cd 13:30:14 !blsq_uptime 13:30:14 8d 23h 23m 44s 13:30:28 The farad-ohm-becquerel is dimensionless, but it's just making use of the same 1/s as before. 13:30:55 On the other hand, the farad-ohm makes for a nice name for a second. 13:31:13 -!- callforjudgement has joined. 13:31:33 int-e: the rule is to take a list of named units and multiply them, hth ← N = kg m Hz Hz 13:31:35 Oh, the ohm-siemens, of course. 13:31:56 They're exactly complementary. 13:31:57 I am annoyed at conductance having units 13:32:00 callforjudgement: um the result is supposed to be dimensionless hth 13:32:26 fizzie: oh right 13:32:38 -!- ais523 has quit (Ping timeout: 252 seconds). 13:32:45 (One is V/A and the other is A/V.) 13:32:55 hertz-farad-ohm would be a good spell invocation 13:33:00 -!- callforjudgement has changed nick to ais523. 13:33:27 and probably very painful for the recipient 13:33:55 well, farad+ohm gives you an RC circuit, which is one of the simplest ways to make time-sensitive electronics 13:34:15 put appropriate circuitry around that (an amplifier or inverter or similar), you can probably measure the resulting circuit in hertz or in seconds 13:36:54 -!- J_Arcane has quit (Quit: ChatZilla 0.9.91-rdmsoft [XULRunner 32.0.3/20140923175406]). 13:37:00 beautiful. https://en.wikipedia.org/wiki/File:Original_Abraham-Bloch_multivibrator_circuit.png 13:38:01 oerjan: hehe 13:39:14 oerjan: are you trying to generate sparks? 13:39:16 and there's a higher level version, the hertz-farad-henry-ohm 13:40:29 int-e: or obliterating them, only science will tell! 13:41:06 b_jonas: not dimensionless hth 13:41:08 oerjan: so do you think the monks have another of those muses around? 13:41:11 int-e: there are a ton of ways to make time-dependent circuits 13:41:17 int-e: hm good question 13:41:26 hook an RC circuit up to anything vaguely amplifier-like, and you'll most commonly get oscillating behaviour 13:41:39 I guess the interesting thing about that circuit is that it was the first to be discovered 13:41:52 also there is something somewhat hilarious about the 80 volt battery 13:42:08 ais523: also the voltages are way more impressive than what electronics generally deal with today 13:42:14 exactly 13:43:39 -!- atslash has quit (Quit: This computer has gone to sleep). 13:43:42 the voltages used in modern circuits have gone down and down over time 13:43:57 modern electronics is about making it still work at lower voltage, because then you get less energy wasted when you make it go faster 13:44:43 yeah 13:44:50 I knew that. 13:45:06 `? smart 13:45:07 smart? ¯\(°​_o)/¯ 13:46:47 How about reversible CPUs? 13:46:57 since information isnt destroryed, it can work with less energy 13:47:08 this might be a big improvement in computing 13:48:11 all quantum computations have to be reversible up to the point you measure the 13:48:12 *them 13:48:32 otherwise they'd require too much energy 13:48:56 cluid: that was the idea of the pendulum architecture. unfortunately the main cpu lines are just too good for reversible ones to compete (yet!) 13:49:08 i thought reversible was just a property of quantum computing 13:49:16 can you elaborate on that "otherwise"? 13:50:17 i'd imagine if reversibility gets used it would be in a hybrid way. 13:50:41 cluid: well the theory is, destroying information needs energy 13:50:49 making as much of the cpu reversible as possible, but preserving overall backwards compatibility 13:50:51 oh yeah 13:50:53 and you'd need to destroy the information in multiple multiverses at once 13:50:55 so this is the same principle as i said 13:51:08 and as yet, we don't know how to steal information from other potential universes 13:51:20 I have a question about multiple universes? 13:51:32 https://en.wikipedia.org/wiki/Landauer's_principle for anyone following along 13:51:39 cluid: I'm not an expert in this stuff 13:51:49 I did it as my A-level coursework, but that's about it 13:52:03 one nice thing about doing coursework on an obscure subject is that it reduces the chance that the person marking it will know the subject 13:52:11 so they'll find it harder to find errors in it 13:52:22 https://www.cise.ufl.edu/research/revcomp/ has a funny slide that implies that reversible computing should begin to matter this decade. 13:52:33 ais523: we don't even know if other universes exist, they might just be a mathematical convention and we'll find some other explanation. 13:52:39 of course that's there area of research so I take it with a spoonful of salt 13:52:43 oerjan: indeed, definitely 13:52:44 (yuck!) 13:52:58 salt is tasty 13:53:02 I'd eat a spoonful of salt 13:53:03 however, even if they don't, it seems reasonable that the laws you'd predict from involving multiple universes still work, but for a different reason 13:53:10 elliott: I hope it's a very small spoon 13:53:17 oerjan, I hope we have a differetn interpretation, the multiple universes thing is really scary to me 13:53:20 depends how much you're paying me 13:53:25 elliott: nothing! 13:53:33 elliott: the salt was expensive enough 13:53:40 from my point of view, the issue with salt is a) it's added too soon in the cooking process by most people, b) although it tastes nice in small amounts, almost anywhere which salts things will use too much 13:53:56 int-e: ooh 13:54:04 for instance, last I looked, unless I completely messed up the calculations, there's more salt in one slice of bread than there is in a packet of ready salted crisps 13:54:13 and yet the salt tastes much nicer in the crisps 13:54:22 arguments about cooking in #esoteric > arguments about programming in #esoteric 13:54:40 -!- J_Arcane has joined. 13:54:49 oerjan: sorry for the typo, this one was unintentional for once. 13:54:54 hwy is there so much salt in bread 13:57:14 Hmm the bread I'm currently eating has 1.1g/100g, the chips 2.0g/100g (they're cheese flavoured, not primarily salty.) 13:57:16 int-e: wait what typo 13:57:23 oerjan: their. 13:57:26 oh. 13:57:37 's ok just say 50 hail marys 13:58:00 * oerjan isn't even catholic. 13:58:40 int-e: I have a feeling that the salt-as-only-flavouring crisps actually have lower salt content than the other flavours 13:58:58 could be. I don't like them very much. 13:59:07 So I'll have to go to a shop to check the theory. 13:59:44 int-e: i can't swat you for saying "there" when other people are going around saying "hwy" 14:00:41 I hvae more sympathy for "hwy" though ;-) 14:00:43 ais523: so basically they are using more salt when they're not paying attention to it? 14:02:06 RE: YOU’RE PAYMENT NOTIFICATION 14:02:43 int-e: that slide seems to be more than a decade old though 14:03:28 ais523: you're aware of the "make obvious errors so people to smart to fall for our scame drop out early" theory, i assume 14:03:34 *too 14:03:38 *scam 14:03:41 oerjan: yes 14:03:48 I might have been the person who introduced #esoteric to it 14:03:52 you prob... right 14:04:00 what scam 14:04:06 that said, I received an email that looked a huge amount like a Facebook friend request reminder, but I'm not on Facebook and have never heard of the person who sent it 14:04:16 oh 14:04:31 cluid: basically nearly all spam scams look hilariously bad to intelligent people 14:04:50 ais523: I believe sites loke facebook still send email like that asking you to join and friend or whatever, even if you're not joined yet. 14:04:53 and the theory is that this is intentional because they _don't_ want intelligent people 14:05:07 they want really, really gullible ones 14:07:19 and desparate, I suppose 14:07:58 *desperate 14:14:10 "Though even the Landauer limit is millions of times below the energy consumption of modern computers." 14:14:25 i'm guessing it might not be this decade, then. 14:15:03 we have high level reversible programming languages and efficient compilers to reversible instruction sets 14:15:14 hardware has been fabricated too 14:15:43 i mean that they won't see the need for it this decade 14:16:24 because it's still 3 decades of moore's law before we hit that limit 14:16:48 only millions? are we that close already? 14:17:00 or is that just one of those riddiculous understatements/ 14:17:37 "Theoretically, room‑temperature computer memory operating at the Landauer limit could be changed at a rate of one billion bits per second with only 2.85 trillionths of a watt of power being expended in the memory media. Modern computers use millions of times as much energy." 14:18:59 you do the math (because i'm too lazy) 14:19:42 doesnt that just mean we could improve things by a lot? 14:20:20 is the implication that the reversible stuff would only improve by such a tiny fraction of whats already wasyed? 14:20:55 cluid: well my implication is that they won't change to an entirely new method of doing things while the methods they are good at still work 14:21:23 because incremental improvement is much cheaper than complete revamping 14:21:27 i gues we wont see reversible computers :( 14:21:37 but its very interesting technolofy 14:22:38 hmm. desperate typography channel. 14:23:17 we should ask fizzie to do some typo graphing 14:26:58 -!- callforjudgement has joined. 14:27:05 -!- ais523 has quit (Disconnected by services). 14:27:08 -!- callforjudgement has changed nick to ais523. 14:32:09 I have no clue at all what the trade-offs are for reversible computing implementations. I imagine they have higher circuit complexity, larger circuit area, probably longer critical paths, thus lower possible clock frequencies. This has to be weighed against just taking an irreversible circuit and underclocking it, which often allows one to decrease voltages, which also reduces consumed power? Tricky. 14:32:57 int-e: also you have to store all the unused bits somewhere 14:33:10 most "TC in reversible computing" constructions use a bitbucket 14:33:31 oerjan: I imagine that we don't need new production processes though, "only" different software for the process above up to mask preparation. 14:35:17 what do you mean "TC in reversible computing" 14:36:09 cluid: you have a reversible language, and want to compile to it from a TC language 14:36:15 oh yes 14:36:20 I think tromp knows about this, 14:36:28 it requires some garbage 14:36:58 but there is also a notion of 'reversibly turing complete' which involves simulating reversible turing machines no garbage 14:37:22 ais523: The architecture doesn't have to be completely reversible anyway. Reducing the number of destroyed bits from 1/2 per transistor and cycle to a couple of thousands or even millions per cycle should help a lot. 14:38:18 Anyway, that's pure speculation on my part. 14:39:31 -!- ais523 has changed nick to scarf. 14:39:52 -!- scarf has changed nick to ais523. 14:42:17 oh, nice PCP https://en.wikipedia.org/wiki/File:Dec_SYSTEM_BUILDING_BLOCKS_1103.jpg 14:43:39 -!- Sprocklem has quit (Ping timeout: 245 seconds). 14:43:54 aaaah 14:43:55 PCB 14:44:29 I was wondering. 14:45:00 (It's a PCB for the PDP 1) 14:45:33 very cool 14:45:59 I'm glad there are pictures. I like preserving our history. 14:46:29 I love the fact that someone decapped a 6502 and scanned it with an electron microscope 14:46:43 source? 14:46:44 so we now know for a fact exactly how it works 14:46:52 oh bleh, it was a news aggregator and years ago 14:46:56 so my chance of finding it now is quite low 14:46:56 okay 14:47:06 ais523: http://visual6502.org/wiki/ , http://visual6502.org/ 14:47:08 um 14:47:10 paul2520: ^ 14:47:18 and yes, it's amazing 14:47:20 asking in #esoteric can be a decent way, though 14:47:24 well done. I was about to search 14:47:46 they're also trying other chips. they've done one simliar size chip completely, and have some progress in larger chips 14:48:10 oh wait, there's further progress 14:48:19 apparently they've finished with the motorola 6800 14:48:20 nice 14:48:52 oh this is beautiful. I now have desktop backgrounds for life 14:50:03 hehe 14:50:35 I use a photo from my brother's wedding as desktop background, but that's not a sustainable plan for life because he won't have more weddings 14:52:09 i'm sure it could be arranged. 14:53:44 also you could just stick to that background image forever 14:54:00 oerjan: like what? polymorph him to a pudding, split him with an iron weapon, polymorph both of them back, hope the clone gets married? 14:54:17 that's dangerous because he could polymorph to an exploding monster 14:54:26 b_jonas: that would be an option. normal people just get a divorce. 14:54:27 also very expensive 14:54:32 b_jonas: i think you're suffering from evil imagination deficiency hth 14:54:47 (i guess it might not actually be suffering.) 14:55:09 The legality of splitting one's brother in two with an iron weapon seems dubious 14:55:15 (I'm omitting another obvious possibility for obvious reasons.) 14:56:02 int-e: actually it's possible b_jonas's problem is he's living inside Nethack 14:56:08 Jafet: he's not human while polymorphed so it's less illegal 14:56:36 can we post from #esoteric to the #nethack qdb? 14:56:37 If you split too hard, it's still murder. 14:57:07 Jafet: not unless he is a priest or something like that, no 14:57:12 Jafet: use a dull, rusty, iron weapon that's corroded down to -3 then 14:57:21 oerjan: It's not a problem as long as nobody gets hurt. 14:57:22 and use a stethoscope first to make sure that the brother still has at least two hitpoints 14:57:29 yeah, stethoscope first 14:57:39 make sure he's fully healed 14:58:46 But if you cut a cube in two, won't you get cuboids? 14:58:54 wait, am i the only one here who _isn't_ living inside nethack 14:59:17 oerjan: no?! 14:59:31 int-e: pudding, not gelatinous cube 14:59:36 bash: nethack: command not found 14:59:48 `nethack 14:59:48 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: nethack: not found 14:59:50 `? nethack 14:59:51 nethack? ¯\(°​_o)/¯ 14:59:56 oerjan: I'm more busy manipulating the laws of NetHack to my whim 15:00:17 int-e: good, good 15:00:22 oerjan: I've tried the game, didn't get into it. 15:01:06 int-e: did you get into other video games instead? other fantasy themed games (possibly not video but tabletop) instead? 15:04:18 Yes, there are some video games. Sokoban and Lemmings were early favorites, and Lucas Arts adventures. (The Sierra ones, not so much, I hated dying all the time.) 15:04:42 Ah I should really say Lucasfilm adventures. 15:04:46 int-e: on the subject of NetHack and Sokoban, NetHack inspired me to start working on a Sokoban generator 15:05:02 that was years ago, and I ended up downloading a bunch of Sokoban-related stuff for research, then becoming a level designer for Enigma 15:05:10 and recently, the Sokoban generator is actually near-complete 15:05:28 -!- augur has joined. 15:05:33 "hated dying all the time" -- ah, so that's why you don't like nethack. ok. 15:06:03 b_jonas: Yes, that's a big part of it. 15:06:11 ais523: I'd actually like to try to design levels for a game different from sokoban that can be embedded in nethack sort of like sokoban 15:06:23 but I'm not sure that will work, and don't hold your breath 15:07:49 even the embed of Sokoban into NetHack is awkward 15:08:08 however, I also got sokogen to generate puzzles for NetHack boulder physics (i.e. without the restrictions that make it work like Sokoban) 15:08:42 ais523: yes, what I'm thinking of also needs special code. 15:08:51 oh, you're thinking of something in particular? 15:09:00 rather than just "what games can we simulate with NetHack physics"? 15:09:05 Yes, I have a particular idea for a game, but it might not actually work. 15:09:11 submit it to /dev/null :-) 15:09:17 /dev/null/nethack, that is 15:09:18 In the sense that, it might not be a game for which it's possible to design interesting levels. 15:09:23 not the character special file 15:09:27 :-) no 15:11:57 ais523, i would play your sokoban generated levels 15:12:30 the generator isn't quite finished yet 15:12:35 And even if I can make levels, I'm not sure it's a good fit for nethack still. 15:12:38 it can generate /parts/ of levels, but not connect them together yet 15:12:53 sounds very interesting! 15:13:00 have you seen other generated sokoban levels? I know one set 15:14:07 I'm just compiling it now 15:14:15 I'll give you a part of a level to solve once it's done 15:14:41 suddenly realised that I should probably keep this permanently checked out, rather than in a branch of NH4 15:15:44 `addquote listen. listen. jesus has saved me from talking about undefined behaviour in C with you any more, and He could save you too. 15:15:46 1225) listen. listen. jesus has saved me from talking about undefined behaviour in C with you any more, and He could save you too. 15:15:52 -!- `^_^v has joined. 15:26:11 `` echo " you play too much nethack when: you look down both sides of the corridor, start to sweat and then realize you're looking at your email address" >wisdom/nethack 15:26:13 No output. 15:27:46 `? nethack 15:27:47 you play too much nethack when: you look down both sides of the corridor, start to sweat and then realize you're looking at your email address 15:34:27 -!- Sprocklem has joined. 15:46:56 -!- S1 has joined. 15:51:05 -!- GeekDude has joined. 16:00:53 -!- atslash has joined. 16:04:46 -!- AnotherTest has joined. 16:10:04 -!- atslash has quit (Quit: This computer has gone to sleep). 16:14:03 Oh, Numeric might actually win for once... 16:15:39 But I'll probably be proven wrong. 16:20:41 int-e: if so we'll be two hth 16:23:53 So nasty to make it just one past 36. 16:24:05 heh 16:24:18 so nasty to put lower case letters before A 16:24:43 > filter isAlphaNum [' '..] 16:24:44 "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\170\178\179\... 16:25:02 fizzie: well haskell's builtins don't support beyond 16 anyhow 16:25:29 int-e: isAlphaNum requires another import, anyhow 16:25:35 -!- drdanmaku has joined. 16:25:38 but Burlesque does support bases up to 36 16:25:45 !blsq 12357 36B! 16:25:45 | "9j9" 16:25:48 !blsq 12357 37B! 16:25:48 | That line gave me an error 16:26:06 It supports also higher bases as long as it doesn't encounter any digit above 36. :p 16:26:18 fizzie: fancy 16:26:21 !blsq 12345 37B! {just fine}vv 16:26:21 | "90o" 16:26:31 oerjan: I know, it wouldn't really help. But it's still nasty :P 16:27:17 > 276088010547702691069957 16:27:18 276088010547702691069957 16:27:20 oops 16:27:29 > logBase 2 276088010547702691069957 16:27:30 oerjan: in the meantime, cojna figured out the identity matrix thing. I have no clue. 16:27:31 77.86947442093677 16:27:36 heh 16:27:43 int-e: i haven't really tried that one 16:28:00 also nasty: going too high for Int 16:28:46 oerjan: yes. that's the deciding factor for Numeric atm. 16:31:38 -!- mihow has joined. 16:31:57 ...wat 16:32:21 what wat? 16:33:14 i tried submitting that anyhow and it gave a stack space error 16:33:43 > (-1) `div` 37 16:33:45 -1 16:34:01 -!- AnotherTest has quit (Ping timeout: 256 seconds). 16:34:29 even in Haskell, infinite recursion tends to do that :) 16:34:43 [wiki] [[Special:Log/newusers]] create * QuackQuack * New user account 16:34:49 > 1201688513203::Int32 16:34:50 -902329677 16:34:55 ic 16:35:13 it worked in my ghci because that's 64 bits, presumably 16:47:39 @hoogle Show a => a -> Doc 16:47:41 Language.Haskell.TH.Ppr showtextl :: Show a => a -> Doc 16:47:41 Language.Haskell.TH.Ppr ppr :: Ppr a => a -> Doc 16:47:41 Language.Haskell.TH ppr :: Ppr a => a -> Doc 16:52:43 -!- atslash has joined. 17:02:39 Is there any common program that would buffer all data it receives (in RAM and/or temporary file) and only open the file specified for writing and dump data there upon EOF of input? 17:03:44 zzo38: hmm... I wonder if you could abuse a program like that, 17:04:17 zzo38: what happens if you connect stdbuf to cat, with a very large buffer size? 17:04:20 it would be easy if you asked for only _writing_ when it gets eof, but if it has to only _open_ the output file it might be harder 17:04:26 zzo38: Yes, it's called 'sponge'. 17:04:30 b_jonas: ah, oh right 17:04:35 that breaks the stdbuf method 17:05:10 "sponge reads standard input and writes it out to the specified file. Unlike a shell redirect, sponge soaks up all its input before opening the output file. This allows constricting pipelines that read from and write to the same file." 17:05:14 as in, tail -n 999 might work for large values of 999 17:05:27 I wonder if "constricting" is a typo, or just some sort of a pun. 17:05:43 fizzie: probably a pun 17:05:59 it both constricts the pipe and lets you construct the pipeline 17:06:26 I don't have such a "sponge" program on my computer; is there a Windows version available? (I want Linux version too if it is so that when working on Linux I can use it too) 17:07:32 -!- glguy has joined. 17:07:45 zzo38: Debian has it in a package called "moreutils". 17:08:19 I don't know about a Windows version, and "sponge windows" just finds things related to cleaning windows. 17:08:22 zzo38: how about something like: perl -e "local$/;binmode STDIN;$d=;open$o,q(>:raw),$ARGV[0]or die qq(error open: $!);print$o$d or die qq(error write: $!);close$o or die qq(error close: $!);" outpufilename 17:09:29 -!- oerjan has quit (Quit: leaving). 17:09:38 -!- zzo38 has quit (Remote host closed the connection). 17:14:40 -!- callforjudgement has joined. 17:15:59 -!- atslash has quit (Quit: This computer has gone to sleep). 17:17:53 -!- ais523 has quit (Ping timeout: 250 seconds). 17:18:11 -!- callforjudgement has changed nick to ais523. 17:19:34 -!- augur has quit (Remote host closed the connection). 17:22:04 -!- bb010g has quit (Quit: Connection closed for inactivity). 17:25:35 -!- augur has joined. 17:27:34 -!- oren has joined. 17:29:58 -!- augur has quit (Remote host closed the connection). 17:33:56 -!- augur has joined. 17:39:47 -!- augur has quit (Remote host closed the connection). 17:43:51 -!- hjulle has quit (Ping timeout: 264 seconds). 17:43:59 -!- ais523 has quit (Read error: Connection reset by peer). 17:44:11 -!- ais523 has joined. 17:45:08 o 17:52:28 -!- tswett_ has joined. 17:52:58 -!- tswett_ has quit (Client Quit). 17:59:26 -!- ais523 has quit. 17:59:38 -!- ais523 has joined. 18:05:58 -!- S1 has quit (Quit: S1). 18:08:05 this is probably a dumb question, but is there a "technical" name for whatever type of grammar you would need to parse TECO? In TECO, there is no delimitation, everything is one string, white space is not significant except in escaped strings. 18:08:26 so to parse it you have to go in order 18:09:09 commands can have modifiers which are sometimes special characters like a hyphen, and other times letters 18:09:34 "the lexical analysis is context-sensitive" might be what you're looking for? 18:11:00 ais523: probably 18:11:37 INTERCAL has that problem 18:11:42 ais523: I'm trying to play around with writing a TECO interpreter, but the lexical analysis stage is incredibly tedious. 18:12:13 ais523: it doesn't look like something like FLEX would really be able to handle TECO (though I could be wrong) 18:12:34 there is a restriction to make it LALR(1)-parseable (which is in the original manual): if something could be interpreted either as a close paren or an open paren based on the text so far, it's an close paren even if that leads to a syntax error and an open paren would parse correctly 18:13:01 this means that the parser needs to tell the lexer what sort of sparkears could close a group 18:13:37 "sparkears" ? 18:13:52 diginet: INTERCAL has undirected parentheses 18:13:57 ' to ' (spark), or " to " (ears) 18:14:12 there are various ways to make this unambiguous, such as always alternating 18:14:20 but INTERCAL allows you to be ambiguous so long as you're unambiguous 18:15:27 LOL 18:16:07 -!- MoALTz has joined. 18:16:41 wow that is awful 18:17:15 ais523: when you say parentheses, do you mean this as a generalized term to refer to things that "open and close" like (), {}, '', ""? 18:17:33 diginet: this is for precedence override in expressions, just like what parentheses do normally 18:17:44 oohhhhhh 18:17:46 gotcha 18:18:23 `! intercal DO .1 <- #15~'#2~#7' DO READ OUT .1 18:18:24 ​/hackenv/bin/!: 4: exec: ibin/intercal: not found 18:18:30 do we have an INTERCALbot here? 18:18:38 `` ls bin/*intercal* 18:18:39 ls: cannot access bin/*intercal*: No such file or directory 18:18:42 `` ls ibin/*intercal* 18:18:43 ibin/cintercal \ ibin/clcintercal 18:18:45 ais523: I hope INTERCALbot is written in intercal lol 18:18:48 ooh, we have C-INTERCAL 18:18:55 that means I can do a better example 18:19:06 (CLC-INTERCAL's harder to type because of all the non-ASCII characters) 18:19:40 `! cintercal DO .1 <- #5$'#6$#7' DO .2 <- '#5$#6'$#7 DO READ OUT .1 + .2 PLEASE GIVE UP 18:19:43 ICL999INO SKELETON IN MY CLOSET, WOE IS ME! \ ON THE WAY TO 1 \ CORRECT SOURCE AND RESUBNIT 18:19:50 oh, we have C-INTERCAL but it's broken 18:20:43 `` ibin/cintercal -u 18:20:44 ICL999INO SKELETON IN MY CLOSET, WOE IS ME! \ ON THE WAY TO 1 \ CORRECT SOURCE AND RESUBNIT 18:20:56 hmm, how do I pass arguments to that 18:21:02 `` file ibin/cintercal 18:21:04 ibin/cintercal: POSIX shell script, ASCII text executable 18:21:06 pleaese can I read the IOCCC entries now 18:21:10 `` cat ibin/cintercal 18:21:11 ​#!/bin/sh \ . lib/interp \ interp_file ./interps/c-intercal/c-intercal 18:21:21 `` ./interps/c-intercal/c-intercal -u 18:21:22 cp: missing destination file operand after `/tmp/290.i' \ Try `cp --help' for more information. \ ICL999INO SKELETON IN MY CLOSET, WOE IS ME! \ ON THE WAY TO 1 \ CORRECT SOURCE AND RESUBNIT 18:21:34 `` cat interps/c-intercal/c-intercal 18:21:35 ​#!/bin/bash \ if [ ! "$1" ] \ then \ exit 1 \ fi \ \ INTERCAL="`dirname $0`/inst" \ \ cp "$1" /tmp/$$.i \ $INTERCAL/bin/ick /tmp/$$.i \ if [ -e /tmp/$$ ] \ then \ /tmp/$$ \ fi \ rm -f /tmp/$$.i /tmp/$$ 18:21:54 `` interps/c-intercal/inst/bin/ick -u 18:21:55 Trying to open '/home/gregor/projects/hackbot/multibot_cmds/env/interps/c-intercal/inst/share/ick-0.29/ick-wrap.c'... \ Failed! \ Trying to open 'ick-wrap.c'... \ Failed! \ Trying to open 'interps/c-intercal/inst/bin/ick-wrap.c'... \ Failed! \ Trying to open 'interps/c-intercal/inst/bin/../lib/ick-wrap.c'... \ Failed! \ Trying to open 'interps/c-in 18:22:25 `` pwd 18:22:26 ​/hackenv 18:22:44 hmm, I think that first entry indicates what's wrong 18:22:48 fixing it may be harder 18:23:19 the potential solutions involve recompiling C-INTERCAL, making the HackEgo directory structure match the EgoBot directory structure exacly, or hex-ediing the binary 18:23:22 all these seem awkward 18:26:22 -!- augur has joined. 18:26:37 -!- shikhout has joined. 18:27:42 -!- augur has quit (Read error: Connection reset by peer). 18:27:53 -!- augur has joined. 18:29:49 -!- shikhin has quit (Ping timeout: 250 seconds). 18:31:17 ln -s /home / 18:31:19 `` ln -s /home / 18:31:21 ln: failed to create symbolic link `/home': File exists 18:31:28 `` ls -la /home 18:31:29 total 0 \ drwxr-xr-x 3 0 0 0 Dec 11 18:30 . \ drwxr-xr-x 15 0 0 0 Dec 11 18:30 .. \ drwxr-xr-x 3 0 0 0 Dec 11 18:30 hackbot 18:31:35 `` ln -s / /home 18:31:36 ln: failed to create symbolic link `/home/': File exists 18:31:54 `` ls -lad /home 18:31:55 drwxr-xr-x 3 0 0 0 Dec 11 18:30 /home 18:34:40 `` find -name ick-wrap* interps/c-intercal 18:34:41 find: paths must precede expression: interps/c-intercal \ Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression] 18:34:55 `` find interps/c-intercal -name ick-wrap* 18:34:56 interps/c-intercal/inst/share/ick-0.29/ick-wrap.c \ interps/c-intercal/src/ick-wrap.c 18:36:07 int-e: the problem is that the binary hardcodes the source and build directories, and looks for the files it needs in those and in the current directory and binary's directory 18:36:16 and the binary was copied from a system with a different filesystem layout 18:36:32 `` ln -s ../share/ick-0.29/ick-wrap.c interps/c-intercal/inst/bin 18:36:34 No output. 18:36:49 int-e: ooh, clever 18:36:54 `` interps/c-intercal/inst/bin/ick -u 18:36:55 Trying to open '/home/gregor/projects/hackbot/multibot_cmds/env/interps/c-intercal/inst/share/ick-0.29/ick-wrap.c'... \ Failed! \ Trying to open 'ick-wrap.c'... \ Failed! \ Trying to open 'interps/c-intercal/inst/bin/ick-wrap.c'... \ Success! 18:37:05 int-e: that's not the only file that needs symlinking 18:37:12 but it'll probably work for a simple program 18:37:21 `! cintercal DO .1 <- #5$'#6$#7' DO .2 <- '#5$#6'$#7 DO READ OUT .1 + .2 PLEASE GIVE UP 18:37:27 ​/tmp/299.c:14:20: fatal error: fiddle.h: No such file or directory \ compilation terminated. 18:37:52 `` cd interps/c-intercal/inst/bin; echo * 18:37:53 convickt ick ick-wrap.c 18:37:54 ooh, it compiles to C, just the runtime support (libick and its dev headers) is missing 18:38:35 (I wasn't sure whether we had write access there) 18:39:18 `` cd /tmp; echo *.c 18:39:18 ​*.c 18:39:30 `` find interps/c-intercal -name fiddle.h 18:39:31 interps/c-intercal/inst/include/ick-0.29/fiddle.h \ interps/c-intercal/src/fiddle.h 18:40:32 `` find interps/c-intercal -name *.a 18:40:33 interps/c-intercal/libyuk.a \ interps/c-intercal/libick.a \ interps/c-intercal/inst/lib/libyuk.a \ interps/c-intercal/inst/lib/libick.a \ interps/c-intercal/inst/lib/libickec.a \ interps/c-intercal/inst/lib/libickmt.a \ interps/c-intercal/libidiot.a \ interps/c-intercal/libickec.a \ interps/c-intercal/libickmt.a 18:41:23 `` pwd 18:41:24 ​/hackenv 18:41:26 http://pastebin.com/m2MLBGuu 18:41:38 the only union you'll ever need 18:42:19 `` ls -lad /usr/include 18:42:20 drwxr-xr-x 35 0 0 4096 Jan 29 2014 /usr/include 18:42:45 `` ln -s /hackenv/interps/c-intercal/inst/include/ick-0.29 /usr/include # hmm 18:42:45 ln: failed to create symbolic link `/usr/include/ick-0.29': Read-only file system 18:45:39 -!- dts|pokeball has joined. 18:47:16 hmm nvm i'm missing some of the types from stdint.h 18:48:41 `` sed -i 1a"export CFLAGS=-I/hackenv/interps/c-intercal/inst/include/ick-0.29" interps/c-intercal/c-intercal 18:48:44 No output. 18:48:56 `! cintercal DO .1 <- #5$'#6$#7' DO .2 <- '#5$#6'$#7 DO READ OUT .1 + .2 PLEASE GIVE UP 18:48:57 ​/tmp/299.c:14:20: fatal error: fiddle.h: No such file or directory \ compilation terminated. 18:49:54 `` ls /hackenv/interps/c-intercal/inst/include 18:49:55 ick-0.29 18:50:25 int-e: maybe something isn't respecting CFLAGS? 18:50:32 I don't think either ick or gcc parse it 18:50:47 true. 18:50:52 `revert 18:50:57 Done. 18:51:16 I keep forgetting that this is handled by autoconf and make. 18:52:17 perhaps the trick is to place a wrapper around gcc somewhere that ick will find it? 18:55:04 `` sed -i 1a"export CPATH=/hackenv/interps/c-intercal/inst/include/ick-0.29" interps/c-intercal/c-intercal 18:55:06 No output. 18:55:12 `! cintercal DO .1 <- #5$'#6$#7' DO .2 <- '#5$#6'$#7 DO READ OUT .1 + .2 PLEASE GIVE UP 18:55:15 ​ \ MCCCXCV \ \ MMDCXXI 18:55:41 oh wow, I think it's working 18:55:45 the second number should be larger, at least 18:55:51 now all we need to fix is syslib 18:55:59 does anone know a place i could ask about and get help on algorithms? 18:56:05 from knuth 18:56:08 `! cintercal DO .1 <- #1 DO .2 <- #1 DO (1000) NEXT DO READ OUT .3 PLEASE GIVE UP 18:56:09 ICL127ISAYING 'ABRACADABRA' WITHOUT A MAGIC WAND WON'T DO YOU ANY GOOD \ ON THE WAY TO THE CLOSET \ CORRECT SOURCE AND RESUBNIT 18:56:24 and I'm not sure how to get -u to complain about that with this setup 18:56:34 ais523: so does the symlink-to-bin-dir work for that, too? 18:56:38 int-e: it should 18:56:43 file name is syslib.i 18:57:15 there are various other wrappers too but I don't think there's any way to get ick to use them without command-line args that `! cintercal never uses 18:58:10 `` cd interps/c-intercal/inst/bin; ln -s ../share/ick-0.29/* . 18:58:12 ln: failed to create symbolic link `./ick-wrap.c': File exists 18:58:41 `! cintercal DO .1 <- #1 DO .2 <- #1 DO (1000) NEXT DO READ OUT .3 PLEASE GIVE UP 18:58:43 ​ \ II 18:58:49 that's the correct answer 18:59:07 I'm amused at your nuclear solution to doing the symlinks, but it seems to work 19:00:13 RESUBNIT? NIT??? 19:00:23 oren: that typo has been preserved for well over a decade 19:00:32 oic 19:00:33 every now and then someone tries to fix it and we have to revert them 19:00:43 I'm not quite sure why it caught on, but it did 19:01:54 anyway i am working on a nuclear solution to elliott's problems with my pointer casting, by using a giant union of every type that exists. this is guaranteed to work according to gcc. 19:02:12 I doubt it 19:02:16 what is safe is to use memcpy 19:02:27 by going through (char *) 19:02:32 which is explicitly allowed by the standard 19:02:35 gcc gives better guarantees on unions than the C standard does 19:02:39 but still 19:02:40 gcc allows you to use a union -- it's a GNU extension 19:02:50 yes but why would you make a big union when memcpy is easier and more portable... 19:03:37 hmmmmmm....to avoid the copy? 19:03:43 also, what about types which have a comparable size to your address space? 19:03:44 eaxtcly 19:04:14 *every non-array, non-struct type that exists 19:04:47 ais523: btw I'm surprised that just setting CPATH worked, I expected that I'd have to set the LIBRARY_PATH variable as well. 19:04:53 int-e: I think that is one thing I trust compilers with. :p 19:05:18 elliott: I wouldn't. 19:05:28 clang has special knowledge of memcpy, at least. 19:05:28 elliott: my guess is that oren learned about how computers work from ~30 year old books, or books whose authors learned from books that old 19:05:29 memcpy to the same place will check? i would expect it to screw up the value 19:05:31 pretty sure gcc does too 19:06:01 oren: double x; uint64_t y; memcpy((char *) &y, (char *) &x, sizeof y); 19:06:02 in every other instance where the src and dest overlap it does 19:06:11 I'm not sure those casts are necessary. 19:06:13 I guess they're not. 19:06:23 well, as opposed to casting straight to void * 19:06:44 cluid: I would probably ask such a question here first, actually, but there must be general programming and algorithm channels somewhere. 19:06:56 then it is a copy. in asm i can access any place as any type why should i make my c code slower? 19:06:59 anyway, I will give you like a billionth of a bitcoin if gcc -O3 and clang -O3 don't optimise that out to essentially y = x 19:07:04 oh lord 19:07:26 you'll never fix your mental model of things if you keep treating C as something that maps directly and simply to assembly 19:07:31 unless you take a time machine back a few decades 19:07:56 elliott: naaah, all we need to take back a few decades is the compiler. 19:08:29 or use a less complex contemporary compiler 19:08:35 int-e: but that way we still have to listen to oren 19:08:42 elliott: ... 19:09:09 I would suggest /ingore but then elliott would demonstrate /kick 19:09:21 oh come on, that was a good spur of the moment quip 19:09:22 -!- Sprocklem has quit (Ping timeout: 244 seconds). 19:09:32 (ah, typos. you can love them or hate them, but not get rid of them. 19:09:39 what to you expect in 39 seconds 19:09:46 actually that's kind of a lot of time :/ 19:10:31 but yeah, C compilers do lots of crazy things. 19:11:45 I mean I'm not saying C's annoying edges for systems programming is a good thing, although a lot of the things people assume will work are actually broken for good reasons. a language that maps directly to the hardware wouldn't look like assembly either, though 19:12:43 movsd %xmm0, 8(%rsp) 19:12:44 movq 8(%rsp), %rdx 19:12:47 elliott: I tried it out 19:13:11 seems that gcc optimizes out the memcpy, but has to bounce the value off memory to convert it from a double to a uint64_t 19:13:28 I don't think any other sort of assignment would work better, though? 19:13:31 let me try with the union 19:13:56 is there a move instruction from %xmm0 to %rdx? 19:14:37 x86_64's instruction set is far from consistent 19:14:46 so i don't know 19:14:54 I get exactly the same code for the assignment as I did for the memcpy 19:15:11 the instruction might be missing from the set? 19:15:12 actually the output asm are completely identical apart from where the filename appears in the debug info 19:15:26 okay thanks int-e 19:15:30 ok i'll use memcpy thanx for the help 19:15:31 I was wondering what the point of dancing links was 19:15:33 so, basically, elliott is right 19:15:39 he is! 19:15:40 http://www.ams.org/samplings/feature-column/fcarc-kanoodle 19:15:43 i read about it there 19:15:46 which is the result I thought I'd get before testing, but best to make sure 19:15:58 I think the answr is it lets ou use less memory, but it still seems a bit stupid 19:16:33 if youre trying to solve a pentomino problem, why not generate pentominos rather than build a huge big matrix and cross things off? 19:18:19 #define db2u64(x) ({uint64_t u;memcpy(&u,&x,8);u;}) 19:19:30 x86 has this historical separation of CPU and FPU, with no direct transfer of values (but with a direct transfer of flags for comparisons). And MMX SSE and so on all happen to extend the FPU. 19:19:45 ;u;; 19:19:47 s/;$// 19:20:09 blah int-e i knew it! 19:20:19 int-e: which dates back from the time when the x86 and x87 were actually separate chips, IIRC 19:20:24 yes 19:21:03 that is so inconsistent... i like the 6502's instruction set for its consistency 19:21:05 movq %xmm0, %rax 19:21:54 any one know knuth dancing links 19:22:08 presumably knuth does 19:22:14 and you can find examples elsewhere 19:22:14 ok but he isnt here 19:22:25 I've received emails from knuth's secretary, it was weird 19:22:39 (he doesn't write them himself, which IMO is entirely reasonable) 19:22:42 I only got one, asking for my middle name. 19:22:49 hes a busy guy 19:23:23 he writes program books and doesnt afraid of anything 19:23:30 knuth should be here 19:23:38 it'd be horrible 19:24:02 I'd prefer it if not 19:24:16 actually, better would be if he just turned up, asked a quickly answered INTERCAL question 19:24:18 got the answer, and left 19:24:30 Re "copy", when this came up in ##c last (it comes up quite often), GCC generated absolutely identical code to the three common "reinterpret the bits" approaches (the *(x*)&y one, the union { x a; y b; } one and the memcpy one). 19:24:31 -!- oren has quit (Quit: eating a chicken). 19:24:41 I guess ais523 already tested all three, though. 19:24:41 ais523: ideally he'd turn up, get `welcomed, and turn out to be looking for the other kind of esoteric 19:24:47 fizzie: I didn't test the first one 19:24:48 and leave 19:24:56 that's the best knuth/#esoteric interaction I can think of 19:25:11 gah, I think you broke me 19:25:25 I literally am having problems imagining that 19:26:21 elliott: http://www-cs-faculty.stanford.edu/~uno/316.html 19:26:37 that's a weird subdomain 19:27:11 int-e: Middle name for what? 19:28:11 -!- AndoDaan has quit (Quit: bbl). 19:28:12 shachaf: Some list of authors I presumed. I don't even know whether I made it. 19:28:46 -!- AndoDaan has joined. 19:29:30 Ah. 19:29:56 "Please send me ALL your names, even if you don't customarily use them! They will appear only in the index, where many of my readers have said they enjoy seeing esoteric information like this." 19:30:31 He lost my name once. :-( 19:31:26 "Needless to say, the employee responsible for this glitch has been sacked." 19:35:54 -!- shikhout has changed nick to shikhin. 19:49:21 ais523: To be fair, "bham.ac.uk" is pretty weird too. And the whole deal with ultra-abbreviated names. 19:50:08 (Admittedly something like www-cs-bham.ac.uk would be weirder.) 19:50:50 I think we had a wwwcs. or www-cs. or cswww. or some other such subdomain at the university. 19:51:47 (But it was just for "strange stuff", not for any high-profile webserver.) 19:52:35 -!- Sprocklem has joined. 19:53:34 I don't find www-cs-faculty.stanford.edu strange at all 19:53:50 At my university, www-it.math.… is a thing. 19:55:28 but anyway, http://cs.stanford.edu/~uno/316.html works too 19:56:01 and www.cs.... 19:56:25 I wonder what "uno" is. 19:57:04 http://cs.stanford.edu/~uno/programs/dance.w 19:57:44 its C with weird @ signs everywhere 19:57:45 thanks knuth 19:59:33 CWEB, which makes sense, since it's in the web. 19:59:52 to weave, or to tangle... 20:00:24 his code seems about 6x shorter than mine 20:01:46 cluid: weird @ signs everywhere and it has its own macro system 20:01:51 and its own nonlinear text expansion facility 20:01:59 `rainbow ~*~literate programming~*~ 20:02:23 http://arxiv.org/abs/cs/0011047 "The first trick is to implement each assumption of the search with reversible local operations on doubly linked lists. By this trick, every step of the search affects the data incrementally" 20:02:30 No output. 20:02:37 -!- Patashu has joined. 20:02:44 whaat 20:02:47 `rainwords ~*~literate programming~*~ 20:02:55 that will be underwhelming 20:03:09 the author reports excellent performance for his algorithm for some familiar puzzles. These include tiling a hexagon by 19 hexiamonds and the N queens problem for N up to 18 20:03:18 No output. 20:03:29 Uh. 20:03:33 `echo x 20:03:34 x 20:03:47 `` echo abcde | rainbow 20:03:47 cluid: the most simultaneous queens england has ever had at once is 7 so that's a comfortable scalability margin for solving the problem 20:03:48 ​abcde 20:03:57 -!- oren_ has joined. 20:03:58 lol 20:04:05 ~*~literate programming~*~ hth 20:04:17 the algorithm decides which queen to keep and which ones to sacrifice 20:04:24 it's like easter calculation 20:04:28 goes back centuries 20:04:47 Oh, of course it's a filter kind of a thing. 20:05:08 ^rainbow does this still work? 20:05:08 does this still work? 20:05:10 Wasn't there a clever way for commands to be both kinds of things? 20:05:23 That rainbow is kind of gloomy. 20:05:35 I prefer {cheerful} rainbows. 20:05:38 Oops. 20:05:42 I prefer cheerful rainbows. 20:05:46 That didn't work very well. 20:05:47 you can check $# and see if you got any arguments 20:05:47 I think it's limited to one-character color codes. 20:06:04 I assumed "clever way" meant something cleverer than DIY. 20:06:16 that rainbow look extra cheerful for me 20:06:44 Perl has that <> thing that's either stdin or the *contents* of the files named as command line arguments, but it's not quite the same as taking command-line data instead. 20:07:24 ^show rainbow 20:07:26 +3>4+6[->+8<],[<4.>[->+>+<2]>2-[-[-[-[-[-[-[<[-]>[-]]]]]]]]<[-<+>2+<]<+>4.[-<2+>3+<]<2+2.[-]>.>2[-<+>]<2,] 20:08:27 is that run-length encoded brainfuck 20:08:32 does this still work? 20:08:35 does this still work? 20:08:38 looks liek brainfuck + numeric constants 20:08:45 There you go, much more cheerful and only a one-character difference. 20:08:46 i see brainfuck + named variables on the wiki too 20:08:58 It's a run-length encoding thing, yes. 20:09:06 (putting a ^B at the beginning) 20:09:12 ^rainbow does this still work? 20:09:14 does this still work? 20:09:30 what do you call "languages" like that that are just used to describe a thing? 20:09:35 I just want befunge with functions. how that'd work... who knows! 20:09:36 the aren't supposed to be a real language 20:09:56 cluid: flowerpots? 20:10:07 hi 20:10:34 uh... perhaps declarative programming 20:11:27 Technically, it's a lower-level representation of the bytecode fungot's ^bf uses internally. 20:11:29 fizzie: they probably know better than to use the lisppaste bot, visit http://paste.lisp.org/ new/ scheme and enter your paste. it is really needed 20:11:43 -!- nycs has joined. 20:12:51 (It has six instructions, each of which has an argument field, two of which ignore their argument.) 20:13:46 (Although that was probably unnecessary to explain, given how literate the fungot sources are.) 20:13:49 fizzie: any ideas about how config files and other extensions.) refer to? ( as said, so far three puzzles none of which is being used by these orgs now"... 20:14:43 ^style 20:14:47 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 20:14:53 -!- `^_^v has quit (Ping timeout: 265 seconds). 20:15:11 i got fungot 20:15:13 shachaf: care to take a huge detour from fnord to mit to read sicp this semester. the prof is doing every 15 minutes and didn't even bother checking if fnord was declared to return the whole ( loop thing specifically intended for that? 20:15:24 shachaf: oh noes, is there a cure? 20:15:35 tried to read a sentence as if it was intended to make sense 20:16:27 hmm, fungot put a space on both sides of ( there, but istr the perl scripts had code to put such punctuation at the start/end of the next/last word 20:16:29 olsner: as i said, it can 20:16:37 wait, so fungot gives you a (senseless) sentence every time you mention it? learn something new every day haha 20:16:40 singingboyo: 7 greasemonkey: daemon idle_10 bf8. i 20:18:33 -!- AndoDaan has quit (Quit: bbl). 20:18:50 coudl anyone turn a .w file into C for me please? 20:18:56 http://cs.stanford.edu/~uno/programs/dance.w this one 20:20:25 http://manpages.ubuntu.com/manpages/utopic/man1/cweb.1.html 20:21:54 Knuth has such an odd style of writing C. 20:22:01 oh so actually pentominos is not best solved by dancing links 20:22:03 Even disregarding the literate programming thing. 20:22:14 Well, maybe I shouldn't be disregarding it. But either way. 20:23:28 you can gard it, it doesn't need to be regarded. 20:24:07 -!- oren_ has changed nick to __oren__. 20:24:19 <__oren__> hey look iim a c99 thing 20:24:36 <__oren__> or maybe a gnu extension 20:24:59 * Melvar tugs on __oren__’s proboscis. 20:25:01 C99 would be _Oren. 20:25:12 <__oren__> oh right right 20:25:31 -!- Patashu has quit (Ping timeout: 265 seconds). 20:25:38 What is the best algoirtmh to pack shapes with pentominos? 20:26:32 -!- sebbu has quit (Ping timeout: 240 seconds). 20:26:40 <__oren__> what sort ofshapes? 20:27:01 http://gp.home.xs4all.nl/PolyominoSolver/Polyomino.html like these 20:27:02 oren: btw did you see the esolang I invented? 20:27:12 -!- sebbu has joined. 20:27:32 <__oren__> yes, looks original and i like that you didn't name it *fuck 20:27:38 oh yeah i remember you said that 20:27:50 -!- sebbu has quit (Changing host). 20:27:51 -!- sebbu has joined. 20:33:46 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 20:36:50 http://www.halley.cc/ed/linux/scripts/quine.html 20:39:53 olsner: The Perl scripts, sure, because it was easier to implement in Perl than in Befunge. 20:40:01 olsner: The Perl scripts maintain balanced punctuation, too. 20:40:07 I've found that if the set to be covered is small, DLX isn't all that good; it's better to use bitmasks. Then, when selecting a mask from the list of remaining candidates, copy the list of candidates, filtering out those that collide with the selected mask. 20:40:22 olsner: (It's on the TODO list to fix at least the spacing.) 20:40:56 The point is that this usually uses less memory and accesses memory in a linear fashion, making it well suited for modern CPUs and their caches. 20:41:42 But DLX will be better if each bit is only covered by a few possible masks (rows). 20:44:56 int-e, I thought this would be better even without bitmasking - then I noticed it will use more memory (but that is probably okay) 20:45:25 -!- atslash has joined. 20:56:43 -!- AnotherTest has joined. 20:58:52 -!- Sprocklem has quit (Ping timeout: 240 seconds). 21:17:22 -!- dts|pokeball has quit (Quit: Leaving). 21:17:41 -!- dts|pokeball has joined. 21:34:21 -!- axelcsep has quit (Ping timeout: 256 seconds). 21:44:36 -!- nycs has quit (Quit: This computer has gone to sleep). 21:58:00 -!- hjulle has joined. 22:06:32 -!- dts|pokeball has quit (Read error: Connection reset by peer). 22:08:19 -!- dts|pokeball has joined. 22:18:43 nice golfing challenge at http://www.reddit.com/r/tinycode/comments/2o6jqu/ascii_connect_4_in_124_bytes_of_c/ 22:19:12 see my latest reply in there 22:23:21 W(n){return b[c]&b[c+n]&b[c+n*2]&b[c+n*3];} lol damn 22:23:26 that's crazy 22:24:34 that's a straightforward test of 4 in a row:) 22:47:49 fizzie: wow how did you get Collatz parity so slow... 22:49:42 -!- AnotherTest has quit (Remote host closed the connection). 22:51:32 Using a lookup table, perhaps. 22:53:50 -!- oerjan has joined. 22:55:04 -!- boily has joined. 22:55:26 bonsoily 22:56:03 bonsai? 22:56:17 int-evening 22:56:26 int-e: I don't think I did anything special. 22:56:27 bon sœrjan. 22:56:34 bont-esoir. 22:56:43 bon soizzie. 22:57:16 oerjan: what is today's tldr? I won't be able to stay long tonight hth 22:58:58 -!- CrazyM4n has joined. 22:59:05 int-e: It does involve 512*64 things, that's a big number. Anyway, I'm faster than GolfScript. 23:01:14 boily: i joined 2 minutes before you so it's a bit early to say 23:01:57 fizzie: hmm. python is slow, too, perhaps you're right. 23:04:11 int-e: All languages can't be such mean, lean murder-machines like Haskell. 23:04:30 [wiki] [[User:Darkgamma/SB3]] N http://esolangs.org/w/index.php?oldid=41442 * Darkgamma * (+46) Created page with "Modernised Brainfuck using Unicode and colour?" 23:04:55 haskull 23:05:09 haskill 23:05:14 oerjan: oh. so it's a vsdr... oh well. be back in a... uhm... future? 23:05:27 -!- boily has quit (Quit: YEARLY CHICKEN). 23:05:44 he left without explaining his acronym. fiendish. 23:06:36 very silly december racoon 23:06:55 Taneb: ah, of course. 23:07:20 verne from over the hedge in christmas mood, i bet 23:07:43 wait 23:07:48 wrong animal 23:07:50 Modernised Brainfuck using Unicode and colour? 23:08:06 *RJ 23:08:24 we seem to be approaching the bf derivative singularity. 23:08:48 oerjan: how about "very short, did(n't) read." 23:09:28 int-e: but the logs are long and i haven't finished them 23:09:39 so that's crazy talk hth 23:10:23 but you didn't mention the logs and boily may have temporarily forgotten that you catch up on those 23:11:03 wikia's article on verne has the word "deuteragonist" 23:11:50 That's the protagonist of a side story, right? 23:11:59 Like Homestuck's Karkat? 23:12:23 fizzie: but doing things completely naively, I get 0.05s with python for the collatz parity (according to the performance check on anagol). 23:13:01 Taneb: pretty sure it means "second main character" 23:13:15 I think that is a better definition 23:13:15 [wiki] [[User:Darkgamma/SB3]] http://esolangs.org/w/index.php?diff=41443&oldid=41442 * Darkgamma * (+152) 23:13:24 Still, like Homestuck's Karkat 23:13:28 proton vs. deuteron 23:13:48 fizzie: it's when using 'eval' that python becomes slow. 23:17:13 int-e: I'm guessing it's a stack rotation #r I do to work around the lack of Forth "-rot" (there's x/ aka rot, but not to the other direction), I guess rotating an up-to-64-element linked list isn't all that fast. 23:18:41 maybe not. 23:19:31 Well, I don't know. It's 0.65s locally with #r and 0.75s with x/x/. 23:20:36 There is an eval (an EvalMany, actually) in there, but I don't think that's a major thing in Burlesque. 23:20:44 Clearly a profiler is needed. 23:22:05 (An earlier C!-based version was 0.45s locally.) 23:27:36 wow. another "loop unrolling" and python takes almost 10 seconds... (time: 9.736676sec) 23:29:42 E! is listed to be defined as .*\[e! (aka "repeat, concatenate, eval") so it's quite unrolly too. 23:31:14 -!- axelcsep has joined. 23:32:48 -!- cluid has quit (Remote host closed the connection). 23:35:28 -!- axelcsep has quit (Ping timeout: 244 seconds). 23:45:24 -!- zzo38 has joined. 2014-12-12: 00:08:44 -!- mihow has quit (Quit: mihow). 00:15:12 Wasn't there a clever way for commands to be both kinds of things? <-- yes 00:15:41 `` yes # tndh hth 00:16:10 `echo hi 00:16:11 hi 00:16:38 `` ls bin/*arg* 00:16:40 bin/print_args_or_input 00:17:26 shachaf: I'm surprised we didn't get an infinite stream of y from your yes 00:17:36 `` yes | head -n 100 00:17:37 y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y 00:17:43 ais523: maybe it's still running 00:17:50 i put a ^O in the beginning because I didn't want to spam the channel hth 00:18:07 `fiendish 00:20:20 -!- callforjudgement has joined. 00:22:29 http://function-of-time.blogspot.com/2009/04/pattern-does-not-hold.html is moderately fiendish hth 00:22:41 -!- ais523 has quit (Ping timeout: 244 seconds). 00:22:52 -!- callforjudgement has changed nick to ais523. 00:26:14 @tell boily tldr: int-e and ais523 managed to get `! c-intercal in HackEgo working; then elliott broke ais523 by imagining donald knuth coming to this channel looking for the other kind of esoteric then int-e linked http://www-cs-faculty.stanford.edu/~uno/316.html hth 00:26:14 Consider it noted. 00:27:20 -!- shikhout has joined. 00:29:17 "Then, I drew a circle on the Smartboard, --" nice product placement 00:30:36 -!- shikhin has quit (Ping timeout: 260 seconds). 00:45:34 -!- GeekDude has joined. 01:06:31 [wiki] [[User:Darkgamma/SB3]] http://esolangs.org/w/index.php?diff=41444&oldid=41443 * Darkgamma * (+131) 01:09:37 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 01:16:08 `cat bin/print_args_or_input 01:16:09 ​#!/bin/bash \ if [ "$#" -gt 0 ]; then printf '%s\n' "$*"; else cat; fi 01:17:05 Is there a difference between printf '"%s\n" "$*" and echo "$*" ? 01:17:22 Modulo the syntax error 01:17:28 '%s\n' 01:18:10 possibly if the argument starts with -n ? 01:18:27 Ah, good point 01:21:03 echo(1P) says "It is not possible to use echo portably across all POSIX systems unless both -n (as the first argument) and escape sequences are omitted. The printf utility can be used to emulate any of the traditional behaviors of the echo utility as follows [...]" 01:21:17 So I guess that's another reason to use it 01:22:05 Also, "new applications are encouraged to use printf instead of echo." 01:23:44 -!- __oren__ has quit (Read error: Connection reset by peer). 01:24:20 Additionally, GNU echo implements -e and -n as *flags*. 01:24:34 As well as -E and --help and --version. 01:24:54 -!- oren has joined. 01:25:02 POSIX echo --version prints "--version". GNU echo --version prints a lengthy message. 01:25:10 Because screw standards. 01:28:27 `run echo --version 01:28:28 ​--version 01:28:45 `echo --version 01:28:45 echo (GNU coreutils) 8.13 \ Copyright (C) 2011 Free Software Foundation, Inc. \ License GPLv3+: GNU GPL version 3 or later . \ This is free software: you are free to change and redistribute it. \ There is NO WARRANTY, to the extent permitted by law. \ \ Written by Brian Fox and Chet Ramey. 01:29:10 Yes, also the shell's echo is not GNU echo. 01:29:13 Because logic. 01:29:20 Precisely. 01:29:25 `run echo -n --version 01:29:25 ​--version 01:29:50 I think there's at least one version of echo that uses the "using -n is implementation-defined behaviour" to define it to turn on command-line option processing 01:30:02 actually that sounds like the sort of thing the BSDs would do 01:30:26 they already made rm not delete / on the technicality that that must necessarily delete the current directory, and rm's impl-defined on the current directory 01:30:31 That sounds right. 01:30:46 (however, I think it's possible for the current directory to be outside / via chroot tricks, so maybe that justification isn't quite right) 01:32:21 * pikhq is rather amused by how utterly huge common echo implementations are. 01:32:25 -!- axelcsep has joined. 01:32:48 I mean jeeze, here's the full XSI conformant echo: http://sprunge.us/BaeS 01:33:17 pikhq: ooh, it even has error handling that actually works 01:33:25 `run echo test > /dev/full 01:33:26 bash: line 0: echo: write error: No space left on device 01:33:31 `run /bin/echo test > /dev/full 01:33:32 ​/bin/echo: write error: No space left on device 01:33:47 /dev/full is one of the better UNIXoid inventions 01:34:37 ais523: Yeah, I'm a sucker for writing my "see, it's simple, stupid!" correctly. :) 01:35:03 pikhq: did you see me post about my discovery that printf doesn't actually report errors on Linux/glibc? 01:35:20 no matter what I did to try to get it to fail (although I didn't try turning off buffering, that might help) 01:35:27 I got the syscall to fail just fine, but printf wouldn't report it 01:35:30 I did not. 01:35:36 That's perverse. 01:35:42 Makes me all the happier with musl though. 01:35:43 oh well: I tried /dev/full, closing stdout, something else too, I think 01:35:57 my theory is that printf is being split into a fill-buffer and a flush 01:36:01 and the flush isn't reporting errors 01:36:26 try flushing stdout, maybe that will fail 01:36:34 Hopefully you atl east see an error if you check ferror? 01:36:44 Pretty sure that much is at least required. 01:36:45 -!- GeekDude has joined. 01:37:25 -!- axelcsep has quit (Ping timeout: 264 seconds). 01:38:00 glibc buffers all output until some set of conditions (which i am sure are stupid) are met 01:40:55 -!- callforjudgement has joined. 01:41:39 -!- ais523 has quit (Read error: Connection reset by peer). 01:41:45 -!- callforjudgement has changed nick to ais523. 01:41:55 know that it flushes output when input fn's are called, for example. 01:42:22 int main(){printf("prompt ");sleep(2);getchar();} 01:42:36 this waits two seconds and then the prompt shows up 01:42:47 huh, this is the libuncursed_wincon optimization 01:43:10 which violates libuncursed's API, and I say as much in the docs, but I do it anyway because the Windows console is that unperformant 01:43:15 -!- glguy has quit (Quit: Part). 01:44:40 [wiki] [[GERMAN]] http://esolangs.org/w/index.php?diff=41445&oldid=41387 * Oerjan * (+34) bit proofreading 01:44:56 One of the more ridiculous ones in glibc is that it flushes all streams whenever an input operation from a stream has input. 01:45:22 Yes, all 01:46:37 i think streams connected to a terminal should be treated specially. maybe one day i'll write an alternate stdio.h implementation... 01:47:38 that will buffer file output, file input, and terminal input, but not terminal output! 01:48:00 They are: a stream connected to a terminal is not fully buffered. 01:48:07 The buffering mode is unspecified. 01:48:24 An unbuffered output mode on terminals would be 100% valid. 01:48:31 well in glibc it is buffered until \n and i hate it 01:48:37 or input... 01:48:55 Until \n or you try reading. :) 01:49:51 really, so my version could be standard compliant... huh. 01:50:38 unlike BSD rand(), they changed it to ignore the seed it's given and just be cryptosecure 01:50:46 on the basis that this is what most programs actually wanted 01:50:49 err, OpenBSD 01:50:53 (obviously) 01:51:00 Yes. The requirement is that stdin and stdout are fully buffered if and only if they are not attached to a terminal. 01:51:21 Whether it's line buffering, unbuffered, or fucking crazy buffering, is up to you. 01:51:56 [wiki] [[قلب]] http://esolangs.org/w/index.php?diff=41446&oldid=41390 * Oerjan * (+36) I'd fix the external links more if my browser could actually edit this properly... 01:52:09 great. what i think most people want is line buffering on input and unbuffered output. 01:52:24 That certainly matches common expectations. 01:52:34 my expectation is that if I put unbuffered output into a pipe 01:52:39 it stays unbuffered through the pipe 01:53:07 although I just tested "cat | cat" and it's line buffering 01:53:11 so something screwy is going on 01:53:19 Cooked mode. 01:53:22 same with "cat | cat | cat" 01:53:30 pikhq: no, I expected full buffering on the interior pipes 01:53:40 and line buffering at the input due to cooked mode, and output due to being a terminal 01:54:14 testing with "cat | cat | cat" and control-D implies the whole thing is unbuffered 01:54:50 [wiki] [[Musical notes]] M http://esolangs.org/w/index.php?diff=41447&oldid=41420 * Oerjan * (+1) /* See also */ bullets 01:54:58 Note that GNU stdio flushes *all streams* when doing an input operation. 01:55:03 also I thought it might be due to a use of splice or the like 01:55:14 but it's just using old-fashioned read/write 01:55:28 [wiki] [[Dimensions]] M http://esolangs.org/w/index.php?diff=41448&oldid=41418 * Oerjan * (+1) /* See also */ bullets 01:56:09 [wiki] [[Quantum Dimensions]] M http://esolangs.org/w/index.php?diff=41449&oldid=41419 * Oerjan * (+1) /* See also */ bullets 01:56:44 is the cat the right cat? 01:57:02 the one called by strace has to be, strace can't randomly call shell builtins 01:57:11 Shell doesn't have cat as a builtin anyways. 01:57:15 (and if it somehow did, you'd be able to see the shell initializing on the trace) 01:57:49 also, it's a weird feeling being able to write "cat | cat | cat" and not have anyone shout at me for UUoC 01:58:05 UUoUUoC 02:01:38 the undivider in Perl that b_jonas gave me worked great when i translated it to C. thanks b_jonas! 02:02:47 [wiki] [[Simplefunge]] http://esolangs.org/w/index.php?diff=41450&oldid=41433 * CrazyM4n * (+16) changed a lot of formatting 02:03:00 [wiki] [[Talk:IDTM]] M http://esolangs.org/w/index.php?diff=41451&oldid=41412 * Oerjan * (+51) unsigned 02:07:06 https://github.com/matz/streem Looks somewhat interesting 02:07:20 [wiki] [[Treehugger]] M http://esolangs.org/w/index.php?diff=41452&oldid=41436 * Oerjan * (+4) link 02:07:50 -!- bb010g has joined. 02:08:16 Not too developed yet 02:14:11 So it's FRP Ruby? 02:14:49 No idea 02:14:56 -!- ais523 has quit. 02:15:22 -!- oerjan has quit (Quit: leaving). 02:44:02 [wiki] [[User:Darkgamma/SB3]] http://esolangs.org/w/index.php?diff=41453&oldid=41444 * Darkgamma * (+84) 02:50:04 [wiki] [[User:Darkgamma/SB3]] http://esolangs.org/w/index.php?diff=41454&oldid=41453 * Darkgamma * (+83) 03:01:17 -!- axelcsep has joined. 03:09:16 -!- CrazyM4n has quit (Ping timeout: 256 seconds). 03:37:22 -!- CrazyM4n has joined. 03:40:06 If the Windows console is too unperformant and you have to violate it like that, maybe is better way that on Windows you provide the program's own terminal emulator to come with it? 03:46:45 someone should write a windows version of stdio.h which does that... 03:47:41 (maybe using directx to draw fast? hmmm...) 03:49:27 Maybe, although I was suggesting just using a custom terminal emulator without changing any parts of the C library. 03:50:08 is that possible on Windows? iirc console apps on windows are linked to some term emu library 03:51:06 -!- MoALTz_ has joined. 03:53:25 I think it just uses standard I/O. 03:53:49 You will however need to use the Windows console APIs if you want to do colors and stuff like that. 03:53:57 (ANSI codes aren't accepted in Windows.) 03:54:04 -!- MoALTz has quit (Ping timeout: 260 seconds). 03:54:22 nope, you need to call AllocConsole from the win32 api to even have a textwindow. Windows apps by default do not have stdio. 03:55:02 the windows version of stdio calls it on prgram startup 03:56:48 the problems this causes are kind of stupid: 03:56:50 http://stackoverflow.com/questions/472282/show-console-in-windows-application 03:57:31 it is hard to have a program that does either but not both. 03:58:23 but windows has graphics built into kernel- therefore best bet is to create a more flexible terminal enu yourself 03:59:33 i might try my hand at it sometime this christmas break 04:04:19 Then you can tell Windows to not display it I suppose, or something like that; I know it is possible to make a Windows program to have standard I/O, at least if it is specified as not GUI subsystem; I don't actually how how the Windows API is supposed to called to get it to work! 04:06:20 I don't know if you would still need #ifdef in your program 04:06:49 yes, but it is NOT possible to have stdio.h and not have a terminal window. 04:07:15 i have tried. you can close it immediately but it still shows for a fraction of a second. 04:07:55 although perhaps this is due to cywin 04:10:29 oh i see... if you select non-console and then write to stdout, it just writes to nowhere... 04:12:21 admittedly it's been a while since i last wrote win32 programs 04:17:53 tldr: a 'console' process on windows, where the entry point is "main" always opens a console window even if you don't want one. A 'windows' process which starts with the "wWinMain" needs to call a special syscall or else stdout goes nowhere and stdin give eof all the time. 04:19:07 but this means i could write a library that has a wWinMain that sets stuff up and then calls "main" 04:20:38 -!- shikhout has quit (Ping timeout: 265 seconds). 04:23:19 -!- kenrube has joined. 04:29:02 -!- kenrube has left. 04:30:16 -!- kenrube has joined. 04:31:45 Yes, I think it does work that way. 04:33:22 But if you do make a window that shows for a fraction of a second, you should need to check if it is starting from an existing window; in such case it shouldn't close the existing window. 04:34:08 Hello everyone! I've wrote polyglot in 7 esoteric languages not long ago: http://esopoly.blogspot.ru/ Try it :) 04:35:08 -!- supay has quit (Ping timeout: 244 seconds). 04:35:51 -!- supay has joined. 04:36:48 kenrube, oh wow 04:38:21 That's nifty 04:38:33 Taneb, is it looks interesting? 04:38:46 That looks really amazing 04:40:53 :) Anybody tried this? 04:41:13 -!- zzo38 has quit (Ping timeout: 240 seconds). 04:47:58 I ... I think I fucking hate hygenic macros. 04:49:26 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 04:50:12 why? it'd be nice if C had them. 04:50:41 Because they are the Apple of macros. 04:51:03 They're wonderful right up until the point where you actually want to do something they don't want you to do. 04:51:18 well yeah. 04:55:40 I think really the reason why Racket has eleventy billion obscure macroing libraries is less to do with it being a magical language design playground, and more with a lot of those being insanely detailed workarounds for the hygeine system. 04:55:52 -!- zzo38 has joined. 04:58:14 that could very well be true-- but the phenomenon of 'created problems' is endemic to computer science because of the frequent difference between what language designers think you need and what you think you need 05:00:49 consider for example the "Callable" pattern in Java which is a workaround for the lack of function pointers 05:01:21 (well it's more powerful than that but most uses are equivalent to qsort) 05:03:34 function pointers themselves are often a workaround for the lack of lambdas... 05:06:21 Oh god yes. There are sooo many of the 'design patterns' and so forth that basically exist because one object or another in the language isn't a first-class value. 05:07:44 -!- CrazyM4n has quit (Quit: Leaving). 05:08:37 the other ones are caused by what i call philosophical problems: the Singleton for example. I really have no idea what it gains over a global variable... 05:09:17 it is global to the scope of the class, but a global variable can actually be less global than that. 05:11:50 but people say: "global struct var bad! singleton class good!" 05:12:26 XD 05:13:13 Yes. It also reminds me of all the weird data types in Clojure, some of which at least seem to just be hacks to make functional programming do non-functional things (something I'm admittedly guilty of in Heresy in a couple of places) 05:15:46 -!- MoALTz has joined. 05:17:24 -!- MoALTz_ has quit (Ping timeout: 255 seconds). 05:18:12 -!- MoALTz_ has joined. 05:21:18 What kind of weird data types on Clojure are they? 05:21:27 -!- MoALTz has quit (Ping timeout: 255 seconds). 05:22:05 I don't know. I think I lost count past the first ten or so when I was doing the koans ... 05:23:22 atoms and boxes are two that stood out especially, because they are literally mutable data hacked onto a functional language. 05:25:00 oh yeah i had to implement boxes for an assignment once. 05:26:01 you use a lambda that constructs lambdas which return the new value 05:26:15 How do those "atoms" and "boxes" work exactly? 05:54:05 -!- glguy has joined. 06:11:53 -!- glguy has quit (Quit: Quitting). 06:13:05 -!- glguy has joined. 06:30:13 Dear *Quil brand: I am not a parent 06:32:22 huh? 06:32:59 I got NyQuil/DayQuil/ZzzQuil ads that advertised as though I was a parent 06:33:05 While watching the Colbert Report 06:33:43 ah. well maybe it detected that you're old. 06:34:39 they think that >25 = parent in many countries 06:45:38 -!- glguy has quit (Quit: Computer has gone to sleep.). 06:46:08 -!- glguy has joined. 06:46:23 -!- glguy has quit (Client Quit). 06:47:28 `ftoc 60 06:47:29 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ftoc: not found 06:48:45 `run env perl 06:48:50 `run type -a perl 06:48:51 perl is /usr/bin/perl 06:49:16 No output. 06:50:03 `run >bin/ftoc echo $'#!/usr/bin/perl\n$f=0+$ARGV[0]; printf"%.2f°F = %.2f°C",$f,($f-32)*5/9;' 06:50:05 No output. 06:50:09 `ftoc 60 06:50:09 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/ftoc: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/ftoc: cannot execute: Permission denied 06:50:25 `run chmod a+x bin/ftoc 06:50:26 No output. 06:50:28 `ftoc 60 06:50:28 60.00°F = 15.56°C 06:50:38 `ctof 60 06:50:39 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ctof: not found 06:51:29 `run >bin/ctof echo $'#!/usr/bin/perl\n$c=0+$ARGV[0]; printf"%.2f°C = %.2f°F",$c,$c*9/5+32;' && chmod a+x bin/ctof 06:51:31 No output. 06:51:37 `ctof 15.56 06:51:37 15.56°C = 60.01°F 06:51:48 `ftoc 74 06:51:48 74.00°F = 23.33°C 06:51:49 `ftoc 71 06:51:50 71.00°F = 21.67°C 06:51:54 `ftoc 68 06:51:54 68.00°F = 20.00°C 06:51:54 `ftoc 66 06:51:55 66.00°F = 18.89°C 06:58:49 `ctof 18.89 06:58:50 18.89°C = 66.00°F 06:58:55 `ctof 18.89C 06:58:56 18.89°C = 66.00°F 07:01:02 Didn't we already have that unit converter thing, the name of which I forget. 07:01:10 I dunno 07:01:13 they had bad names 07:01:27 I already had these formulas elsewhere, just installed them to HackEgo 07:03:27 i am attempting to summarize my entire networking course on one sheet of paper 07:04:01 i have everything up to the midterm on one side so far 07:09:09 an estimate of the information content of the course (via gzip) is 6KB. 07:13:43 -!- MoALTz_ has quit (Quit: Leaving). 07:14:20 i just realized i am implementing a compression algorithm: given an english sentence, use the shortest synonym for each word, rephrase it in active voice, and strip out articles. 07:15:42 i wonder if the shannon metric of text processed in that way is lower 07:18:22 sorry, higher. i wonder if the information entropy per letter is higher. 07:23:24 I didn't know before about a lossy compression for texts 07:24:39 yeah it's interesting to think about how to fit the most info on one sheet, and how that relates to compression. 07:24:57 you can just use a smaller font, but i feel that's cheating 07:24:58 oren: you messed that up. s/realized/figured/;s/implementing/making/;s/rephrase/write/ 07:25:10 lololol 07:25:14 why does it have to be English text though? 07:25:26 can't you write or draw whatever on the paper? 07:25:55 i am printing it in 7pt courier font 07:26:37 are you allowed a magnifier glass? 07:27:08 -!- Patashu has joined. 07:27:17 and do you have a 2400 dpi printer? 07:27:36 that affects lookup time though 07:28:30 i might write topic names larger in margin after printing... 07:29:36 even with a magnifying glass and other advanced equipment, there are some physical limits though. you probably can't just take all the exponentially many possible exam question sheets, precompute the answer for them, write them on the paper, and photocopy the right one. that would have the fastest lookup time, but it wouldn't fit on the sheet. 07:31:52 right. so it is a a matter of: 1. write each fact/idea down as succinctly as possible. 2. organize facts into groups for easy retrieval. 3. label each group with succinc label 07:35:52 dropped packets tell TCP sender congestion. Keeps a window size of sendable unackd. 07:35:55 bytes. lose packet-decrease window. succss-increase window. 07:37:41 hmmm... lose packet-cut window half. 07:39:37 more summary make sound Orwell no? 07:51:47 -!- kenrube has quit (Quit: Page closed). 07:57:16 -!- Sgeo has quit (Read error: Connection reset by peer). 07:57:34 -!- Sgeo has joined. 08:00:57 -!- zzo38 has quit (Ping timeout: 260 seconds). 08:05:14 -!- J_Arcane_ has joined. 08:06:12 -!- Tod-Autojoined has joined. 08:13:45 -!- axelcsep_ has joined. 08:15:40 -!- axelcsep has quit (*.net *.split). 08:15:42 -!- J_Arcane has quit (*.net *.split). 08:15:43 -!- TodPunk has quit (*.net *.split). 08:54:02 -!- dts|pokeball has left. 08:58:04 -!- dts|pokeball has joined. 09:01:55 -!- S1 has joined. 09:02:05 -!- bb010g has quit (Quit: Connection closed for inactivity). 09:03:48 -!- dts_ has joined. 09:04:01 -!- dts|pokeball has quit (Quit: Leaving). 09:04:01 -!- dts_ has quit (Remote host closed the connection). 09:04:20 -!- dts|pokeball has joined. 09:05:40 -!- dts_ has joined. 09:05:49 -!- dts|pokeball has quit (Remote host closed the connection). 09:05:49 -!- dts_ has quit (Remote host closed the connection). 09:06:14 -!- dts|pokeball has joined. 09:06:39 -!- mr45_ has joined. 09:36:48 -!- b_jonas has quit (Ping timeout: 250 seconds). 09:37:24 -!- b_jonas has joined. 09:52:24 ok, today i learned something new. 09:53:23 apparently by pressing F9 i can type fullwidth roman letters. 09:54:09 Is it that one program? 09:54:19 it is my IME 09:54:27 starts with a 09:54:35 anthy? 09:54:49 Some Japanese input method, at any rate. 09:54:57 yeh, that. 09:55:06 I had that set up once. 09:55:23 Recently I tried to type fullwidth text and couldn't figure out how to do it. 09:55:27 Now I understand why. 09:56:05 半角カタカナはF8です。 09:56:38 apparently. i have no idea what use half-width katakana are tho 09:57:18 other than for the Matrix falling code... 10:00:11 imo xterm -e "echo -ne '\e#3whoa\n\e#4whoa\n'; read" 10:02:20 cool! it has big letters? 10:03:32 ummm... ok so... \e#3 makes the top half and \e#4 makes the bottom... 10:06:50 wowww Xterm supports a lot of sequences... 10:13:49 -!- S1 has quit (Quit: S1). 10:28:00 -!- ocharles_ has quit (Changing host). 10:28:00 -!- ocharles_ has joined. 10:28:03 -!- ocharles_ has changed nick to ocharles. 11:10:15 aww, the formatting is applied to a whole line though. echo -e '\e#3w\n\e#4w\e#3t\n\e#4 t\e#3f\n\e#4 f' did not quite do what I wanted. 11:14:04 but some fun can be had anyway. http://int-e.eu/~bf3/tmp/xwtf.png 11:15:20 but it doesn't work with scalable fonts. 11:16:13 -!- coppro has quit (Ping timeout: 245 seconds). 11:16:53 -!- coppro has joined. 11:30:58 Heh. pangoterm's implementation seems to work with scalable fonts: http://xen.firefly.nu/up/2014-12-12_122933.png 11:32:26 what about '\e#3w\n\e#4w\e#3t\n\e#4 t\e#3f\n\e#4 f' ? 11:32:50 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 11:34:25 That failed spectactularly. It seems to assume proper use of the escape sequences 11:34:47 spectacularly* 11:37:42 http://xen.firefly.nu/up/2014-12-12_123558.png seems it cuts the \e#3 characters in half but leaves the \e#4 characters in full. 11:38:52 cute, though that could still make the wtf with one line offset per character work :) 11:40:47 I think it puts an entire line in either \e#3 or \e#4 mode 11:41:21 ok. makes sense, even though it is a wasted opportunity to have some fun :) 11:42:40 and actually, what about echo -e '\n\e#4w\n\e#4 t\n\e#4 f'? If it renders the lower halves with the upper halfs included, that might work... 11:44:48 hmm 11:45:03 I'm thinking of misusing stuff 11:45:51 int-e: heh, indeed it does. http://xen.firefly.nu/up/2014-12-12_124444.png 11:46:30 pretty! 11:48:54 Also cute: http://xen.firefly.nu/up/2014-12-12_124746.png 11:49:05 I bet oren would like that 11:56:31 hmm, pangoterm 11:56:35 does that get bidi right and so on? 11:56:38 well, as right as you can in a terminal 11:57:46 It seemed to behave reasonably well last I tried selecting something in it 11:57:54 something bidirectional, that is 11:59:36 Ah.. the UTF-8-demo.txt file doesn't seem to have any right-to-left text to test with 12:04:40 It seems to render correctly as far as I can tell, and selection seems to select characters in the right order, although they jump around when I change the selection so that all the selected characters fit in a rectangle.. which is a bit odd 12:07:07 It seems to ignore LRO and RLO, though 12:07:26 -!- Patashu has quit (Ping timeout: 258 seconds). 12:21:54 -!- sebbu has quit (Ping timeout: 244 seconds). 12:27:05 -!- sebbu has joined. 12:27:05 -!- sebbu has quit (Changing host). 12:27:05 -!- sebbu has joined. 12:37:08 [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41455&oldid=41441 * TomPN * (+115) /* Entropy */ 12:54:17 Firefly: that is cool. i was discussing writing a 'terminal emu' for windows earlier; e.g. you link with it and it hijacks the stdio to print stuff on a window instead of a real windows console. maybe it should support that stuff too... 12:55:23 a terminal emu is an emu that's going to die 12:55:44 btw, how does that differ from just using cygterm or such 12:55:45 Poor emu 12:55:57 mintty or whatever 12:56:04 you can run "dir" in one of those 12:56:08 full vt terminals 12:56:17 of course "graphical" stuff like EDIT will never work 12:56:38 https://code.google.com/p/mintty/ 12:56:41 the idea is you can just write as if you are on linux, with all ansi escapes, and then link with a library 12:56:45 basde on putty 12:56:48 *based 12:57:05 well, that's like a one line batch script or whatever that starts mintty running your program, but ok 12:57:26 (programs do not have to use cygwin to run under mintty and it's a native windows program) 13:00:49 well good... writing for win32 is way easier than writing for X. you always need a toolkit for X. 13:02:09 back in the days of XP i wrote a lot of C++ rpograms with visual studio 13:06:08 the problem with these toolkits that go on top of X is that there are many, not one. 13:10:19 -!- oerjan has joined. 13:15:10 oh! my networks exam is in room 404! 13:18:14 sounds like a bad omen if you ask me 13:25:44 -!- oren has quit (Quit: gtg exam). 13:25:58 402 could be more interesting. 13:27:55 -!- GeekDude has joined. 14:04:31 I might finally have some time to continue working on Burlesque this weekend :) 14:05:05 either that... or start a new project.... 14:06:51 "Whoa, I can nest footnotes!" ok randall 14:11:31 -!- shikhin has joined. 14:12:43 -!- Decensum|Zzz has joined. 14:14:24 oerjan: as in http://www.xkcd.com/1208/ ? 14:15:59 no, as in http://what-if.xkcd.com/121/ 14:23:29 -!- mr45_ has left. 14:54:16 -!- oren has joined. 14:54:22 easiest exam ever 14:54:56 my high school exams were way tougher 14:57:03 or maybe i'm just way smarter now... 14:58:16 -!- atslash has quit (Quit: This computer has gone to sleep). 14:58:22 -!- kenrube has joined. 15:02:07 -!- kenrube has left. 15:13:44 http://snag.gy/d3rmm.jpg 15:14:03 i have time to mess around now 15:16:46 -!- `^_^v has joined. 15:30:14 -!- atslash has joined. 15:30:49 -!- Koen___ has joined. 15:31:13 hello 15:32:19 Congress passed a secret law/ammendment that allows the the exectutive branch of all that secrecy stuff and police to have access to all your information 15:32:32 Also Gnight 15:35:27 thanks 15:37:17 really? well i don't live in america so wvr. 15:39:00 so.. 15:39:04 they can open your brain? 15:39:09 I mean 15:39:24 this technically means that they can force you to some invasive surgery as well. 15:40:20 they could already do that... by implanting some lead using a powder-actuated surgery tool. 15:41:14 and they won't be charged, especially if you have brown skin 15:41:56 Whatever 15:42:04 I can capture a plain with a plastic knife 15:42:08 *plane 15:42:18 :) 15:42:40 with sufficiently hard plastic 15:42:54 or a ceramic knife 15:43:21 ceramic knife? like in kaze no tani no nausicaa? 15:43:35 You can buy them in every kitchen store 15:43:39 so they are not hard to get. 15:43:56 Off topic 15:44:11 It also affects non us citizens 15:44:16 Btw 15:44:16 congress outlawed dogs 15:44:22 all dogs plese evacuate immediately 15:44:44 any sufficiently advanced terrorist can easily take down a plane. 15:44:57 So you kids have fun im going to the moon 15:45:04 sufficiently advanced terrorists are indistingusihabel from macrgic 15:45:10 *marmite 15:45:25 Marmite is terrible 15:45:36 and so is terrorism. 15:45:43 Meh 15:45:53 also why the hell would you want to take down a plane if they are so much easier targets anyway 15:45:58 -!- atslash has quit (Quit: This computer has gone to sleep). 15:46:00 *there are so much 15:46:28 did you know i actually like SPAM a lot. like the meat? 15:47:04 thanks 15:47:06 it is like bacon in a can that doesn't spoil 15:47:09 It was just recently discovered that people could enter nuclear facilities without having enough security credentials to be actually allowed to do so 15:47:13 Only on toasr 15:47:13 you can just walk in :) 15:47:25 do you know about jpegs? they keep me warm at night 15:47:28 Toast* 15:47:35 elliott: use bpg. kthxbye 15:47:46 I'm the vice president, mroman, and you can't stop me 15:48:13 Say that to my gun 15:48:15 I'm not having 15:48:17 but could have 15:48:31 I'm the vice president. 15:48:42 -!- ChanServ has set channel mode: +o elliott. 15:48:43 Well 15:48:44 I have been promoted to president 15:48:45 Do you not notice this effects you too 15:48:50 Not the vice president of the ESOSC 15:48:53 mroman: you can't have guns in Canada so easily. that is one of many reasons why Canada is better than aAmurica 15:48:54 So what do I care ;) 15:49:04 Decensum|Zzz: Being the president affects everyone. 15:49:07 President king madame 15:49:26 Laugh like the queen of France 15:49:27 -!- elliott has set channel mode: -o elliott. 15:49:30 I was fired 15:49:41 oren: Having easy access to guns doesn't really cause more gun related crimes? 15:50:02 Yes it does. there are no guns in Japan and they have no shootings 15:50:06 if #esoteric has a gun control debate I'm going to destroy freenode 15:50:11 just a heads up 15:50:17 alright :) 15:50:22 sorry, sorry. 15:50:32 !blsq 127 37B! 15:50:32 | "3g" 15:50:35 let's talk about text editors instead 15:50:39 yes 15:50:44 there are no 2D text editors! 15:50:46 for 2D languages 15:50:47 mcedit is the best 15:50:59 everyone should use nedit, pine-using scum pls leave 15:51:00 mroman yes there are 15:51:03 elvis allowed on weekends 15:51:03 !blsq 36 37B! 15:51:03 | That line gave me an error 15:51:13 er I meant pico 15:51:23 hmm 15:51:34 i used to use pico then i took an arrow to the knee 15:51:49 no 15:51:50 int-e: base works in misteyous ways 15:51:53 *misteryous 15:51:57 hm no 15:51:57 oren: which one did you find more painful? 15:51:59 misterious? 15:52:12 mysterious 15:52:13 there we go 15:52:21 I blame it on my meds 15:52:27 you used to make "took an arrow to the knee" jokes, but then I actually shot your knee with an arrow and you collapsed in pain and swore to never do so again 15:52:33 - my fanfiction 15:52:37 mroman : Crazym4n made a 2D IDE for fungeoids 15:53:04 Does it run on my android? 15:53:21 i dunno, can python run on android? 15:53:33 I wanna do some Befunge in the train on my smartphone if I'm bored. 15:54:00 and I have an extremely low threshold for being bored. 15:54:53 this is the editor i use: http://snag.gy/bYC1F.jpg 15:55:58 This font o_O 15:56:02 hahaha i found a cursive monospace font and it is hilarious 15:56:09 nice heart &s 15:56:15 oh 15:56:16 I guess they're ||s 15:56:25 btw, have you heard of switch statements 15:56:25 they are actually the or operator 15:56:40 do you have a macro ei for else if? 15:56:42 mr. "c is like assembly, I code to the machine". look at all those imaginary extra branches! 15:57:36 hey you already corrected me on that i get it. i am currently refactoring that code to make it more compliant btw 15:58:19 yes ei is else if, wh is while, and i have a few others 15:58:20 if it doesn't compile with --std=c89 -Wall --pedantic I won't even look at it . 15:58:28 seriously 15:58:33 what do you have against declarations in the middle of blocks 15:58:57 like where? 15:59:02 it's making coding too easy. 15:59:03 oh i see c89 15:59:27 (I'm just trolling you) 15:59:31 I was actually sincerely wondering why you were using else if changes 15:59:33 (just a heads up. I'm bored) 15:59:39 I guess break is kinda annoying 15:59:42 *chains 15:59:46 eaxtly 16:00:07 I however really do use -Wall --pedantic 16:00:11 i have now defined B as break 16:00:35 just not with c89 16:00:39 wait better idea: BC = break;case 16:00:46 don't worry just define #define ca(x, ...) case x: { __VA_ARGS__; break; } 16:01:09 #define p printf 16:01:16 elliott yes good idea 16:01:18 #define j int argc, char **argv 16:01:26 #define ff int ma 16:01:28 #define q in( 16:01:31 #define BEGIN { 16:01:33 #define END } 16:01:35 ok that is justsilly now.... 16:01:41 #define dog ff##q j) 16:01:42 dog { ... } 16:01:45 hope this helps 16:02:01 #define TInt int 16:02:07 #define PTR * 16:02:10 be aware that congress has in fact outlawed dogs so you could go to jail for this 16:02:11 #define int int_32 16:02:15 ah, C... 16:02:16 #define TChar char 16:02:44 wait i think you can't #define things that are keywords can you 16:02:45 TINT main(TInt argc, TCharPTRPTR argv) BEGIN puts("hi"); END 16:03:08 TInt 16:03:10 sorry. typo. 16:03:16 or is that just in C++? 16:03:22 it's UB to, yes 16:03:27 http://sprunge.us/MaFV?c 16:03:29 it "works in gcc", though! 16:03:50 int-e: beautiful 16:04:08 lol hopefully the only thing i will be using that is only gcc will be the weak symbol attribute... 16:04:08 `! c http://sprunge.us/MaFV 16:04:09 No output. 16:04:18 `fetch http://sprunge.us/MaFV 16:04:20 http://codepad.org/qwmAhtCR 16:04:21 2014-12-12 16:03:21 URL:http://sprunge.us/MaFV [1341] -> "MaFV" [1] 16:04:21 bleh 16:04:23 `run gcc -x c MaFV && ./a.out 16:04:24 MaFV: In function ‘s’: \ MaFV:23:5: error: ‘for’ loop initial declarations are only allowed in C99 mode \ MaFV:23:5: note: use option -std=c99 or -std=gnu99 to compile your code \ MaFV:23:5: error: ‘for’ loop initial declarations are only allowed in C99 mode \ MaFV:23:5: error: ‘for’ loop initial declarations are only allowed in C99 16:04:28 `run gcc -std=c99 -x c MaFV && ./a.out 16:04:31 880 16:04:38 ok 16:04:43 I *think* it's counting magic squares, up to symmetry. 16:05:12 http://golf.shinh.org/p.rb?Collatz+Parity I didn't realise collatz was so pretty 16:05:51 (I wrote it on a bus ride.) 16:06:26 how do you write code on a phablet? 16:06:37 use a laptop. 16:06:41 ;) 16:06:56 ohhh... good idea 16:07:10 with a phencil. 16:07:30 and a ephaser? 16:08:57 I think you lost trek of the subject there. 16:09:22 -!- drdanmaku has joined. 16:10:02 what about geo-esolangs . 16:10:24 where writing programs requires you to go outside and do stuff 16:10:33 anyway the font i am using is this: http://sana.s12.xrea.com/2_sanafonobi.html 16:11:22 We need a pharser of course 16:11:32 and an interphreter. 16:13:52 -!- oerjan has quit (Quit: phat). 16:14:46 ok 16:14:48 one gone 16:14:53 92 to go 16:16:20 mroman: you want the channel to yourself? 16:16:29 mroman: maybe you'll have better luck in another channel... 16:16:49 do I hear someone requiring my assistance 16:17:11 -!- oren has quit (Quit: Lunch time!!!). 16:17:51 int-e: nope 16:18:01 elliott: I'm just trying to be realistic. 16:18:48 and I'm wondering who the one entitity is that is allowed to stay. 16:19:06 fungot can stay 16:19:06 mroman: i put a few example programs there too now: what do you think i should apply for a part-time disability in the near future, sorry. i have a copy of spss using 16:19:35 -!- int-e has set topic: fungot supremacy | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/. 16:22:15 you need a phaser? or a universal translator? 16:23:43 fungot: that's intriguing 16:23:43 int-e: or will i go to bed or something equally weird, than do something about that a few times 16:24:00 fungot: mindboggling 16:24:00 int-e: ( here are fnord ith it. that's the best entry so far. a lot of ppl were sleeping, when it was 16:24:16 fungot: but that's going to far. 16:24:17 int-e: but why not? 16:28:23 elliott: in the negative numbers, the collatz sequence has a couple of more interesting cycles instead of (conjecturally) 1-2-4. 16:28:32 err, 1-4-2. 16:29:12 -!- drdanmaku has quit (Quit: .). 16:30:00 > let f x | odd x = 3*x+1; f x = x `div` 2; q x = take 10 $ iterate f x in (q (-1),q (-5)) 16:30:01 ([-1,-2,-1,-2,-1,-2,-1,-2,-1,-2],[-5,-14,-7,-20,-10,-5,-14,-7,-20,-10]) 16:31:15 cool 16:31:51 > let f x | odd x = 3*x+1; f x = x `div` 2 in map abs $ iterate f (-50) -- this is a cycle of length 18... 16:31:53 [50,25,74,37,110,55,164,82,41,122,61,182,91,272,136,68,34,17,50,25,74,37,110... 16:32:21 instead of abs, just use 3x-1 ?! 16:32:34 tromp_: I did that in the golf version :P 16:35:30 -!- Sprocklem has joined. 16:35:37 (and I'm a bit annoyed that dc's division rounds towards 0) 16:36:59 Python, interestingly, gets it right. 16:50:45 -!- glguy has joined. 16:58:17 -!- glguy has quit (Quit: Part). 16:58:47 -!- glguy has joined. 17:04:12 -!- oren has joined. 17:08:22 Is it a weird idea to give a program a format string that results in something I can just read in Haskell? 17:09:32 no why would that be weird? 17:09:44 Isn't that just the same idea that underlies JSON? 17:14:39 programs interoperating? sounds a bit communist 17:16:10 elliott: let's call it outsourcing 17:33:51 ㍿ is a ridiculous unicode character. 17:34:38 why would you write public-traded corporation in a square? 17:35:49 and if you did, why not, y'know, just use a format to do so? 17:37:26 -!- axelcsep_ has quit (Ping timeout: 264 seconds). 17:44:48 Specifically, giving the syntax of a haskell record to time’s -f option. 17:45:28 sounds good. why would that be a problem? 17:45:32 I think that it's intended that you'll put the format you need in the -f field 17:47:09 Yeah, I just never heard of the way “use a format string resulting in what you already have a parser for” before. 17:48:14 Ironically, the universal format string standard is the one used in printf, but you can't actually use printf to parse the format string 17:49:18 huh? you mean produce a struct based on a format string? 17:49:48 `` printf "%'d" 1234567890 17:49:48 1,234,567,890 17:55:17 -!- Koen___ has quit (Quit: The struct held his beloved integer in his strong, protecting arms, his eyes like sapphire orbs staring into her own. "W-will you... Will you union me?"). 17:56:06 `` LANG=ar_SA.utf8 printf "%'Id" 1234567890 17:56:07 bash: line 0: printf: `I': invalid format character 17:56:41 That’s not a format character, that’s a flag. 17:57:04 `which cc 17:57:05 ​/hackenv/bin/cc 17:57:24 `file /hackenv/bin/cc 17:57:25 ​/hackenv/bin/cc: POSIX shell script, ASCII text executable 17:57:54 `! c int main(){printf("%Id",1234567890);} 17:57:55 1234567890 17:58:11 `! c int main(){printf("%'d",1234567890);} 17:58:13 1234567890 17:59:09 `` LANG=ar_SA.utf8 cc 'int main() {printf("%'Id", 1234567890);}' 17:59:09 bash: -c: line 0: unexpected EOF while looking for matching `"' \ bash: -c: line 1: syntax error: unexpected end of file 17:59:55 `` LANG=ar_SA.utf8 cc 'int main() {printf("%'\''Id", 1234567890);}' 17:59:56 ​/tmp/a.c: In function ‘main’: \ /tmp/a.c:1:13: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default] \ 1234567890 18:00:14 the %'d isn't a valid format string in C 18:01:07 `` LANG=ar_Sa.utf8 \! 'c int main() {printf("%'\''Id", 1234567890);}' 18:01:08 1234567890 18:01:17 >.> 18:01:19 oren: 18:01:20 `'' Decimal conversions (d, u, or i) or the integral portion of a floating point conversion (f or F) should be grouped and separated by thousands 18:01:23 using the non-monetary separator returned by localeconv(3). 18:01:50 in what version of C? 18:01:51 (BSD manpage. I don't know whether C specifies it, admittedly. tons of printf stuff is non-standard though :/) 18:01:56 `` LANG=ar_SA.utf8 \! 'c int main() {printf("%'\''Id", 1234567890);}' 18:01:57 1234567890 18:02:02 the real question is whether POSIX specifies it 18:02:21 `! c int main(){printf("% -d",1234);} 18:02:22 ​ 1234 18:02:23 http://pubs.opengroup.org/onlinepubs/9699919799/functions/fprintf.html it does 18:02:57 SUSv2 18:03:11 Is what my manpage says specifies the ' flag. 18:04:24 `! c int main(){setlocale(LC_ALL,"en_US"); printf("%'d",123456789);} 18:04:25 Does not compile. 18:05:04 `! c #include "locale.h"\nint main(){setlocale(LC_ALL,"en_US"); printf("%'d",123456789);} 18:05:05 No output. 18:05:20 hmmm 18:06:24 `! c #include "locale.h"\nint main(){setlocale(LC_ALL,"en_US.UTF-8"); printf("%'d",123456789);} 18:06:25 No output. 18:06:39 `! c #include "locale.h"\nint main(){setlocale(LC_ALL,"en_US"); printf("%'d\\n",123456789);} 18:06:40 No output. 18:09:00 `! c #include \nint main(){setlocale(LC_ALL,"en"); printf("%'d",123456789);} 18:09:01 No output. 18:09:18 `! c #include "locale.h"\nint main(){setlocale(LC_ALL,"C"); printf("%'d",123456789);} 18:09:20 No output. 18:09:50 `locale -a 18:09:51 aa_DJ \ aa_DJ.utf8 \ aa_ER \ aa_ER@saaho \ aa_ET \ af_ZA \ af_ZA.utf8 \ am_ET \ an_ES \ an_ES.utf8 \ ar_AE \ ar_AE.utf8 \ ar_BH \ ar_BH.utf8 \ ar_DZ \ ar_DZ.utf8 \ ar_EG \ ar_EG.utf8 \ ar_IN \ ar_IQ \ ar_IQ.utf8 \ ar_JO \ ar_JO.utf8 \ ar_KW \ ar_KW.utf8 \ ar_LB \ ar_LB.utf8 \ ar_LY \ ar_LY.utf8 \ ar_MA \ ar_MA.utf8 \ ar_OM \ ar_OM.utf8 \ ar_QA \ ar 18:10:33 On OS X you get the thousands separators with: setlocale(LC_ALL, ""); 18:11:04 -!- Decensum|Zzz has quit (Quit: Connection closed for inactivity). 18:11:04 `! c #include "locale.h"\nint main(){setlocale(LC_ALL,""); printf("%'d",123456789);} 18:11:06 No output. 18:11:20 i dunno what's wrong... 18:11:40 `! c int main(){printf("Hello?");} 18:11:41 Hello? 18:11:58 `! c #include "stdio.h"\nint main(){printf("%'d",123456789);} 18:12:00 No output. 18:12:09 goddamn it 18:12:10 `! c #include \n#include \nint main(){setlocale(LC_ALL,""); printf("%'d",123456789);} 18:12:11 Does not compile. 18:13:07 `! c #include "stdio.h"\nint main(){printf("hello",123456789);} 18:13:08 No output. 18:13:41 `` /lib/x86_64-linux-gnu/libc.so.6 | grep version 18:13:41 GNU C Library (Debian EGLIBC 2.13-38) stable release version 2.13, by Roland McGrath et al. \ Compiled by GNU CC version 4.4.7. \ crypt add-on version 2.1 by Michael Glad and others 18:13:50 EGLIBC! 18:23:40 -!- MoALTz has joined. 18:35:38 how did that trick go? 18:36:13 -!- shikhout has joined. 18:36:43 -!- shikhin has quit (Disconnected by services). 18:36:48 -!- shikhout has changed nick to shikhin. 18:39:42 -!- Sprocklem has quit (Ping timeout: 272 seconds). 18:50:19 -!- oren has quit (Ping timeout: 258 seconds). 18:52:12 trick? 18:53:33 * int-e shows his empty sleeves, pockets and hat. 18:56:58 -!- oren has joined. 18:58:11 -!- myname has quit (Ping timeout: 244 seconds). 18:58:52 -!- myname has joined. 19:00:12 -!- zzo38 has joined. 19:23:26 -!- shikhin has quit (Read error: Connection reset by peer). 19:24:56 -!- shikhin has joined. 19:53:32 -!- drdanmaku has joined. 20:03:01 -!- MoALTz_ has joined. 20:05:35 -!- MoALTz has quit (Ping timeout: 250 seconds). 20:11:39 [wiki] [[User:Darkgamma/SB3]] http://esolangs.org/w/index.php?diff=41456&oldid=41454 * Darkgamma * (+76) 20:12:23 -!- GeekDude has quit (Ping timeout: 244 seconds). 20:15:52 -!- GeekDude has joined. 20:27:43 -!- shikhin has changed nick to shikhi. 20:30:17 -!- axelcsep has joined. 20:30:23 -!- shikhi has changed nick to shikhin. 20:30:37 [wiki] [[Tag]] http://esolangs.org/w/index.php?diff=41457&oldid=41338 * BCompton * (+309) /* Sample programs */ Factorial 20:35:17 Hehe, I love today's Gunnerkrigg Court :) 20:45:40 happiness all around 20:46:05 cue for Coyote to crash the party (but that seems unlikely) 20:54:32 -!- mihow has joined. 21:01:18 -!- Patashu has joined. 21:21:42 hmmm... poll for the sake of interest: how many full-scale programs do you use every day, which you wrote yourself? my answer: 3. 21:22:12 I'm not sure how to phrase this question but like, are there any languages which let you define specific operations on a given type. Say for example I had a day type. I could say that it is a simple range type with values of 1-365, with only modular arithmetic defined. But I'd also need to specify that every fourth "rollover" the range would be 366 21:22:58 C++, Ruby, and any other language with "operator overloading". 21:23:49 oren: hmm. . .yeah that makes sense I guess I was looking at it from the wrong direction 21:24:17 in C++ the + operator can call arbitrary code. 21:24:46 i guess it takes a lot more code to achieve this than it should tho 21:25:09 I guess the better way to do it would be to have the "day" type be a struct/record with two fields, one for the day number (which can be 1-366) and one for the leap year count, and then overload the + operator to check the year count field 21:25:46 and then you overload operator cast int or some such to give the day 21:25:58 yeah 21:26:09 funny how writing something in IRC can make it make sense all of a sudden 21:26:58 i have a picture of albert einstein on my wall which i explain my ideas to. it works in a similar way 21:27:11 I'm trying to design a little embeddable DSL specifically for dealing with calendrical/time calculations, and I'm trying to think of to best implement the typing system 21:28:37 remember to make separate types for "day of year" and "difference in days". 21:28:46 -!- nortti has changed nick to lawspeaker. 21:28:47 and so on for each other unit oftime 21:29:12 oren: yeah, that's a good idea, I was thinking along those lines myself 21:30:00 especially with months it matters a lot 21:30:06 yeah 21:30:39 -!- atslash has joined. 21:32:00 oren: I was thinking that converting between calendars is somewhat orthogonal (albeit much more complicated) to converting between bases. So I would use a julian day like system as a "pivot" in the same way that computers natively represent numbers in binary 21:33:15 in my spreadsheet program i used "days since/to" Jan 1 2000 as my native format 21:34:16 but i only implemented conversion to gregorian calendar 21:34:33 (proleptic gregorian that is) 21:35:41 -!- lawspeaker has changed nick to nortti. 21:37:52 http://pastebin.com/PtR5pg79 here is my horrible not-invented-here approach to dates and times 21:39:36 oren: interesting 21:40:29 note that there are 146097 days in every 400 year leap year cycle. 21:42:21 this allows 400 years to be the maximum number of iterations of the loops which count days 21:42:46 because you can do 400 years by simple multiplication 21:44:06 so my calendar code accepts years like 3000000 without stalling 21:46:55 -!- shikhin has changed nick to lawexec. 21:47:49 -!- lawexec has changed nick to shikhin. 21:50:14 obviously a 400 entry lookup table would be better than this code, but whatever... 21:50:14 -!- glguy_ has joined. 21:51:03 hi 21:53:02 -!- zzo38 has quit (Ping timeout: 264 seconds). 21:58:50 oren: interesting 21:59:02 yeah I knew there were 400 years in the leap year cycle 21:59:24 the year 2000 is great isn't it? convenient starting point for calendars, and the beginning of a new leap cycle! 22:02:13 mhm. other calendars would need other reference points, but if you calclulate the difference between 2000 and that reference point beforehand, you can add the difference at the start of the conversion. 22:02:29 yeah 22:02:36 e.g. what is the julian day number for Jan 1 2000 22:02:48 in my system, it would be 0 22:02:53 which feels weird 22:03:05 speaking of "year zero" makes me think of Pol Pol/Khmer Rouge 22:03:12 *Pol Pot 22:03:44 or a zero day exploit 22:04:08 that too 22:10:04 you could have a year zero problem 22:10:15 note that in my code, day zero is 31 Dec 1999 22:11:05 diginet: did you know that the number of days in 400 years is conveniently divisible by 7? 22:11:45 int-e: I did not! but that's even cooler! 22:11:52 i kenw that. but you can just find out the day of week for day 0 and take the mod 7 for your day number 22:11:54 `` factor $((365*400 + 97)) 22:11:54 146097: 3 3 3 7 773 22:12:08 oren: isn' that the domesday algorithm? 22:12:34 i dunno, as i said my code is "not-invented here" 22:12:57 i just extrapolated from my limited knowledge of the gregorian calendar 22:13:25 another neat trick for day of week calculation is to put the start of the year on march 1st. 22:13:42 that is what it was in rome iirc 22:14:34 the point being that the leap day will be inserted at the end of the year (which really makes a lot more sense than putting it in the middle.) 22:14:49 oren: I believe so too. 22:17:38 oh right, it makes sense too, that is why december (decem = 10) is now the 12th month. 22:18:36 same for september, october, november 22:20:25 oren: yes the roman new year was march 22:20:46 strangely the pre-julian calendar just didn't have months for a large part of the year 22:22:37 -!- oren has quit (Quit: eating dinner). 22:29:25 -!- `^_^v has quit (Ping timeout: 260 seconds). 22:34:28 -!- axelcsep has quit (Ping timeout: 244 seconds). 22:37:05 -!- glguy_ has quit (Quit: Computer has gone to sleep.). 22:41:23 -!- CrazyM4n has joined. 22:41:35 -!- GeekDude has quit (Ping timeout: 250 seconds). 22:49:33 -!- boily has joined. 22:50:18 -!- atehwa has joined. 22:51:06 hellørjan. 22:51:27 @massages-loud 22:51:27 oerjan said 22h 25m 11s ago: tldr: int-e and ais523 managed to get `! c-intercal in HackEgo working; then elliott broke ais523 by imagining donald knuth coming to this channel looking for the other kind of esoteric then int-e linked http://www-cs-faculty.stanford.edu/~uno/316.html hth 22:51:58 @tell oerjan hellørjan tdh tyvm hth 22:51:58 Consider it noted. 22:52:26 -!- atslash has quit (Ping timeout: 264 seconds). 22:52:29 boily: oerjan complained that you used 'vsdr' without explanation 22:52:49 boily: my guess was "very short; didn't read", was I close? 22:53:14 int-ello. it indeed was that. 22:53:52 @tell oerjan your evil twin guessed right about the vsdr htah 22:53:53 Consider it noted. 22:54:00 -!- oerjan has joined. 22:54:29 -!- Hasnot has joined. 22:55:06 @messages- 22:55:06 boily said 3m 7s ago: hellørjan tdh tyvm hth 22:55:06 boily said 1m 13s ago: your evil twin guessed right about the vsdr htah 22:55:11 yay 22:55:58 g'daily, i am not sure helloing someone not present is comme il faut hth 22:56:20 en effet. I wonder what the proper protocol in those cases is... 22:57:06 also that tldh was obviously from my _previous_ logreading. 22:57:11 @tell oerjan tell boily hello when you see him, please 22:57:11 Consider it noted. 22:58:10 @messages-clear that's more like comme il faux-pas 22:58:10 Unknown command, try @list 22:58:23 @clear-messages that's more like comme il faux-pas 22:58:23 Messages cleared. 22:58:31 i sense an inconsistency in naming here 22:58:41 bon point. 22:58:46 I sense a complaint. 22:58:51 although i guess without it, @messages- wouldn't work 22:59:03 so i retract it hth 22:59:54 @metar ENVA 22:59:54 ENVA 122250Z VRB02KT CAVOK M02/M07 Q0979 RMK WIND 670FT 16013KT 22:59:59 @metar CYUL 22:59:59 CYUL 122200Z 24011KT 6SM -SN FEW009 OVC024 M04/M05 A2995 RMK SF1SC7 SLP143 23:00:05 THIS EXPLAINS MY COLD FEET 23:00:16 OKAY 23:00:42 -!- glguy_ has joined. 23:03:47 oerjan: somehow that exchange (about retracting complaints) reminded me of http://www.gocomics.com/calvinandhobbes/1988/06/02 ... (arc starts at http://www.gocomics.com/calvinandhobbes/1988/05/30 ) 23:04:11 @metar LOWI 23:04:11 LOWI 122250Z AUTO 26007KT 220V340 9999 NCD M00/M03 Q1013 23:05:14 -!- glguy_ has quit (Ping timeout: 258 seconds). 23:05:57 int-e: i wish to state for the record that i have no reason to believe there is a bee on your shirt hth 23:08:24 `unidecode ㍿ 23:08:25 ​[U+337F SQUARE CORPORATION] 23:09:12 aww. "Your search - ㍿ - did not match any documents. " 23:10:09 aww. i was hoping it was something like TM is used in english 23:10:15 old name: SQUARED FOUR IDEOGRAPHS CORPORATION 23:10:31 more like Inc. 23:10:46 well obviously, but Inc. isn't turned into a character... 23:11:08 We could try reserving an unicode point for that purpose 23:11:20 a corporation of squares 23:11:32 four squares... oh I dingress 23:11:59 int-e: is that a pun 23:12:11 oerjan: "no." 23:12:23 * oerjan swats int-e -----### 23:12:34 sorry, i don't have a baseball bat 23:12:36 thanks, that got rid of the bee. I think. 23:13:07 good, good 23:13:38 meh. GG is late. 23:14:15 (not late late, they still have a couple of hours left... but later than usual.) 23:14:16 the foglios have not learned the ancient wisdom of the buffer 23:16:42 i suppose dmm has spoiled me 23:17:33 although he seems to have slipped up a bit lately 23:18:19 Schlock Mercenary, Freefall, Sinfest, there's really a lot of web comics that just update on time. 23:19:00 (of course there are even more that don't; some don't even pretend to have a regular schedule...) 23:19:14 -!- Hasnot1 has joined. 23:19:19 with freefall we have the upside that we get to hear about strange work accidents. 23:19:37 hm was it a nuclear plant he worked at 23:19:54 maybe freefall is secretly written by homer simpson 23:19:59 oh, new dresden codak today. 23:20:30 (that's one of those that doesn't have a schedule) 23:20:46 -!- Hasnot has quit (Ping timeout: 245 seconds). 23:20:46 i suppose it may be hard to resist the urge to let people see your new creation immediately 23:21:39 the ones i read with no schedule to speak of are oots and yafgc 23:22:45 well i suppose lightning made of owls has no schedule because it gets so few contributions. 23:23:00 -!- nys has joined. 23:28:08 -!- Hasnot1 has left. 23:41:27 -!- GeekDude has joined. 23:41:48 -!- oren has joined. 23:46:46 -!- MoALTz_ has quit (Quit: Leaving). 23:47:55 yeah, so like i said ㍿ is a ridiculous character. 23:48:21 OKAY 23:49:23 someone oughta make a new version of unicode without all these ridiculous characters that are only there for backward compatibility. 23:51:36 oren: what does that character mean? Google Translate's not giving me anything... 23:52:01 it is four character japanese word for public traded corporation 23:52:17 interesting 23:52:18 pronounced "kabushikigaisha" 23:53:22 these four characters: 株式会社 23:55:57 why do these exist??? fffiflffifflſtst 23:56:17 .window bare 23:56:22 sorry 2014-12-13: 00:00:08 oren: one thing I don't quite get is that sometimes it's かいしゃ, and other times it's がいしゃ. I highly suspect it's for euphonic reasons... 00:01:22 boily: rendaku / sequential voicing? 00:01:39 boily: Yep, just standard Japanese euphony. 00:01:51 Melvar: well, both forms are accepted and in wide usage. that's what's baffling me. 00:02:01 pikhq: oh well. 00:02:13 "kabushikigaisha" is more "correct". 00:02:25 boily: Things can get voiced if they’re a non-first element of a compound, is what that is. 00:02:27 -!- zzo38 has joined. 00:02:36 連濁は難しいんだよ。。。 00:03:12 yah, essentially, kabushikigaisha is "public-company" while kabushikikaisha is "public company" 00:04:31 it depends on how closely you want it to sound compounded. 00:05:12 because 式 "style" is sort of an adjectival ending 00:06:08 I had idea of what kind of character could be had in the Smash Brothers game, if it were allowed to use function of Wii U gamepad for some characters. Professor Oak would be allowed to look on the touchscreen to know what kind of pokemons are in each pokeball on the screen, without opening it. Light Yagami can have one attack, you write the name of another character on the touchscreen and forty seconds later the target is instantly knocked out; it 00:06:15 oren: interesting. I never thought of 式 that way. 00:07:04 zzo38: I couldn't be playing the Yagami; my handwriting is too idiosyncratic. 00:07:30 oren: btw, I don't know your approximate geographic coördinates yet, and what is your body weigh? 00:07:57 boily: get this: you may notice many adjectives in japanese end in 的. in Mandarin, 的 is simply the genitive particle! 00:08:23 I live in Canada and i weigh 160 pounds. 00:08:34 oh, which province? :D 00:08:43 Toronto Ontario 00:08:48 的 is the ubiquitous 的. 00:09:06 oren: ah, un ontarien! 00:09:21 wee wee! 00:10:01 O, I forgot actually it can be canceled if you are knocked out while writing down the name, but after it is written, the attack cannot be canceled unless the match has already ended or if the target has been knocked out and not recovered yet by the time 40 seconds have elapsed. 00:10:04 not the ontarites 00:10:32 That would then be the most powerful, and also the slowest, attack in the game. 00:10:56 i always play as Ike and bash people up 00:11:09 kirby is the most bestest of them all! 00:12:51 -!- FreeFull has quit (Ping timeout: 244 seconds). 00:13:22 No, I wanted to play as Professor Oak. 00:13:46 -!- Frooxius has joined. 00:14:09 -!- FreeFull has joined. 00:16:18 i love this font. i love the way | is a heart. 00:16:46 i | this font. i | the way | is a |. 00:16:54 What kind of font is that? 00:17:44 http://snag.gy/bYC1F.jpg 00:19:00 this is my font from now on. i don't care if people say it's silly. 00:19:35 * boily cursivly twitches 00:20:48 http://snag.gy/Z5AC1.jpg 00:22:24 -!- oren has changed nick to |oren|. 00:23:47 <|oren|> with the power of heart! http://www.vgcats.com/comics/?strip_id=164 00:24:05 -!- CrazyM4n has changed nick to abs. 00:24:19 okay... 00:24:27 -!- abs has changed nick to CrazyM4n. 00:24:43 ;~; I was trying to set my name as abs(CrazyM4n) because |oren| 00:24:46 but I guess not 00:25:11 <|oren|> you can have {}|[]\ in name because of iso646 00:25:28 <|oren|> they were letters in scandinavian fonts 00:25:36 weird 00:25:57 <|oren|> but you can't have () in name 00:29:21 neither *. I wanted a sparkling nick, dammit! 00:29:31 boily 00:30:25 thachaf ^^ 00:30:34 -!- shikhin has quit (Ping timeout: 272 seconds). 00:45:36 abs{CrazyM4n} 00:45:42 Good enough 00:46:21 anyone here using termite? 00:48:00 <|oren|> not me... i was unaware what that was 00:48:58 myname: as in, the thing that explodes? 00:49:11 as in, the terminal emulator 00:50:34 same; I didn't know there were such a thing as. 00:50:39 -!- CrazyM4n has changed nick to abs{CrazyM4n}. 00:52:17 oerjan: oh this is instructive: u=unlines;main=interact(\x->u[u[z|y<-[n,n+2..7^6],z<-lines x,show y==z]|n<-[0,1]]) can be shortened to main=interact(unlines#);u#x=u[u[z|y<-[n,n+2..7^6],z<-lines x,show y==z]|n<-[0,1]] 00:52:31 oerjan: (from http://golf.shinh.org/p.rb?partition+by+parity) 00:53:54 Someone on reddit told me my code was slow and linked to their code golf which apparently ran faster 00:54:19 Too bad I never knew how 00:56:01 int-e: fiendish 00:57:06 <|oren|> does casting unused return vals to void no longer work? 00:57:48 <|oren|> i really don't care how much fread read! 01:05:53 http://www.example.com/#%foo 01:06:00 Went into Chrome console 01:06:05 document.URL ... breaks the console 01:06:14 alert(document.URL) is fine 01:09:09 -!- G33kDude has joined. 01:11:14 -!- GeekDude has quit (Ping timeout: 245 seconds). 01:11:16 -!- G33kDude has changed nick to GeekDude. 01:21:02 GG still late 01:21:13 time for gglist 01:21:17 as is freefall 01:21:26 shachaf: i think that's a bit premature 01:21:39 oerjan: unlike gg updates hth 01:22:48 OKAY 01:26:38 the *lists should be parametrised over the comic they notify people of. 01:27:26 innovative 01:31:03 probably plug some machine learning through that, so that when you present `list with a new comic, it'll know which one it is, and who to notify. 01:31:20 fungot: can you predict comic schedules? 01:31:21 boily: i believe that the human body does not catch fire.) so you'll return the procedure 01:31:37 -!- adu has joined. 01:31:47 fungot: indeed. it was experimentially demonstrated that I do not catch fire. I wonder if you burn... 01:31:48 boily: this problem is giving me some error in my algorithm and it was almost working, modulo a certain amount of reductions, you can 01:32:10 fungot: so you're not quite ready for that kind of predictions? 01:32:11 boily: i think that specifing relative heading sizes is not only fnord. 01:32:33 fungot: ah, absence of fnord in the schedule headers. a classic mistake. 01:32:33 boily: let me update sarah to the latest 01:32:51 fungot: so you're learning about to notifiees! 01:32:56 (btw, who's sarah?) 01:33:28 `? boily 01:33:29 boily is monetizing a broterhood scheme with the Guardian of Lachine. He's also a NaniDispenser, a Man Eating Chicken and a METARologist. He is seriously lacking in the f-word department. 01:35:27 `? shachaf 01:35:28 shachaf sprø som selleri and cosplays Nepeta Leijon on weekends. 01:36:13 `? `? 01:36:14 ​`? ¯\(°_o)/¯ 01:36:14 | 01:36:15 º¯`\o 01:36:37 `? esolang 01:36:38 esolang? ¯\(°​_o)/¯ 01:36:46 `? zzo38 01:36:48 zzo38 is not actually the next version of fungot, much as it may seem. 01:37:40 `? topic 01:37:41 topic? ¯\(°​_o)/¯ 01:37:50 `? IRC 01:37:50 irc is useless. 01:37:56 `? Are you sure? 01:37:57 Are you sure?? ¯\(°​_o)/¯ 01:38:11 `? International Astronomical Conspiracy 01:38:12 International Astronomical Conspiracy? ¯\(°​_o)/¯ 01:38:21 `? C 01:38:21 C is the language of��V�>WIד�.��Segmentation fault 01:38:25 `? C++ 01:38:26 Along with C, C++ is a language for smart people. 01:38:30 `? Haskell 01:38:31 Unbound implicit parameter (?haskell::Wisdom) \ arising from a use of implicit parameter `?haskell' 01:38:45 `? Forth 01:38:46 Forth? ¯\(°​_o)/¯ 01:38:54 `? Befunge 01:38:55 Befunge? ¯\(°​_o)/¯ 01:38:58 `? CLC-INTERCAL 01:38:59 CLC-INTERCAL? ¯\(°​_o)/¯ 01:39:04 `? LISP 01:39:05 LISP? ¯\(°​_o)/¯ 01:40:07 `? assembly language 01:40:08 assembly language? ¯\(°​_o)/¯ 01:40:33 `? Segmentation fault 01:40:33 Segmentation fault? ¯\(°​_o)/¯ 01:40:41 HackEgo: wow 01:41:23 C++ is not the language for smart people 01:42:13 smart people learn from history 01:42:37 smart people define their problem domain before discussing it 01:42:50 I know that, but that is what someone wrote on HackEgo 01:43:09 `? Magic: the Gathering 01:43:09 Magic: the Gathering? ¯\(°​_o)/¯ 01:43:13 `? Pokemon Card 01:43:14 Pokemon Card? ¯\(°​_o)/¯ 01:43:17 `? x86 01:43:18 x86? ¯\(°​_o)/¯ 01:43:19 `? Aberration Hater Card Game 01:43:20 Aberration Hater Card Game? ¯\(°​_o)/¯ 01:43:23 `? 6502 01:43:24 6502? ¯\(°​_o)/¯ 01:43:36 what's the ascii art mean? does that mean 404? 01:43:51 `? brainfuck 01:43:52 brainfuck is the integral of the family of terrible esolangs. 01:44:09 `? x86_64 01:44:09 x86_64? ¯\(°​_o)/¯ 01:44:09 adu: Either the file doesn't exist or the text of the file contains that ASCII art 01:44:18 `? fnord 01:44:19 ​? ¯\(°​_o)/¯ 01:44:32 `? stack 01:44:32 stack? ¯\(°​_o)/¯ 01:44:43 `? increment 01:44:44 increment? ¯\(°​_o)/¯ 01:44:47 `? smart 01:44:48 smart? ¯\(°​_o)/¯ 01:45:35 so it doesn't search? 01:45:52 that's not very fun 01:46:40 adu: it's the Wisdom. for a formatted version of it, check the PDF in the /topic ↑ 01:46:44 If you want to search, you can enter the search command by yourself, it is a UNIX program so you can use any UNIX command 01:47:18 you're either wisdom or you're againsdom 01:47:39 `? Coulor 01:47:39 Coulor is the correct spelling. 01:47:43 lololol 01:48:21 -!- |oren| has quit (Quit: buhbye). 01:48:25 `? colour 01:48:26 ​Colour is a phenomenon from outer space designed to drive humanity insane and bring forth the new age of Cthulhu. 01:48:32 `? facts 01:48:33 -!- glguy has quit (Quit: Quit). 01:48:33 facts are lies. They are not there. Go away! 01:49:44 I try to stay away from Pastafarianism 01:50:41 next thing you're going to say that you don't believe in ramen. 01:50:54 OMG I <3 Ramen 01:54:21 ラーメンが大すきい 01:56:24 I prefer the original Chinese version. 01:56:39 (hmm... braised beef shank...) 01:57:15 我爱拉面 01:58:36 我同意 01:58:46 -!- jslave has joined. 01:59:09 time to gravitate towards a mattress... 01:59:21 みんなお休み! 01:59:30 -!- boily has quit (Quit: PLURALIST CHICKEN). 02:01:35 * oerjan wonders if boily has a script for choosing fowl adjectives 02:02:00 `? 02:02:01 ​? ¯\(°​_o)/¯ 02:02:14 `? `? 02:02:15 ​`? ¯\(°_o)/¯ 02:02:15 | 02:02:16 º¯`\o 02:03:55 `run sed -i 's/°/°​/' wisdom/'`?' 02:03:57 No output. 02:04:01 `? `? 02:04:02 ​`? ¯\(°​_o)/¯ 02:12:51 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 02:19:39 -!- Lymia has joined. 03:01:15 -!- axelcsep has joined. 03:02:58 `? wisdom 03:02:59 wisdom is always factually accurate, except for this entry, and uh that other one? it started with like, an ø? 03:03:45 Do you like my stuff on All The Tropes so far? 03:03:49 `? All The Tropes 03:03:49 All The Tropes? ¯\(°​_o)/¯ 03:03:55 `? Iuckqlwviv Kjugobe 03:03:56 Iuckqlwviv Kjugobe? ¯\(°​_o)/¯ 03:04:12 `? XML 03:04:13 XML? ¯\(°​_o)/¯ 03:04:20 `? gopher 03:04:20 gopher? ¯\(°​_o)/¯ 03:04:23 `? HTTP 03:04:23 HTTP? ¯\(°​_o)/¯ 03:04:32 `? COBOL 03:04:33 COBOL? ¯\(°​_o)/¯ 03:05:20 -!- CADD has quit (Remote host closed the connection). 03:22:51 -!- jslave has quit (Ping timeout: 245 seconds). 03:23:06 CLIPPY 03:23:11 http://inception.davepedu.com/ 03:26:41 -!- oerjan has quit (Quit: Nite). 03:26:48 -!- drdanmaku has joined. 03:34:32 -!- jslave has joined. 03:43:21 -!- glguy has joined. 03:46:30 I'm so done with bueue, I've been messing with it for like 10 min 03:46:40 and all I've gotten is smiley faces and ones 03:47:24 hey abs{CrazyM4n} 03:47:38 how's the IDE coming? 03:47:50 It's usable 03:47:52 Glitchy 03:47:56 But usable 03:48:01 lol 03:50:01 I've got to implement a line drawing function in lua 03:50:38 Like, to output to images? Or in Löve or another similar thingy 03:51:28 I am running lua on an embedded device 03:51:41 I have graphics functions for three things 03:51:46 1) Clearing the display 03:51:52 2) Outputting text 03:52:00 3) Setting a single pixel on 03:52:13 -!- jslave has quit (Ping timeout: 244 seconds). 03:52:28 Ooo. Why lua though? Just because it's easy to implement? 03:52:59 Well, my choices for alternate firmwares were C variants, Java, or lua 03:53:18 a few of the C variants require $$$ licenses as well 03:53:26 Ew 03:53:31 What are you running it on? 03:53:38 Also, the lua firmware just had an update for better float processing speed 03:53:52 https://en.wikipedia.org/wiki/Lego_Mindstorms_NXT 03:53:58 Ah 03:54:02 You 03:54:06 You've talked about it 03:54:25 I talk about these things a lot 03:57:26 So I have a good idea - 03:57:45 I'm writing a program that randomly generates BF programs 03:58:19 The ultimate bogo sort? 03:58:27 keep writing BF until the list is sorted 03:58:45 It's perfect 03:59:35 Just don't know how I'm going to generate the brackets 03:59:45 in pairs of course 04:00:01 Yeah, but the problem is making sure no pairs overlap 04:00:23 Well, you're allowed to nest them, right? 04:00:29 Yes 04:00:37 [...[.]...] 04:00:45 Oh, I can just make it place a corresponding ] in any place before the next [ 04:00:46 that's not two overlapping pairs 04:00:50 That works 04:00:53 that's a nested pair 04:01:07 I mean, I'm trying to prevent [....[]...] 04:01:15 wait... what I'm trying to prevent makes absolutely no sense 04:01:59 Tada! 04:02:16 logicd 04:03:08 -!- jslave has joined. 04:04:40 Welp, goodnight 04:04:47 Good night 04:05:26 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 04:28:59 -!- nys has quit (Quit: quit). 04:47:28 So the random BF generator is quite weird 04:47:32 And fun 04:47:33 And useless 04:51:09 So I just generated this http://sprunge.us/MQeb 04:51:26 It seems to put an amount of garbage characters on the line 04:51:32 Depending on the amount you inputted 04:54:36 -!- Decensum|Zzz has joined. 04:57:08 ... 04:57:08 abs{CrazyM4n}: [SyntaxError] Unexpected token . 04:57:32 -!- axelcsep has quit (Ping timeout: 258 seconds). 04:57:36 Oh, you have to use a REALLY forgiving BF interpreter 04:57:39 I'm using beef 04:57:53 I just generated a 13,000 character script 04:57:58 That outputted " 04:57:58 " 04:58:00 That's it 04:58:00 Morning 05:02:07 "", BF says 05:02:50 Huh what //wakes up 05:09:21 So I just generated two programs back to back 05:09:26 That both printed out the ASCII table 05:09:36 One backwards, skipping a couple characters 05:09:45 Another forward, skipping different characters 05:09:46 O.o 05:11:04 I should go to bed 05:13:54 ? u 05:13:58 `? u 05:14:00 u monad? 05:14:05 `? you 05:14:06 you a haskell 05:15:12 `? Ø 05:15:13 ​ø is not going anywhere. 05:15:53 -!- adu has quit (Quit: adu). 05:20:34 -!- abs{CrazyM4n} has quit (Quit: need internet, have dialup). 05:21:15 -!- jslave has quit (Ping timeout: 264 seconds). 05:22:25 -!- adu has joined. 05:26:34 -!- glguy_ has joined. 05:26:53 -!- glguy_ has quit (Client Quit). 05:29:30 Fondle bread 05:42:29 -!- fungot has quit (Ping timeout: 245 seconds). 05:43:39 -!- fizzie has quit (Ping timeout: 265 seconds). 05:48:36 -!- Tod-Autojoined has changed nick to TodPunk. 05:59:30 -!- Patashu has quit (Ping timeout: 264 seconds). 07:00:47 `evilliouslist 07:00:48 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: evilliouslist: not found 07:00:52 Wait, hmm. Not sure if it counts 07:00:53 "12/12: New album entitled "The Seven Sins and Punishment" announced by Akuno-P! " 07:00:59 Not yet released I guess 07:01:18 To be released Feb. 25 07:02:10 * Sgeo counts between 2-4 new songs 07:02:29 (Two songs I haven't seen before and wiki has no info, two songs with names to be released) 07:13:27 -!- glguy has quit (Quit: Part). 07:16:55 -!- shikhin has joined. 07:43:07 -!- adu has quit (Quit: adu). 08:11:35 -!- PinealGland has joined. 08:21:05 -!- Decensum|Zzz has quit (Quit: Connection closed for inactivity). 08:43:27 -!- shikhin has quit (Ping timeout: 264 seconds). 08:54:33 -!- shikhin has joined. 09:10:42 -!- shikhin has quit (Ping timeout: 244 seconds). 09:52:51 Now I made up a more powerful version of POKEMON FLUTE card; it is called POKEMON ORCHESTRA. You have to discard another cards from your hand, but it is possible now to use not only with basic pokemon cards but also evolution cards and basic energy cards. 09:53:25 zzo38: what's a pokemon flute? is it like an elvish piper? 09:54:09 It is card that let's you play one basic pokemon card from opponent's trash onto the opponent's play area (although the card remains inactive). 09:57:09 -!- oren has joined. 09:57:42 ah, so not Elvish Piper, but rather Rise from the Grave but only from an opponent's graveyard 09:57:50 ok 10:00:53 Actually not quite like either of those M:tG cards. The card remains on opponent's side and isn't altered. 10:05:44 I don't know if there are any cards in Magic: the Gathering that are similar to the Pokemon Flute though. 10:08:49 oh, you give your _opponent_ back a valuable card 10:08:56 yes, that's different 10:21:37 I had the most horrible dream last night. I dreamed that someone solved the let-alist macro I've been failing to solve for over a week, only I couldn't access the email. I woke at 6am grouchy and frustrated. 10:22:51 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 10:40:33 `which alist 10:40:34 No output. 11:11:54 Is there a Magic: the Puzzling where opponent has Gleemax on his side? 11:14:47 problem: find a finite list of positive integers X={x1,,,xn}, and a positive integer L, such that the integers X can be divided into N gorups each of whose sum is <= L, but if you add them up into groups greedily, you get 2N groups. 11:15:21 (greedily, in the order they are given, no sorting) 11:16:38 so for example L=3 and X={2,2,1,1} gives you groups {2},{2,1},{1}. 11:36:27 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 11:37:37 -!- MoALTz has joined. 12:15:22 -!- DrVitusWerdegast has joined. 12:15:54 -!- DrVitusWerdegast has left ("Leaving"). 12:22:12 -!- cluid has joined. 12:31:01 zzo38: or just someone with the flagbearer ability? 12:37:36 Oh lightning rods... nice! 12:41:36 int-e: hehehe... not quite. if it was a lightning rod, magical or mundane, it would have to be blue instead of white. 12:42:01 ok, maybe not quite. 12:42:05 but more likely blue than white. 12:42:17 -!- hagb4rd2 has joined. 12:42:31 -!- hagb4rd2 has quit (Read error: Connection reset by peer). 12:43:23 hagb4rd is still trying to come back here after being banned for literally forever?? 12:43:27 b_jonas: I'm evil, remember? 12:43:38 -!- ChanServ has set channel mode: +o elliott. 12:43:44 -!- elliott has set channel mode: +b *!*hagb4rd*@*. 12:43:51 -!- elliott has set channel mode: -o elliott. 12:43:57 I hope I don't have to ban his entire ISP again 12:49:32 I like how the entirety of antarctica is also banned 12:49:46 must be lonely out there 12:56:30 antarctica? 12:56:49 wait, how does this channel have such a long ban list in first place? 12:58:48 is it because nobody clears up the old entries? 13:01:16 not to be mean (haha! almost killed myself there!), but perhaps people interested in the other kind of esoterica are generally not all that reasonable... 13:02:42 But not cleaning up old entries is the more likely explanation. 13:04:08 And it's not that long... #haskell has 351 bans. 13:04:40 Per capita bans 13:08:02 -!- boily has joined. 13:08:38 b_jonas: about half of the list is bans for repeat ban evaders 13:08:42 hagb4rd and cheater, mainly 13:09:09 they were sufficiently dedicated to evading for months/years in the past that removing the bans for things like nick and username just doesn't make sense 13:10:45 ##math has a really short ban list, due to eir. It's been a mixed blessing... 13:13:55 -!- lambdabot has quit (Remote host closed the connection). 13:14:04 oh?! 13:15:48 -!- FreeFull has quit (Quit: I'll be back later). 13:17:07 hmm, pinging... 73 packets transmitted, 4 received, 94% packet loss 13:18:43 ah, back to normal, hopefully. 13:19:45 And my ssh session to that host survived. TCP is so amazing. 13:22:16 -!- lambdabot has joined. 13:22:38 int-e: I'm just why surprised this channel would attract people worth to ban 13:23:08 I can understand why ##math would have many such people 13:24:32 Abortion Pills for sale: call Dr Tiito 0738431146 Pain free abortion and same day service. We do womb cleaning. Safe work is guaranteed abortion. Safe and approved methods of abortion. We use approved abortion pills. 100% guaranteed and private, it’s legal. Call Dr Tiito at +27738431146 or email drtiito@yahoo.com 13:24:40 https://archive.org/post/1027707/abortion-pills-call-0738431146-in-nelspruitsecunda 13:25:18 just in case anyone here needed an abortion pill? 13:25:59 b_jonas: it's more like five persistent people 13:31:58 -!- lambdabot has quit (Remote host closed the connection). 13:35:47 -!- lambdabot has joined. 13:36:40 -!- atslash has joined. 13:37:59 -!- lambdabot has quit (Remote host closed the connection). 13:41:36 "Mitigating DDoS" says the ISP 13:42:18 -!- lambdabot has joined. 13:58:23 http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html 14:09:40 -!- GeekDude has joined. 14:17:55 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 14:56:42 J_Arcane_: the author of that wrote google's intercal style guide 14:56:51 :D 14:56:54 http://www.muppetlabs.com/~breadbox/ he's done a lot of esolang stuff 14:57:47 -!- ZombieAlive has quit (Remote host closed the connection). 14:59:28 -!- oerjan has joined. 15:00:58 and codu seems down again. 15:01:05 `echo hi 15:01:05 hi 15:01:18 the logs, anyway 15:18:18 wait... what I'm trying to prevent makes absolutely no sense <-- hm that's a little bit interesting that you don't need to care about other brackets to keep it matched when inserting a new pair 15:19:02 you just change what it matches, not whether 15:23:02 -!- MoALTz has quit (Quit: Leaving). 15:44:19 -!- drdanmaku has joined. 15:52:07 -!- fizzie has joined. 16:05:28 hi 16:05:36 hi 16:05:50 -!- nys has joined. 16:14:05 lovely, my latest Collatz parity entry spews 21k lines on stderr, and produces a segfault for program termination. 16:15:34 why is that lovely? 16:16:09 because it's so fitting for anagol 16:16:48 most of the time, clean programs don't win. 16:16:54 ah 16:16:58 it's a golf program 16:18:02 yes. sorry, I should've mentioned 'anagol', can't expect everybody to be up to date on the list of active problems. 16:26:13 -!- GeekDude has joined. 16:41:33 -!- ais523 has joined. 17:22:49 -!- Sprocklem has joined. 17:23:58 -!- MoALTz has joined. 17:29:46 -!- atslash has quit (Quit: Leaving). 17:41:01 -!- Guest141519 has joined. 17:41:22 ion: ? : elliott .. 17:41:33 * Guest141519 blows a kiss at elliott 17:41:37 what the fuck 17:41:40 you're ban evading today too? 17:41:48 merry christmas elliott ilu 17:41:51 is this cause elliott pointless work day 17:41:52 :* 17:41:54 -!- fizzie has quit (Ping timeout: 265 seconds). 17:41:54 -!- ChanServ has set channel mode: +o elliott. 17:42:09 -!- elliott has set channel mode: +b *!*@tor.subspace.systems. 17:42:13 -!- elliott has kicked Guest141519 weirdo. 17:42:21 that's probably a tor exit node isn't it 17:42:40 whatever 17:42:43 you'd think 17:42:46 -!- elliott has set channel mode: -b *!*@tor.subspace.systems. 17:43:06 secret tech: IRC from a subdomain tor.yourdomain.com so nobody tries to ban you effectively 17:43:59 seriously though, two ban evaders after hiatuses of months in here in one day... what's going on @_@ 17:44:23 um you're sure that wasn't just hagb4rd again 17:45:11 oerjan: no, the guy who came in to be a weirdo and lick ion was a repeat ban evader, remember? 17:45:18 they didn't act like hag4brd. and they, like, had their own server and stuff 17:45:21 ok 17:45:41 after getting banned once they got their "friend" (them) to come in and be very obvious about it and demanding and explanation for why we banned them. it was surreal 17:45:44 maybe it's christmas trolling day 17:45:57 maybe they're coordinating in #esoteric-banned-people 17:46:18 -!- elliott has set channel mode: -o elliott. 17:46:36 anyway anyone who wants to kiss me has to get in line 17:47:20 how many hours is the expected waiting time 17:48:39 depends who's asking. 17:48:45 i'm not sure a strict fifo policy is sustainable. 17:49:36 maybe it's not that kind of line, more an audition thing. 17:49:43 like, catwalk. 17:50:10 are you asking for yourself or for a friend :P 17:50:23 no one. i don't think you're my type alas. 17:50:34 I'm devastated 17:52:04 a terrible tragedy 17:53:17 -!- ski has quit (Remote host closed the connection). 17:55:31 elliott: who was Guest141519? 17:55:49 ais523: "that person who likes licking ion and me and who whasn't been around for a very long time" 17:55:59 two repeat ban evaders in one day o_O 17:56:22 I take it the other one was Dulnes? 17:56:36 no, hagb4rd 17:56:40 dulnes hasn't actually been banned :p 17:57:10 right 17:57:44 btw, where's ion? 17:58:08 oh, wow, they're so dedicated they didn't even bother checking he was here 17:59:47 -!- CrazyM4n has joined. 18:00:46 someone deionized the channel 18:06:40 [wiki] [[Simplefunge]] M http://esolangs.org/w/index.php?diff=41458&oldid=41450 * CrazyM4n * (-1) 18:10:55 -!- oerjan has quit (Quit: deoerjanizing channel). 18:17:11 -!- fizzie has joined. 18:24:40 -!- Decensum|Zzz has joined. 18:37:09 -!- ski has joined. 18:38:50 -!- FreeFull has joined. 18:57:30 -!- glguy_ has joined. 19:22:39 -!- CrazyM4n has quit (Quit: Leaving). 19:28:55 disoerjanized, hmm. 19:33:30 -!- Sprocklem has quit (Ping timeout: 250 seconds). 19:34:26 I'd lament the resulting chaos, but I can't think of a good way to misspell it. 19:37:13 hello 19:37:47 greetings 19:37:51 salutations. 19:39:00 incongruencies 19:40:02 whats up 19:40:21 * int-e flips a coin. 19:40:27 tails, apparently. 19:50:15 -!- boily has quit (Quit: EVASIVE CHICKEN). 20:05:45 -!- CrazyM4n has joined. 20:07:41 [wiki] [[Special:Log/upload]] upload * Tastyfish * uploaded "[[File:Flow chart hello world 2.png]]": more sophisticated hello world in flow_chart 20:12:48 [wiki] [[Flow chart]] http://esolangs.org/w/index.php?diff=41460&oldid=40591 * Tastyfish * (+140) hello world, external resources 20:15:03 cool idea 20:16:45 What kind of cool idea? 20:17:34 http://esolangs.org/w/index.php?diff=41460&oldid=40591 this language 20:20:19 [wiki] [[Treehugger/Implementation]] http://esolangs.org/w/index.php?diff=41461&oldid=41437 * Zzo38 * (+225) Make the program to be possible to compile without having to remove the and tags 20:21:10 thanks for the edit zzo38 20:22:22 is there any nice way to read a text file in an array of arrays in haskell? 20:23:36 myname: Can you show the example of what you are trying to make? 20:23:58 -!- cluid has quit (Remote host closed the connection). 20:24:36 i want to have a rail programm in memory with O(1) access to the neighbors of a given position 20:25:17 i don't really have any experience with arrays in haskell at all :( 20:41:05 -!- Decensum|Zzz has quit (Quit: Connection closed for inactivity). 20:45:28 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 21:09:08 -!- boily has joined. 21:10:08 -!- ais523 has quit. 21:10:15 -!- callforjudgement has joined. 21:23:39 what the heck? a line of minus signs is necessary for compiling the program? why? 21:24:52 in one of my languages, I did something like that so that the compiler could figure out the width of the program in advance 21:25:33 ohhhh.... that is actually quite clever... it's unobtrusive cause it jus t looks like formatting 21:34:14 -!- PinealGland has quit (Quit: leaving). 21:34:32 -!- Patashu has joined. 21:37:10 -!- yonkie has joined. 21:37:27 -!- yonkie has quit (Client Quit). 21:38:03 -!- yonkie has joined. 21:39:00 -!- yonkie has quit (Client Quit). 21:39:21 -!- yonkie has joined. 21:45:57 -!- dorei has joined. 21:50:21 -!- yonkie has quit (Quit: leaving). 21:50:25 -!- roasted42 has joined. 21:50:39 -!- roasted42 has quit (Changing host). 21:50:39 -!- roasted42 has joined. 21:50:39 -!- roasted42 has changed nick to TheM4ch1n3. 21:50:43 -!- yonkie has joined. 21:52:28 Operate through good karma, then save souls (invert sins Hate -> Love, Cursing -> Blessing) - the more you do it, the more you will become God 21:52:53 `welcome TheM4ch1n3 21:52:54 TheM4ch1n3: 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.) 21:53:08 callforjudgement: hi :-) 21:53:53 is there other kind of esoterica? :o 21:55:19 yes, this channel's about programming languages 21:55:44 the other sort, I'm not enough of an expert on to describe it in a way that's not horrendously inaccurate 21:56:08 the other sort, do you mean perl ? 21:56:19 or python ? 21:57:07 no, the other sort of esoterica 21:57:19 perl/python are non-esoteric programming languages 21:57:56 (admittedly some people seem to disagree wrt Perl, and I know some people write in eso subsets of Python, but Perl/Python's status as non-eso shouldn't really be in doubt) 21:58:02 ok, and God is "The Son of God" (young) - "The Eternal" (old) 21:58:22 yeah, python's at least 21:58:23 anyway, TheM4ch1n3, my point is that I think you might have the wrong channel 21:58:54 -!- MoALTz_ has joined. 21:59:20 callforjudgement: I dont think so, I am a programmer 21:59:20 but of course we talk about esoteric uses of non-esoteric languages here too 21:59:41 or at least I try to 22:00:26 is it ok then, to paste gcc error messages then ?? *joke* 22:01:21 TheM4ch1n3: did you know that g++ error messages, at least, are Turing-complete? 22:01:24 not sure about gcc for C 22:01:50 is there a name for the non-esoteric languages group other than 'non-esoteric'? 22:02:03 -!- MoALTz has quit (Ping timeout: 260 seconds). 22:02:20 callforjudgement: well in gdb I am getting -> "0x00007ffff5b1bc95 in XFilterEvent () from /usr/lib64/libX11.so.6" - but I think I am getting memory corruption from somewhere, I may just need to use a malloc() replacement 22:02:24 dorei: that would be like a name for non-luxury cars or non-investment wines 22:02:28 intercal error messages are great 22:02:33 mitchs_: thanks, I wrote some of them 22:02:57 dorei: the 99 bottles of beer website uses "real languages" but I don't like that name 22:03:02 strangely enough, it counts asms as non-real 22:03:06 callforjudgement: as for error messages, have you seen http://www.perlmonks.com/?node_id=1077569 about perl error quines? 22:03:15 site's divided into real languages, assembly languages, esoteric languages 22:03:22 b_jonas: the general term is "Kimian quines", I think 22:03:46 callforjudgement: ok. I haven't heared that name, though I think I heared the concept 22:03:57 callforjudgement: I used to have interest in assembler, now I let my compiler spit out some assembly and go from there if needed (most often never needed) 22:08:20 -!- TheM4ch1n3 has quit (Ping timeout: 245 seconds). 22:08:47 o 22:08:52 -!- callforjudgement has changed nick to ais523. 22:09:58 -!- roasted42 has joined. 22:10:06 -!- oren has quit (Quit: leaving). 22:12:11 -!- callforjudgement has joined. 22:13:02 -!- roasted42 has quit (Changing host). 22:13:03 -!- roasted42 has joined. 22:13:03 -!- roasted42 has changed nick to TheM4ch1n3. 22:14:18 I did not know that g++ error messages are Turing-complete; do you have example? 22:15:14 -!- ais523 has quit (Ping timeout: 258 seconds). 22:15:19 -!- callforjudgement has changed nick to ais523. 22:16:19 -!- GeekDude has joined. 22:16:36 callforjudgement: well in gdb I am getting -> "0x00007ffff5b1bc95 in XFilterEvent () from /usr/lib64/libX11.so.6" - but I think I am getting memory corruption from somewhere, I may just need to use a malloc() replacement 22:17:39 -!- ais523 has quit (Read error: Connection reset by peer). 22:17:45 -!- callforjudgement has joined. 22:18:01 zzo38: basically you just do template metaprogramming and produce a compile-time error in one of the branches 22:18:11 TheM4ch1n3: you said that earlier, but withotu context, it's hard to react to it 22:18:14 -!- callforjudgement has changed nick to ais523. 22:19:10 ais523: oh, I have been having frequent un-explainable memory problems - I may have to just use a malloc() that can detect bad usage, otherwise I will use valgrind or such 22:19:39 have you tried memcheck, to make sure the RAM itself isn't defective? 22:20:29 ais523: the ram itself is perfect, it is a minecraft clone I am working on, at present it is just a block binary occluder system, so it will not be limited to blocks in the future 22:21:13 anyway, you want something like valgrind or msan for detecting bad usage 22:21:39 a debugging malloc isn't that useful for catching memory errors, because many classes of memory errors don't touch anything malloc can see 22:21:42 msan - sounds interesting - first time I am hearing about it - but yeah 22:24:05 ais523: what is msan ? 22:24:24 memory sanitizer, it's an experimental feature in one of the commonly used compilers 22:24:28 can't remember whether it's clang or gcc 22:25:17 well, I think I am having memory over-runs (write beyond allocated ram) 22:25:43 http://clang.llvm.org/docs/MemorySanitizer.html 22:26:28 TheM4ch1n3: heap or stack? 22:29:52 -!- TheM4ch1n3 has quit (Ping timeout: 250 seconds). 22:29:58 or mmap? (there are three places to allocate memory nowadays) 22:31:31 -!- roasted42 has joined. 22:37:32 -!- roasted42 has left ("lag makes my client reconnect too much"). 22:59:27 -!- callforjudgement has joined. 22:59:44 -!- MoALTz_ has quit (Quit: Leaving). 23:03:27 -!- callforjudgement has quit (Client Quit). 23:03:40 -!- ais523 has quit (Ping timeout: 250 seconds). 23:04:57 -!- Patashu has quit (Remote host closed the connection). 23:05:39 -!- Patashu has joined. 23:19:14 -!- glguy_ has quit (Quit: Quit). 23:20:36 -!- oerjan has joined. 23:22:21 boily: do you choose your chicken adjectives scripted or manually twh 23:22:36 manually, according to my current whim hth 23:22:48 ooh 23:28:03 boily: does that stand for would help if mentioned whim 23:29:27 [wiki] [[Treehugger/Implementation]] http://esolangs.org/w/index.php?diff=41462&oldid=41461 * Oerjan * (-240) This is all very well but I cannot see anything requiring the code tags at all 23:31:55 zzo38: there *could* be something i've missed that is interpreted as formatting, but i cannot find anything. 23:32:35 oerjan: What one is that? 23:33:22 zzo38: the one you added .lhs formatting to to hide the tags; afaict it works as plain .hs if you simply remove them instead. 23:33:49 (see HackEgo's announcement) 23:34:33 I didn't try that because I thought it might mess up the formatting 23:35:05 there are _some_ things that get interpreted inside an indented code block iirc, but they're rare. 23:36:02 I looked at your edit and it looks like it isn't messing it up so probably it is OK. 23:46:05 -!- shachaf has quit (Ping timeout: 258 seconds). 23:56:42 -!- dorei has quit. 23:56:51 -!- shachaf has joined. 23:58:59 -!- shachaf has quit (Client Quit). 2014-12-14: 00:02:20 -!- glguy has joined. 00:08:44 -!- shachaf has joined. 00:27:15 shachaf: it may htph 00:27:29 -!- adu has joined. 00:28:25 -!- CrazyM4n has quit (Remote host closed the connection). 00:47:43 * Sgeo wants a lossy compression algorithm for MIDIs that makes artifacts that sound like humans messing up sheet music 00:49:17 maybe gzip plus a random seed that controls the messing up part 00:51:13 I wanted a lossless compression algorithm for MIDIs that results in better compression ratios for music without a lot of dissonant chords and stuff 00:54:52 You could use a corpus of midi fragments, then lost sounds get filled in using the ones in the corpus 01:08:02 Do you think one use of Magic: the Gathering cards "One With Nothing" might be you can play madness card even during opponent's turn? It probably can have other uses too 01:12:20 -!- Patashu_ has joined. 01:12:20 -!- Patashu has quit (Disconnected by services). 01:21:06 -!- adu has quit (Quit: adu). 01:39:11 -!- glguy has quit (Quit: Part). 01:45:05 -!- Daniel has joined. 01:45:30 -!- Daniel has changed nick to Guest48264. 01:47:32 -!- adu has joined. 02:10:29 anybody talk? 02:10:58 `welcome Guest48264 02:10:59 Guest48264: 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.) 02:12:21 -!- Guest48264 has quit (Quit: irc2go). 02:18:49 -!- Patashu has joined. 02:20:57 -!- Patashu_ has quit (Ping timeout: 244 seconds). 02:31:34 -!- madbr has joined. 02:32:20 Q: 02:32:20 is there a scripting language (as in, easy to load up and interpret from C++) that has few dynamic structures, no garbage collection and does little dynamic allocation? 02:32:30 lua for instance is easy to load and interpret (the library is nice) but it's all dynamic typed and garbage collector and you have no guarantees that it won't do a whole bunch of calls to malloc 02:35:25 basically it has to run <0.5ms 100% of the time (it will typically run a callback every 2ms or so, and this absolutely has to be over before the next callback) 02:35:34 on windows and OSX 02:35:50 some Scheme variant, perhaps? 02:36:08 it cannot block for 10ms every 5 minutes while the garbage collector runs 02:36:28 that is actually not acceptable for my application (pro audio) 02:38:23 boily : I'm not familiar with scheme but isn't that all dynamic typed? 02:38:47 also it's functional which will confuse the users 02:40:44 well, scheme's dynamically typed, but then as syntax goes it's very, very simple. 02:41:29 there's also Forth, but it may confuse users too but in an entirely new way. 02:41:46 If I wanted dynamic typed, that I'd go for lua 02:42:47 forth is actually closer... it's crazy but it's also all static and you know you're not going to allocate memory by doing, say, an addition 02:43:10 yeah. I mentioned Forth because memory allocation is quite straightforward. 02:43:35 off the top of my head, I can't remember any statically typed scripting languages... 02:44:00 (well, there's Beanshell, but it's a heavyweight abomination on top of the JVM.) 02:44:01 the one that I know of is Jesusonic 02:44:02 http://www.cockos.com/jesusonic/ 02:44:11 no jvm 02:45:08 -!- oren has joined. 02:45:20 like, it probably doesn't even have to have MAPS 02:45:23 or booleans 02:45:35 or integers 02:46:08 -!- adu has quit (Quit: adu). 02:46:52 or even functions actually 02:48:56 is the effort of whipping out a custom DSL too much? 02:49:51 what's a "DSL"? 02:50:07 with scrip7 you can allocate all your memory once 02:50:08 Domain Specific Language. 02:50:20 hmm 02:50:23 but that isn't stable yet 02:50:33 well, I'm already thinking of that yeah 02:50:53 (then again you could just customize the interpreter yourself...) 02:51:04 but normally you don't do that (you just use lua) 02:51:20 -!- madbr has quit (Quit: Pics or it didn't happen). 02:51:49 Pix | it dint hpn 02:52:00 -!- madbr has joined. 02:52:05 wops 02:52:42 IMO, I don't like lua. too much hassle. 02:52:52 I think opencl technically fits those requirements 02:53:00 that is true! 02:53:11 technically.... 02:53:52 jafet: hmm 02:54:16 would have to be run on a 1x1 pixel load :D 02:58:56 boily : the kind of end users I have are 10x more likely to learn lua than scheme 03:01:28 so it goes. 03:02:03 'night all! 03:02:08 -!- boily has quit (Quit: AUTOMORPHIC CHICKEN). 03:02:14 A subset of scheme that never allocates memory 03:04:54 a lot of successful language for sound generation are data-flow languages and are graphical 03:06:48 madbr: I read above and it looks like a Forth-based system can do without garbage collector and all various stuff 03:07:56 yes¸ 03:09:10 the problem is of course that you have to spend a few days jungling in your head with the concept of a stack and how it works, how to use it etc 03:09:51 It look to me not too difficult really. 03:10:17 alas i hear higher-order functions are really hard to do without GC 03:10:57 higher-order functions don't really help with the doman specific applications 03:11:24 -!- Azazel_ has joined. 03:11:40 i mean that the scheme subset would not be a very functional one 03:11:43 like, it pretty much ok if this only has floats, arrays of floats, and nothing else 03:12:35 Hi 03:12:51 `welcome Azazel_ 03:12:51 Azazel_: 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.) 03:16:49 Are you sure, float and array of float are all that you should need? 03:17:33 possibly string eventually 03:17:43 Lower-order functions 03:18:34 maybe array of string, objects, maps if it really has to expand and go there 03:20:00 maybe integers if it has to be more performant (for non-interpolated lookup table lookups) 03:20:27 I know for audio stuff I happen to like Csound, although I have never used it for realtime stuff; on a fast computer it would probably work though. Csound doesn't have an integer type; it does have floats, arrays of floats, and strings. 03:21:02 Although Csound isn't am embeddable scripting language very well. 03:21:24 right 03:21:34 which is why I mentionned jesusonic 03:21:55 which is similar (C-based) but is more embeddable 03:25:09 -!- Azazel_ has quit (Quit: Page closed). 03:25:35 Then see if Jesusonic is good for what you are making 03:26:12 AHA!!! I have figured out how to make the loops in scrip7 fast. 03:27:32 I will use normal pranthesis matching the FIRST iteration, but CACHE the results in two HASH TABLES using the address of the start and end as keys! 03:27:56 -!- CrazyM4n has joined. 03:28:06 :o :P 03:28:15 prana thesis, the esoteric bracketing system 03:28:44 it is actually esoteric considering in scrip7 { matches with ) 03:28:49 or } 03:29:17 it's however no match for pantheists 03:29:49 -!- oren has changed nick to |{oren}|. 03:30:41 { match to ) disurbs me :3 03:30:48 øæorenåø 03:30:49 <|{oren}|> this idea of caheing the result of paren matching can also be used in brainfuck interpreters 03:30:55 it's like some OCD part in me goes NO 03:30:57 It is strange for sure, but maybe it can help sometimes? 03:31:37 <|{oren}|> well essentially scrip7 treats all brackets identically 03:31:49 madbr: calm down and go learn some fueue 03:31:51 <|{oren}|> {[(}]) 03:32:04 <|{oren}|> [[[)}) 03:32:31 madbr: what do you think of half-open intervals hth 03:32:59 If it does a different thing at the beginning and at the end, then maybe it can use different brackets, in case it is also possible to mean same thing with same brackets. 03:33:14 a range from 0 to 4 contains 0,1,2,3 and NOT 4 03:33:16 It might be sensible in such. Half-open intervals may be one case I suppose. 03:33:42 <|{oren}|> actually i might change that. 03:33:55 madbr: but does it contain pi hth 03:33:58 which i guess is traditionally notated [0, 4[ 03:34:10 <|{oren}|> Oh i have it: [ and ] are brackets that only match, but never jump 03:34:26 [ ? 03:34:45 real mathematicians use [0, 4) hth 03:34:56 oh 03:34:57 -!- azazel_ has joined. 03:35:05 |{oren}|: Yes, that is the idea like how I have suggestion actually; [ ] can be match and not jump, and then { } can be jump, and ( ) have another meaning (such as a different condition jump), etc, maybe is one way? 03:35:16 but then real matematicians use indexes 1..N in indexes etc 03:35:33 madbr: that actually depends on mathematics branch 03:36:09 Hi 03:36:09 <|{oren}|> () are stupid anyway being all round. i will simply ignore them for now 03:36:49 Oh I see it works now I wonder if I switch phones my name will change 03:36:56 Bbl 03:36:56 <|{oren}|> hi azazel 03:37:14 oren, what's up with the symbols 03:37:37 <|{oren}|> in my font | is a heart 03:38:00 <|{oren}|> for hysterical rwasons |\{}[] are allowed in names 03:38:07 -!- kcm1700 has joined. 03:38:41 -!- |{oren}| has changed nick to |oren\. 03:38:52 <|oren\> here now i have a yen sign in my name 03:39:13 -!- kcm1700_ has quit (Remote host closed the connection). 03:39:13 -!- Froox has joined. 03:39:14 oerjan : ah 03:39:14 tbh I'm not that familiar with academia etc 03:39:14 moved on to other things a couple years ago ;) 03:39:42 OK fine 03:39:42 Isn't it like, a range, or it is indexed it is a bit of a different use? 03:40:30 Well, it will be a yen sign in a Japanese encoding anyways 03:41:02 -!- Frooxius has quit (Ping timeout: 244 seconds). 03:41:03 -!- Sgeo has quit (Ping timeout: 244 seconds). 03:41:09 Not in a standard ASCII encoding, but, the keyboard of Famicom is using the yen sign in place of backslash too 03:41:18 -!- Sgeo has joined. 03:41:29 <|oren\> zzo38: even japanese unicode fonts have a yen sign 03:41:44 Do you like stuff I have in my userspace in All The Tropes? If I wrote lies in there then please to fix it 03:42:32 |oren\: Yes, although it won't be the proper Unicode encoding; the proper Unicode number for yen sign is different from the backslash number (so it is in many encodings, but in ISO 646 it is the same encoding as the backslash and yen sign) 03:43:33 <|oren\> i think japanese people got used to separating their file paths with yen signs... 03:44:04 <|oren\> C:\Documents\Untitled.doc 03:44:05 Well, on Windows anyways; on UNIX you don't need to do that. 03:44:27 <|oren\> but on unix you escape your characters with yen signs... 03:44:43 Yes, it has that purpose instead then on UNIX. 03:45:28 -!- Tod-Autojoined has joined. 03:46:38 <|oren\> in the anime serial experiments lain, you see C code on the board in school. it has yensign-n as newline. 03:46:49 -!- Froo has joined. 03:47:44 I didn't see that one. 03:47:48 OK, though 03:48:29 But I just think that it shouldn't lie about the character encoding 03:48:44 -!- lambdabot has quit (Ping timeout: 240 seconds). 03:48:44 -!- olsner has quit (Ping timeout: 240 seconds). 03:48:44 -!- Lymia has quit (Ping timeout: 240 seconds). 03:48:44 -!- TodPunk has quit (Ping timeout: 240 seconds). 03:48:44 -!- aloril_ has quit (Ping timeout: 240 seconds). 03:48:53 -!- oerjan has quit (Quit: leaving). 03:48:55 -!- Froox has quit (Ping timeout: 240 seconds). 03:48:56 -!- yiyus has quit (Ping timeout: 240 seconds). 03:50:12 <|oren\> http://ctrlv.in/473620 03:50:16 -!- KingOfKarlsruhe has quit (Ping timeout: 240 seconds). 03:50:16 -!- Gregor has quit (Ping timeout: 240 seconds). 03:52:26 <|oren\> there, screenshot. so i think japanese programmers aure used to yensign as escape char, as we are used to backslash 03:54:25 -!- lambdabot has joined. 03:54:35 -!- olsner has joined. 03:54:40 still better than ebcdic 03:55:17 -!- KingOfKarlsruhe has joined. 03:55:37 -!- Gregor has joined. 04:01:46 -!- Lymia has joined. 04:02:59 -!- aloril_ has joined. 04:04:48 -!- yiyus has joined. 04:25:51 -!- Sgeo has changed nick to wtf8. 04:25:58 * wtf8 best encoding 04:26:26 I.. uh.. wat... https://www.npmjs.com/package/wtf8 04:27:24 Why does that have to exist 04:27:31 Why does node.js have to exist 04:27:44 because the real world is complicated 04:28:22 http://simonsapin.github.io/wtf-8/ is the WTF-8 I intended to reference with this nick 04:29:29 Do people actually use node.js in production environments? 04:29:42 TagPro is built on node.js 04:29:50 And I am a tagpro addict, even though I suck at it 04:31:30 really? 04:31:38 But isn't it distributed across a bunch of servers 04:36:27 -!- CrazyM4n has quit (Quit: Leaving). 04:37:12 <|oren\> Node.js exists because some sick personwanted to write MORE Javascript. 04:38:01 -!- nys has quit (Quit: quit). 04:49:19 https://blog.nelhage.com/2012/03/why-node-js-is-cool/ 04:54:20 <|oren\> a pity such a nice idea was wasted by using Javascript as its basis, as opposed to something with a good syntax. 04:54:51 http://slbkbs.org/serp.html now supports backspace 04:56:19 <|oren\> still buggy. i deleted the whole searh and it retained the first character 04:56:29 shachaf: what's that? 04:56:31 Yes, there's no way to detect that. 04:56:41 I get a blank screen 04:56:43 But if you start typing something new it'll detect it. 04:56:50 Ctrl-F and search for something. 04:56:55 <|oren\> if you ctrl f it writes whate you search for 04:57:00 Woah 05:01:36 I found that in Haskell it is possible to use unsafeCoerce to interpret the bits making up a Float into Int32 and vice-versa, so this could be used to store floating point numbers into a file, for example. 05:02:37 That conversion doesn't need to be done to do so, unless you only ever print displayed representations to file 05:02:49 |oren\: JavaScript is mostly not bad, really. It does have a few problems; one is implicit semicolons and another is having to write the word "function" rather than be able to use a shortcut such as "@(x)(x)" rather than "function(x)(x)" for example. 05:03:02 But it's fun to add one to the bit representation to get the next float. The float standard was specifically designed to allow for that 05:03:42 shachaf: in-browser SEO! 05:04:24 wtf8: How is that conversion doesn't need to be done? 05:05:00 You could just write the bytes to file. That's allowed 05:05:20 Oh, not really thinking in HAskell terms ltely 05:05:23 lately 05:05:24 Does Haskell have a command to do that? 05:05:35 * wtf8 blames Rust 05:08:13 I also suppose it will not work if the processor doesn't use 32-bit IEEE floating point, or if it doesn't use the same endianness for floating point as integers. 05:12:30 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 05:18:35 <|oren\> so tldr, Haskell allows *(*int)&x ? 05:19:28 <|oren\> that is extremely unusual for such an abstract language 05:24:19 -!- mihow_ has joined. 05:26:36 -!- Patashu has quit (Disconnected by services). 05:26:36 -!- Patashu_ has joined. 05:27:42 Hi 05:28:11 I wish it wasnt this name sigh 05:28:40 You guys talking about haskell?! 05:28:49 <|oren\> yep 05:29:29 Yay im new to haskell so ill just watch. 05:29:52 haskell more like hascow 05:30:23 <|oren\> shachaf: has cow or ha scow 05:31:40 <|oren\> what is a scow anyway? i seem to recall it is a word... 05:32:41 -!- yonkie_ has joined. 05:32:52 -!- diginet_ has joined. 05:33:12 -!- lambdabot has quit (*.net *.split). 05:33:12 -!- wtf8 has quit (*.net *.split). 05:33:12 -!- yonkie has quit (*.net *.split). 05:33:12 -!- mihow has quit (*.net *.split). 05:33:13 -!- diginet has quit (*.net *.split). 05:33:13 -!- paul2520 has quit (*.net *.split). 05:33:13 -!- Jafet has quit (*.net *.split). 05:33:13 -!- mroman has quit (*.net *.split). 05:33:16 -!- FireFly has quit (*.net *.split). 05:33:16 -!- qlkzy has quit (*.net *.split). 05:33:16 -!- digitalcold has quit (*.net *.split). 05:33:16 -!- clog has quit (*.net *.split). 05:33:16 -!- aloril_ has quit (*.net *.split). 05:33:16 -!- drdanmaku has quit (*.net *.split). 05:33:16 -!- zzo38 has quit (*.net *.split). 05:33:16 -!- coppro has quit (*.net *.split). 05:33:16 -!- dts|pokeball has quit (*.net *.split). 05:33:16 -!- J_Arcane_ has quit (*.net *.split). 05:33:16 -!- hjulle has quit (*.net *.split). 05:33:16 -!- trn has quit (*.net *.split). 05:33:16 -!- skarn has quit (*.net *.split). 05:33:16 -!- pikhq has quit (*.net *.split). 05:33:16 -!- incomprehensibly has quit (*.net *.split). 05:33:16 -!- newsham has quit (*.net *.split). 05:33:16 -!- Froo has quit (*.net *.split). 05:33:16 -!- madbr has quit (*.net *.split). 05:33:16 -!- atehwa has quit (*.net *.split). 05:33:17 -!- Vorpal has quit (*.net *.split). 05:33:17 -!- relrod has quit (*.net *.split). 05:33:17 -!- jameseb has quit (*.net *.split). 05:33:17 -!- variable has quit (*.net *.split). 05:33:17 -!- myndzi has quit (*.net *.split). 05:33:18 -!- mtve has quit (*.net *.split). 05:33:18 -!- mihow_ has changed nick to mihow. 05:33:39 -!- diginet_ has quit (Excess Flood). 05:34:02 -!- diginet has joined. 05:34:22 -!- diginet has quit (Remote host closed the connection). 05:34:27 -!- mroman has joined. 05:34:58 -!- diginet has joined. 05:35:53 -!- CrazyM4n has joined. 05:38:43 -!- lambdabot has joined. 05:40:17 -!- digitalc1ld has joined. 05:40:18 -!- Froo has joined. 05:40:18 -!- madbr has joined. 05:40:18 -!- atehwa has joined. 05:40:18 -!- Vorpal has joined. 05:40:18 -!- relrod has joined. 05:40:18 -!- myndzi has joined. 05:40:18 -!- jameseb has joined. 05:40:18 -!- variable has joined. 05:40:18 -!- mtve has joined. 05:41:52 <|oren\> o_O suddenly eight people join in one minute? 05:43:14 -!- FireFly has joined. 05:49:32 -!- aloril_ has joined. 05:49:34 -!- drdanmaku has joined. 05:49:34 -!- zzo38 has joined. 05:49:34 -!- coppro has joined. 05:49:34 -!- dts|pokeball has joined. 05:49:34 -!- J_Arcane_ has joined. 05:49:34 -!- hjulle has joined. 05:49:34 -!- trn has joined. 05:49:34 -!- skarn has joined. 05:49:34 -!- pikhq has joined. 05:49:34 -!- incomprehensibly has joined. 05:49:34 -!- newsham has joined. 05:49:47 -!- glguy has joined. 05:50:14 -!- skarn has quit (Max SendQ exceeded). 05:51:07 -!- skarn has joined. 05:52:04 <|oren\> codu is down 05:53:33 -!- Jafet has joined. 05:53:34 -!- qlkzy has joined. 05:53:58 -!- qlkzy_ has joined. 05:54:23 -!- Sgeo has joined. 05:54:26 -!- Patashu_ has quit (Ping timeout: 272 seconds). 05:56:40 -!- qlkzy has quit (Ping timeout: 244 seconds). 05:58:47 -!- paul2520 has joined. 06:00:27 -!- paul2520 has quit (*.net *.split). 06:00:29 -!- Sgeo has quit (*.net *.split). 06:00:29 -!- skarn has quit (*.net *.split). 06:00:30 -!- aloril_ has quit (*.net *.split). 06:00:30 -!- drdanmaku has quit (*.net *.split). 06:00:30 -!- zzo38 has quit (*.net *.split). 06:00:30 -!- coppro has quit (*.net *.split). 06:00:30 -!- dts|pokeball has quit (*.net *.split). 06:00:30 -!- J_Arcane_ has quit (*.net *.split). 06:00:30 -!- hjulle has quit (*.net *.split). 06:00:30 -!- trn has quit (*.net *.split). 06:00:30 -!- pikhq has quit (*.net *.split). 06:00:30 -!- incomprehensibly has quit (*.net *.split). 06:00:30 -!- newsham has quit (*.net *.split). 06:01:33 -!- |oren\ has quit (Quit: leaving). 06:01:51 -!- paul2520 has joined. 06:01:51 -!- Sgeo has joined. 06:01:51 -!- skarn has joined. 06:01:51 -!- aloril_ has joined. 06:01:51 -!- drdanmaku has joined. 06:01:51 -!- zzo38 has joined. 06:01:51 -!- coppro has joined. 06:01:51 -!- dts|pokeball has joined. 06:01:51 -!- J_Arcane_ has joined. 06:01:51 -!- hjulle has joined. 06:01:51 -!- trn has joined. 06:01:51 -!- pikhq has joined. 06:01:51 -!- incomprehensibly has joined. 06:01:51 -!- newsham has joined. 06:01:59 -!- oren has joined. 06:02:29 -!- skarn has quit (Max SendQ exceeded). 06:02:35 -!- Sgeo has quit (Max SendQ exceeded). 06:02:59 -!- Sgeo has joined. 06:03:08 -!- skarn has joined. 06:03:40 Oh, freenode 06:04:29 i just quit and reconnected but the problems are still happening... 06:05:49 Problems? 06:06:19 people quitting and joining en masse 06:07:30 hm.. i guess it has quieted down 06:09:34 -!- adu has joined. 06:11:15 -!- Tefaj has joined. 06:12:02 Hm 06:12:10 Freenode does this occasionally 06:12:29 does what? 06:12:37 meanwhile i'm trying to figure out why gcc doesn't complain about my code 06:12:53 oren: do you have -Wall ? 06:13:03 -Wall -Wextra 06:13:13 what code? 06:13:41 Disconnects and reconnects people en masse 06:13:49 http://ctrlv.in/473644 this code 06:14:26 oh crap, look in the lower left for the code 06:14:31 dat font 06:14:53 oren: can you you use a pastebin that supports text please? 06:15:55 http://pastebin.com/CnNbnMvv 06:15:57 Try clang? 06:16:34 -!- Jafet has quit (*.net *.split). 06:16:57 oren: I don't see any issues with that code 06:17:19 the pointer casting is supposed to be unsafe or something 06:19:28 its supposed to "break strict-aliasing" 06:19:55 oren: I think you're confusing 3 things 06:20:30 ok what are they? 06:20:35 (1) unsafe (2) undefined behaviour (3) compiler warnings 06:21:27 ok... so is what i'm doing undefined or not? 06:21:39 I think your code probably uses UB, but it looks like dt gives a size bound for dp 06:22:58 lots of casting involves UB, any time you store data with one type and load it as a different type, that's UB 06:23:58 on the other hand, GCC usually gives lots of warnings if you don't cast, and if you do cast, then it doesn't give warnings 06:25:12 AHA: http://stackoverflow.com/questions/23848188/strict-aliasing-rule-and-char-pointers 06:25:29 char pointers are apparently special... that is handy. 06:25:55 (i guess they have to be, otherwise memcpy could not be defined behaviour) 06:26:13 void pointers are also special 06:26:27 -!- glguy has quit (Quit: Part). 06:26:41 but you can't do arithmetic on them... 06:29:05 basically people use char * way to often to manipulate other data types 06:29:14 that and file loading, memset, memcpy etc 06:29:24 so it has to work 06:29:58 incidentally I think llvm uses a different memory anti-aliasing scheme so it doesn't really care 06:29:59 -!- Tefaj has left. 06:30:20 `qntmradate 06:30:20 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: qntmradate: not found 06:30:27 note: I might well be wrong on this please do not write nuclear power plant code based on what I just said :o 06:30:28 Finale!! 06:31:11 it aint nuclear power code, it's just an interpreter for scrip7, whihc i invented for videogame scripting 06:31:23 and debugging 06:31:35 also I'm not sure how much anti-aliasing gains you on x86 anyways 06:32:29 oh wait 06:32:41 this is also different in c99 vs c++ 06:35:11 -!- SopaXT has joined. 06:35:49 llvm does do type-based alias analysis 06:35:54 not sure whether gcc or clang are more aggressive 06:36:11 So my random bf generator generated a program that produced this http://i.imgur.com/llJgd4M.png 06:36:16 :? 06:36:57 every second ascii char? 06:37:10 Yeah, seems like it 06:37:12 starting at 11 06:37:14 Didn't realize at first 06:37:28 But there's the weird stuff like || and [007f]~[007f] 06:37:51 "unsafe" generally means different things depending on whether you're talking about C/C++ or something else 06:38:03 (character [007f] is what beef defaults to when you output a negative) 06:38:08 it loops around 06:38:23 adu : I thought it meant that the optimizer might do things that break it? 06:38:25 A negative one, that is 06:38:59 in other languages the word "unsafe" is a synonym for C-pointers, in C the word "unsafe" means something a little more specific 06:39:03 madbr: yah that is what i am worried about, but apparently char* is special... 06:39:31 Does something like FunctionFuck or ObjectFuck exist? 06:39:50 madbr: that's generally only in the context of multi-threaded code 06:39:52 there aren't very many object oriented tarpits 06:39:57 SopaXT, have you seen Pure BF? 06:40:04 though there are lots of functionnal ones 06:40:13 yeah lol 06:40:19 adu : multithreaded is a different issue 06:40:30 still attempting to understand it! 06:41:02 It's called brainfuck for a reason :P 06:41:16 :D 06:41:17 once multithreading comes into play a lot of stuff ends up with some crazy catches 06:41:38 for instance, writing to a misaligned int is not atomic 06:41:45 but i've liked to do something like syscalls in bf 06:41:58 using stdlib-like 06:42:11 Make your own bf interpreter? 06:42:39 and then just add functionality until you've made your own bf derivative 06:42:40 alreadly done 06:42:52 SopasFuck lol 06:42:59 has functions 06:43:11 and weird syntax 06:43:50 http://esolangs.org/w/index.php?title=Sopasfuck&action=edit&redlink=1 06:43:54 ? 06:44:15 I don't want to officially create it 06:44:28 there are a lot of them 06:44:40 kinda wonder, if you made bf multi threaded, how many other things you could take out of it 06:44:44 anyhow, sleep 06:44:46 -!- madbr has quit (Quit: Pics or it didn't happen). 06:46:00 Are you making an interpreter alongside writing the specs SopaXT? 06:46:19 it's alreadly done 06:46:32 but I didn't publish it 06:46:47 for example: 06:46:57 {.,} # define a function 06:47:16 +? # call it 06:47:27 isn't there a multithreaded variant of Befunge? 06:47:39 functions are given numbers 1-..... 06:47:42 brb making simplefunge multithreaded 06:47:46 one thread per instruction ;) 06:48:15 lol 06:48:21 lol 06:48:24 oh no what have I done? 06:48:36 ? 06:49:00 I was always a big fan of Funge-98 06:49:04 I have some C program, for some reason if I specify the -d option without -i in a batch file, it crashes, but it works if I include -d and -i or if I run it directly from the command prompt. 06:49:26 I wish I was good enough at befunge to say that I love it 06:49:30 zzo38: what's a batch file? 06:49:34 It's uh... cool 06:49:35 :P 06:50:01 [wiki] [[StaPLe]] N http://esolangs.org/w/index.php?oldid=41463 * BCompton * (+5740) Created page with "'''StaPLe''' (''Sta''ck ''P''rocessing ''L''anguag''e'') is a stack-based programming language created by [[User:BCompton]] in 2014 influenced by Lisp and Joy, among others. ..." 06:50:11 maybe named functions are better? 06:50:21 Well, actually it is a "Windows NT Command Script" and is not really a DOS batch file. 06:50:52 Ooo, StaPLe is pretty cool 06:51:08 [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=41464&oldid=41426 * BCompton * (+13) /* S */ 06:51:31 Trying to execute it in the debugger doesn't reveal the problem. 06:51:46 Also, it does the same regardless what optimization settings I put. 06:51:46 show us your program?! 06:52:16 This is the program http://sprunge.us/HIaL 06:53:17 wow. http://imgur.com/gallery/hRf2trV 06:53:47 I wish I knew enough to do that 06:54:01 I was actually working on some similar stuff as a kid. 06:54:38 what is that abbreviature btw, in source code? 06:55:12 -!- Jafet has joined. 06:55:44 Does anyone know why my program is doing what it is doing? 06:56:33 [wiki] [[Deadfish]] http://esolangs.org/w/index.php?diff=41465&oldid=40751 * BCompton * (+330) StaPLe 06:56:37 SopaXT: what is what? 06:56:48 zzo38: I don't know anything about Windows, I only know UNIX 06:57:34 I only know my own operating system 06:57:37 zzo38: the last time I used Windows was in 1990 06:57:40 /s 06:57:59 UNIX is so much better 06:58:07 Yes, UNIX is better 06:58:19 windows has a better API though 06:58:20 However I intend this program working both Windows and UNIX systems. 06:59:04 oren: you mean all those undocumented APIs that everybody uses even when they're not supposed to, then stupid users complain about everything not working when they upgrade 06:59:33 -!- SopaXT has quit (Read error: Connection reset by peer). 06:59:51 no, i mean HWND instead of stupid QT and TK. 07:00:28 opening a window on windows is as easy as opening a file 07:00:38 -!- SopaXT has joined. 07:00:43 ARRR 07:01:35 on linux it is much harder, mostly because there are so many ways to do it and most of them don't work on all distros 07:01:36 oren: I have no idea what HWND is 07:01:56 oren: but I think that was one of the reasons why so many people have contributed to Wine 07:02:24 arrr 07:02:37 Argh 07:02:56 damn freaking irc client 07:02:59 oren: http://www.joelonsoftware.com/articles/APIWar.html 07:03:21 so, what to do with my new functional bf 07:03:42 and I see some problems in numbered functions 07:04:02 hmm 07:04:15 Write a BF interpreter in it 07:04:19 oren: I personally think the best API ever designed was the BeOS API 07:04:28 logic! 07:04:55 I don't make a lot of GUI programs though, because non-GUI programs are generally better 07:05:04 http://en.wikibooks.org/wiki/Windows_Programming/Window_Creation#Creating_Windows <-- to create a window is one function call on windows. it is so easy! 07:05:47 most of those params can be nulled as well 07:05:50 Tk is about as easy 07:05:57 easier really 07:06:22 but Tk is only one of many windowing libraries 07:06:37 the Root windowing library is X and X sucks. 07:07:25 oren: there are plenty of alternatives to X 07:07:36 X isn't really a toolkit... 07:08:07 having a plurality of windowing toolkits hinders development 07:08:24 thye should have made the X api better 07:08:35 GGI, DirectFB, SDL, Wayland, Fresco, etc. 07:08:55 oren: if you hate X so much, just use one of those 07:09:05 Do you like Athena widget kit? It should need more keyboard control probably other than that is good I think 07:09:10 you could use Wayland. which leaves even more up to the toolkit. 07:09:38 i use SDL mostly except for games where i use Allegro 5. 07:10:04 Windows is easy! I made a program to kill csrss.exe in like 15 lines and sent it to my friend 07:10:14 Good times 07:10:14 although SDL is kind of sparse 07:10:26 what is csrss.exe? #cantgoogle 07:10:33 incidentally doesn't windows just stuff most of the gui crap into kernel-space 07:10:43 kind of a design of questionable elegance 07:10:48 I don't know 07:10:52 SDL 1.x isn't too bad 07:10:55 exactly that is what made it fast in old days 07:10:57 Kinda like init 07:11:35 oren: well, I mean, NT used to have it in user-space, I think, but then they moved it back in. 07:11:35 while X used to be slow as crap (or so says my dad who lived thru that time) 07:11:40 I bet dave cutler wasn't happy about that. 07:12:37 X uses a client-server model which makes gui networking much easier tho. 07:12:56 ssh -XC and so on 07:13:09 so that is a plus 07:15:02 basically the UX of linux has only recently surpassed Windows (and arguably the UX of windows has actively declined recently) 07:16:30 -!- SopaXT has quit (Ping timeout: 258 seconds). 07:27:58 Do you have an idea about what could be causing the problem in my program? 07:30:55 -!- clog has joined. 07:31:10 does the code do anything clever to the console? 07:31:31 Can't you see the program? The only thing it does is change the file mode. 07:31:42 -!- SopaXT has joined. 07:31:46 That is the only Windows-specific code in the program. 07:31:48 Awesome. Thanks to a clever contributor, Heresy now has an immutable object system. 07:33:19 I don't know if there is some buffer overflow or something like that 07:35:01 hmmmm 07:35:16 i don't see anything obviously wrong 07:36:55 Neither do I 07:39:36 what do the options in question supposed to do? 07:43:10 'd' sets the mode of stdout to text, but it doesn't ever put it back to binary. should it? 07:45:01 It shouldn't since it is supposed to use a different output format entirely 07:45:11 -!- adu has left. 07:51:29 why exit on line 618? 07:52:53 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 07:53:01 do_lumps is never reached if 'd' is specified 07:53:12 It isn't supposed to be 07:53:30 It is supposed to omit do_lumps if 'd' is specified. 07:53:54 ok then the only candidate i see for a buffer ovflow is line 612 07:55:41 What could cause it there? 07:55:41 -!- CrazyM4n has quit (Quit: sleep). 07:57:26 Could there be any problems other than buffer overflows elsewhere in the program? 07:57:33 hmmm in do-lumps the data ppears to start at j=controls[12] 07:58:03 while in the 'd' code, you started at 0 07:59:00 what was the nature of the crash? did it segfault or just silently close? 07:59:24 It did segfault. 07:59:55 And only when called from the batch file with -d and not -i (so it can't be in do_lumps, isn't it?); calling the same directly from the command-line doesn't crash. 08:00:03 then the most likely cause is a buffer overflow or a bad pointer 08:00:28 huh??? 08:01:17 that is really weird... what else is in the bath file? 08:02:03 could the input differ? 08:02:12 Deleting the other commands from the batch file doesn't change it; making it to redirect input/output or not doing that also doesn't change it. 08:02:57 Also, it gets stuck (doesn't close or do anything) when the batch file has no options and only the input filename. It doesn't do this on the command-line! 08:06:11 -!- Tod-Autojoined has changed nick to TodPunk. 08:07:21 hmm try adding test code to analyze the actual input params 08:08:10 they could be different due to subtle differences in the shell 08:09:36 e.g. for(i=0;i I just did that, and I can see it didn't change it. 08:12:08 (I actually did it a bit differently; I used fprintf(stderr,"<%s>",argv[i]) instead so that I can see if there are spaces that don't belong.) 08:12:58 But I found out something now. Even from the command-line, if it is the first command entered in a new window it crashes the same as the batch file; trying again it works every time subsequently. 08:16:02 what output comes before the crash? 08:16:52 Only -d and the filename. 08:19:58 so it is crashing while executing code, not while outputting results 08:20:41 Yes, it looks like that 08:23:02 see if you can figure out a small code file that causes it to crash. 08:23:27 does it crash if the code file is empty for example? 08:24:14 does your code file have blank lines? 08:29:47 OH! in your macro code, you put the return of reallocing names[].macro into p, but never assign it to names[].macro. that could cause a segfault from accessing freed memory 08:30:24 lines 424-428 08:31:06 -!- azazel_ has quit (Quit: Connection closed for inactivity). 08:32:19 because realloc does not have to resize memory, it can also allocate a new larger buffer, copy data in, and return the new buffer, after freeing the old one 08:37:20 O, you are right 08:37:27 Now I can fix it thank you 08:38:10 I don't know why I put "p" there instead of assigning it to names[].macro 08:40:06 the problem is code like this can still work perfectly until some random thing causes it to fail... one of the worst things about C 08:40:36 that's what happens when you rely on UB ;P 08:41:30 What would help then is to make the C *interpreter* which can check these errors 08:41:56 tcc has an interpreter mode 08:42:00 And then it can be compiled afterward 08:42:22 i dunno what it does tho 08:43:18 it would be cool to have a C static analyser/interpreter that does lots of pedantic UB analysis yeah 08:43:27 clang has UBsan 08:43:33 but I think you could do a lot more with a specialised tool 08:43:41 basically by trying to make everything as symbolic as possible 08:43:56 https://code.google.com/p/c-semantics/ there is this which is really cool 08:45:05 sorry, that should be https://github.com/kframework/c-semantics 08:45:13 though the google code page explains it better 08:45:37 maybe it actually can detect all UB 08:45:38 ooh that does look cool. especially that i will have yet another *cc command available 08:45:40 actually I guess it can't 08:45:45 since some of it is impossible to detect I think 08:45:53 well I guess you can mayb edetect all UB triggered on a given run of a program 08:46:05 "Running SEARCH=1 ./a.out will exhaustively search the state space resulting from considering all possible expression sequencings (as allowed by the standard) and generate a .pdf and .ps of the space (if Graphviz is installed). This is the only way to check all possible evaluation orders of a program to find undefined behavior." this is really cool :) 08:46:17 so you can tell when you have a branch that can do UB 08:55:22 -!- Froo has changed nick to Frooxius. 09:04:58 -!- Patashu has joined. 09:07:03 zzo38: There's also CINT: http://root.cern.ch/drupal/content/cint 09:07:36 come undefined behaviour is less defined than other 09:07:40 *some 09:08:45 *(int*)NULL = 2 is pretty much defined as "segfault immediately" for example 09:10:50 (and sometimes that is what you WANT) 09:10:55 Well, on computers that have segfaults anyways 09:11:08 Some computers don't have segfaults 09:11:21 right. i guess on NES there is no invalid address 09:11:26 that doesn't necessarily segfault in kernel code 09:11:44 I'm not sure it even does in userspace (like, did windows 3.11 map the zero page that way?) 09:11:52 *"always" does 09:12:37 hmmm.... i dunno. i've only ever used C on winNT+ and linux. 09:13:09 :) I like ice cream 09:13:22 There have been all sorts of ways to map the bottom few pages on Linux, even with a positive mmap_min_addr. 09:13:29 NES is using 6502, so if NULL is defined as zero then that points to the zero page, which happens to be RAM. Some addresses are meaningless, but that doesn't make them invalid (it just won't do anything if you write to there). 09:13:51 E.g. I've heard of making an ELF file that fills up most of the rest of address space so the VDSO goes in the zero page. 09:14:13 the zero page contains the stack on 6502 doesn;t it? 09:14:47 No; the stack is at $0100-$01FF 09:14:52 The zero page is at $0000-$00FF 09:15:32 oh right. i vaguely remeber reading about this 09:15:34 They may be mapped to the same RAM (such as on Atari), but on Nintendo they are separate parts of the RAM. 09:18:01 shachaf: dang... i have been doing it wrong then. i thought writing to a null pointer would be a reliable way to get a core dump of the current program state. 09:18:21 It's undefined behavior. 09:18:31 So it's not reliable anything. 09:18:34 but how undefined is it? 09:18:47 Fully. 09:19:07 Why not asm("int3"); or something? 09:19:14 (Does SIGTRAP dump core?) 09:19:29 (Maybe I'm mixing it up with something else.) 09:19:37 shachaf: Well, asm("int3"); is only define for the specific computer too 09:19:47 Yes, but it's reliable. 09:20:11 Writing to NULL is probably also reliable, but who knows. The compiler could optimize it away or what not. 09:20:16 Yes I suppose it is, but then you should use #ifdef 09:20:45 I don't know what you should use. 09:21:34 kill(getpid(), SIGSEGV); 09:21:43 meh, i guess for debugging a computer-specific thing is ok 09:21:44 obviously 09:22:56 does abort() core dump 09:23:35 Oh. Probably. 09:24:09 oh that would apparently work! 09:25:22 kind of the point of the call, I think :p 09:25:45 i thought the point was that atexit isn't called? 09:26:04 DESCRIPTION The abort() function causes abnormal program termination to occur, unless the signal SIGABRT is being caught and the signal handler does not return. 09:26:07 Any open streams are flushed and closed. 09:26:16 That's the point of _exit 09:26:24 http://pubs.opengroup.org/onlinepubs/9699919799/functions/abort.html 09:29:19 I have did something make a program to segfault in order to break into the debugger, without having to define the breakpoint every time. But, what might help better is to have a #breakpoint command that causes the debugger to predefine a breakpoint on that line; in such a case the breakpoint is ignored if not in a debugger. 09:30:03 (And, it isn't compiled in either, except in the debug info block.) 09:34:37 -!- Frooxius has quit (Quit: *bubbles away*). 10:00:01 i am making a test script for scrip7 interpreter, in order to start stabilizing the spec 10:01:44 -!- Deewiant has quit (Quit: Viivan loppu.). 10:03:35 -!- Deewiant has joined. 10:04:07 -!- Deewiant has quit (Client Quit). 10:04:14 -!- Deewiant has joined. 11:11:12 [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41466&oldid=41434 * Orenwatson * (+10) fraction literals 11:25:25 http://xkcd.com/297/ "these are your father's curly brackets and semicolons. inelegant weapons... for a brutalistic, uncaring universe." 11:27:44 I really need to start nailing down some documentation for Heresy. 11:42:22 documentation? ha! i'm only just starting to write unit tests! 11:42:47 it'll be a long way until i have detailed documentation. 12:01:41 -!- Patashu has quit (Ping timeout: 245 seconds). 12:04:10 [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41467&oldid=41466 * Orenwatson * (+49) brackets and curly brackets. 12:09:41 oren: My previous projects have largely been documentation-driven; ie. writing the spec and even full docs and then implementing, altering where needed. But Heresy didn't really go that way. 12:10:36 ah i see... i tend to write code first and think later 12:11:08 i end up with abominations often though 12:11:24 -!- SopaXT has quit (Ping timeout: 250 seconds). 12:12:07 abominations which work, but i can't tell why the next day 12:15:31 or sometimes they only work on the day i wrote them 12:21:50 [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41468&oldid=41467 * Orenwatson * (-369) updated some examples, removed ones i'll update later. 12:24:49 [wiki] [[Scrip7]] M http://esolangs.org/w/index.php?diff=41469&oldid=41468 * Orenwatson * (-2) e notation for floats is not supported. i will come up with a different notation... 12:38:14 I'll have to test if this crazy stuff works 12:41:32 [wiki] [[Scrip7]] M http://esolangs.org/w/index.php?diff=41470&oldid=41469 * Orenwatson * (+0) fixed example 12:47:29 -!- MoALTz has joined. 13:05:00 -!- ZombieAlive has joined. 13:07:36 the best thing about transparent terminals is watching youtube videos through them 13:20:04 How does 3.4^7 sound as float exponent notation? 13:22:50 what's wrong with 3.4e7? 13:23:02 e is a variable name 13:23:18 -!- Frooxius has joined. 13:23:25 I guess 3.4^7 works, then 13:24:04 > 3.4^7 13:24:07 5252.335014399998 13:24:10 Kind-of funny, J's literals are the other way around: all symbols are reserved for separate tokens so number literals use infix letters for things instead 13:24:13 -!- cluid has joined. 13:24:30 [ 2p3 3j4 1e5 16b100 13:24:41 ] 2p3 3j4 1e5 16b100 13:25:02 I guess the bots are all dead, or I don't remember their prefixes 13:25:37 there was a big disconnection storm earlier today 13:27:10 re infix letters, hex notation uses letters, so scrip7 requires a space at the end of all hex literals 13:27:30 `echo Hi! 13:27:42 Hi! 13:27:44 hi 13:27:59 @metar LOWI 13:27:59 hi 13:27:59 LOWI 141320Z 26005KT 230V300 9999 FEW060 BKN170 BKN300 08/01 Q1018 R08/19//95 NOSIG 13:39:46 oren: 3.4⏨7 13:40:59 blah i'd rather not tie to a particular encoding, aside from insisting ascii-compatibility 13:41:20 Apparently in ALGOL 68 one could also use \ for this purpose. 13:41:33 I.e. 3.4\7 13:42:15 Just allow syntax definitions, so you can defer these exceedingly difficult decisions. 13:42:51 Jafet: e.g. the lisp solution. nahhhhh 13:45:13 ok, super unstable release 2014-12-14 9:00 is ready for release! 13:46:43 Apparently in Simula it’s 3.4&7 for single and 3.4&&7 for double. 13:48:24 done the pastbin now updated to the newest super unstable verion 13:51:41 maybe i'll switch it to github... 13:52:08 nahhhh 14:00:38 [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41471&oldid=41470 * Orenwatson * (+22) float exponents, and forgot the all-important atan2 operator 14:02:17 Hmm. CoCo community is running a compo to write something in 4K Color Basic 1.0. 14:02:53 -!- Frooxius has quit (Quit: *bubbles away*). 14:19:35 -!- nys has joined. 14:24:08 so i am going to put in the undivide operator but i need a notation for it 14:24:33 \ 14:24:44 that is a yen sign 14:25:18 -!- Frooxius has joined. 14:25:55 anyway the undivide operator takes one real number as input and produces two integers which when one is dived by the other it produces that real. 14:29:13 hmm maybe y? 14:30:24 \ is taken by xor, but perhapsi can cange it to x? 14:31:17 why not use ^ for xor 14:31:20 thhats what C does 14:31:43 because ^ is exponentiation, and C is kinda stupid 14:32:53 how about \ for undivide and X for xor? 14:33:14 undivide? 14:33:19 what the hell 14:33:35 scroll up for definition. 14:34:36 oh 14:34:46 how is that any useful? 14:35:11 it could be useful if you want fractions? 14:35:16 okay 14:35:26 how about ~ 14:36:05 unfortunately ~ is taken by the equality test 14:37:04 hmmm... i think i'll just use u for undivide 14:37:07 does it have to be on a normal keyboard layout? 14:38:02 not technically, but it does have to be one byte which basically means yes 14:38:29 × for xor? :p 14:38:42 X for xor? 14:39:08 no, × 14:39:12 as in \times 14:39:28 tab-imes? 14:41:10 anyway good idea. move xor to X, put undivide on \. 14:41:45 -!- oerjan has joined. 14:43:25 and codu is down again... 14:43:45 we were discussing the undivide operator. 14:45:10 i'm just saying, tunes is still working... 14:55:37 -!- copumpkin has joined. 15:01:35 eek clog had a breakdown 15:01:58 I WILL NEVER KNOW WHAT HAPPENED. wait i could check when codu comes back up. 15:02:12 very OCP?D 15:03:50 a bit over 2 hours missing 15:13:02 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 15:25:07 -!- copumpkin has joined. 15:26:14 now xkcd has no pictures loading... 15:27:06 no http://imgs.xkcd.com/comics/documents.png ? 15:28:40 (works for me™) 15:30:43 nope it doesn't work you're clearly talking crazy hth 15:31:20 hmm. imgs.xkcd.com is an alias for cds.d6y9y4w5.hwcdn.net 15:31:35 fancy4w5 15:31:53 Highwinds Technologies, never heard of them. 15:32:14 Must be a cloud reference. 15:32:46 well the cdn part is pretty obvious 15:33:08 `unidecode 📣 15:33:12 U+1F4E3 CHEERING MEGAPHONE \ UTF-8: f0 9f 93 a3 UTF-16BE: d83ddce3 Decimal: 📣 \ 📣 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) 15:33:42 how do they know it's cheering 15:34:07 it could be chastising 15:34:18 oerjan: content denial network, in your case? 15:34:27 yep 15:36:04 ☎☏✆℡📞📱📱📲📴📵🕻🕽🕾🕿🖁 <-- I don't have a font that can display all those :-( 15:36:40 But it seems that phones are still kind of important. 15:36:46 I seem to be missing the last five. 15:37:00 I only see hte first four 15:37:39 Only the first four show up in curses-based things, because the libs don’t have width-definitions for the rest yet, looks like. 15:38:13 I'm checking in a browser, and in gucharmap (which is where this selection came from in the first place) 15:38:47 (The "CHEERING MEGAPHONE" was an accidental finding; I was looking for "phone".) 15:38:59 also missing last five 15:39:33 hehe, "namespace_protected" is a fun way to say a C library prefixes its functions with a fixed two-letter prefix. there are thousands of libraries doing that. 15:40:02 so how many collisions have you encountered? 15:40:10 not too many 15:40:24 there's remove and clog of course, 15:40:31 but those aren't prefixed 15:40:56 then there was some clash between gmp and libtommath, the latter of which should really know better than to use the same prefxi 15:41:44 are they using the "drop in replacement" excuse? 15:41:48 no 15:41:53 completely different interface 15:42:02 then, ewww. 15:42:37 But to clarify my question, I meant collisions of the two-letter prefixes. 15:42:41 then of course I've hunted down clashes from stupid coders at work, but those too are exactly because they're not namespace-protected 15:42:54 int-e: between gmp and libtommath I think it's a three-letter prefix that crashes 15:42:57 let me check exactly 15:43:06 and some functions using those prefixes are the same 15:43:13 um 15:43:15 have the same name 15:43:38 ah, the base prefix here is "mp", that *is* kind of generic. 15:43:53 I guess they parsed gmp's prefixes as hungarian coding of types/categories, rather than prefixes reserved for gmp 15:46:18 int-e: the clash is with libtomfloat actually, which uses the "mpf_" prefix, the same as the bigfloat part of gmp 15:46:37 int-e: so both have an mpf_add function 15:46:44 -!- dts|pokeball has quit (Ping timeout: 258 seconds). 15:47:03 nice. 15:47:19 b_jonas: any 'xmalloc' clashes? 15:47:58 I think I've seen that particular name for error-checking malloc wrappers several times. 15:48:45 int-e: dunno, I hope that's usually a macro for foo_xmalloc in all library foo 15:49:49 int-e: What *were* the last five chars, btw? 15:50:13 and the author certainly knew about GMP when he wrote this, he refers to it in the docs multiple timse 15:50:14 `unidecode 🕻🕽🕾🕿🖁 15:50:15 U+1F57B - No such unicode character name in database \ UTF-8: f0 9f 95 bb UTF-16BE: d83ddd7b Decimal: 🕻 \ 🕻 (🕻) \ Uppercase: U+1F57B \ Category: Cn (Other, Not Assigned) \ \ U+1F57D - No such unicode character name in database \ UTF-8: f0 9f 95 bd UTF-16BE: d83ddd7d Decimal: 🕽 \ 🕽 (🕽) \ Uppercase: U+1F57D \ Catego 15:50:33 interesting. 15:51:03 http://www.fileformat.info/info/unicode/char/1F57B/index.htm is the first one 15:51:20 -!- dts|pokeball has joined. 15:51:55 Ah, they don’t show up in my gucharmap, probably my unicode isn’t updated yet or something. 15:52:03 and of course I passionately hate libcurses for its stupid choice of global function names 15:52:32 I know it's all for a historical reasons, but still 15:52:38 Melvar: apparently they were added in June 15:52:58 int-e: Yes, Unicode 7.0 . 15:53:03 the nethack source has some crazy identifier names and macros too 15:53:15 (I'm running Debian unstable) 15:53:16 that at least was never intended as a reusable library, but still 15:54:01 “GNOME Character Map↵3.10.1↵Based on the Unicode Character Database 6.3.0” 15:54:14 Yup. 15:54:39 * Melvar is running Fedora 20 still. 15:55:09 GNOME Character Map 3.14.1 Based on the Unicode Character Database 7.0.0 15:55:20 3.14.1 is kind of nice. 16:02:23 In any particular way? 16:02:37 just a nice round number 16:03:51 Oh. 16:06:53 -!- dts|pokeball has quit (Ping timeout: 272 seconds). 16:12:12 oerjan: Base 37 survived the henkma attack.) 16:14:16 yay 16:14:48 My Collatz parity didn't, but thst's not too surprising. 16:14:53 irregular webcomic is finally starting to fit its name 16:15:13 the reruns are running late? 16:15:17 (well, the irregular part, it stopped fitting the webcomic part) 16:15:25 no, the sunday annotations 16:16:26 whats the point of writing programs short? 16:16:39 intellectual challenge 16:17:03 I guess its fun if you have a chance of winning 16:19:01 wow, 10 spaces... that's a lot of auxilliary functions? 16:19:51 err. 8. still a lot, but not frightening. 16:24:10 -!- mihow has quit (Ping timeout: 264 seconds). 16:25:26 yep, second time the annotation is late 16:25:47 http://www.irregularwebcomic.net/3360.html was the previous one 16:25:55 no wait 16:25:58 I think that one wasn't late 16:26:09 maybe first time then 16:26:14 at least we get a filler 16:33:40 this code can't work… 16:35:55 it's also stupid 16:36:06 I'll have to find some otehr code. 16:42:17 -!- GeekDude has joined. 16:56:32 -!- oerjan has quit (Quit: leaving). 16:57:58 -!- MoALTz_ has joined. 17:01:00 -!- MoALTz has quit (Ping timeout: 256 seconds). 17:20:35 -!- drdanmaku has joined. 17:24:08 -!- Phantom_Hoover has joined. 17:38:31 -!- augur has quit (Remote host closed the connection). 18:01:46 -!- glguy_ has joined. 18:01:59 -!- glguy_ has changed nick to glguy. 18:29:53 [wiki] [[Truth-machine]] http://esolangs.org/w/index.php?diff=41472&oldid=41383 * BCompton * (+84) StaPLe 19:09:10 -!- augur has joined. 19:11:30 NYTimes hides a job ad in a Javascript console message. 19:11:55 nice 19:14:18 -!- boily has joined. 19:15:00 http://imgur.com/mPmZJ04 19:15:11 so does imgur 19:17:40 is there also a message hidden in the javascript comments saying that their boss made them put that conole message but he would like to warn you against working there? 19:30:25 -!- oren has quit (Quit: Lost terminal). 19:36:48 -!- oren has joined. 19:45:35 -!- atslash has joined. 19:46:05 -!- augur has quit (Remote host closed the connection). 19:49:10 -!- dts|pokeball has joined. 19:56:25 -!- qlkzy_ has changed nick to qlkzy. 20:02:49 -!- Patashu has joined. 20:18:48 -!- dts|pokeball has quit (Read error: Connection reset by peer). 20:19:50 -!- dts|pokeball has joined. 20:25:34 -!- Patashu has quit (Ping timeout: 256 seconds). 21:16:14 -!- dts|pokeball has quit (Ping timeout: 245 seconds). 21:33:23 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 21:43:21 -!- bb010g has joined. 21:49:22 [wiki] [[Special:Log/newusers]] create * Sergio0694 * New user account 21:49:33 -!- cluid has quit (Quit: Leaving). 21:55:41 -!- augur has joined. 21:56:12 -!- augur has quit (Read error: Connection reset by peer). 21:56:47 -!- augur has joined. 22:01:26 -!- dts|pokeball has joined. 22:02:55 -!- zzo38 has quit (Remote host closed the connection). 22:12:06 -!- dts|pokeball has quit (Ping timeout: 250 seconds). 22:13:51 [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41473&oldid=41471 * Orenwatson * (+119) upadted: xor is X, undivide is \, special output format is x 22:19:13 -!- dts|pokeball has joined. 22:21:21 -!- MoALTz_ has quit (Quit: Leaving). 22:38:27 -!- Sprocklem has joined. 22:39:25 -!- GeekDude has changed nick to GeekAfk. 22:39:45 -!- oerjan has joined. 22:45:03 -!- glguy has quit (Quit: Part). 22:59:01 -!- boily has quit (Quit: ORTHONORMAL CHICKEN). 23:01:20 "Although Diet Coke and Cyanide have similar properties, ..." 23:11:03 I prefer Real Coke 23:11:16 with actual sugar 23:11:37 i prefer cola that's not from coca cola 23:11:59 well among all soft drinks my favorite is Brio. 23:12:15 yesss 23:12:15 never heard of that 23:12:34 brio's a canadian brand of chinotto 23:12:45 it is a Chinotto-flavored, caffienated soft drink which is awsome 23:12:52 well ... okay 23:14:26 chinotto is like sour, bitter and sweet all in one 23:14:52 i never seen that at al 23:14:59 i will have an ooen eye 23:15:16 open 23:15:31 -!- copumpkin has joined. 23:18:47 -!- oren has changed nick to |oren\. 23:20:11 -!- tromp has quit (Read error: Connection reset by peer). 23:20:45 -!- tromp has joined. 23:25:19 -!- glguy has joined. 23:26:34 -!- vanila has joined. 23:26:38 can i run underload ? 23:26:54 -!- dts|pokeball has quit (Quit: Leaving). 23:27:00 in the channel? 23:27:01 ^ul (sure)S 23:27:07 it has some harsh limits though 23:27:11 oh, fungot isn't here... 23:27:13 -!- dts|pokeball has joined. 23:27:16 `! underload (test)S 23:27:18 test 23:27:42 Oh, right. 23:27:50 thanks 23:27:52 We had that thing where the electricity stops for a while. 23:28:04 : dup 23:28:09 S pop 23:28:09 flatlining? 23:28:21 vanila: ! is pop, S is print 23:28:27 ^ul :(S:S) 23:28:44 <|oren\> a blackout? 23:28:48 `! underload :(S:S) 23:28:49 Error: Stack underflow in : 23:28:51 that crashes because of trying to duplicate the top of the empty stack 23:28:53 :( 23:28:56 `! underload (S:S): 23:28:57 No output. 23:28:57 if it didn't crash it'd then push S:S 23:29:05 i have done it wrong :( 23:29:10 that program results in the stack [S:S , S:S] 23:29:16 i dont know underload 23:29:20 `! underload ((hello)S)^ 23:29:20 hello 23:29:29 `! underload (S):^ 23:29:30 S 23:29:34 ^ = eval 23:29:37 OK! 23:29:53 -!- fungot has joined. 23:30:19 <|oren\> ooh fungot is back, and supreme as ever. 23:30:20 |oren\: anton, i'm objecting to being unable to do that, and then 23:31:26 A blackout was what I was looking for, or at least that's the hypothesis. 23:31:57 * elliott pets fungot 23:31:58 elliott: 08:32 sjamaan that's very cool. ( definitely a recent release. let me rewrite the last couple of days ago 23:31:58 poor thing 23:32:26 i dont understand underload 23:33:03 I get it 23:33:45 it's like forth with eval 23:34:06 <|oren\> and mostly one symbol per action 23:35:35 vanila: here's a good underload program to try andu nderstand 23:35:41 ^ul (:aSS):aSS 23:35:42 (:aSS):aSS 23:36:42 you can use http://esoteric.voxelperfect.net/files/underload/underload.html to single-step through it 23:43:51 :aSS<> 23:43:53 what is <> 23:44:08 oh 23:44:12 stack is a stack of lists 23:44:17 not a stack of things 23:44:44 vanila: it's just the separator 23:44:54 the stack foo<>bar<>baz<> is ["foo","bar","baz"] 23:44:57 where foo is on top 23:45:05 so (foo) prepends foo<> basically 23:45:22 (foo)(bar): -> foo<> then bar<>foo<> then bar<>bar<>foo<> 23:45:51 there's also an elegant way to think of underload in terms of term rewriting that makes the stack implicit 23:46:10 :D 23:46:11 thanks 23:49:45 ^ul (:::aSS):::aSS 23:49:46 (:::aSS):::aSS 23:51:28 ^ul (:::aS:S):::aS:S 23:51:28 (:::aS:S):::aS:S 23:52:47 a new kind of quining 23:55:19 hahah how did you know! 23:55:36 know what? 23:55:48 that in generating them with a program 23:56:28 * oerjan is confused 23:57:43 > let x x=x++show x in x"let x x=x++show x in x" 23:57:44 "let x x=x++show x in x\"let x x=x++show x in x\"" 23:58:10 > let x x=text$x++show x in x"let x x=text$x++show x in x" 23:58:11 let x x=text$x++show x in x"let x x=text$x++show x in x" 23:58:25 > let x x=text$x++show x in x"> let x x=text$x++show x in x" 23:58:26 > let x x=text$x++show x in x"> let x x=text$x++show x in x" 23:59:58 :t (?) 23:59:59 Not in scope: ‘?’ 2014-12-15: 00:00:10 :t flip 00:00:10 (a -> b -> c) -> b -> a -> c 00:00:31 @let z=text"> z" 00:00:33 Defined. 00:00:33 > z 00:00:34 Ambiguous occurrence ‘z’ 00:00:34 It could refer to either ‘L.z’, defined at L.hs:154:1 00:00:34 or ‘Debug.SimpleReflect.Vars.z’, 00:00:39 argh 00:00:41 @undef 00:00:41 Undefined. 00:00:48 zimple 00:00:51 @let q=text"> q" 00:00:52 Defined. 00:00:53 > q 00:00:54 Ambiguous occurrence ‘q’ 00:00:54 It could refer to either ‘L.q’, defined at L.hs:152:1 00:00:54 or ‘Debug.SimpleReflect.Vars.q’, 00:00:57 ... 00:01:01 > let x{- quine -}x=x++show x in x"let x{- quine -}x=x++show x in x" 00:01:02 @undef 00:01:02 Undefined. 00:01:03 "let x{- quine -}x=x++show x in x\"let x{- quine -}x=x++show x in x\"" 00:01:11 -!- augur has quit (Remote host closed the connection). 00:01:23 -!- augur has joined. 00:01:26 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 00:01:57 yes, *of course* that module defines all single letter identifiers. 00:02:00 @where+ q @where q 00:02:00 Okay. 00:02:02 @where q 00:02:02 @where q 00:02:06 :( 00:02:08 :t (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) 00:02:08 (FromExpr t2, FromExpr t1, FromExpr t) => (Expr, Expr, Expr, Expr, Expr, t, t1, t2, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr) 00:02:09 does that count 00:02:18 int-e: hth 00:02:27 > "quine" 00:02:29 "quine" 00:02:29 thebest quine 00:02:30 oerjan: https://hackage.haskell.org/package/simple-reflect-0.3.2/docs/Debug-SimpleReflect-Vars.html 00:02:36 here's my quine: 00:02:39 oerjan: I found that ;-) 00:02:40 [doesn't send a message, gets no response] 00:02:47 cheating! 00:02:51 I'm executing it consatntly 00:02:53 constantly 00:02:54 only real quines like mine count 00:03:17 > () 00:03:19 () 00:03:37 ^def quine ul (^quine)S 00:03:37 Defined. 00:03:38 ^quine 00:03:38 ^quine 00:03:44 am I an expert now vanila 00:03:55 woah nice quine 00:04:19 it's homemade 00:05:08 ^ul (:aSS(anewkindofquine)):aSS(anewkindofquine) 00:05:08 (:aSS(anewkindofquine)):aSS(anewkindofquine) 00:05:20 oerjan, ^ 00:05:32 vanila: good, good 00:06:05 sorry ! 00:06:08 i thought it was funny 00:07:13 vanila: now do it with rule 110 00:08:01 how do you define quines so they make sense in rule 110 00:08:05 it's not a new kind of anything if you do it yourself, int-e 00:08:10 you have to get your employees to do it 00:08:31 oerjan: I don't know. That's part of the fun of a new kind of science. 00:08:37 int-e: ah. 00:08:51 elliott: I'm trying to get vanila do it at no pay at all. ;-) 00:09:45 :t (??) 00:09:46 Functor f => f (a -> b) -> a -> f b 00:09:51 ah there it is 00:10:26 `factor 6561 00:10:27 6561: 3 3 3 3 3 3 3 3 00:11:33 oh wait it doesn't do join hmph 00:13:48 > text.(<**>[id,show])$return"text.(<**>[id,show])$return" 00:13:49 Couldn't match type ‘[GHC.Types.Char]’ with ‘GHC.Types.Char’ 00:13:49 Expected type: GHC.Types.Char -> GHC.Types.Char 00:13:49 Actual type: GHC.Types.Char -> GHC.Base.StringCouldn't match expected type... 00:13:59 figures 00:14:33 ?where+ q ?where q 00:14:34 It is forever etched in my memory. 00:14:37 ?where q 00:14:37 ?where q 00:14:57 lambdabot 00:15:58 > text.ap[id,show]$return"text.ap[id,show]$return" 00:15:59 Couldn't match type ‘[GHC.Types.Char]’ with ‘GHC.Types.Char’ 00:16:00 Expected type: GHC.Types.Char -> GHC.Types.Char 00:16:00 Actual type: GHC.Types.Char -> GHC.Base.StringCouldn't match expected type... 00:16:07 oerjan: What are you trying to do here? 00:16:14 a quine hth 00:16:36 oh hm 00:16:44 what's wrong with the classic ap(++)show 00:17:03 ^ul (:aS(:^S^:)Sa:):^S^:(:aS(:^S^:)Sa:) 00:17:04 (:aS(:^S^:)Sa:):^S^:(:aS(:^S^:)Sa:) 00:17:09 WRONG MONAD HTH 00:17:30 > text.(>>=[id,show])$return"text.(>>=[id,show])$return" 00:17:32 Couldn't match expected type ‘[GHC.Types.Char] -> [GHC.Types.Char]’ 00:17:32 with actual type ‘[GHC.Base.String -> GHC.Base.String]’ 00:17:32 this is cool 00:17:37 > text$ap(++)show"> text$ap(++)show" 00:17:38 > text$ap(++)show"> text$ap(++)show" 00:17:47 stop makign haskell quines!!! 00:18:00 underload quines pls 00:18:06 Better unset that q thing. 00:18:10 @where+ q @where q 00:18:10 I will never forget. 00:18:18 vanila: too easy hth 00:18:21 wouldn't want any bot loops 00:18:39 oerjan: whoa, does http://slbkbs.org/serp.html work in IE? 00:18:42 @where- q 00:18:42 Maybe you meant: where+ where 00:18:50 does IE even have incremental search? 00:18:54 hmm. no? 00:18:57 IE6 didn't 00:19:07 int-e: there's no such command as @where-loud hth 00:19:23 @what q 00:19:24 @where q 00:19:45 @url q 00:19:45 @where q 00:19:56 shachaf: it worked for me yes 00:19:57 @where+ q 00:19:57 I will never forget. 00:20:01 @url q 00:20:03 ah. 00:20:07 oerjan: does backspace work 00:20:12 yes 00:20:22 too good 00:20:38 shachaf: I just found it hard to believe that this module shouldn't have a command for undefining things. But where+ itself does the job, apparently. 00:20:50 @where q 00:20:53 :t (<**>[id,show]) 00:20:53 @where somethingelse 00:20:53 I know nothing about somethingelse. 00:20:54 [String] -> [String] 00:21:00 oerjan, how about a quine in underlambda 00:21:01 int-e: fsvo does the job hth 00:21:07 shachaf: hmm. right. 00:21:17 @where+ q I know nothing about q. 00:21:17 Done. 00:21:20 eventually it'll turn out that "it worked" meant oerjan successfully got a blank page, and "backspace worked" meant that oerjan was able to go back to the previous page by pressing backspace 00:21:21 well, we can fake it. 00:21:30 How about a quine in :()^ 00:21:31 vanila: ais523 has never released underlambda so i cannot make a quine in it hth 00:21:33 that would be cool 00:21:51 step1 prove :()^ turing complete, step2 apply quine theory 00:22:06 TC is not enough to allow quines 00:22:11 turing completeness is neither sufficient nor necessary hth 00:22:27 (you may have to do some trivial transcoding from output to the language) 00:22:40 silly shachaf, iirc when i tested yesterday i wrote "hi there" then backspaced over it 00:22:51 ok revised approach: 00:22:52 step1 write a quine in :()^ 00:22:54 oerjan: ok 00:23:06 vanila: you need output to have a quine, at a minimum, hth 00:23:12 i have an alternate version that uses css to render text rather than a canvas 00:23:26 do you know what a headache it is to render text on a web page that isn't searchable with Ctrl-F hth 00:23:34 i think a quine without a and S in underload is impossible 00:23:51 oerjan: you could define an output encoding for the resulting stack 00:23:57 hmm, searching the wiki for :()^ didn't help 00:24:00 Has anyone here ever written a quine? 00:24:05 yes 00:24:06 ^quine 00:24:06 ^quine 00:24:08 int-e: Underload section 00:24:09 int-e, it's on the underload page 00:24:12 http://esolangs.org/wiki/Underload#Quine 00:24:46 ah. 00:24:58 it feels like if ():^ is TC then toothpaste must be too 00:25:11 toothpaste complete? 00:25:51 does that mean it can act as any one of whitening toothpaste, sensitive teeth and gums toothpaste, minty-fresh breath toothpaste, ... 00:25:58 hehe 00:26:02 toothpaste quine 00:26:18 you brush your teeth with it and it just coalesces into the original solid 00:27:18 vanila: i wrote the quine in /// and the one in glass, for example 00:27:26 I like the /// one... 00:27:28 probably others 00:27:30 its' very scary 00:27:35 *MWAHAHAHA* 00:28:12 it's essentially based on the same principles as the looping, just adapted to print instead of run 00:29:20 it uses a slightly different encoding than the BCT interpreter because i couldn't avoid string clashes with that one 00:29:32 (basically, one more initial / in tokens) 00:30:32 -!- GeekAfk has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 00:30:52 elliott: the toothpaste i buy is "total" protection hth 00:31:11 it probably doesn't do all those, though. 00:31:28 but total things can't be TC [conor mcbride swoops down and punches me] 00:31:50 elliott is now entrapped in a partiality monad 00:31:59 total languages can be totally cool 00:32:17 I'm partial to horrible jokes, yes! 00:32:32 I like that I'm not being charged a subscription fee for this comedy in today's episode ^_^ 00:32:44 so will ghc 7.12 be when haskell _really_ becomes dependent 00:33:58 glguy: i suspect you are mischanneling but i hope that's actually a comment on our current topic 00:34:19 *discussion 00:34:19 ^ul (a:S^S)a:S^S 00:34:20 (a:S^S)a:S^S 00:34:23 Nope, just watching the discussion, hth 00:34:25 ^ul (:aS::S):aS::S 00:34:25 (:aS::S):aS::S 00:34:27 this channel is like #haskell-crap, which is why I love it 00:34:33 ^ul ((:aS^S)):aS^S 00:34:33 ((:aS^S)):aS^S 00:34:38 ^ul (aS(:^S)):^S 00:34:38 (aS(:^S)):^S 00:34:43 ^ul ((:aS^)S):aS^ 00:34:43 ((:aS^)S):aS^ 00:34:59 glguy: btw you mean you're using this channel without a subscription? 00:35:10 /msg chanserv op #esoteric 00:35:17 elliott: there doesn't seem to be a #haskell-crap, should we get it to redirect here twh 00:35:22 I got a splitter from a neighbor's service 00:36:36 oerjan: the last thing we need is even more haskellers in here 00:36:44 aww 00:37:26 I can stick to JS or C or not talking or whatever 00:37:42 don't worry the epidemic is unstoppable already 00:38:29 there's like 20 people in here who know haskell 00:38:33 today on wikipedia: fuck 00:38:53 elliott: some of them learned about haskell here, mind you 00:39:13 yes they became tainted 00:39:16 aren't you one of them btw 00:39:43 haskell isn't as good at quines as underloab 00:39:47 I am as tainted as they come 00:40:04 can you make a language based on loebs theorme 00:40:13 i knew haskell before i came to this channel, although one of the first programs i wrote was an unlambda interpreter, which as i recall is an ancestor of the one in lambdabot 00:40:34 `` echo 28752pP | dc 00:40:35 28752 \ pP 00:40:44 `` echo 28752pP | dc | dc 00:40:45 28752 \ pP 00:41:02 that's interesting int-e 00:42:14 `` echo '[91Pp93Pp]91Pp93Pp' | dc 00:42:15 ​[91Pp93Pp \ ]91Pp93Pp 00:42:24 `` echo '[91Pp93Pp]91Pp93Pp' | dc | dc 00:42:25 ​[91Pp93Pp \ \ ]91Pp93Pp 00:42:32 ah, darn. 00:42:49 `` echo '[91PdP93Pp]91PdP93Pp' | dc | dc 00:42:49 ​[91PdP93Pp]91PdP93Pp 00:43:15 `` echo '[91PdP93Pp]91PdP93Pp' | cat | cat 00:43:16 ​[91PdP93Pp]91PdP93Pp 00:43:43 `` echo `echo cat` | `echo cat` 00:43:44 cat 00:44:08 maybe you could implement underload as unix programs 00:44:16 or something else 00:44:24 what sets of unix pipes make a TC language? 00:45:07 but unix pipes aren't very stack based 00:46:29 -!- |oren\ has quit (Ping timeout: 264 seconds). 00:49:14 you could probably make something analogous that treated stdin as a stack of lines 00:49:36 its a shame i cant find a symmetrical underload quine 00:50:03 that has been done. isn't there one on the wiki page? 00:50:10 yeah 00:50:11 but not by me 00:51:31 -!- vanila has quit (Quit: Leaving). 00:57:12 `` echo '1xd[[1xd]P91PP93P[dx1]PqP[1xd]P39pP19P[dx1]]dx1' | dc 00:57:47 (hmm ... spot the mistake) 00:57:47 `echo hi 00:57:57 hi 00:58:05 1xd[[1xd]P91PP93P[dx1]PqP[1xd]P39pP19P[dx1]]dx1 00:58:48 int-e: there isn't one? 00:59:04 it's not symmetric 00:59:09 oh 00:59:32 capital 01:00:42 (no big deal, since code after the 'q' is not executed.) 01:11:42 > reverse "1xd[[1xd]P91PP93P[dx1]PqP[1xd]P39pP19P[dx1]]dx1" 01:11:43 "1xd]]1xd[P91Pp93P]dx1[PqP]1xd[P39PP19P]dx1[[dx1" 01:16:56 What if you flip the brackets? 01:18:32 that's prohibited by the geneva convention 01:22:30 -!- nisstyre has quit (Ping timeout: 256 seconds). 01:26:18 -!- |oren\ has joined. 01:36:03 -!- |oren\ has quit (Quit: leaving). 01:36:18 -!- oren has joined. 01:45:17 -!- TodPunk has quit (Ping timeout: 264 seconds). 01:47:10 -!- TodPunk has joined. 01:50:54 -!- nisstyre has joined. 01:55:33 -!- Phantom_Hoover has quit (Remote host closed the connection). 02:10:17 `` printf "%x" 32000428082400023 02:10:47 71b03844830b17 02:11:27 wut 02:12:15 I'm wondering if there is a non-brute-force way of finding such numbers (which are palindromic in several bases, and large compared to the bases) 02:13:44 -!- boily has joined. 02:14:36 -!- glguy has quit (Quit: Computer has gone to sleep.). 02:14:50 oh and I guess the bases b, c should not satisfy any relation of the form b^k = c^l for k,l>0. 02:16:52 tricky guy 02:18:28 int-e: is there a brute-forced list for that? 02:18:40 Good evening, boily. 02:18:50 *gasp* 02:19:39 lifthrasiir: I just wrote a toy program that finds all 17-digit palindromic numbers (base 10) that are also palindromic in base 16. This is the complete list: 32000428082400023 / 32633196169133623 / 64634327472343646 / 70667820502876607 02:20:25 How many digits are they in base 16? 02:20:53 14. 02:21:09 14, all of them. 02:21:12 whoa 02:21:41 you could totally golf that down even including the 0x 02:21:46 > logBase 16 (10^17) 02:21:48 14.118194403271291 02:21:54 > logBase 16 (10^18) 02:21:55 14.948676426993131 02:22:13 the answer I was looking for was 11, obviously 02:23:45 I guess I could encode it as a SAT problem and watch minisat fail on it. (or be surprised that it actually manages.) 02:23:55 and here my first thought was "he's been checking upwards from 32000000000000000, and that was the first number he found" 02:24:22 my stupid search script (never optimized) gives: 1-9 11 353 626 787 979 1991 3003 39593 41514 90209 94049 96369 98689 333333 512215 666666 749947 845548 1612161 2485842 5614165 6487846 9616169 67433476 90999909 94355349 94544549 119919911 161131161 190080091 241090142 247969742 (no 10-digit number here) 02:24:35 (cont'd) 26896769862 28586268582 28779897782 30144644103 32442924423 39762526793 43836363834 45961216954 51113531115 56702120765 390189981093 1278169618721 1631645461361 1806872786081 2424058504242 2692667662962 3405684865043 6694367634966 7888195918887 14315822851341 17262755726271 45113388331154 397922151229793 509538666835905 522013020310225 816346555643618 1668739779378661 5099347667439905 02:24:58 oerjan: nah, I enumerated the 10^9 decimal palindromes. (I should've enumerated the 16^7 hexadecimal palindromes of length 14 instead) 02:25:12 5099347667439905 has 16 decimal digits, so the next would be 32000428082400023 (not yet found) 02:25:26 > 16^7 02:25:28 268435456 02:26:23 int-e: hm it's because 14 is even and 17 is odd 02:26:31 yeah 02:26:36 otherwise it shouldn't matter which base you start with 02:27:02 approximately sqrt(n) numbers below anyway 02:27:34 for the purpose of brute-force search, building decimal numbers is better (trivial hexadecimal conversion) 02:28:49 hm what counts for more, the 4*more to test or the harder conversion 02:28:50 373019805508910373 is the first 18-digit double palindrome. 02:30:05 aaand of course there is an OEIS entry: http://oeis.org/A029731 02:30:59 http://oeis.org/A029731/b029731.txt 02:32:22 so are there infinitely many of those numbers (heuristically, yes, and I expect a proof is way out of reach) 02:32:54 so if approximately sqrt(n) numbers below n are palindromic in one base, hm that's 1/sqrt(n) of all so if were independent there should only be a finite number palindromic in two... 02:33:06 *if they were 02:33:07 no. 02:33:32 (1/sqrt(n))^2 is 1/n and that series diverges. 02:33:37 -!- oren has quit (Quit: Lost terminal). 02:34:01 oh hm 02:35:32 hm i don't quite trust that heuristic if changing from local to global makes that much difference... 02:35:45 instead... 02:35:53 what do you mean by local and global? 02:36:32 or wait hm 02:37:11 ok between n^2 and (n+1)^2 there should be 1 palindrome 02:37:30 in one base 02:38:05 that's 2n+1 numbers 02:38:33 this is too imprecise 02:38:53 Way too imprecise for a proof. 02:39:46 ok so say between 1000000 and 1000999 there is one palindrome 02:40:07 that's 1000^2 to 1000^2 + 2*1000 - 1 02:40:56 so the density is 1/(2*sqrt(n)-1) on that interval 02:41:35 oh hm 02:41:55 i guess i am getting approximately theta(1/sqrt(n)) anyway 02:43:05 otoh this means we should expect only finitely many that are palindromes in _three_ distinct bases, iirc 02:43:23 (that sum (1/n^s) converges for s > 1) 02:43:47 which i'm not entirely sure of 02:44:00 s>=2 i'm sure 02:44:29 there are b^k palindromes in [b^(2k-1),b^(2k)-1] and in [b^(2k),b^(2k+1)-1]. 02:45:05 to me that seems easier than arguing about n^2 and (n+1)^2. 02:45:29 OKAY 02:45:53 ok s>1 confirmed 02:46:19 ? 02:46:28 for three or more, yes 02:46:37 https://en.wikipedia.org/wiki/Riemann_zeta_function 02:47:20 (that sum (1/n^s) converges for s > 1) <-- I didn't recognize this as a question. 02:48:01 it was turning into a question while i was writing it 02:48:45 oerjan: that's why question marks go at the end of sentences hth 02:48:53 did you notice that I messed up ... I should write, there are b^k palindromes in [b^(2k-2),b^(2k-1)-1] and in [b^(2k-1),b^(2k)-1]. 02:49:05 -!- nys has quit (Quit: quit). 02:49:09 shachaf: technically it only turned into a question after i'd pressed return hth 02:49:37 does that still count as writing it twh 02:49:41 no i didn't, i was too lazy to check that :P 02:49:55 and by b^k, I mean (b-1)*b^(k-1), thanks to a leading digit that should not be zero. 02:50:17 but none of this changes the conclusion. 02:51:03 anyway, if those two-base palindromes are distributed approximately as you'd expect from taking product of densities then that might indicate there _isn't_ a non-brute force method, vaguely... 02:52:02 oerjan: So, even simpler, there are 2*b^k-1 palindroms less than b^2k, since you can take every number less than b^k and append it to its reverse, possibly merging the center digits. The -1 term accounts for 0 = 00. 02:52:35 shachaf: bonshachafoir. 02:52:49 int-e: i was trying to use a smaller interval to prevent that local/global confusion i was sensing 02:53:20 oerjan: I see. Well, you needn't worry :) 02:56:39 from 1000000 to 9999999 there are 9000 palindromes... 02:56:43 -!- oren has joined. 02:57:06 -!- glguy has joined. 02:57:20 hi 02:57:24 helloren. 02:57:43 Though the n^2/(n+1)^2 idea doesn't quite work. The difference between 100001 101101 is 1100, about sqrt(10) times larger than sqrt(100001). 02:58:12 that was too short an interval 02:58:25 i think a single set of digit lengths is better 02:58:29 n^2 / (n+b)^2 will work. 03:00:03 -!- GeekDude has joined. 03:05:08 -!- boily has quit (Quit: EXPRESSIVE CHICKEN). 03:08:20 > let dens b x = 1/b^ceiling(logBase b x / 2) in dens 10 1000001 03:08:21 1.0e-4 03:08:36 oh hm that's wrong 03:08:47 > let dens b x = 1/b^round(logBase b x / 2) in dens 10 1000001 03:08:49 1.0e-3 03:08:53 > let dens b x = 1/b^round(logBase b x / 2) in dens 10 10000001 03:08:54 1.0e-4 03:09:25 > let dens b x = 1/b^round(logBase b x / 2) in dens 10 1000000 03:09:26 1.0e-3 03:09:40 > let dens b x = 1/b^round(logBase b x / 2) in dens 10 1000000 * 9000000 03:09:42 9000.0 03:09:49 > let dens b x = 1/b^round(logBase b x / 2) in dens 10 10000000 * 90000000 03:09:50 9000.0 03:10:05 > let dens b x = 1/b^round(logBase b x / 2) in dens 10 999999 03:10:07 1.0e-3 03:10:16 > let dens b x = 1/b^round(logBase b x / 2) in dens 10 9999999 03:10:17 1.0e-3 03:10:27 > let dens b x = 1/b^round(logBase b x / 2) in dens 10 10000000 03:10:28 1.0e-4 03:11:15 > let dens b x = 1/b^round(logBase b x / 2) in sum [dens 10 n * dens 16 n | n <- [100..10000]] 03:11:17 7.796289062500727 03:11:29 so 1/sqrt(bn) <= dens b n <= sqrt(b/n)? 03:12:13 well that's not too far from the actual number of double-palindromes between 100 and 10000 03:12:58 int-e: i'm just trying to make it give the right density for each number of digits 03:13:29 > let dens b x = 1/b^round(logBase b x / 2) in sum [dens 10 n * dens 16 n | n <- [100..100000]] 03:13:32 11.311914062572834 03:14:08 oh hm there's a surprising number of them in the 90 thousands :P 03:14:36 oh it's not too far away anyhow 03:23:28 * oerjan looks at freefall and wonders what gimu means 03:34:10 hmm. perhaps http://www.eudict.com/?lang=japeng&word=gimu 03:34:17 but it's a wild guess. 03:38:13 it does seem to fit at least 03:49:35 -!- GeekDude has quit (Ping timeout: 244 seconds). 03:58:08 -!- glguy has quit (Ping timeout: 258 seconds). 04:06:52 -!- GeekDude has joined. 04:16:21 -!- CrazyM4n has joined. 04:29:47 -!- oerjan has quit (Quit: Nite). 04:39:05 Are APLs even popular anymore? 04:39:27 I've been thinking about ideas for them 04:40:50 What APLs do people use, anyway? J, K, and APL are the only ones I know of. 04:41:54 -!- zzo38 has joined. 05:22:39 -!- GeekDude has quit (Remote host closed the connection). 05:29:56 -!- CrazyM4n has quit (Quit: Leaving). 05:31:04 -!- glguy has joined. 05:31:14 -!- glguy has quit (Changing host). 05:31:15 -!- glguy has joined. 05:35:02 -!- b_jonas has quit (Ping timeout: 272 seconds). 05:35:26 Let's make in Magic: the Gathering cards, a artifact card, its effect is: {X}, {T}: Change this card's mana cost to the mana you paid for this ability. 05:36:38 You can have another ability to change the name of this card to any other card on the field. 05:41:42 -!- b_jonas has joined. 05:46:57 -!- copumpkin has joined. 05:54:36 Is there any card that allows you to gain life instead of drawing cards? 06:08:12 zzo38: What would that card's mana cost be? 06:08:28 I don't think there's a card with that ability. It would probably not be very popular. 06:14:40 shachaf: If you draft it together with a card that is in combination become useful then you might use it. I don't know what its mana cost would be originally, maybe just {0} or {1} is enough. 06:15:50 There is http://magiccards.info/query?q=!Scornful+Egotist which maybe has some similar uses. 06:17:24 Actually, not really. 06:17:37 I don't know what it would be useful for. 06:17:57 I guess you mean "this permanent's mana cost". 06:18:19 Yes I mean it; even if a token copy is made it can still work. 06:21:34 I've only played a bit of Magic. What's the point of this Scornful Egotist? 06:22:08 You can draft multiple sets if that would help! Usually only one set is drafted but I have played once where two sets are drafted. 06:24:35 glguy: I never played in that block, but as I understand it there were a bunch of cards that cared about having permanents with a high converted mana cost. 06:24:53 So this was a cheap roundabout way to get some of those effects. 06:25:55 http://magiccards.info/query?q=e:scg/en+o:%22converted+mana+cost%22 06:25:58 http://magiccards.info/sc/en/49.html 06:26:31 Yes, that sort of thing. 06:27:56 -!- zemhill has quit (Ping timeout: 260 seconds). 06:27:56 -!- zemhill has joined. 06:28:24 "Once I was human. Now I am far more." -- but apparently there was an errata that stated the Scornful Egotist was still human 06:28:51 Well, it does say "more" 06:29:15 {Human} ⊂ {Human, Wizard} 06:30:01 Then he would have said. I am human. Also I am far more. 06:31:54 -!- Sprocklem has quit (Ping timeout: 256 seconds). 06:31:57 Human and Wizard are incomparable 06:32:41 Don't tell me, tell him! 06:33:12 imo so annoying that Soldier tokens aren't human 06:33:16 -!- Sprocklem has joined. 06:35:06 -!- adu has joined. 06:37:06 Why is it so annoying? 06:37:19 Maybe some soldiers will not be human soldiers? 06:37:33 Because I'd always mix them up. 06:40:31 I made up a card for Pokemon card game which is called HAND FIXER KIT and its effect is: Put all cards from opponent's trash into his hand. 06:41:41 I used to have the first couple sets of pokemon cards... and then my brother traded them away for some hockey cards 06:42:31 i,i traded some hokey cards for some hockey cards 06:47:13 Assume it is your turn after you have drawn a card you have three cards in your hand; in play opponent has only CHANSEY [Lv.55] with no damage and five energy cards attached; you have KADABRA [Lv.39], active, with 2 damage, no energy, and is sleeping, and you have only GASTLY [Lv.8] on bench with 1 energy and 2 damage; opponent has 3 cards remaining in draw pile and 1 side card remaining; you have no cards in draw pile and 5 side cards remaining... 06:48:24 Now, you can play HAND FIXER KIT and opponent is going to scream like "!!???!!!?!?!???!?!!!!!????!!?!????!!!!!?!?!?!!?!!!!??????!!!??!?!?!??!?!?!!!!!!???!?!!?!?!?!!!?!????!?!??!??!!??!?!?!?!?!?!!!!?!???????!!!!!??!?!!!!?????" 06:49:03 What do *you* think??? 06:49:23 I don't think my opponent is going to scream like that. 06:49:36 But I don't know the rules of Pokeman card game; maybe it is required. 06:49:47 No, it isn't required. 06:51:21 You should probably add that as a requirement to your card 06:51:42 glguy: Why? 06:52:07 seems like it'd make it even more complicated and more fun :) 06:52:31 Or was that long list of assumptions just a scenario 06:52:43 and not the pre-req? 06:52:48 That long list of assumptions is just a scenario. 06:53:01 The effect of HAND FIXER KIT is only "Put all cards from opponent's trash into his hand" 06:54:28 He has exactly fifteen trainer cards in his trash. In your hand you have DEVOLUTION SPRAY and HAUNTER [Lv.26]. 06:54:36 Now what do you believe? 07:04:23 -!- Sprocklem has quit (Ping timeout: 264 seconds). 07:05:07 -!- Sprocklem has joined. 07:22:42 -!- glguy has quit (Quit: Quit). 07:41:45 -!- Patashu has joined. 07:45:52 -!- Patashu has quit (Remote host closed the connection). 07:46:03 -!- Patashu has joined. 07:46:50 o.O http://techcrunch.com/2014/11/19/mozilla-partners-with-yahoo-which-will-become-the-default-search-engine-in-firefox-next-month/ 07:53:08 -!- Sprocklem has quit (Ping timeout: 258 seconds). 08:29:23 -!- adu has quit (Quit: adu). 08:29:25 I do not expect changing the default searching engine is anything wrong; regardless what it is by default, you can easily change it to whatever one you want, or add your own 09:09:52 Most won't though. 09:10:17 The Google-Firefox deal was big money for both. 09:22:53 -!- Phantom_Hoover has joined. 09:24:13 Helpful commit message of the day: "zip and zipwith. These work exactly as you'd expect if you've used Haskell. You might not've, so they work exactly as they say." 09:28:09 :D 09:28:11 Link? 09:28:37 https://github.com/jarcane/heresy/commit/61321c114669b366a362c287984b2719708c526c 10:02:54 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 10:22:01 -!- glguy_ has joined. 10:50:19 Is it known whether there is a nontrivial palindrome for bases 2, 3 and 5? 10:53:14 (Or even 2, 3, and 4.) 11:22:47 -!- boily has joined. 11:27:05 fungot: fungellot. what are you supreming? 11:27:05 boily: objc looks like someone mixed malbolge, c, e, r, e, b, c: if a flaw isn't fatal, it's acceptable. 2.0 seconds could be a simple mail server designed to just work 11:29:15 -!- Frooxius has quit (Quit: *bubbles away*). 11:31:36 uh 11:33:13 fungot, do you like running double exponential time algorithms? 11:33:13 b_jonas: im not sure 11:35:38 fungot, do you like winger? 11:35:39 b_jonas: wait. you intended to impose on your prototype system?' what? it was a list with two elements 11:35:55 `addquote fungot, do you like running double exponential time algorithms? b_jonas: im not sure 11:35:55 elliott: still law is law...) and ( d or f) 11:36:12 1226) fungot, do you like running double exponential time algorithms? b_jonas: im not sure 11:37:14 if some charitable soul on this Fine Chännel could make the damn wisdom PDF compile on texlive 2014, that'd be very helpful and I could get back to editing it. 11:37:25 (having some problem with the Greek package...) 11:42:04 fungot, how do you feel about the conflicting requirements of good practices when no alignment causes performance penalties because the cpu has to access data crossing cache lines, but too much alignment causes performance penalty due to every data trying to share the same l1 cache line? 11:42:05 b_jonas: but right now the system is only very hard to replace the sorting order for nick lengths! 11:42:16 yeah, agreed 11:42:57 nick lengths are as good as they are. five letters masterrace! 11:43:14 boily: since when is this a Chännel twh 11:43:29 fungot, which fairy should I forget to invite to the newborn child's christening? 11:43:29 b_jonas: if your point is completely bogus.) 11:43:48 fungot: yeah, but if you had to choose one? 11:43:49 b_jonas: when you can be more efficient both in time and they are mostly in canada, i wouldn't assume it to do 11:43:58 canada, ok 11:44:11 fungot, do they ride a motorbike in the winter? 11:44:11 b_jonas: dhcpd is running as you described it. 11:45:11 shachaf: according to my logs, since February 13, 2014. 11:45:20 fungot, if an adolescent boy wishes to honorably sever ties with his family to avoid the consequences of the century old feud between his family and the Capulets, what should he become? a cleric, a monk, or a mercenary? 11:47:50 Are those the only three choices? 11:48:52 were there engineers in those times? 11:56:58 zzo38: no, you could give some other choice too if you wish 11:57:12 these are just the ones that's occurred to me 11:57:32 I guess they could try to enter the guild of assassins too 11:57:43 or join a circus/theatre 11:58:05 but I'm not sure how honorable it is to join a theatre 12:00:59 -!- Patashu has quit (Ping timeout: 250 seconds). 12:01:56 hehe, this bad translation is amusing. in this list, it has chinese commas between Hungarian words 12:02:07 -!- shikhin has joined. 12:02:31 -!- shikhin has changed nick to Guest24980. 12:04:28 -!- Guest24980 has quit (Client Quit). 12:04:48 -!- shikhout has joined. 12:05:01 -!- shikhout has quit (Changing host). 12:05:01 -!- shikhout has joined. 12:05:34 -!- shikhout has changed nick to shikhin. 12:15:42 -!- boily has quit (Quit: COMPLACENT CHICKEN). 12:27:09 `ctof -10 12:27:10 ​-10.00°C = 14.00°F 12:27:17 `ftoc -30 12:27:17 ​-30.00°F = -34.44°C 12:34:53 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds). 13:17:07 http://gabrielmartin.net/projects/hipku/ 13:21:41 -!- glguy_ has quit (Quit: Quit). 13:33:08 -!- atslash has quit (Quit: This computer has gone to sleep). 13:38:42 -!- shikhin has quit (Ping timeout: 264 seconds). 13:40:33 -!- shikhin has joined. 13:41:17 -!- shikhin has changed nick to Guest53639. 13:41:50 -!- Guest53639 has changed nick to shikhout. 13:41:55 -!- shikhout has quit (Changing host). 13:41:56 -!- shikhout has joined. 13:42:05 -!- shikhout has changed nick to shikhin. 13:42:07 -!- atslash has joined. 13:54:13 -!- atslash has quit (Quit: This computer has gone to sleep). 13:55:50 * J_Arcane_ gazes into the abyss that is random number generation in a functional language. 13:56:41 “abyss”? 13:57:12 * J_Arcane_ is being rather facetious, but it is an issue that needs to be decided for Heresy. 13:59:42 don't you already have IO 14:00:53 True. But I have something I might want to do with my first game project in Heresy that might require a more predictable approach. 14:03:37 fungot: Why are you running your own dhcpd? Was it your fault my DHCP clients had stopped working? 14:03:37 fizzie: i don't use safari often :) 14:03:51 fungot: O-kay, but that doesn't seem terribly relevant. 14:03:51 fizzie: that base blocking technique and improved it with the default formatting and don't want to 14:04:29 If you call into a coroutine, the coroutine calls also into you 14:06:11 :D 14:07:17 Basically, I haven't actually established I/O beyond console print and input in Heresy yet (I'm thinking external IO will take place in parameterized blocks only, but haven't got round to implementing it yet). 14:07:42 So I thought for a game, rather than have a save function, I'd use a password system like the old NES games. 14:09:42 But it begs the question of whether the random number seed should be included in the derivation for the password or not, and that means I have to be more particular about how seeds are generated and used in the program (and indeed, possibly in the language itself) 14:10:57 why do you need an RNG seed for this 14:11:56 Oh, right, because it's an RPG. Die rolls and what not. 14:12:09 but you want the seed to be predictable given the password? 14:12:15 as in the same every time 14:12:32 how do you generate the password 14:12:33 s 14:14:32 The password would just be a serialization of the player stat values and possibly the RNG seed to a text string, maybe base64 or something if I'm feeling lazy, or something original if I'm not. 14:15:17 -!- oerjan has joined. 14:15:49 I mean a PRNG is a pure function of its state 14:15:58 so you shouldn't need to change the language 14:16:08 (okay it's state -> (output, state)) 14:16:24 (my point is you can handle it as well as any state if your initial seed is fixed) 14:16:50 elliott: Well, literally, the syntax and functions haven't been defined in Heresy yet. I need to write them before I can start writing a game. 14:16:51 -!- Phantom_Hoover has joined. 14:17:02 why do you have to change the language 14:17:06 you can implement a PRNG in a few lines 14:17:22 https://en.wikipedia.org/wiki/Xorshift 14:20:21 [wiki] [[Esolang:Sandbox]] http://esolangs.org/w/index.php?diff=41474&oldid=40202 * 80.95.121.33 * (+25) 14:21:04 agreed 14:22:12 J_Arcane_: btw not trying to seem argumentative, just legitimately curious as to the problem 14:23:37 elliott: Really, it's not necessarily a 'problem' just deciding how to define it. I think probably I'll just implement RANDOMIZE and RND, and then abuse the lexical scoping to rewrite the seed when needed. 14:23:53 isn't this language meant to be pure :) 14:24:05 I'd just implement the RNG inside the game or something, personally! 14:24:06 or in a library 14:24:20 if you don't care about getting a seed from the outside world you don't need to change the language at all 14:24:27 Well, 'rewrite' in the sense of redefining it locally. 14:25:01 [wiki] [[Esolang:Sandbox]] http://esolangs.org/w/index.php?diff=41475&oldid=41474 * 80.95.121.33 * (+64) 14:26:50 Ie. you can still get away with just doing (def seed (randomize timer)) at the top level, and just (def seed [somethingelse]) farther down the tree. Or just say hell with it and not worry about storing the seed. 14:27:34 well. okay. I was just thinking you'd make a function that takes a state and returns (list output newstate). 14:27:53 xorshift just "reseeds" every step 14:28:04 so you pass in the seed initially and then get a new one out and a returned number, etc. 14:28:31 if you already have I/O, use the old-school keyboard intervals method! 14:32:16 you can isolate the unfunctional stuff to one thing then 14:47:24 -!- oren has quit (Quit: exam time). 14:51:50 (Or even 2, 3, and 4.) <-- having both 2 and 4 seems like it'll restrict digits quite a lot 14:52:31 if it's even length in binary you can only use 00 and 11 14:52:55 (topic was palindromes) 14:54:17 with odd length, hm 14:55:37 1(00)*01 is the only possibility with odd length 14:56:20 well except 0 itself 14:57:19 that's 4^n+1 14:57:53 > [showIntAtBase 3 intToDigit (4^n+1) | n<-[1..]] 14:57:55 [<[Char] -> [Char]>,<[Char] -> [Char]>,<[Char] -> [Char]>,<[Char] -> [Char]>... 14:58:04 > [showIntAtBase 3 intToDigit (4^n+1) "" | n<-[1..]] 14:58:06 ["12","122","2102","100112","1101222","12121202","211110212","10022220022","... 14:58:31 hm none in the short term... 14:58:43 > [showIntAtBase 3 intToDigit (4^n+1) "" | n<-[8..]] 14:58:44 ["10022220022","111022121002","1222021101012","21220002111122","101112010100... 14:59:13 Only the base 4 palindromes with the digits 0,1 or the digits 0,3 are base 2 palindromes. 14:59:52 Jafet: um i don't think digits 0,1 work 15:00:04 except for 4^n+1 15:00:18 1111 must also work 15:00:37 int-e: that's digits 0,3 15:00:44 oerjan: in base 4 15:00:54 so 1010101 in base 2 15:01:12 oh hm 15:01:20 where was my logic error.. 15:01:26 so I agree with Jafet on this 15:01:36 OKAY 15:02:01 actually no 15:02:06 it's _only_ digit 1 15:02:15 or wait 15:02:18 sheesh 15:02:26 we're just inserting 0s between all digits 15:02:47 to convert from base 4 to base 2. 15:02:58 * oerjan brain 15:03:16 Brain? I learned this by computer. 15:03:33 brains generalize better 15:04:34 so did you find any that were also base 3 15:04:51 1. 15:05:17 i think "non-trivial" was specified in the original question 15:09:29 > let p b n | s <- showIntAtBase b intToDigit n "" = [s|s == reverse s] in [l| n<-[3..], Just l <- mapM (`p` n) [2,3,4]] 15:09:31 Couldn't match expected type ‘[GHC.Base.String]’ 15:09:31 with actual type ‘Data.Maybe.Maybe t’ 15:09:41 that was too clever to work on first try 15:09:56 > let p b n | s <- showIntAtBase b intToDigit n "" = [s|s == reverse s] in [l| n<-[3..], Just l <- [mapM (`p` n) [2,3,4]]] 15:09:57 Couldn't match type ‘Data.Maybe.Maybe’ with ‘[]’ 15:09:58 Expected type: [[GHC.Base.String]] 15:09:58 Actual type: Data.Maybe.Maybe [GHC.Base.String] 15:10:12 oh 15:10:28 > let p b n | s <- showIntAtBase b intToDigit n "" = [s|s == reverse s] in [l| n<-[3..], l <- mapM (`p` n) [2,3,4]] 15:10:32 mueval-core: Time limit exceeded 15:10:39 > let p b n | s <- showIntAtBase b intToDigit n "" = [s|s == reverse s] in [l| n<-[3..], l <- mapM (`p` n) [2,4]] 15:10:40 [["11","3"],["101","11"],["1111","33"],["10001","101"],["10101","111"],["110... 15:10:56 > let p b n | s <- showIntAtBase b intToDigit n "" = [s|s == reverse s] in [l| n<-[3..], l <- mapM (`p` n) [2,3,5]] 15:11:00 mueval-core: Time limit exceeded 15:11:18 it seems not immediately clear that any exist 15:11:37 -!- `^_^v has joined. 15:13:08 oh the digit 0/3 numbers wont' cut it. 15:13:23 why not 15:13:41 trailing digit 0 in base 3. 15:13:48 fiendish 15:14:11 If one exists, it's certainly not going to be less than 8022581057533823761829436662099 15:14:17 digit sum rule for base 4, right 15:14:34 @oeis 1,6643,1422773,5415589,90396755477 15:14:35 Numbers that are palindromic in bases 2 and 3.[0,1,6643,1422773,5415589,9039... 15:15:18 presumably heuristics mean that unless you find them fast, there won't be any 15:15:36 but you can never be sure 15:15:49 indeed 15:16:24 -!- Phantom_Hoover has quit (Remote host closed the connection). 15:16:41 oh, that reminds me to that open problem about digit something and powers... um what was it 15:17:32 b_jonas: "is there any power of 2 > last obvious one which doesn't contain the digit 0"? 15:17:54 oerjan: um, I don't think that was it 15:18:14 well i vaguely recall something like it 15:18:14 but sounds right anyway 15:18:28 although maybe it came up as a consequence of something else 15:18:42 maybe it was something like "is there a power of two that when you reverse the digits becomes a power of five" 15:19:26 that sounds like another thing that's ridiculously heuristically unlikely :P 15:19:29 ok, there's no other base-2-3-4 palindrome smaller than 4^48. 15:19:33 > 4^48 15:19:34 oerjan: yep 15:19:35 79228162514264337593543950336 15:19:43 It's apparently been proven that there is a counterexample to the Mertens conjecture below exp(1.59*10^40), though no one actually knows one 15:20:06 Jafet: what's the Mertens conjecture? 15:20:10 (Jafets bound is better) 15:20:41 But then again I have not invested very much CPU time. 15:20:49 int-e: just check all the eight known base 2/3 palindromes to confirm that none (other than 1) are base 4 palindromes 15:21:01 Jafet: yes. 15:21:38 int-e: how about numbers that are palindromes in bases 2, 3, 5? 15:22:07 i'd imagine the eight known Jafet is talking about might help there too 15:22:12 For that we also have the trivial lower bound of 8022581057533823761829436662099 15:22:27 [ 10^. 8022581057533823761829436662099 15:22:30 int-e: @oeis _really_ should give the url :( 15:22:48 oerjan: patches welcome, I'm getting notified of mokus' pull requests. 15:22:54 Huh, it should at least give the A-number 15:23:01 (http://oeis.org/A060792) 15:23:29 Jafet: I could improve that bound for the 2-3-4-palindromes, because we've so nicely characterized the 2-4-palindromes. 15:23:42 -!- j-bot has joined. 15:23:50 [ 10^. 8022581057533823761829436662099 15:23:50 b_jonas: 30.9043 15:24:25 hm 2,3 palindromes seem a _lot_ rarer than 10,16 ones 15:24:34 True. But one might suspect that no such integers exist anyway. 15:25:12 well i mean, 2,3 palindromes are so rare that the simple sqrt(n) heuristic must be broken somehow 15:25:27 Larger bases have more palindromes 15:26:02 oerjan: smaller bases profit less from the wildcard center digit in the odd-number-of-digts case. 15:26:08 hm 15:26:38 so this observation is consistent with my intuition for the problem. 15:26:41 -!- GeekDude has joined. 15:26:47 OKAY 15:26:57 just saying! 15:27:27 -!- Sprocklem has joined. 15:28:02 fungot, what do you think? 15:28:02 b_jonas: i now know where to find foo? otherwise why not just make the directory accessible to the right-hand sides are not lambdas, right? :p. 15:28:26 I'm actually kind of impressed that the 2-3-palindrome calculation has been pushed so far. Makes me wonder whether there's a trick for speeding things up that I'm missing. 15:29:28 There are apparently tricks that save constant factors, but they are specific to the 2-3 case 15:31:27 [ 10^. 8022581057533823761829436662099 15:31:27 b_jonas: 30.9043 15:31:36 [ 2 3^. 8022581057533823761829436662099 15:31:36 b_jonas: 102.662 64.7725 15:31:45 hmm 15:32:00 I guess there is one asymptotic trick that may allow testing numbers up to n in O(n^(max(1-k,2*k))log(n)) time, given O(n^(2*k)) memory. 15:32:19 Yes, you can trade space for time by taking residues. 15:33:04 int-e: the fun part about that oeis entry is "Next term (if it exists)" so apparently they don't know if there's infinitely many. 15:33:22 (make a table of the possible differences resulting from picking the center k*log(n) digits for both bases.) 15:33:23 That's written on many oeis entries. 15:33:41 int-e: there's a link to an article on computing them though 15:34:08 > logBase 3 8022581057533823761829436662099 15:34:10 64.77245314069522 15:34:24 ^ agrees with j-bot's reply, good 15:34:32 hm they haven't pushed it that much further 15:36:58 Also, once you pick the first few digits in each base, the possible palindromes are in the intersection of two arithmetic progressions 15:39:26 oerjan: btw, naively, I would expect 10-16-palindromes to be 23/80 * sqrt(240) more numerous than 2-3-palindromes, about 4.454 15:40:29 (missing a "times" in there, somewhere.) 15:41:53 > (1/sqrt 160 + sqrt 160) / (1/sqrt 6 + sqrt 6) 15:41:55 4.45393084813853 15:42:19 Jafet: the oeis entry links to http://chesswanks.com/txt/BigDualPalindromes.txt 15:42:30 fancy 15:43:01 maybe check the other links too 15:43:05 from http://oeis.org/A060792 15:43:42 http://clientsfromhell.net/post/105178230478/nightmare-fuel-for-designers 15:44:33 argh .txt without line wrap 15:46:39 int-e: i wonder if the fact 10 and 16 have a common prime factor matters there 15:47:08 although given how well my calculation yesterday matched, perhaps not 15:47:19 oerjan: it does make things worse 15:47:40 oerjan: http://chesswanks.com/txt/BigDualPalindromes.txt explains how it helps that the last digits of base 2 constrain the middle digits of base 3 15:48:00 because only the middle digit of a base 3 palindrome can change it modulo 2 15:48:06 etc 15:48:12 b_jonas: um i wasn't really asking for tdlr 15:48:35 *tldr 15:48:45 (see: today's xkcd) 15:49:02 oh! 15:49:07 there's actually more stuff it tells 15:49:12 basically I'm talking nonsense 15:49:17 good, good 15:50:13 oh, tricky 15:50:49 -!- zzo38 has quit (Remote host closed the connection). 15:51:11 oerjan: So Many Fucking Words. Clearly this is an OOTS reference. *ducks* 15:52:19 Now to find an interpretation that turns the caption into a proper sentence... 15:52:28 b_jonas: btw my investigations of the mcculloch machine seem to resolve into about 64 mutually dependent cases, each parametrized by up to 6 numbers 15:52:50 oerjan: wow 15:52:53 might need a program to do the algebra 15:53:08 oerjan: if you get something useful, will you write some notes somewhere? 15:53:12 See Me Fumble With an acronym [that] almost makes sense. 15:53:18 b_jonas: presumably 15:53:20 thanks 15:53:46 I'll definitely be interested, and others (zzo38 maybe) might be too 15:55:18 hehe, "could easily be generalized to find dual palindromes in ... binary and *balanced* ternary" 15:56:03 and hehe, http://www.urbandictionary.com/define.php?term=SMFW 15:56:10 2011. 15:56:29 and that writeup is from 2014-01 15:57:44 the basice principles seem applicable to any pair of bases, really. 16:00:01 oerjan: is water turing complete? asking for a friend 16:00:43 what is water? 16:00:46 elliott: depends on how you define it 16:00:50 rumor has it we evolved in the ocean 16:00:51 int-e: dude, how are you alive 16:00:59 int-e: we just don't know 16:01:04 coppro: You misunderstood. 16:01:12 maybe it's only PSPACE-complete 16:01:22 but maybe it has much less power than that 16:01:32 water is very powerful and I live in fear of it every day 16:01:35 -!- oren has joined. 16:01:40 coppro: "water" could mean "pure H2O", but it could also mean the stuff that's in the rivers and in the seas. 16:02:13 int-e: yeah, except in Ankh, which is a river but certainly not water 16:02:33 int-e: whichever you are most scared of. 16:02:53 this is not a trick question and i am just trying to know the computational class of water please. 16:03:06 elliott: then it's PSPACE-complete 16:03:12 thankyou 16:03:20 but not very efficient, transistors work much better 16:04:06 are birds turing complete 16:04:19 elliott: i think terry tao may be working on that problem hth 16:05:45 (for a certain definition of water equivalent to "ideal fluid") 16:05:48 what if they're really big birds 16:05:59 oh birds 16:06:18 elliott: i hear the X bird is turing complete hth 16:06:33 does it run Twitter? 16:06:52 "Coq: The world’s best macro assembler?" some questions exist just to be posed 16:06:53 elliott: birds are certainly at least turing complete. they were used for divination afterall. 16:06:55 (Err, does Twitter run on the X bird? Or on Combinatory Logic, at least?) 16:07:09 @quote assembler 16:07:09 dons says: that's 3 things i've never seen in the one sentence before: my assembler .. a bunch of type classes .. a natural syntax 16:07:24 elliott: see also the Mockingbird book of Smullyan 16:07:32 which also tells that birds are Turing-complete 16:07:35 b_jonas: okay but how loudly do they chirp 16:07:50 I want a quiet and obedient bird computer to do my taxes 16:07:52 b_jonas is mocking birds... 16:07:58 fungot: how loud do mockingbirds chirps? 16:07:58 b_jonas: yes but how do you suggest? i like it 16:08:17 fungot: elliot suggests a quiet and obedient bird computer to do his taxes. can he get one? 16:08:17 b_jonas: ( define foo ( lambda ( k) 16:08:25 coq macro assembler is like mustard watch 16:08:37 elliott: I'm affraid large computing power isn't enough to do your taxes 16:08:53 fungot is suggesting I do my taxes in lisp I think 16:08:53 elliott: because you are not alone: 16:09:02 well, scheme 16:09:18 that has unbalanced parenthesis 16:09:55 afk 16:10:16 Having run 16:10:16 coqc over this file we can then run a trivial hex-to-binary tool to 16:10:16 produce an executable: 16:10:16 >coqc winfact.v >winfact.hex 16:10:16 >hexbin winfact.hex winfact.exe 16:10:18 >winfact 16:10:20 Factorial of 10 is 3628800 16:10:23 Factorial of 12 is 479001600 16:10:25 all my build processes involve hexadecimal->raw conversion 16:12:37 WHY?! 16:12:54 -!- glguy_ has joined. 16:12:59 -!- glguy_ has quit (Remote host closed the connection). 16:13:16 because coq is the world's best macro assembler! 16:13:27 to be fair this paper is probably doing cool things, it's just also ridiculous 16:13:50 why can't they produce binary output? 16:14:30 because you can't really write coq programs 16:14:34 the result there is like typing something into ghci 16:14:38 and getting a Show result back 16:14:59 (with "Compute ... .") 16:15:30 basically the UI model for coq is interactive proof assistant use (it would be kind of unusable for writing proofs if it wasn't interactive), and files are just workspaces containing a bunch of commands 16:16:38 ohh, like Matlab 16:16:53 i like that 16:17:10 that is the only thing i like about matlab 16:27:44 -!- adu has joined. 16:35:20 -!- nortti has changed nick to lawspeaker. 16:36:06 -!- lawspeaker has changed nick to nortti. 16:44:37 -!- adu has quit (Quit: adu). 16:46:01 -!- oren has quit (Quit: leaving). 16:53:56 -!- glguy has joined. 16:58:13 -!- ais523 has joined. 17:04:39 -!- digitalc1ld has changed nick to digitalcold. 17:06:39 -!- mihow has joined. 17:10:29 ooh, I just got some spam from some spammers 17:10:49 who outright said they were spammers, and offered to send out 5 million spam emails on my behalf for $999 17:10:56 interesting marketing strategy, I guess it makes a lot of sense 17:11:10 that price seems pretty expensive to me, but I don't know much about spam 17:12:10 -!- bb010g has quit (Quit: Connection closed for inactivity). 17:12:51 ais523: apparently some companies advertise that they're hiring to some sort of it position (maybe web developer) in messages hidden as non-text in webpages 17:13:11 such as in messages to the javascript console 17:13:16 or so I hear 17:13:24 it wouldn't surprise me, there are a lot of companies 17:13:51 plot twist: the company didn't think it was hiring, but the existing web developer is sick of their position and wants to hire a replacement 17:14:40 plot twist: company is not interested in hiring javascript developers and people who've never heard of noscript. 17:15:36 ais523: I was considering a similar plot twist: the company is hiring, so the web developer puts a slightly hidden message that they're hiring, and a more hidden message warning that they put that previous message there because their boss asked, but they don't recommend that company because it's terrible working there. 17:16:59 followed by a comment from the boss that there are now two more positions available than originally planned 17:19:40 fuck math 17:19:48 Is that a new branch of math? 17:22:23 -!- oerjan has quit (Quit: Later). 17:22:48 it's my expression every time I descend the rabbit hole that is reimplementing most math functions ... 17:23:23 Which rabbit hole are you in today? 17:23:43 I decided to take another stab at either atan or log. 17:24:02 J_Arcane_: I implemented an integer-arithmetic log semi-recently 17:24:06 Or rather, I think I started with atan, and found a proof for solving it that needed log ... 17:24:16 as part of removing all floating-point arithmetic from save-affecting parts of NH4 17:27:09 -!- adu has joined. 17:28:23 ais523: there's floating point arithmetic in nethack? 17:28:25 part of my goal with Heresy was to implement as much as I can myself instead of calling out to Racket. 17:28:32 ais523: there is only very little I hope 17:28:38 like, you know, in TeX 17:28:42 b_jonas: there was some in the scoring system a while back 17:28:50 nowadays, it's only used for display purposes 17:29:02 if you see a percentage shown in a message box, that may have been calculated with float arithmetic 17:29:12 but anything gameplay-affecting is integer arithmetic 17:29:24 I'm not really worried about it though because if you only use basic floating point arithmetic (including square root, but excluding exponentials and logarithms and trig) it mostly works as perfect IEEE floats anyway these days 17:29:50 b_jonas: it doesn't, and the reason is that different processors have different rounding rules, and different OSes can have different default FPU control words 17:29:51 though... with many settings compilers still have the choice to optimize certain chained operations to higher precision, 17:30:00 I did manage to get sin and cos in a kinda cheaty way thanks to Racket's built-in support for complex numbers. 17:30:05 ais523: ok 17:30:56 ais523: so it's never used to determine the outcome of random events? 17:31:13 b_jonas: float arithmetic? no, I'm not crazy 17:31:20 hey wait, isn't #nethack4 supposed to go off topic when we're talking about nethack here? 17:31:35 ais523: I'm not thinking you'd add such a thing, only that you'd inherit it from the devteam 17:31:39 we can have two different ontopic discussions about NetHack in two different channels! 17:31:52 b_jonas: you can expect no floating point in devteam NetHack 17:31:59 because it probably runs on systems with no FPU and no FPU emulation 17:32:26 so what happened with that leaked version 17:32:44 it's still happening, believe it or not 17:33:03 the devteam are apparently making some sort of crazy complex new git-based infrastructure, but haven't told us the details 17:33:12 it's being slowed down by the fact that they all have to learn git 17:33:13 wow, so this actually spurred them into action? 17:33:16 haha 17:33:41 ais523: I thought even old systems always had at least software fp emulation, though it might not be able to use it in nethack because it costs some ram 17:33:53 is nethack 4 still incredibly purple 17:34:09 "incredibly purple"? 17:34:20 b_jonas: software FPU emulation is a compiler feature 17:34:27 most compilers of the era had it, but possibly not all of them 17:34:35 elliott: (devteam is making something they're not telling us about) isn't (spurred to action) nor is any real change from what we've seen in the last 10 years 17:34:51 well, ok 17:34:57 ais523: yes, and most C compilers had it simply because floating point is built into C and used very often 17:35:00 ais523: the UI 17:35:05 also does it still have that dorky logo 17:35:05 right, the main change is that instead of working on NetHack with no public details, they're now working on something else with no public details 17:35:18 elliott: oh right, the borders of menus are still purple 17:35:23 and yes, it still has the ASCII art logo 17:35:32 is it still full of horrible daniel_tisms 17:35:34 (obviously some compilers don't have it because hardware or kernel floating point is always available on the system they're compiling for) 17:35:48 There are formulas for sin and cos in terms of i, so taking advantage of racket number support turned them into one liners, basically 17:36:14 doesn't racket have sin/cos 17:36:44 elliott: it's getting less full of daniel_tisms over time, but slowly 17:36:58 is it playable with 80x24 yet 17:37:40 yes 17:38:04 you might need to mess with some options; if you're playing only in 80x24, you can turn off menu borders and make them page by pages 17:38:08 then it looks a lot more like vanilla 17:38:15 -!- drdanmaku has joined. 17:38:36 elliott: yes, but it was an interesting exercise anyway. I'll probably wind up refactoring later and just making them all macros to the Racket versions; I trust their code better. But it was interesting to write. 17:39:07 does it have #tip or whatever it was 17:39:25 oh hey also how did that sokoban generating go 17:39:27 no, it doesn't have #tip 17:39:41 and the sokoban generator has actually made a lot of progress, it can generate parts of puzzles but not complete puzzles 17:39:45 (close to finished, just not finished) 17:39:49 and it isn't hooked up to NetHack yet 17:39:50 it's just standalone 17:40:07 I hope you won't put it in nethack because then I won't be able to solve sokoban 17:40:14 unless you also put in a sokoban solver to autoexplore 17:40:34 which you should by the way because not having one is interface screw which nh4 is supposed to avoid 17:40:38 b_jonas: this is getting into dungeon redesign contest, and I think we decided not to discuss that until it happened so that we don't bias each other's submissions 17:40:38 (I have a ticket) 17:40:45 however, I think I might have a solution that keeps everyone happy 17:41:00 also, Sokoban is one of the hardest branches for bots to play 17:42:28 b_jonas: this is why nethack is ridiculous 17:42:36 -!- cluid has joined. 17:42:43 if you want to be able to solve sokoban without playing sokoban why even have the sokoban part 17:42:53 I mean I htink sokoban in roguelikes is kind of awful but :p 17:59:28 hello 18:01:48 *think 18:01:53 -!- callforjudgement has joined. 18:02:06 -!- ais523 has quit (Remote host closed the connection). 18:02:12 -!- callforjudgement has changed nick to ais523. 18:11:56 -!- oren has joined. 18:12:12 -!- oren has changed nick to |oren\. 18:18:38 <|oren\> aet your terminal to fracktur 18:20:01 lol 18:23:13 <|oren\> wait is it even possible to do that? 18:23:46 <|oren\> i have LaTeX installed but I don't see fractur in my font list 18:24:41 -!- MoALTz has joined. 18:26:14 Oh, this is a horrible idea. 18:27:20 http://int-e.eu/~bf3/tmp/eufm10.png 18:28:34 <|oren\> Oh! so that is it... hmm, doesn't seem like it has all the chars 18:31:08 <|oren\> Aha, i found a similar one that does: http://snag.gy/6iaf9.jpg Sanafon-Kazari 18:33:41 <|oren\> Really i like all the fonts in the Sanafon series 18:34:13 <|oren\> but this one is pleasingly medieval 18:37:24 -!- Sprocklem has quit (Quit: got to go). 18:42:06 <|oren\> https://fabrizioschiavi.wordpress.com/tag/monospaced-font/ <-- there is this but it isn't free 18:49:45 -!- callforjudgement has joined. 18:52:45 wait, let me repeat my question 18:52:50 from some days before 18:52:53 -!- ais523 has quit (Ping timeout: 260 seconds). 18:54:02 if I NFC resp NFD normalize a unicode string, at most how many times its length can it grow, measured in utf-16 code points? 18:54:07 -!- callforjudgement has changed nick to ais523. 18:55:34 <|oren\> i'm not sure. what is the maximum number of diacritics for which a combined glyph esixts? 18:56:17 <|oren\> i found a real typewriter fractur: http://snag.gy/RVLmG.jpg 19:06:24 <|oren\> Hold on: do Hangeul decompose into the letter? 19:06:41 -!- mihow has quit (Quit: mihow). 19:07:53 -!- mihow has joined. 19:09:13 |oren\: so what font is that? 19:09:29 <|oren\> http://www.dafont.com/f25-blacklettertypewriter.font 19:09:38 <|oren\> in bold 19:11:08 <|oren\> I am looking through the http://www.unicode.org/charts/normalization/ charts and so far 3 is the maximum for LAitn 19:11:14 <|oren\> *Latin 19:14:04 <|oren\> Hangeul also only decompose into 3 code points at maximum apparently 19:15:12 <|oren\> For NFD that is. for KC or KD you can have ㌙ and crap 19:16:45 <|oren\> which decomposes into 5 or 6 code points 19:18:18 <|oren\> 𝅘𝅥𝅲 decomposes under NFD into 3 code points, each outside the bMP so each being two 16 bit codes 19:19:21 <|oren\> looks like my copypasting it decomposed it. it is char 1D164 19:21:15 <|oren\> so under NFD it appears the maximum is an X3 size increase 19:24:18 <|oren\> Under NFKD the maximum i've found is 7 ㈝ 19:25:59 <|oren\> Does that answer it b_jonas? 19:27:21 \emph{metasepia knows the weather at your nearest airport, and also something 19:27:25 about ducks.} 19:27:25 hmm. 19:27:47 it had a duckduckgo interface, right? 19:27:49 -!- callforjudgement has joined. 19:27:55 <|oren\> Wat. HOLY SHIT: ﷺ <--that decomposes into 18 code points 19:29:56 |oren\: it's a pity that the F25 font uses {} for ck and st. 19:30:40 <|oren\> yah. a pity... 19:30:48 -!- ais523 has quit (Ping timeout: 258 seconds). 19:30:52 -!- callforjudgement has changed nick to ais523. 19:31:15 <|oren\> `unicode ﷺ 19:31:37 <|oren\> is that the command? 19:31:45 U+FDFA ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM \ UTF-8: ef b7 ba UTF-16BE: fdfa Decimal: ﷺ \ ﷺ \ Category: Lo (Letter, Other) \ Bidi: AL (Right-to-Left Arabic) \ Decomposition: 0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645 19:32:05 <|oren\> SEE? 18 friggin' code points 19:33:06 arabic is why they've stopped adding ligatures to Unicode, isn't it? 19:33:29 <|oren\> yah probably 19:34:45 <|oren\> There is this one that should decompose but doesn't 19:35:09 <|oren\> `unicode ﷽ 19:35:23 U+FDFD ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM \ UTF-8: ef b7 bd UTF-16BE: fdfd Decimal: ﷽ \ ﷽ \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) 19:36:04 <|oren\> they probably just decided to stop adding decomposable ligatures 19:38:20 <|oren\> It is also a good thing they never thought to decompose Han characters into radicals. 19:39:07 -!- shikhin has quit (Ping timeout: 250 seconds). 19:39:08 -!- nycs has joined. 19:41:10 -!- `^_^v has quit (Ping timeout: 272 seconds). 20:07:06 -!- Sprocklem has joined. 20:07:39 -!- Patashu has joined. 20:11:37 |oren\: mostly, though I don't know whether it's enough to count decompositions of single characters, I don't know if there are composed characters that decompose to uglier stuff, 20:11:46 though most likely single characters give the maximum expansion 20:12:06 hmm, |oren\'s nick is making me wonder if it's possible to have a useful Ruby lambda expression as an IRC nick 20:12:25 |oren\: and I'd also like to know how much NFC can expand, which might be less than how much NFD can 20:13:33 and I'm specificially asking not about latin nor even about meaningful strings, but more about how much some deliberately meaningless strings that people enter just to make my program choke can expand 20:13:48 of course if I write the program I'll hopefully add hard limits, but still, I wonder 20:14:18 the kind of reasonable strings I work with will likely not expand much 20:22:58 -!- nys has joined. 20:25:42 -!- dts|pokeball has quit (Quit: is a client command Fabtasticwill). 20:25:44 -!- Patashu has quit (Ping timeout: 244 seconds). 20:26:45 -!- dts|pokeball has joined. 20:28:48 -!- atslash has joined. 20:31:13 -!- quintopia has quit (*.net *.split). 20:31:13 -!- SirCmpwn has quit (*.net *.split). 20:32:22 -!- quintopia has joined. 20:32:24 -!- SirCmpwn has joined. 20:35:01 -!- ais523 has quit. 20:35:13 -!- ais523 has joined. 21:02:21 -!- esowiki has joined. 21:02:25 -!- esowiki has joined. 21:02:25 -!- esowiki has joined. 21:02:58 -!- esowiki has joined. 21:02:59 -!- glogbot has joined. 21:03:03 -!- esowiki has joined. 21:03:03 -!- esowiki has joined. 21:03:20 -!- nys has quit (Ping timeout: 245 seconds). 21:03:20 -!- nycs has quit (Ping timeout: 245 seconds). 21:03:37 -!- puppy has changed nick to nys. 21:04:35 -!- myname has quit (Ping timeout: 245 seconds). 21:05:22 -!- myname has joined. 21:08:11 -!- Gregor has joined. 21:09:41 <|oren\> ITS HAPPENING AGAIN 21:16:58 <|oren\> oh i guess it's over. Why does it do that? 21:17:58 netsplit 21:18:43 <|oren\> how come i never get affected? 21:19:55 you might have been, a netsplit is when IRC falls into two separate halves 21:20:01 you see everyone in the other half leaving your half 21:20:08 looks like you were on the large side this time 21:20:15 when you're on the small side, it looks a lot more dramatic 21:20:18 <|oren\> oh i see... 21:20:22 but it still looks like it's happening to everyone else, rather than you 21:24:41 all I got was 21:24:42 20:30:08 -!- Netsplit *.net <-> *.split quits: SirCmpwn, quintopia 21:24:42 20:31:17 -!- Netsplit over, joins: quintopia, SirCmpwn 21:24:49 and a bunch of random ping timeouts and joins that I guess were maybe related? 21:25:35 -!- AndoDaan has joined. 21:41:16 -!- `^_^v has joined. 22:03:18 -!- dts|pokeball has quit (Quit: Leaving). 22:03:40 -!- dts|pokeball has joined. 22:05:35 -!- clog has joined. 22:24:50 -!- Sprocklem has quit (Ping timeout: 255 seconds). 22:26:43 -!- CrazyM4n has joined. 22:30:29 -!- MoALTz has quit (Quit: Leaving). 22:31:53 -!- oerjan has joined. 22:39:28 -!- Sgeo has quit (Quit: No Ping reply in 180 seconds.). 22:39:58 -!- Sgeo has joined. 22:40:04 -!- dts|pokeball has changed nick to dts. 22:43:32 -!- AndoDaan has quit (Quit: bbl). 22:47:58 -!- GeekDude has quit (Ping timeout: 245 seconds). 22:49:00 -!- GeekDude has joined. 23:02:26 -!- idris-bot has quit (Quit: Terminated). 23:02:44 -!- idris-bot has joined. 23:04:02 -!- adu has quit (Quit: adu). 23:10:53 -!- Sgeo has quit (Quit: No Ping reply in 180 seconds.). 23:11:21 -!- Sgeo has joined. 23:11:52 -!- boily has joined. 23:12:51 <|oren\> Eureka! everything is an array! 23:13:48 |oren\: but is it as dense as gold? 23:14:25 <|oren\> using () for subscripts, I(0)+I(1) would make sense 23:15:58 <|oren\> of course! what was i thinking, a language called csrip7 should have sub/superscripts. 23:16:11 a BASIC observation 23:16:29 good, good 23:17:55 he||oren. 23:17:58 hellørjan. 23:20:51 byerjan. 23:20:58 orenvoir. 23:21:07 -!- boily has quit (Quit: FISSILE CHICKEN). 23:25:06 any cool esolangs 23:25:25 <`^_^v> no :( 23:25:31 none of them are cool 23:25:32 sorry 23:25:47 :( 23:26:22 <|oren\> lololol treehugger is cool? it's cool how its address space is more infinite than the integers. 23:26:47 -!- dts has changed nick to BillsPC. 23:26:56 thanks :) 23:26:58 i'm sorry but it's still countable hth 23:27:05 cluid: Befunge is my favorite 23:27:06 <|oren\> it is? 23:27:50 <|oren\> oh i see, you number them in ternary with ^>< as gitis 23:27:53 ill haev a look at befunge 23:27:54 <|oren\> *digits 23:29:18 -!- Phantom_Hoover has joined. 23:29:38 <|oren\> are there any esolangs with uncountable memory space? 23:29:43 -!- BillsPC has changed nick to dts|pokeball. 23:29:49 maybe Gravity counts 23:30:21 oerjan: |oren\ asked for something uncountable hth 23:30:51 it's rather hard to get to an arbitrary address in an uncountable space using finite commands 23:31:15 well offering things that count certainly isn't going to help 23:31:31 just because it counts doesn't mean it can be counted 23:32:02 <|oren\> blah what? 23:32:26 |oren\: shachaf is trying to tempt me with puns hth 23:32:44 i really thought i had a shot there 23:33:02 shachaf: you were close. 23:33:27 <|oren\> I am still using a blackletter font in my terminal 23:33:42 <|oren\> i am getting used to it 23:34:52 <|oren\> Oh, how about if you have a tree of countably infinite branching rate? 23:35:45 <|oren\> E.g. a version of Treehugger where is a command for arbitrary N. 23:36:13 |oren\, if you look at the brainfuck algorithms page there is an emergent language there: brainfuck with 'varibales' 23:37:15 -!- `^_^v has quit (Quit: This computer has gone to sleep). 23:39:13 a brainfuck with real tape indices would be fun 23:41:13 BF with a real tape 23:41:26 That would be great 23:41:31 |oren\: blackletter? i thought you were using that heart thing? or am i confusing you with someone else. 23:41:38 or how about BF with the tape representing one real 23:41:45 in normal BF only a finite subset of the tape is ever non-zero 23:41:54 so you'd have to come up with operations that work on the entire tape 23:42:13 <|oren\> oerjan: i was using cursive with cute hearts now I'm using blackletter 23:42:37 (s.t. the possible tapes get the cardinality \Beth_1) 23:42:52 elliott: hm for that to be weird enough you'd need <> variants that multiplied by something other than a power of 2 23:43:04 for which? 23:43:23 you'd need to be able to do sufficiently fancy enough operations on the tape pointer for it to actually be a real, yes 23:43:32 although a real still doesn't give you infinite tape both ways 23:43:40 (I suppose it's pretty much inevitably a subset of the reals because most of them are indescribeable) 23:43:59 (unless you had a command to set the tape pointer to something uniformly random in [0,1) >:) ) 23:44:28 it would be cool if the tape was continuous 23:44:39 like instead of a value being at exactly one real index it sort of diffused throughout an interval 23:45:38 like you could have a value 128.4 at 1 that would decay with the inverse square law at indices above/below that. and so values in different but close positions would interfere with each other. or something 23:45:45 where's my nobel prize 23:46:08 -!- ZombieAlive has quit (Remote host closed the connection). 23:46:50 elliott: this sounds familiar. 23:47:23 i think there is such a bf derivative already 23:47:26 yeah 23:47:33 that is because all bf derivatives exist 23:47:45 it's just a matter of uniquely identifying which one you're referring to 23:47:51 <|oren\> it is the esolang version of rule 34 23:47:51 thanks, plato 23:48:01 i mean one that has been discussed in channel, although not necessarily put on the wiki 23:48:17 yes, I agree 23:48:26 it's one of those things where I think I'm inventing but am probably actually just remembering 23:50:47 mwhaha http://int-e.eu/~bf3/tmp/fmono.png 23:51:25 <|oren\> fmono? 23:52:24 int-e: you know i think monospace blackletter is like epic missing of the point 23:53:16 I did something slightly crazy. I started with UnifrakturMaguntia, and fontforge, and produced http://int-e.eu/~bf3/tmp/UnifrakturMonospace.ttf in a process that will make every font designer weep :P 23:53:53 (basically reducing the width of capital letters by 60%, except for M and W which were reduced by 50%, plus minor adjustments throughout.) 23:54:06 -!- oerjan has set topic: The font of madness | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/. 23:54:45 oerjan: yes, it's completely missing the point, which *may* be the reason why so few of those fonts actually exist ;-) 23:55:53 int-e: is that irssi? 23:55:59 now get microsoft to support it as default 23:56:07 CrazyM4n: that's emacs. 23:56:10 Has anyone been able to write interesting programs in Treehugger? 23:56:18 `quote 23:56:21 I would really like to see its potential used 23:56:25 of course it's emacs 23:56:33 101) alise: mainly it's the fact it blows so hard i cannot avoid hitting the walls of the thing, which completely goes against my basic public toilet hygiene principles 23:56:36 how could I be so naïve 23:57:32 hmm, good quote, makes you simultaneously want and not want to know what it's about 23:57:49 oerjan: that said I think that's actually an improvement over http://int-e.eu/~bf3/tmp/forig.png 23:58:01 oerjan: and that was the point, more or less. 23:58:05 olsner: it's about the dyson airblade hth 23:58:28 which they had in my once favorite restaurant 23:58:52 I see 23:59:03 <|oren\> Ok, so i'll configure my terminal somehow to switch between equally insane fonts at random intervals 23:59:47 CrazyM4n: fwiw, if I were actually using emacs in a terminal, the cyan foreground color would be different. 23:59:54 Has anyone had any IDEAS for it? 2014-12-16: 00:00:43 int-e: I wouldn't know, I don't use emacs (or vim either, to avoid starting arguments :P) 00:01:27 Just use $EDITOR, nuff said. 00:01:53 <|oren\> ed is the standard editor 00:02:04 ill ask later.. 00:02:10 I *can* use ed to make simple edits. 00:03:03 http://i.imgur.com/SS87Vwe.png I regret trying ed 00:03:12 <|oren\> anyone who knows vi well can use ed if they remeber which commands are new in vi 00:03:16 CrazyM4n: q 00:03:32 CrazyM4n: possibly q! or Q if you actually managed to edit anything. 00:03:54 <|oren\> ed man! man ed 00:03:55 I was in /dev with no root I think I'm safe 00:04:24 yes, ed is world-renown for its informative error messages. 00:04:30 renowned. 00:04:35 <|oren\> use H hth 00:05:34 ctrl-d seems to work to quit too (unless you've managed to get into some weird mode first) 00:06:06 * olsner just made a two-line text file in ed! 00:06:11 <|oren\> the easiest editor is cat. sometimes i write whole programs with cat. 00:07:18 binary search is so annoying to implement hth 00:07:42 <|oren\> call bsearch hth 00:07:55 cat isn't a very good editor since you can't go back 00:08:01 (imo) 00:08:27 <|oren\> cluid: that is why you must make up for it by being a great programmer! 00:08:43 i sort of want to make an editor now 00:08:52 similar to cat but more advanecd 00:09:13 CrazyM4n: http://sprunge.us/RERS - it's just vi without the visual ;-) 00:09:15 cluid: you can go back on the same line 00:09:20 that's pretty advanced 00:09:21 wow! 00:09:24 I didny know that 00:09:32 yeah because terminals are line-buffered 00:09:34 <|oren\> using backspace 00:09:42 did I just boost your workflow 00:09:46 tripled your productivity 00:11:06 surely 'sed -i' is the ed-derivative of choice 00:12:34 int-e: Ed is actually, you know, kinda cool 00:12:43 It looks like it, at least 00:13:55 once I did some editing with ed just so I could say I did 00:14:28 it's a good very bad editor. if you'd like a very bad editor I recommend ed 00:14:37 <|oren\> ok, i am now working on a crude editor which i shall call kitten. 00:14:46 elliott, how does it compare to teco 00:15:13 uhh 00:15:16 #esoteric-text-editors 00:15:20 I think teco was less horrible to use but weirder 00:16:02 so i looked at the teco manual 00:16:04 <^G><^G>Deletes the entire command string 00:16:04 <^G>Types current line of command string 00:16:11 definitely two commands you want close together 00:16:39 the mud i played back in 1992 or so had an internal editor that was ed-like. that was my gateway drug to vi. 00:18:11 gateway drugs are meant to be towards worse things 00:18:24 OH 00:18:24 that's more like you kicked your meth habit to smoke weed 00:18:32 oerjan: was it an lpmud? 00:18:36 int-e: indeed 00:19:22 that ed actually produced helpful (well, sometimes) error messages :) 00:19:36 I just realized how many gateway drugs I must have taken to get to liking esolangs 00:21:31 <|oren\> Forth, Scheme and APL are on the edge... 00:21:33 CrazyM4n: completely scrambled your brain, man 00:22:22 |oren\: hm i may have known about all those (possible another lisp instead) before starting esolanging 00:22:24 Quick unrelated question - how do I get to emacs without a GUI (in the terminal) 00:22:35 I don't really think so 00:22:41 scheme seems like a completely reasonable programming language 00:22:50 and so does forth too, but for a very specialized purpose 00:22:51 CrazyM4n: emacs should be a command? 00:23:02 It starts the X version 00:23:06 APL of course was used quite practically but only long ago 00:23:29 CrazyM4n: DISPLAY= emacs perhaps? 00:23:32 RIP APL 00:23:36 emacs -nw 00:23:36 -!- mihow has quit (Quit: mihow). 00:23:45 ehthanks 00:23:47 *thanks 00:23:49 (i guess elliott gave the better option) 00:24:10 time to learn emacs 00:24:26 <|oren\> cluid: the point is the 00:24:37 Anyway, my gateway drug to programming was http://roblox.com/ (ofc) 00:24:49 <|oren\> "standard languages"are all ALGOL derivatives 00:25:06 -!- mihow has joined. 00:25:07 <|oren\> that is, at heart they are imperative 00:25:20 http://i.imgur.com/GI6YACB.png Aaa what did I do 00:25:26 scheme is an algol derivative 00:25:33 <|oren\> and they use a complex syntax 00:25:40 that's why they call it the algolrithmic language scheme 00:25:54 <|oren\> scheme is not really, because its syntax is lisp 00:26:33 <|oren\> it might have some distant borrowings, but at heart it is functional and lispy 00:26:51 |oren\: i take it you prefer FORTRAN syntax then *runs and hides* 00:27:06 or COBOL 00:27:07 I prefer assembly syntax /s 00:28:08 doesn't BCPL -> B -> C form its own lineage 00:28:27 <|oren\> oerjan: i actually like scheme, but i like it because it is different from the other languages i know 00:28:34 cluid: actually it's because scheme was generated by an algorithm 00:29:12 <|oren\> Phantom_Hoover: yes, but it ultimately derives from Fortran through ALGOL 00:29:31 sussman was the name of guy l steele's computer 00:29:56 <|oren\> but most modern ALGOL derivatives derive from C it's true 00:29:58 well, wp gives an algol -> cpl -> bcpl derivation anyway 00:30:16 lol elliott 00:30:20 (i've been reading too much hatcher, i keep trying to parse that as an exact sequence of programming languages) 00:30:46 Phantom_Hoover: so what's the kernel of algol 00:31:07 whatever they didn't put into cpl i guess 00:31:40 Phantom_Hoover: that would mean that bcpl consists of precisely the parts of cpl that were orthogonal to algol 00:31:47 (hence conjuring the spirits of the computer with our spells) 00:31:47 exactness means they threw away everything from algol when they made bcpl, yes 00:34:29 they should have called programs spells and then lint would be a spell checker 00:35:15 -!- mihow has quit (Quit: mihow). 00:35:16 <|oren\> oerjan: from now on i will refer to programs as spells 00:35:29 good, good 00:35:49 There are at least two canons where spells are effectively programs. 00:36:27 invoke 00:36:33 <|oren\> Suzumiya Haruhi no Yuutsu is one. 00:36:43 sicp isn't a canon 00:36:46 what am I saying, yes it is 00:36:59 no it's not, you can't shoot a canonball out of it 00:37:11 spell invocation canonically presented 00:38:50 by Caine Steelman 00:40:43 hm i'm severaly mixed up there 00:41:18 i cant decide what to work on 00:41:22 programmign related thing.. 00:42:20 -!- azazel_ has joined. 00:42:48 ugh how can you remove a program that came with an install script 00:43:09 run the installer backwards 00:43:16 Genius 00:44:20 Aaaand it did nothing 00:47:46 hm someone should make a solution for clean uninstalls once and for all 00:47:54 write all installers in burro hth 00:48:06 (uninstalls of uncooperative software, that is) 00:48:12 . o O ( this is why I typically install software in a dedicated subdirectory in /opt ... which I can then just remove completely.) 00:48:23 oerjan: it's called a virtual machine :P 00:48:39 Well, since I can't uninstall this at all 00:48:40 `welcome azazel_ 00:48:49 eek 00:48:49 azazel_: 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.) 00:48:50 I'm going to install the version form the repo and hope to god that it overwrites the last one 00:48:52 oh 00:49:03 what's the overhead like on running every installed program on a separate vm? 00:49:15 elliott: that sounds very course-grained 00:49:15 Phantom_Hoover: depends what kind of VM, honestly 00:49:18 @google qubes os 00:49:19 https://qubes-os.org/ 00:49:22 there's also things like 00:49:25 @google sandboxie 00:49:26 http://www.sandboxie.com/ 00:49:26 Title: Sandboxie - Sandbox software for application isolation and secure Web browsing 00:49:28 *coarse 00:49:29 How do you do that? Installing programs into a specific folder 00:49:30 (can't vouch for the security) 00:49:35 `relcomw azazel_ 00:49:36 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: relcomw: not found 00:49:36 oerjan: ah. I was wondering... 00:49:38 *c[aeiou]*rse 00:49:41 With proper paravirtualization, the computing overhead is minimal 00:49:45 darn you w 00:49:53 However, there is the human overhead 00:50:06 I use a chroot for some programs 00:50:06 `relcome azazel_ 00:50:06 Dang, overwriting it didn't do anything 00:50:08 Srs tho 00:50:08 ​azazel_: 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.) 00:50:10 that only abstracts away the filesystem 00:50:12 Thur 00:50:16 'abstracts' is the wrong word.. 00:50:17 Purdy 00:50:43 if all you care about is uninstalls you can just use linux namespace type things or even just chroots yeah 00:51:20 hah, lunatic monster... 00:51:27 i now pronounce chroot in my head as 'cheroot' 00:51:55 The revolutionary Che Root (now jailed) 00:52:00 `` elcomew azazel_ | rainwords 00:52:00 bash: elcomew: command not found 00:52:08 yes, we do have a lunatic monster to destroy. oh and a train that's wreaking havoc in the monastery. 00:52:14 `` emoclew azazel_ | rainwords 00:52:15 ​(.ten.lad.cri no ciretose# yrt ,aciretose fo dnik rehto eht roF) .>/gro.sgnalose//:ptth< :ikiw ruo tuo kcehc ,noitamrofni erom roF !tnemyolped dna ngised egaugnal gnimmargorp ciretose rof buh lanoitanretni eht ot emocleW :_lezaza 00:52:39 Im done 00:52:44 .>/gro.sgnalose//:ptth< 00:52:45 (my last two comments may not make sense if your name isn't oerjan.) 00:53:03 int-e: I figured out the context pretty quickly 00:53:12 bring back people talking about DF and homestuck in here without warning imo 00:53:17 That bot is amazing 00:53:25 Phantom_Hoover: Where’s the ‹e› come from? 00:54:06 phonetics, whimsy 00:54:58 int-e: bets on whether he intends to fulfil that promise 00:55:15 and if so, what's the catch 00:55:43 hm i guess he'd want the book back. 00:55:57 Im dumb 00:56:05 Phantom_Hoover: I say it without. Like “Groot” but with the ‹g› replaced by a ‹ch›. 00:56:07 Compared to you guys 00:56:20 ch like in bach root 00:56:24 azazel_, what is the dumbest thing you have ever done 00:56:51 Gotta think 00:57:06 Locked myself out of my house 00:57:24 that's it?? 00:58:06 Also in code i, Made an infinite looper in my bot and it spammed a site and i didnt put anything to stop it in and i got banned ;-; 00:58:09 what's yours cluid 00:58:25 oerjan: hmm, the book. where did the book end up? http://www.girlgeniusonline.com/comic.php?date=20141210 looks like a magic trick, lots of diversions and poof, the book is gone. 00:58:49 haha 00:58:52 im not sure 00:58:53 oerjan: anyway, I think there'll be a catch that has nothing to do with the book; perhaps he'll send somebody with her. 00:59:05 cluid: maybe it was forgetting it 00:59:06 * azazel_ watches from afar 00:59:10 oerjan: and by "will" I mean "intends to" 00:59:16 btw welcome back dulnes 00:59:22 the other day i left the bag with all my diving stuff on a harbour somewhere 00:59:28 still kicking myself for that 00:59:32 oerjan: because it's not clear to me yet that the monks will cooperate in this plan :) 01:01:34 yeah a monk rebellion does not seem unlikely 01:01:53 except, he does have an army there. 01:01:56 I should go back to the wiki and look at some haskell stuff cuz i want to be good in it. 01:02:07 so probably not too overtly. 01:03:04 oerjan: "fine distraction" ;) 01:04:08 Anyway, the outcome is wide open. First they'll have to catch that train, and that'll be more fun if as many sparks as possible are involved. :) 01:04:24 good point 01:04:57 backstabbing, later. 01:07:48 speaking of which, I wonder whether henkma will produce a 79 characters Collatz parity entry... 01:09:04 oh well i guess violetta took care of it, then. btw do you know if that monster on friday's page is a cameo from somewhere? it feels familiar. 01:09:19 (he has three more spaces in their than I have, and only one can be attributed to a ; in my code) 01:09:55 well i dunno, i haven't tried that one 01:10:19 or wait, i did 01:10:35 currently at 93 chars 01:14:21 oerjan: Oh cameo, I didn't think of that ... hmmm. 01:26:22 -!- callforjudgement has joined. 01:28:25 -!- ais523 has quit (Ping timeout: 264 seconds). 01:33:38 -!- cluid has quit (Quit: Leaving). 01:47:12 -!- CrazyM4n has quit (Quit: internet lag). 01:51:21 -!- dts|pokeball has quit (Ping timeout: 250 seconds). 01:53:25 -!- callforjudgement has quit (Read error: Connection reset by peer). 01:53:41 -!- callforjudgement has joined. 01:55:19 -!- bobobobo has joined. 02:03:44 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 02:07:11 -!- bb010g has joined. 02:10:36 `? category 02:10:37 Categories are just a special case of bicategories. 02:10:39 `? bicategory 02:10:40 Bicategories are just categories where composition is only associative up to an isomorphism. 02:10:46 that's not very useful hth 02:10:55 or even true? 02:14:42 <|oren\> it can't be true, i can tell that even though i know nothing about whatever this is 02:15:04 <|oren\> two things can't be special cases of each other 02:15:26 fortunately the bicategory entry doesn't say it's a special case of a category 02:16:12 <|oren\> it basically does? it says they are "just categories" except for some behaviour that is limited 02:16:57 in a category composition is really associative. in a bicategory it's only associative up to isomorphism, which is more general. 02:17:01 that's not my objection 02:17:13 -!- scarf has joined. 02:17:14 <|oren\> i see. 02:20:45 -!- callforjudgement has quit (Ping timeout: 265 seconds). 02:25:50 <|oren\> shachaf: it looks like WP says bicategories are "weak 2-categories". if that's the case and not all categories are 2-categories, then there are categories that aren't 2-categories, and therefore aren't bi-categories 02:26:03 -!- CrazyM4n has joined. 02:35:47 -!- adu has joined. 02:37:04 <|oren\> shachaf: am i on the right track here? 02:42:14 <|oren\> ok, so it appears there are two usages of "category", on means things only with arrows between classes, and one means things with arbitrary levels of meta-arrows between arrows. in either case, there are categories that aren't 2-categories 02:44:48 i vaguely think categories are 1-categories 02:45:30 -!- bobobobo has quit (Quit: Leaving). 02:50:00 HhOw do you keep annxiety attacks away? 02:50:30 Meditate? 02:50:41 Wrong chhanel ssory 03:07:26 . o O ( don't worry ) 03:08:21 -!- glguy_ has joined. 03:08:50 Malbolge seems to help with anxiety and stress 03:09:43 Im ok now. 03:09:57 And no CrazyM4n thats not helpful at all 03:11:16 -!- adu has quit (Quit: adu). 03:11:58 D: 03:16:58 It says on the wiki most difficult langauge ever created 03:17:02 -!- ais523 has joined. 03:17:08 -!- scarf has quit (Read error: Connection reset by peer). 03:20:44 <|oren\> By that logic, BASIC keeps anxiety attack away. 03:21:13 I was thinking of other infuriating things to do 03:21:27 And I thought of multi-platform bytecode polyglots 03:21:28 D: 03:33:38 too busy debugging to worry about anxiety attacks? 03:35:26 Im new to estoric stuff CrazyM4n and i have no idea what you just said 03:36:20 Bytecode, like the stuff executables are made out of 03:36:23 Compiled files 03:36:26 Like .exes 03:36:46 What if you hand created a .exe that works on multiple different architectures 03:37:03 Now that'd be anxiety inducing :P 03:37:13 [wiki] [[Deadfish]] M http://esolangs.org/w/index.php?diff=41476&oldid=41465 * Oerjan * (-5) /* StaPLe */ Remove extra spaces 03:38:03 CrazyM4n: one main problem might be different magic numbers. but i don't know. 03:39:53 -!- AndoDaan has joined. 03:40:08 Probably, but that'd have to be changed 03:40:16 [wiki] [[Truth-machine]] M http://esolangs.org/w/index.php?diff=41477&oldid=41472 * Oerjan * (+1) /* StaPLe */ Add one 03:40:47 There could be a loophole 03:41:05 Or, you can force linux to execute it by running chmod +x afaik 03:42:05 um that's not what chmod +x does 03:42:27 or rather, it _never_ executes it if it's not, so it has nothing to do with the format 03:43:16 Well 03:43:23 Yeah, but I'm pretty sure that it'll execute it anyway 03:43:28 If it's marked as executable 03:43:35 Let me try something 03:43:37 something like this has been discussed here before. iirc DOS .com files have no magic number 03:43:49 And people write .com files by hand, don't they? 03:44:00 CrazyM4n: Not often, but some people do, sure. 03:44:01 it happens 03:44:05 oerjan: Yep. 03:44:15 A .com file has no magic number and no real structure. 03:45:04 "programmer defined structure" 03:46:33 i expect windows may get away with it because it cares about file extensions for executables, unlike linux 03:47:05 -!- nys has quit (Quit: quit). 03:47:18 Oh yeah, com files were just instructions 03:47:24 That actually *could* work 03:49:01 `` echo fnord >test; chmod +x test; ./test 03:49:04 oerjan: Also, all *other* executable file formats actually have magic numbers on Windows. 03:49:07 So, I was gonna prove a point about every file on linux being maybe runnable 03:49:13 pikhq: ok 03:49:15 ​./test: line 1: fnord: command not found 03:49:17 So I tried chmod +x'ing a .png 03:49:27 oh duh 03:49:28 http://i.imgur.com/gqk8OIt.png I almost want to know what that bottom error means 03:49:30 *Almost* 03:49:46 CrazyM4n: the shell tries to run it as a shell script. 03:49:51 shiny https://en.wikipedia.org/wiki/Fat_binary#Combined_COM-style_binaries_for_CP.2FM-80_and_DOS 03:49:53 Oh, that's pretty normal weirdness. 03:49:55 I saw that 03:50:04 but iirc that doesn't work if it isn't run from a shell 03:50:08 oerjan: Actually, it's the libc. 03:50:14 pikhq: oh. 03:51:22 -!- adu has joined. 03:51:59 -!- glguy_ has quit (Quit: Part). 03:52:03 Basically, all the exec functions but execve run a program in the shell if they don't parse as normal executables. 03:52:12 CrazyM4n: i think you got some zalgo in your png hth 03:53:18 http://i.imgur.com/SWem1kZ.png S͉̜͓͉̳͕o̝͕̣̼͔ ̧͍̘̤̘ͅmu̖͇̳̤̤c͚̜̦̩͚̭̖h͙ ̝͈͈̟̬͖̬z̳͜a̛l͇͉͍͔̥̖̳g̮̤̙̤ͅǫ͖͍ 03:53:43 pikhq: at least that means there is a test for "normal executable" that may fail. 03:54:06 -!- glguy_ has joined. 03:55:34 -!- nisstyre has quit (Changing host). 03:55:34 -!- nisstyre has joined. 03:57:15 Yes. The kernel checks for an ELF header, the a.out header (if enabled), the #!, and any registered alternate binary formats. 03:57:33 And returns an error otherwise. 04:02:28 -!- adu has quit (Remote host closed the connection). 04:07:47 -!- Sprocklem has joined. 04:13:50 Eye sea watt yew did their 04:17:43 -!- glguy_ has quit (Quit: Computer has gone to sleep.). 04:19:25 -!- glguy_ has joined. 04:24:19 * pikhq loves that the kernel has alternate binary format support, FWIW 04:25:47 it has sooo many switches to disable. 04:35:38 -!- drdanmaku has quit (Ping timeout: 244 seconds). 04:35:52 -!- drdanmaku has joined. 04:36:00 -!- glguy_ has quit (Quit: Computer has gone to sleep.). 04:36:12 https://www.reddit.com/r/geek/comments/2pcyy0/letters_by_computer/ 04:39:16 aw dangit 04:39:27 I have my client to notify me whenever someone says "geek" 04:40:19 7-bit word D: 04:42:11 -!- oerjan has quit (Quit: Nite, dammit). 04:50:36 lol 04:52:38 You know I'm just gonna follow you around random channels and mention the word geek, now, GeekDude 04:52:47 >.< 04:53:06 I already get so many hilights from people mentioning geek squad in various help channels 04:53:28 heh 04:54:04 OH CRAP KSP BETA RELEASED TODAY 04:54:11 Time to waste my life away 04:54:15 :O 04:54:20 I've never played KSP 04:54:27 oh, also, I got my robots to do a new interesting thing 04:54:46 That interesting thing is? 04:55:52 Gosh you can't just leave me hanging 04:56:14 * GeekDude leaves CrazyM4n hanging 04:56:26 D: 04:56:44 Basically, I'm in the process of rewriting a very old piece of software 04:56:54 Said software was written for *shocker* Windows 98 04:57:03 I'm rewriting it for linux 04:57:36 Said software allows you to drive your little yellow LEGO Mindstorms RCX robot around remotely, with a webcam feed 04:58:05 I've got a php script that allows me to control the bot 04:58:18 and a passable webpage 04:58:27 so now I've just gotta figure out webcam stuff, and I'm golden 04:59:10 I can click a button on my website and make the robot move 04:59:22 I've got sliders for speed and duration 04:59:56 Sweet 05:00:00 so far the website looks like this https://db.tt/GcRRnQTx 05:00:15 The image on the left will be a feed from on the robot, the image on the right will be from overhead 05:00:16 Link to the original program? 05:00:33 -!- glguy_ has joined. 05:01:00 http://www.brickvista.com/features/redRover/redRover.html 05:01:30 Hmm 05:01:42 How are you rewriting it? 05:02:01 Are you disassembling it? Or intercepting the signals? Or what? 05:02:48 Careful study of existing reverse-engineered protocol specs 05:03:01 http://www.mralligator.com/rcx/ 05:04:13 Seems nifty 05:04:20 As far as I know, we're the last people actually using red rover 05:04:48 "we're"? Is this for some sort of research project or something? 05:05:08 Sortof 05:05:17 I have a long backstory if you wanna hear it 05:05:43 Sure 05:06:35 So, in 2010 I joined a "FIRST LEGO League" robotics team. The idea is that you build robots out of LEGO Mindstorms sets that do a certain set of tasks 05:07:02 Oh? So did I 05:07:16 through this, I met our (now sadly deceased) local LEGO fanatic 05:07:44 Before her passing, however, I became one of her biggest assistants 05:08:14 One of the things that she did was run the Red Rover on our local college website 05:08:39 However, we eventually lost funding and it was moved to one of my friends house 05:09:49 Since then, the original owner of the Red Rover setup has passed, as I mentioned above 05:11:43 I'd assume that model isn't really supported by anything anymore? 05:11:54 So now my friend and I are the official caretakers of the red rover 05:12:04 The RCX? 05:12:32 Interestingly enough, there are drivers for it included in the linux kernel 05:12:51 Specifically for it? Or just generic ones that work with it? 05:12:59 Specifically for it 05:13:09 Also, that story was actually pretty depressing 05:13:11 It's bizarre 05:13:29 So can't you just use those? Or look at their source, at least 05:14:20 The drivers just let you control the "IR Tower", but the actual information you send is up to yo 05:14:22 you* 05:14:38 Huh, that is quite weird 05:16:40 Anyways, seeing as windows 98 desktop is a relatively bad platform for a webserver, I figured it needed an overhaul of some kind 05:16:59 And since I actually have a bit of experience in web development, I figured I'd give it a go 05:18:49 Seems like quite a nice project 05:20:24 Seems like a very esoteric project to me 05:20:50 I'm also reminded of this XKCD https://xkcd.com/1095/ 05:22:10 Heh 05:22:40 Now we just need a group of one or two people focused on hacking the motors in it. 05:22:44 Specifically the motors. 05:23:55 well, the motors are pretty simple 05:24:08 They're literally just simple DC motors 05:24:12 not even servos :/ 05:24:19 http://aturingmachine.com/ 05:25:22 J_Arcane_: It won't let me connect 05:25:29 Ooo, I was just browsing the internet and found http://countercomplex.blogspot.com/2011/10/algorithmic-symphonies-from-one-line-of.html 05:25:46 I love stuff like this, creative coding-esq things 05:31:29 -!- Sprocklem has quit (Ping timeout: 250 seconds). 05:32:07 Welp, good night people 05:32:13 nitr 05:32:15 nightr 05:32:18 Goodnight* 05:32:42 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 05:32:53 -!- CrazyM4n has quit (Quit: "sleep"). 05:37:52 -!- AndoDaan has quit (Quit: bbl). 05:56:22 -!- ais523 has quit (Read error: Connection reset by peer). 05:56:34 -!- ais523 has joined. 06:42:56 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 07:03:14 The acoustics lab people had built a shout detector as a gift for a recent graduate, since one of his thesis papers was about shout detection. 07:03:17 It was built around an old army helmet (so that it's "robust"), and included a ring of LEDs around the rim. They lit up green when the wearer spoke, and red when he shouted, and there was also a loudspeaker that played out random samples from the shout corpus they had recorded for the paper when he shouted especially loudly. 07:03:22 All driven by a Raspberry Pi. We (a different research group in the same department) have a tradition of having some kind of a pun or a joke in the group gift, too, but that was a bit more elaborate than the norm. 07:04:44 :) 07:08:05 They also presented him with a "triploma". See, around here you get a diploma when you finish your master's degree, so it makes sense the doctoral degree includes a triploma. (I'm not sure when you get the monoploma.) 07:09:32 Bachelor's degree? 07:09:36 High school? 07:10:42 Probably something like that. 07:10:53 We didn't used to have separate bachelor's degrees. 07:13:04 in hebrew a bachelor's degree is called a "first degree" and a master's degree is called a "second degree" 07:13:18 so this triploma thing seems reasonable 07:13:19 My course at uni isn't separate but I think most in the UK are 07:13:30 Anyway I am off now to get dinner 07:14:24 These days they've "harmonized" things here to include a mandatory distinct bachelor's degree step here too. 07:14:37 Bah, fcolor has broken down again. 07:21:25 -!- glguy_ has quit (Quit: Quit). 07:38:19 -!- callforjudgement has joined. 07:41:09 -!- azazel_ has quit (Quit: Connection closed for inactivity). 07:42:05 -!- callforjudgement has quit (Read error: Connection reset by peer). 07:42:11 -!- scarf has joined. 07:43:26 -!- ais523 has quit (Ping timeout: 264 seconds). 07:43:48 -!- Patashu has joined. 08:24:28 https://www.youtube.com/watch?v=nZXW_8lHx-E 08:28:16 -!- scarf has quit. 08:49:50 -!- nisstyre has quit (Ping timeout: 265 seconds). 08:57:00 -!- mitchs_ has quit (Read error: Connection reset by peer). 08:57:28 -!- mitchs_ has joined. 09:12:29 -!- Phantom_Hoover has joined. 09:18:16 -!- nisstyre has joined. 09:57:29 -!- ais523 has joined. 10:00:03 -!- shikhin has joined. 10:00:27 -!- shikhin has changed nick to Guest31073. 10:01:17 -!- Guest31073 has changed nick to shikhout. 10:01:22 -!- shikhout has quit (Changing host). 10:01:22 -!- shikhout has joined. 10:01:35 -!- shikhout has changed nick to shikhin. 10:21:08 -!- glguy__ has joined. 10:47:48 [wiki] [[List of ideas]] http://esolangs.org/w/index.php?diff=41478&oldid=40775 * 195.74.132.98 * (+41) /* General Ideas */ fertilisation 10:49:59 -!- atslash has quit (Quit: This computer has gone to sleep). 10:52:47 -!- ais523 has quit. 10:55:01 [wiki] [[List of ideas]] http://esolangs.org/w/index.php?diff=41479&oldid=41478 * 195.74.132.98 * (+68) /* Based on dimensions */ 11:15:12 -!- boily has joined. 11:15:38 -!- atslash has joined. 11:20:41 -!- atslash has quit (Quit: This computer has gone to sleep). 11:31:42 http://wcook.blogspot.fi/2012/07/day-functional-programming-changed.html 11:34:07 [wiki] [[Talk:Ragaraja]] http://esolangs.org/w/index.php?diff=41480&oldid=33418 * Mauriceling * (+91) 11:37:58 -!- Phantom_Hoover has quit (Ping timeout: 258 seconds). 11:55:58 -!- Patashu has quit (Ping timeout: 256 seconds). 11:56:21 -!- Phantom_Hoover has joined. 11:57:49 -!- dianne has quit (Ping timeout: 244 seconds). 11:59:32 -!- dianne has joined. 12:11:21 -!- Sgeo_ has joined. 12:15:09 -!- Sgeo has quit (Ping timeout: 258 seconds). 12:15:29 -!- mitchs_ has quit (Ping timeout: 260 seconds). 12:15:29 -!- supay has quit (Ping timeout: 260 seconds). 12:15:39 -!- mitchs has joined. 12:15:55 -!- sebbu has quit (Ping timeout: 260 seconds). 12:17:16 -!- ocharles has quit (Ping timeout: 260 seconds). 12:17:20 -!- fungot has quit (Ping timeout: 260 seconds). 12:19:10 -!- ocharles_ has joined. 12:19:41 hellocharles_! 12:22:35 -!- boily has quit (Quit: HYPERGOLIC CHICKEN). 12:23:51 -!- zemhill has quit (Ping timeout: 260 seconds). 12:27:29 rello 12:28:08 -!- supay has joined. 12:32:17 -!- singingboyo has quit (*.net *.split). 12:35:17 -!- singingboyo has joined. 12:48:55 -!- |oren\ has quit (Ping timeout: 264 seconds). 12:58:19 -!- sebbu has joined. 12:58:19 -!- sebbu has quit (Changing host). 12:58:19 -!- sebbu has joined. 13:10:34 -!- cluid has joined. 13:15:21 is there something like pangrams based on pairs of letters? 13:16:51 I guess what I'm after is a text fragment in which every letter pair that appears in dictionary words (to be defined...) actually appears. 13:25:28 -!- GeekDude has joined. 13:34:17 -!- S1 has joined. 13:38:48 -!- oren has joined. 13:40:36 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 13:50:55 -!- shikhout has joined. 13:51:14 -!- oren has quit (Ping timeout: 264 seconds). 13:51:17 -!- shikhout has changed nick to Guest54343. 13:54:20 -!- shikhin has quit (Ping timeout: 272 seconds). 14:04:00 I stumbled on this little game, where one gets to kern some words manually. http://type.method.ac/ 14:04:19 The Internet is a strange place. :) 14:07:20 -!- oerjan has joined. 14:10:02 I don't get this game 14:10:02 int-e: "Diphonetically complete." 14:10:05 (Not a real term, I just made it up, and anyhow you wanted graphemes instead of phonemes.) 14:10:09 What does to kern actually mean? 14:10:40 !blsq_uptime 14:10:40 14d 4m 3s 14:10:50 researchers are allowed to make up terms, it's their job 14:10:57 Oh now I get it 14:10:59 Also ITYM "one gets to kem some words" hth 14:13:47 S1: kerning basically means to adjust the spaces between letters of a word (to make it look evenly spaced to the human eye). This may involve things like moving an e following a T a bit below the T. 14:13:58 (disclaimer: I'm not a typographer) 14:14:23 don't listen to int-e he's an accomplished font designer 14:14:25 Yes. 14:14:30 Yes I got it. Got 66 out of 100 points 14:14:32 AV for instance. 14:14:37 fizzie: I don't know what "kem" means, so definitely no. 14:15:34 http://www.ironicsans.com/2008/02/idea_a_new_typography_term.html 14:15:50 oh my god 14:16:00 google messes with the kerning if you search for "kerning" or "keming" 14:16:11 elliott: thanks! 14:16:21 that does make sense actually. 14:17:10 I had 77/100, and I completely failed one of them. Not too impressive. 14:19:11 59/100. I should try again not on a tablet 14:19:23 elliott: I think I knew that. 14:21:41 -!- sebbu2 has joined. 14:22:00 -!- tromp has joined. 14:22:19 -!- sebbu2 has quit (Changing host). 14:22:19 -!- sebbu2 has joined. 14:22:59 Ooh, I got a 100/100 for one. (It's also a bit clunky on this tablet.) 14:23:05 elliott: I'm a bit disappointed though that the merchandise is not using an overlap of an r with an n... 14:23:14 -!- clog_ has joined. 14:23:20 -!- Phantom_Hoover has joined. 14:23:49 -!- glguy___ has joined. 14:24:59 why isn't the pronunciation guide for that link in ipa :( 14:27:51 83/100 as the final score. 14:28:50 not using ipa these days is the dictionary version of not using unicode. who's with me? 14:29:34 * oerjan prepares to swat those against. except shachaf. 14:30:50 oerjan: In that it's still inexplicably popular not to go IPA/Unicode? 14:31:15 -!- sebbu has quit (*.net *.split). 14:31:15 -!- glguy__ has quit (*.net *.split). 14:31:15 -!- clog has quit (*.net *.split). 14:31:15 -!- tromp__ has quit (*.net *.split). 14:31:16 -!- Lymia has quit (*.net *.split). 14:31:16 -!- ski has quit (*.net *.split). 14:31:26 -!- cluid has quit (Quit: Leaving). 14:31:58 fizzie: something like that. 14:32:25 -!- ski has joined. 14:33:03 E.g. I think Merriam-Webster is anti-IPA. 14:33:08 * oerjan dislikes it whenever he searches for the ipa pronunciation of a word and it doesn't show up in the search excerpt of any of the hits 14:33:44 fizzie: yes. i used to look at them anyway because they're otherwise pretty consistent but last i tried they've managed to make the _pronunciation guide_ unfindable. 14:34:32 -!- Lymia has joined. 14:34:49 iirc their argument is that english pronunciation varies too much by dialect, which i guess isn't entirely unreasonable. 14:34:59 I can't read IPA 14:35:14 I do better with the OED's system 14:35:24 "This pronunciation respelling key (prə-nun-see-ay-shən ree-spel-ing kee) is used in some Wikipedia articles to spell out the pronunciations of English words. It does not use special symbols or diacritics apart from the schwa, "ə", which is used (for example) for the a in about." 14:36:28 maybe I don't mean the OED proper 14:36:39 fizzie: is that managing not to mark the stress tdnh 14:37:22 oerjan: Yes, even though it has a notation for it. 14:37:38 Oh. 14:37:53 Copy-paste obliterated the small caps. 14:38:00 oh 14:38:04 It was there in the original. 14:38:16 good, good, maybe. 14:38:40 -!- Guest54343 has changed nick to shikhout. 14:38:46 -!- shikhout has quit (Changing host). 14:38:46 -!- shikhout has joined. 14:38:48 I prefer systems like that for general use, they're more accessible IMO 14:38:52 -!- shikhout has changed nick to shikhin. 14:38:54 I doubt I will ever learn IPA 14:40:27 Well, they do vaguely suggest having both. 14:41:25 just make a template that constructs both should be easy 14:42:56 (the great thing about being known for joking all the time is that you sometimes don't have to decide whether you're joking or not.) 15:16:53 -!- `^_^v has joined. 15:27:50 -!- Sprocklem has joined. 15:28:43 -!- clog_ has quit (Quit: ^C). 15:28:55 -!- clog has joined. 15:35:45 -!- oren has joined. 15:38:19 that was the hardest easy exam i've ever written. it is web programming, plus i was already familiar with php and javascript, and on top of it, it is an open book exam. However, that doesn't mean that it is easy to write PHP and JS with a frikkin PEN for an hour and a half! 15:38:37 -!- drdanmaku has joined. 15:38:46 Why can't e at least use typewriters? 15:39:20 just write in blackletter, that'll show them 15:40:25 i wrote in my standard chicken-scratch scrawl 15:41:19 -!- Sprocklem has quit (Ping timeout: 245 seconds). 15:43:00 fiendish 15:52:54 -!- S1 has quit (Read error: Connection reset by peer). 15:59:02 -!- cluid has joined. 16:04:36 -!- oren has quit (Ping timeout: 245 seconds). 16:08:13 PHP in intaglio 16:16:04 -!- polytone has quit (Quit: rebooting server). 16:16:55 -!- zemhill_ has joined. 16:18:13 -!- monotone has joined. 16:38:10 -!- mihow has joined. 16:42:27 -!- augur has quit (Remote host closed the connection). 16:42:54 -!- augur has joined. 16:46:21 1/win 48 16:46:57 -!- oren has joined. 16:47:21 -!- augur has quit (Ping timeout: 255 seconds). 16:54:15 -!- GeekDude has quit (Ping timeout: 245 seconds). 17:01:21 -!- GeekDude has joined. 17:06:56 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds). 17:07:17 -!- oerjan has quit (Quit: leaving). 17:12:12 -!- bb010g has quit (Quit: Connection closed for inactivity). 17:12:55 -!- atslash has joined. 17:15:59 -!- Sprocklem has joined. 18:04:23 -!- MoALTz has joined. 18:11:13 -!- augur has joined. 18:12:38 the modern latin alphabet is stupid. this whole time i thought they were hom clauses 18:13:04 when they were *horn clauses 18:13:49 -!- MoALTz has quit (Quit: Leaving). 18:15:35 -!- Phantom_Hoover has joined. 18:16:08 the joy of fractur 18:16:39 yes that is what led me to this realization. i set firefox to fractur 18:18:09 careful there, the nazis might come after you for that 18:19:34 actually any monospace font would help. the problem is that rn is indistinguishable from m in proportional sans fonts 18:20:00 isn't that a kerning thing? 18:20:12 ^ 18:20:17 it's not true of all fonts 18:22:17 https://i.imgur.com/zpd4XvF.png why would anyone need fraktur? normal text is perfectly readable 18:22:50 fraktur still looks cool even if unnecessary 18:23:45 well, most fonts then. it is certainly the case in FreeMono 18:24:02 elliott: is that zapfino? 18:24:07 yes 18:24:11 the bestest font 18:24:25 haha ist hat zapfino 18:24:39 no I lied the first time 18:24:41 (yes) 18:24:45 "Can someone give an example of the steepest descent that is not a gradient descent?" I could have sworn steepest descent was a specific type of gradient descent. isn't this question just wrong? 18:24:56 http://fc07.deviantart.net/fs70/f/2010/041/a/2/zapfino_phoenix_by_Nino2303.jpg my IRC client loks like this 18:26:06 https://i.imgur.com/cyigKDn.png this is getting worryingly tolerable 18:26:09 what if I actually use this 18:26:24 everyone is so elegant now 18:26:36 heheh 18:27:38 it's a shame the ridiculous ligatures don't work 18:27:44 someone make a terminal that can display those please 18:28:38 it is also a shame zapfino doesn't have <> chars 18:29:05 those look like fallbacks to me 18:29:27 I don't think they are 18:29:38 not sure 18:29:54 they look too small. + also 18:30:51 why the hell do different fonts, on the same point size, have completely different sizes? 18:30:53 -!- MoALTz has joined. 18:32:40 -!- AndoDaan has joined. 18:33:03 artist leeway 18:34:19 i want a terminal that rescales each character to fit in a box 18:40:57 have you tried zooming in until a single character is bigger than your monitor. if you can't do that, then you already have such a terminal. 18:42:07 i am getting used to { being ck, [ being ch, } being st and ] being tz. $ is a normal s. 18:42:38 elliott: that is disturbingly tolerable 18:42:51 ... I wish I was usingn an easier-to-configure terminal emulator 18:43:51 use xfce-terminal 18:44:03 -!- Sprocklem has quit (Ping timeout: 264 seconds). 18:46:37 http://ctrlv.in/474692 <-- see? if(c==27)ck c=ALT|getch(); st 18:48:15 oren: Why are you using such a broken font? 18:49:04 why is torbrowser not working when i try to search things on torrentz 18:49:06 this is awful 18:49:16 Melvar: it is fun to mess people up. someone looking over your shoulder is like What...the..fuck. 18:50:59 besides, it works fine if you have good syntax highlighting. 18:52:25 What does it make of a *real* ‘ſ’? 18:52:47 fallback to sans mono 18:54:41 Also ‘st’? 18:55:25 Or it might be ubuntu mono. http://ctrlv.in/474697 18:55:57 but you are like: 18:56:10 Ulfo st? 18:56:57 -!- oren has quit (Quit: Lost terminal). 18:57:50 -!- oren has joined. 18:59:49 Bell is a bad ISP 19:01:20 and nmcli doesn't work well 19:02:27 combine the two, it means i have to logout and login in order to switch wireless nets 19:03:24 *wireleß 19:07:37 -!- oren has quit (Quit: Lost terminal). 19:36:02 -!- augur has quit (Remote host closed the connection). 19:50:45 -!- shikhout has joined. 19:51:21 -!- shikhout has changed nick to Guest38946. 19:54:00 -!- shikhin has quit (Ping timeout: 258 seconds). 19:58:37 -!- Sprocklem has joined. 19:59:54 -!- FireFly has quit (Changing host). 19:59:54 -!- FireFly has joined. 20:04:41 -!- mihow has quit (Quit: mihow). 20:07:04 -!- Patashu has joined. 20:16:20 -!- augur has joined. 20:16:51 -!- atslash has quit (Quit: This computer has gone to sleep). 20:26:19 -!- Patashu has quit (Ping timeout: 240 seconds). 20:40:54 -!- oren has joined. 20:41:27 so i got fed up with the lack of profiles in xfce-terminal. 20:41:39 gnome-terminal ftw 20:48:51 -!- mihow has joined. 21:11:40 -!- oren has changed nick to |oren\. 21:12:15 * FreeFull uses roxterm 21:15:12 * |oren\ used a xaccuracy! 21:26:12 * |oren\ s Haxorus used Guillotine! 21:26:32 <|oren\> and that is how i lost a friend 21:30:23 <|oren\> back then there was no Fairy remember. 21:34:37 -!- MoALTz has quit (Quit: Leaving). 21:40:53 -!- CrazyM4n has joined. 21:45:47 <|oren\> yo 21:49:12 -!- glguy has quit (Quit: Part). 21:49:24 * FireFly looks up the song in the background of that screenshot 21:52:15 -!- glguy has joined. 21:52:30 -!- copumpkin has quit (Ping timeout: 272 seconds). 21:53:37 "f7ioe.c:31:: uavning: iuplicit oeclavation of function ftvuope Q-Dinplicit-fu" 21:53:47 ctrlv's OCR is not so happy about the font choice. 21:55:41 <|oren\> uavning? 21:56:09 "f7ibe.c:13:6: uavning: unufeb paviable y Q-vunufeb-oaviableg" 21:56:31 <|oren\> oh my god hahahaha 21:57:14 13:47 lelpav oven: why ave you ufing fuch a bvoten font 21:57:21 So bvoten. 21:59:32 -!- GeekDude has changed nick to GeekAfk. 22:00:02 <|oren\> coppvo ... 3 with 3 waf ufingn an eafiev-toconfiguve tevninal enulatov 22:01:50 -!- AndoDaan has quit (Quit: bbl). 22:03:17 -!- |oren\ has changed nick to oven. 22:03:42 -!- `^_^v has quit (Quit: This computer has gone to sleep). 22:05:07 it is much more hilarious if you read it out loud 22:08:05 -!- augur has quit (Remote host closed the connection). 22:08:10 [wiki] [[Special:Log/newusers]] create * Xbony2 * New user account 22:09:21 [wiki] [[User:Xbony2]] N http://esolangs.org/w/index.php?oldid=41481 * Xbony2 * (+143) Created page with "I'm xbony2. Hi. View my Github [https://github.com/xbony2 here], I mostly make minecraft mods, but play around with other things too sometimes." 22:11:09 It appears cursive is just as bad : http://ctrlv.in/474781 <-- manning: compauloon eetween oioned and unaioned Lnteoeu expneooiono 22:12:18 what would it do for zapfino? Elliot? 22:12:25 *elliott? 22:13:21 you have my screenshots, you can upload them to check if you want :p 22:14:09 for some reason i can't get it to take the image. 22:14:18 weird 22:14:21 probably too big or something? 22:14:27 it says "that type of image is not supported" 22:14:29 too zapfino 22:15:38 #define oioned signed 22:15:47 the nice thing about transparent terminals is that you can carefully arrange what people can squint nosily at behind them 22:16:23 well, mostly it is whatever i hppened to be listening too 22:17:57 yeah same. well here is me just running vi for no reason http://ctrlv.in/474785 22:17:58 i use youtube as a music player a lot of the time, (except when i need the internet bandwidth for something else) 22:20:03 elliott: the incongruousness (yay i can spell) of that screenshot is awsome 22:21:55 http://ctrlv.in/474788 im JUST using my conmputer 22:22:58 the best part of creating that screenshot was that installing emacs on my server also installed systemd 22:23:25 -!- oerjan has joined. 22:24:01 the other greatest part was the youtube recommendations. have you ever wanted to listen to a nightcore remix of late 90s eurodance hit blue by eiffel 65 for ten hours? well, 22:27:17 -!- dts|pokeball has joined. 22:27:44 -!- Sprocklem has quit (Ping timeout: 258 seconds). 22:36:00 i have listened to ten-hour videos, but not the kind that are ten hours of the same thing. https://www.youtube.com/watch?v=EIBou1U-Sq0 <-- I have listened to this several times 22:36:20 12 hours of the 90's eurodisco 22:36:53 it's not a real ten hour video if it contains ten hours of actual content 22:36:56 -!- augur has joined. 22:37:43 I'm kind of worried my server wouldn't reboot if I tried. it hasn't been rebooted in almost a year. I bet that kernel has so many holes in it 22:38:12 it has systemd and stuff now I guess if I tried to reboot it. a new era 22:38:50 one of my dad's servers hasn't been rebooted since 2003. 22:39:15 it runs AIX which i'm pretty sure doesn't even existanymore 22:40:00 does it, uh, do anything? 22:40:12 not running into a single kernel bug bad enough to need a reboot in that time is impressive 22:41:01 also not having any important security updates for the kernel, though I guess that would require anyone to care about AIX 22:41:05 it runs a system for topologists to announce conferences. it was hacked together in the early 1990's in Perl 4 by my dad 22:42:36 it doesn't run updates or any of that. it still runs perl 4 22:43:09 AIX is IBM, ergo it will never stop existing hth 22:43:48 the other server runs linux kernel 2.0 or something like that 22:44:04 that is the backup 22:54:12 Hi, e||1ott. 22:54:39 fizzie: close enough 22:56:09 The 'p's on the reverse-video Emacs menu bar seem to have been slightly problematic too. 22:56:20 "Ootions" "LisoInteraction" "Helo" 22:57:27 it also didnt recognise the Nightcore - Gangnam Style 10 hours at all 22:57:28 F- 23:24:08 -!- augur has quit (Remote host closed the connection). 23:26:42 -!- CrazyM4n has quit (Remote host closed the connection). 23:33:08 -!- GeekAfk has changed nick to GeekDude. 23:53:33 -!- Sprocklem has joined. 23:59:44 -!- dts|pokeball has quit (Read error: Connection reset by peer). 2014-12-17: 00:00:46 -!- dts|pokeball has joined. 00:11:33 -!- boily has joined. 00:12:25 -!- SirCmpwn has quit (Ping timeout: 240 seconds). 00:15:07 -!- SirCmpwn has joined. 00:18:26 -!- mihow has quit (Quit: mihow). 00:19:31 -!- SirCmpwn has quit (Excess Flood). 00:21:24 -!- SirCmpwn has joined. 00:25:19 -!- SirCmpwn has quit (Excess Flood). 00:25:37 -!- SirCmpwn has joined. 00:38:54 -!- azazel_ has joined. 00:46:25 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 00:57:50 [wiki] [[Unnecessary]] http://esolangs.org/w/index.php?diff=41482&oldid=40620 * Xbony2 * (+94) Added another interpreter 01:18:20 -!- cluid has quit (Quit: Leaving). 01:31:38 -!- Guest38946 has quit (Ping timeout: 272 seconds). 01:49:46 -!- glguy has quit (Quit: Quit). 01:54:16 -!- CrazyM4n has joined. 02:10:30 -!- dts|pokeball has quit (Quit: Leaving). 02:10:48 -!- dts|pokeball has joined. 02:14:46 -!- boily has quit (Quit: PHŒNICIAN CHICKEN). 02:16:45 -!- CrazyM4n has quit (Remote host closed the connection). 02:27:17 -!- mitchs_ has joined. 02:30:29 -!- mitchs has quit (Ping timeout: 244 seconds). 02:49:13 -!- _AndoDaan has joined. 02:50:46 -!- AndoDaan has joined. 02:52:14 -!- AndoDaan_ has joined. 02:53:44 -!- _AndoDaan has quit (Ping timeout: 264 seconds). 02:53:53 holy crap there are three AndoDaans? 02:54:06 dammit. 02:54:21 -!- oven has changed nick to |oren\. 02:54:37 tried to irc on my phone. 02:55:19 -!- AndoDaan has quit (Ping timeout: 240 seconds). 02:55:27 -!- AndoDaan_ has changed nick to AndoDaan. 02:55:33 <|oren\> and then there was one. 03:00:02 -!- AndoDaan_ has joined. 03:02:36 <|oren\> nvm. there are two 03:02:39 -!- AndoDaan has quit (Ping timeout: 240 seconds). 03:02:48 <|oren\> and one again 03:07:16 -!- AndoDaan_ has quit (Ping timeout: 272 seconds). 03:08:20 -!- Tod-Autojoined has joined. 03:08:31 -!- TodPunk has quit (Read error: Connection reset by peer). 03:08:39 -!- Tod-Autojoined has changed nick to TodPunk. 03:14:28 [wiki] [[Talk:Ragaraja]] M http://esolangs.org/w/index.php?diff=41483&oldid=41480 * Oerjan * (+50) Geronimo! Also fix link 03:24:50 -!- |oren\ has quit (Quit: Lost terminal). 03:25:41 Use an app ando 03:26:52 -!- copumpkin has joined. 03:28:16 copumpkin: you should add propumpkin hth 03:28:23 k 03:30:13 copumpkin is a pro 03:34:36 -!- oren has joined. 03:36:55 damn right 03:38:20 now if he were also bi he could get the full set 03:40:01 do i even want to know? 03:41:45 -!- glguy___ has changed nick to glguy_. 03:41:55 wait a second here, this is some sort of math pun isn't it? 03:42:44 ding ding ding 03:43:01 it's been a while since i posted a screenshot: http://ctrlv.in/474924 03:44:21 stupid google has menus to restrict searches to a language or region; but when i look at them they _only_ let me choose between everything and norwegian 03:44:51 use bing hth 03:45:05 -!- glguy_ has quit (Quit: Part). 03:45:23 does that allow me to exclude norwegian results? 03:45:29 -!- CrazyM4n has joined. 03:48:18 hm that doesn't allow me to set it for just one search 03:48:49 this is for when i want to search for something that's accidentally a common norwegian word 03:48:51 -!- augur has joined. 03:55:28 there seems to be no search prefix for language. 03:55:37 -!- dts|pokeball has quit (Ping timeout: 255 seconds). 03:56:46 oerjan: why not set it to english? 03:56:47 google doesn't have a concept for telling them "you're second-guessing me wrong, this is how i want you to adjust your behavior". 03:56:55 Why does Rust interest me, they keep saying it's mostly for systems programming, and I have no interest in that 03:57:57 oren: then i have to set it back afterward. and the preferences are on a different page. basically i _hate_ all ui that requires me to leave the information i'm actually looking at to adjust it. 03:59:15 i'm basically bitching about google putting this beyond my too-complicated-to-bother threshold. 04:01:00 oerjan: use a private broswing window? 04:01:26 ...i don't think you're getting what i'm saying. 04:01:32 google won't modify your main account's settings 04:02:15 anyway it was simpler to just append "definition" 04:02:35 -!- glguy has joined. 04:03:14 which happens to work for finding word definitions most of the time because the word is spelled differently in norwegian. 04:06:32 I hate that you can't search for C++ C# and C separately unless you write the symbols out as words 04:06:59 aye 04:09:26 So many Rust libraries have names that... are as unpleasant to Google for as Rust itself 04:09:32 Rust iron. Not helpful 04:09:42 ...apparently it is 04:10:05 Sgeo_: wow that sucks. clearly not thinking ahead. 04:12:21 at least C# isn't the name of a mundane object 04:12:48 -!- madbr has joined. 04:18:00 [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41484&oldid=41473 * Orenwatson * (+242) Register offsets in the forms I(12 or I)12 04:19:46 http://www.drdobbs.com/architecture-and-design/farewell-dr-dobbs/240169421 :( 04:40:31 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 04:43:40 -!- glguy__ has joined. 04:44:05 -!- glguy has quit (Read error: Connection reset by peer). 04:49:27 -!- bb010g has joined. 04:54:07 -!- J_Arcane has joined. 04:54:12 -!- oerjan has quit (Quit: Clearly these are the end times). 04:55:17 -!- J_Arcane_ has quit (Ping timeout: 258 seconds). 04:55:40 -!- aloril_ has quit (Ping timeout: 258 seconds). 04:58:52 J_Arcane: :( 04:59:24 -!- aloril_ has joined. 05:03:36 -!- glguy__ has changed nick to glguy. 05:03:38 -!- aloril_ has quit (Max SendQ exceeded). 05:03:58 the hacker news comments about the news are insufferably predictable. :/ 05:04:39 i suppose I shouldn't be surprised when a bunch of 'startup' types react to someone actually pointing out that web ads don't work, considering it's what all their investor storytimes mostly hinge on. 05:04:39 -!- aloril_ has joined. 05:04:41 -!- dts|pokeball has joined. 05:04:54 -!- glguy has quit (Quit: Part). 05:05:13 -!- glguy has joined. 05:13:18 -!- CrazyM4n has quit (Remote host closed the connection). 05:18:36 -!- glguy has quit (Quit: Part). 05:20:37 `slist 05:20:54 slist: Taneb atriq Ngevd Fiora Sgeo ThatOtherPerson alot 05:26:13 -!- glguy has joined. 05:29:11 Oooh, slist 05:29:44 have y'all tried prismata? 05:29:56 single-player demo at http://play.prismata.net/?demo (uses flash) 05:32:44 I'm personally not keen on that kind of game 05:34:57 what kind of game are you keen on 05:38:05 the kind that doesn't take a billion years to load maybe? 05:43:12 shachaf, I like platformers mostly 05:43:47 Taneb: what kind of game is it? i can't load it 05:43:56 oren, like a card game 05:44:01 I think hearthstone-ish 05:44:15 yes 05:44:32 well, it's a deterministic complet-information game with no deck building, so it's p. different in that respect 05:51:48 I sometimes like roguelikes like Pokemon Mystery Dungeon and sims like Dwarf Fortress 05:53:04 -!- Sprocklem has quit (Ping timeout: 264 seconds). 06:14:28 i have decided to keep my policy of keeping the entire scrip7 release as one .c file 06:17:11 separate files are for people who want to have to use a VCS instead of 20141216.c etc 06:19:17 -!- MDream has joined. 06:19:57 -!- MDream has quit (Client Quit). 06:20:35 -!- MDream has joined. 06:35:50 [wiki] [[MNNBFSL]] http://esolangs.org/w/index.php?diff=41485&oldid=41344 * AndoDaan * (+431) /* Examples */ 06:38:23 -!- AndoDaan has joined. 06:42:57 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 06:46:03 is it evil to use the C preprocessor to include plaintext and shellscripts into a C file? 06:46:35 screw it this is an esolang anyway 06:47:38 I ask fungot to inform oren of the morality of his actions. 06:50:25 * MDream is abruptly destroyed as his monitor turns into a small nuclear blast at the revelation that fungot is not present. 06:52:23 shachaf: I put in for the Kickstarter, but haven't actually played, besides once in the tutorial 06:52:26 I want to play though 06:52:33 Kickstarter isn't looking so healthy :( 06:54:21 Yes. :-( I hope they reach their goal. 06:55:10 3 days for 15000 CAD 06:55:18 It's probably doable. 06:55:26 I think it did jump 5000 in one day, so.. maybe? 07:00:08 hm 07:00:24 I want to make a language where something like 07:00:29 var += array[$n] 07:00:36 is internally expanded into 07:00:56 for(int n=0; n var += array[n]; 07:01:22 J 07:01:34 at compile time 07:01:39 oh 07:01:43 -!- shikhin has joined. 07:01:44 -!- shikhin has quit (Changing host). 07:01:44 -!- shikhin has joined. 07:11:06 one way to do it would be that array::operator [](size_t index) checks for the superior bound and generates and exception, and all loops contain an implicit try catch block that catches this exception 07:11:52 and compilers are written in such a way that this exception is optimized into the correct n in a lanuguage that isn't defined in terms of horrifying c++ abominations you could do it more elegantly 07:12:32 I'm just using c++ as a convenience here 07:12:54 though I'd really like the statement used by the user to be "var += array[$n]" 07:12:54 why does c++ often require the compiler to achieve sentience? 07:13:21 c++ probably just got the wrong feature set and too much history 07:13:51 and is stuck with some things that used to make a difference but don't anymore 07:14:25 function static variables etc 07:15:04 so yeah i think you could do this with a standard yacc/lex thing 07:15:14 at least the parsing 07:15:38 well 07:15:51 it's more complex than it looks at first sight 07:16:15 also I'd like something like 07:16:33 var += array[$n], n < 8 07:16:40 to expand into something like 07:17:07 for(int n=0; n so you'd have syntax to append "conditions" on any piece of code, including its internal loop(s). 07:18:17 and various other similar types of variable binding 07:18:42 yeah... how to explain this 07:19:23 maybe any undeclared variables are assumed to be local to the current statement? 07:19:40 basically, any statement with $x variables in it should in theory expand to a loop trying all 4 billion possibilities 07:19:52 and with multiple variables, all combinations 07:19:57 but 07:19:59 and by doing A[n] you impose implicit restricitons on n 07:20:24 automatically discarding any possibility that violates an array bound 07:20:39 or a condition (like n<8) 07:21:46 so for instance if the "payload" of the statement is an assignment, the assignment isn't done 07:21:54 and then you write some clever code to preemptively not even try numbers that would always violate a condition 07:22:08 yep 07:22:52 or at least be clever enough to respect array bounds and easy to figure out boundary conditions 07:23:20 also would be able to do sortof multi step binding things 07:23:21 like 07:23:42 $v = array[$n], var += v*v 07:24:39 basically square each array value and do the sum of those 07:25:29 the way it would work is that it would try out every value of $n, and obviously this only works for indexes that are in the array 07:26:19 -!- Lymia has quit (Ping timeout: 250 seconds). 07:26:38 and obviously if you have 6 at array[0], if $n binds to 0, then $v in turns has to bind to 6 (since it's the only value where the statement $v = array[0] can be true) 07:27:12 and now that $v has binded, the "payload" (var += v*v) can be executed 07:27:24 anyhow, sleep time 07:28:18 -!- madbr has quit (Quit: Pics or it didn't happen). 07:32:47 Huh, no 'got? 07:33:15 -!- fungot has joined. 07:33:17 That's better. 07:41:11 -!- azazel_ has quit (Quit: Connection closed for inactivity). 07:44:24 -!- Patashu has joined. 07:46:23 fungot! 07:46:23 olsner: it was in america. especially in fnord) 07:46:42 fungot: did it have fun in america? 07:46:42 olsner: is ( and dip it in melted butter first)." fnord pope? 1)?? has type fnord of pointer to function ( long, long gone by the time i'm just using scheme48 in a shell) 07:49:07 fungot: What do they dip in melted butter in America? Everything? 07:49:07 fizzie: i'm with you. i have the browser tied in with mit scheme's compiler.) 07:49:28 fungot: Sounds very practical. 07:49:29 fizzie: kilimanjaro says: i don't use linux... plus it uses tk on it im not imagining things! it really does load the source of a minimal implementation 07:50:26 Tk, a web browser and MIT Scheme's compiler. A curious combination. 08:36:27 -!- shikhout has joined. 08:36:51 -!- shikhout has changed nick to Guest2022. 08:40:32 -!- shikhin has quit (Ping timeout: 265 seconds). 08:51:59 -!- atslash has joined. 08:53:06 -!- Guest2022 has changed nick to shikhin. 08:53:11 -!- shikhin has quit (Changing host). 08:53:11 -!- shikhin has joined. 08:59:54 The scrip7 IDE is coming along nicely: http://ctrlv.in/475010 09:01:24 [wiki] [[MNNBFSL]] http://esolangs.org/w/index.php?diff=41486&oldid=41485 * AndoDaan * (+159) Collatz program now terminates when n = 1. 09:05:09 -!- AndoDaan_ has joined. 09:07:54 -!- AndoDaan has quit (Ping timeout: 258 seconds). 09:14:17 -!- _AndoDaan_ has joined. 09:15:57 -!- AndoDaan_ has quit (Ping timeout: 264 seconds). 09:19:26 -!- _AndoDaan_ has changed nick to AndoDaan. 10:04:20 -!- mihow has joined. 10:09:52 -!- mihow has quit (Ping timeout: 264 seconds). 10:12:57 -!- dts|pokeball has quit (Ping timeout: 245 seconds). 10:56:34 -!- Phantom_Hoover has joined. 10:58:35 05:03:36 i suppose I shouldn't be surprised when a bunch of 'startup' types react to someone actually pointing out that web ads don't work, considering it's what all their investor storytimes mostly hinge on. 10:58:39 J_Arcane: they get as far as ads? 10:58:46 isn't it all about growth, growth, growth 10:59:10 "hacker news surprised to discover capitalism is unsustainable" 11:01:41 Not just 'capitalism' in their case, but 'capitalism founded on fairy stories'. XD 11:03:20 you'll have to enlighten me as to the difference :p 11:03:27 XD 11:03:48 True. I suppose the difference is mostly temporal, in SV's case. 11:07:29 http://pastebin.com/qVp7R5D2 <-- it is done: the "hopefully getting stabler release 2014-12-17 06:30" 11:08:50 is it morally wrong to include several programs in one .c file by use of ifdefs? 11:09:37 Not if the programs are 'true' and 'false'. 11:10:50 [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41487&oldid=41484 * Orenwatson * (+11) upadted link 11:13:19 remember that time this channel figured out how to make false succeed? that was good 11:14:25 I don't remember that at all, but it sounds intriguing. 11:15:07 it involved exploiting a buffer overflow in gettext 11:15:19 by crafting an appropriate translation file and getting it to display help 11:15:25 or, uh, not really a buffer overflow in gettext 11:15:34 more like just it doing printf(_("..."), ...) 11:15:37 so you can exploit the format string 11:15:51 I mean, you can make true fail, so why not the other way around, right? 11:17:22 fizzie: http://sprunge.us/JBhf 11:17:31 int-e was the one who got it to proof of concept 11:18:00 me and ais523 found/fiddled with the gettext use 11:18:07 I must've missed or forgotten about this. 11:18:10 V. fancy. 11:18:31 sadly gettext doesn't let you specify environment variables like this for setuid programs 11:18:38 so you can't use it for privilege escalation 11:18:48 but imagine if you could. 11:19:15 it does mean that having write access to /usr/share lets you "pwn" a box (if any programs that run as root use gettext like this), I think. 11:21:04 Makes me wonder how common it is to have localized format strings. Probably relatively so. 11:21:15 yeah, I think that's standard gettext use 11:21:32 certainly I expect most of coreutils does it, for the help messages 11:21:37 -!- erdic has quit (Ping timeout: 250 seconds). 11:21:49 anyway, this was half a year ago, fwiw. 11:22:11 -!- erdic has joined. 11:22:34 -!- boily has joined. 11:22:39 Yes, there's quite a lot of "%s: unrecognized option `%c%s'" and so on. 11:31:27 anyway, you'd think that it wouldn't be hard to write a printf_ which checks the format strings are compatible... 11:31:45 but I guess this is unix, we don't care about robustness! 11:33:14 The overhead would be unacceptable 11:36:16 -!- Patashu has quit (Ping timeout: 250 seconds). 11:38:49 Ah, so you also need to add a separate "format check only" function so you can keep using raw printf in all those thight inner loops, and hoist only the check out. 11:40:11 actually, that's sort of a good point, you could just call it __ instead of _ 11:40:15 or whatever 11:40:17 don't even need to wrap printf 11:40:24 printf doesn't check the format strings, but atleast gcc gives you a warning! 11:40:29 hell just turn it on for _ and at least make it print out warnings 11:40:37 oren: it doesn't if you use gettext :p 11:41:29 * elliott thinks about LD_PRELOADing an alternate gettext that does a naive format string check and prints out if they don't match... 11:41:40 can't wait for my NEXT coreutils xzero-day 11:41:43 *zero-day 11:42:19 elliott: The whole thing doesn't sound like a too far-fetched thing to be enabled by some sort of FORTIFY_SOURCE option. 11:43:03 I forget what exactly printf_chk does, actually. 11:43:13 yeah, I suppose if you cheated by actually patching the compiler it could avoid false whatsits. 11:43:28 really, though, the environment variables should probably just go away. 11:43:37 at the least. 11:44:07 hey imagine if we wrote in a language that wasn't segfault city 11:44:26 then we could have things like "features" without blowing up the planet in the process 11:45:29 safety, speed, flexibility, pick two 11:46:07 I don't believe you have to. 11:46:11 especially not for coreutils, come on. 11:46:28 elliott: (a) why would you have to LD_PRELOAD that? why not check during compiling the translation files with msgfmt instead? (b) in either case, how do you know which strings contain printf-formats, which ones used in some other way? 11:46:46 b_jonas: welltranslation files can be specified at runtime 11:46:48 *well translation 11:46:58 elliott: i mean that a language can only give you two, and you have to make the third by good programming 11:47:03 and by the rarity of % 11:47:15 I only wanted it so I could look for exploits, though I guess it's unlikely that mistake would be made in stock translation files 11:47:22 maybe it should just print whenever you pass a % to _ 11:48:26 oren: I don't agree. many of the ways in which C are unsafe aren't just design tradeoffs that there can be reasonable disagreement about; it is a flawed language and you can do better in many respects without making big sacrifices on speed or flexibility. languages aren't always a perfect balanced compromise that couldn't be objectively improved on 11:49:29 elliott: of course it can be improved on, but there is a upper limit at which tradeoffs emerge 11:50:10 sure. let's get to that point, and *then* you can say "safety, speed, flexibility, pick two" in response to me whining about whatever language we're using then :) 11:50:35 fine. 11:50:57 I suspect you could write coreutils in just about anything and be completely fine, anyway. it's not really number crunching. 11:51:09 so what about fortran 90? 11:51:35 okay, I guess something like sha*sum would be annoying if it was too slow. 11:53:07 maybe the coreutils shouldn't all be written in the same language? 11:53:58 uh, you could put forward that position but I don't know why you would 11:54:08 put all your eggs in one basket, then watch that basket very closely. 11:55:06 well, you could use fortran for number crunching things, something pedantic like Ada for security, etc. 11:58:24 only problem is that in olden times languages didn't interoperate well 11:59:09 so they standardized on C because it is very flexible. 11:59:35 (compared to its contemporaries i mean) 12:02:46 % time cat MacTeX.pkg >/dev/null 12:02:46 cat MacTeX.pkg > /dev/null 0.01s user 0.64s system 49% cpu 1.320 total 12:02:46 % time shasum -a 512 MacTeX.pkg 12:02:46 e788be6b14300f3e6463cdd8f8b1a4afc61e3a4c315c486e0dde465bf82ea16080bb0c6f78faa5cbd21a3ec6abb820ce805d1131f02069908514f1b28f06720d MacTeX.pkg 12:02:49 shasum -a 512 MacTeX.pkg 11.08s user 0.63s system 98% cpu 11.870 total 12:02:52 % time ruby -e 'require "digest"; d = Digest::SHA512.new; buf = ""; f = File.open("MacTeX.pkg"); while f.read(65536, buf) != nil; d << buf; end; puts d.hexdigest' 12:02:55 e788be6b14300f3e6463cdd8f8b1a4afc61e3a4c315c486e0dde465bf82ea16080bb0c6f78faa5cbd21a3ec6abb820ce805d1131f02069908514f1b28f06720d 12:02:58 ruby -e 11.96s user 0.57s system 98% cpu 12.690 total 12:03:00 of course this is depending on C code for the SHA-512 implementation. 12:03:19 but my point is that this is not an obstacle to writing coreutils even in something "famously slow" like ruby 12:03:34 though honestly ruby has a greater risk surface than coreutils probably 12:03:59 just saying that you probably have to look on our wiki to find a language too slow to reasonably write coreutils in 12:05:19 elliott: i see! so because modern languages can call the C ABI, we can write the glue codein something that has no risk of buffer overflows 12:05:31 -!- mihow has joined. 12:05:49 well, it's not even necessarily an ABI problem. you just need *some* way to extend the language in something fast enough 12:06:06 here's a question: how fast would sha512sum be with a hand-optimised, but totally memory-safe, pure haskell implementation? 12:06:19 I wouldn't be surprised if the answer was "fast enough". 12:06:32 i'm gonna guess at about 20% speed? 12:06:43 that's a serious underestimate I think 12:06:54 based on my knowledgeof racket 12:07:10 is haskell strongly typed? 12:07:14 haskell and racket are incomparable, I think 12:07:17 isn't racket interpreter-only 12:07:21 haskell has a very advanced optimising compiler 12:07:33 Racket is JIT-compiled from byte-code. 12:07:35 and people write rather gnarly hand-optimised code in it 12:07:50 It's pretty fast, but slower than most lisps, and slower than Haskell, generally speaking. 12:07:52 oren: yes, very much so 12:08:07 then i'll say 90% 12:08:21 it has probably the most advanced type system of any "commonly used to slightly obscure" language 12:08:33 http://benchmarksgame.alioth.debian.org/u32/compare.php?lang=racket&lang2=ghc 12:08:45 let's not use the benchmarks game to talk about haskell performance lol 12:08:48 those programs are horrific 12:08:58 :_D 12:08:59 okay, not all of them 12:09:27 but some of them probably have negative PR effect because people were obsessed with getting the tiniest last bit of performance out of them, making it so that if you actually look at the source you think you need to sacrifice your soul to satan to get reasonable performance out ofh askell 12:09:44 This is a fair point. 12:10:09 i have consistently seen that the stronger the typing of a language, the faster it is. 12:10:15 I found Haskell quite quick enough as it was, and certainly very little code I see in the actual Haskell sources looks as ugly as, say, this: http://benchmarksgame.alioth.debian.org/u32/program.php?test=pidigits&lang=ghc&id=4 12:10:38 -!- mihow has quit (Ping timeout: 256 seconds). 12:10:42 actually that code looks fine 12:10:45 there's no unsafety or unboxing or anything 12:10:52 aij (I# i) (I# j) = D# ( 12:10:52 case i +# j of 12:10:52 n -> 1.0## /## int2Double# 12:10:52 (((n *# (n+#1#)) `uncheckedIShiftRA#` 1#) +# (i +# 1#))) 12:10:56 this is scary though :p 12:11:03 oren: Generally yes, because it saves cycles for error checking and such. Though Common Lisp can be pretty fast I'm told. 12:11:04 that's the kind of code you'd be writing for a hand-optimised SHA implementation haha 12:12:58 the only reason C isso fast is because it is so unsafe. a safe language with C's type system would probably be slow as hell 12:13:30 you're wrong 12:13:53 the point is the uncheckedIShiftRA#, I guess; the rest the compiler should do by itself. 12:13:57 ll, "with C's type system", sure... 12:13:58 *well, 12:14:03 that's a ridiculous constraint though 12:14:47 elliott: it is a hypothetical. such language does not exist, because it would be ridiculous 12:14:52 speaking of C, I should probably get back to working on Build Your Own Lisp at some point. 12:14:53 how old is that code anyway? ghc has been getting smarter over the years. 12:14:53 actually it kind of does 12:14:58 @google asan clang 12:14:58 http://clang.llvm.org/docs/AddressSanitizer.html 12:14:59 Title: AddressSanitizer — Clang 3.6 documentation 12:15:20 adding naive memory safety to C makes programs twice as slow, basically 12:15:23 which is far from slow as hell 12:15:47 I think google run a bunch of high-risk stuff compiled with ASan or something? 12:16:28 they certainly use it for testing, anyway 12:16:42 -!- cluid has joined. 12:16:47 brb, installing that. 12:16:52 Yes. I think that's another thing about C, is it is indeed blisteringly fast, which throws the curve for everything else. ie. being 'twice as slow as C' sounds like more than it is in practical terms. It's not like we're talking BASIC v. Assembly, like in the old days. 12:16:58 oren: it comes with clang 12:17:08 oh then i already have it 12:17:22 i have like 10 c compilers installed 12:17:34 Heh. I just have tcc and gcc. 12:17:46 I guess you also need http://clang.llvm.org/docs/MemorySanitizer.html since ASan doesn't catch that, and that has a bigger slowdown, but whatever 12:18:03 that's probably more of a debugging thing than a big safety problem 12:19:11 -!- coppro has quit (Ping timeout: 258 seconds). 12:23:42 well that is certainly a better way of finding the memory leaks than simply printfing every damn thing 12:24:48 you know about valgrind, right? 12:25:11 I guess maybe the clang stuff is better these days, I don't know. 12:25:22 it's certainly faster. 12:25:27 valgrind works but it is annoying to use 12:26:41 -!- coppro has joined. 12:27:03 -!- Lymia has joined. 12:27:49 -!- boily has quit (Quit: RESPLENISHED CHICKEN). 12:28:15 these clang options can simply be added to the compile script, whereas valgrind requires you to run things in a different way 12:30:28 my short test indicates that the clang thing has less performance penalty too 12:34:44 yes, valgrind is very slow 12:58:08 Or you can use a language which ensures memory safety at compile time 13:00:31 yes 13:04:05 FreeFull: that will become the default when OS's C ABIs are replaced with something memory-safe. 13:08:13 what 13:08:26 what "OS's C ABIs" 13:08:30 syscalls do not use the C ABI... 13:09:06 -!- oren has quit (Ping timeout: 244 seconds). 13:09:12 FreeBSD's do, to some degree. 13:09:45 they don't use the CALL part, do they? :p 13:09:55 Not quite, but almost. 13:10:05 (looks it up) this is kinda weird but nice 13:10:09 -!- oren has joined. 13:10:21 I don't think it invalidates my point though. it's not like people write everything directly with syscalls 13:11:11 "Linux is a UNIX® like system. However, its kernel uses the same system-call convention of passing parameters in registers MS-DOS® does. [...] This convention has a great disadvantage over the UNIX® way, at least as far as assembly language programming is concerned: Every time you make a kernel call you must push the registers, then pop them later. This makes your code bulkier and slower. ... 13:11:14 (As in, the kernel skips a return address when looking for arguments on the stack, under the assumption that you've called a function that has executed the int. On x86, anyway; I don't know how it is with other ports.) 13:11:17 ... Nevertheless, FreeBSD gives you a choice." 13:11:18 they're so bitter 13:11:37 I see you've found the page I always hit when googling for the FreeBSD calling convention. 13:11:56 I wonder what they do on x86-64 13:12:09 given that that C calling convention is JUST AS BAD AS MS-DOS(R) 13:12:34 "If you are coding specifically for FreeBSD, you should always use the UNIX® convention [...] If you want to create portable code that can also run on Linux, you will probably still want to give the FreeBSD users as efficient a code as possible." 13:12:45 are you coding just for freebsd? 13:12:51 |-- yes --> use our convention 13:12:56 |-- no --> use our convention anyway 13:13:09 implicit parameters 13:13:28 I seem to recall they follow the x86-64 SysV ABI document, aka they're JUST AS BAD AS LINUX. 13:15:59 The C Api's are still the most-used method of calling the OS on both linux and windows. That is i believe the whole problem 13:16:27 okay, but like, a language can either wrap around libc, or write its own library based on syscalls 13:16:41 go does the latter 13:16:56 the latter is the right thing. 13:17:06 the latter causes annoying interop problems with C threads IIRC 13:17:21 there's not really any major disadvantage to the former... 13:17:29 I don't see what the problem is about "wrapping memory unsafe APIs to be safe" 13:17:32 like, that is what encapsulation is. 13:17:40 any memory safe language contains memory unsafe parts that are encapsulated for safety 13:17:53 -!- InvalidCo has quit (Ping timeout: 244 seconds). 13:17:55 but the real right think is for there to be a native API in the memory safe language, e.g. dot net. 13:18:05 *right thing 13:18:22 uh, I don't know .NET implementation details but I wouldn't be at all surprised if it called into libc... 13:18:44 what is the substantial difference between wrapping libc and wrapping syscalls anyway 13:18:50 -!- InvalidCo has joined. 13:19:13 like sure "ideally" we'd have memory-safe OSes running on lisp machines or whatever but I don't see how any of this implementation detail stuff is relevant to the adoption of a memory-safe language 13:19:24 elliott: it probably does but it is developed by the same people as the OS. the issue is when you have a wrapping layer it becomes language maker's responsibility 13:19:37 I don't think the .NET team and the Windows kernel team are the same. 13:20:01 *same organization 13:20:10 By memory safety ensured at compile time I was thinking of Rust 13:20:27 that really doesn't say much, but sure. (have you heard about the OS vs. Office team antagonism? :p) 13:21:46 if we want linux to be very safe with say JVM, the Linux kernel team needs to work on the interface into JVM. 13:22:04 what o.o 13:22:35 it needs to be developed by people who understand the model at both ends in great detail 13:23:46 you can already violate memory safety if you find a bug in the JVM JIT, who cares about the kernel interface? 13:23:54 I really don't understand the angle you're going for here... 13:24:23 elliott: it is chiefly a political issue 13:24:30 ok. 13:24:39 then I'll stop trying to have a technical discussion 13:25:13 if the JVM api is subordinate to the C api, then people will use C api to avoid there being more places to have bugs 13:25:56 if you don't believe that encapsulation can increase safety, then I don't know what to tell you. 13:26:19 encapsulation increases safety but there can be bugs in the capsule 13:26:21 you could maybe argue a wrapper around memcpy that checks that src and dest are valid pointers before passing it on (or whatever) has "more places to have bugs". it is also strictly safer. 13:26:50 fundamentally, there is no way of getting around wrapping unsafe operations 13:27:10 whether that's in the kernel or in libc or in a language library, who cares? the principle is the same 13:28:13 replacing the syscall/libc API won't make wrapping the underlying options for safety take *significantly* less code (it would certainly be more elegant and potentially less prone to errors, sure; I'd love it too. but it's still weird to use this as an argument for using unsafe APIs directly?) 13:29:06 elliott: everyone will want to make their own wrapper unless there is one standard wrapper 13:29:26 this is the Gnome/KDE/XFCE/LXDE problem 13:29:31 does go allow overloading? 13:29:54 I really feel like you just generate random plausible-sounding retorts outside of the context of the rest of the conversation every time the one you were harping on before stops making sense :/ 13:30:41 hm. nope 13:30:51 not even operator overloading :( 13:32:07 "If you wish the users of an interface to explicitly declare that they implement it, you can add a method with a descriptive name to the interface's method set." 13:32:13 this is bullshit. Sorry. 13:32:27 but adding a dummy method as a means of documentation? 13:32:30 Are you kidding me? 13:33:58 go is not a good language 13:34:08 though explicitly duck-typed interfaces aren't that horrible an idea 13:36:08 mroman: i hope so. overloading is basically the same thing as polymorphism 13:36:16 polymorphism: x.m(y) where the type of x may be different 13:36:20 overloading m(x,y) where the type of x may be different 13:36:53 apparently it supports polymorphism but not overloading... 13:36:53 i find that bizarre and hypocritical 13:37:14 uhhh 13:37:21 elliott: they should be an option but not the only option 13:37:27 m(x,y) where the type of x can vary can be polymorphism too 13:37:33 m :: Show a => a -> String -> String 13:37:36 m x y = show x ++ y 13:38:02 (indeed haskell, and many other languages, allows controlled overloading through a system like typeclasses) 13:38:08 (it is _ad-hoc_ overloading a la C++ that is unpopular.) 13:40:35 go doesn't have inheritance either :( 13:40:48 good! 13:41:00 that is one of the things go actually gets right... 13:41:17 what? but elliotr i use inheritance in C all the time and it is useful... 13:42:01 uhh... what C are you using that has implementation inheritance, exactly? 13:42:11 do you mean horrible BSD socket-style hacks, because, lol 13:42:18 Come on, just because nearly everyone designs subtyping wrong 13:42:29 I mean using the usual method of passing in a this pointer explictly 13:43:04 a.m(b) -> A_m(a,b) 13:44:15 the C standard library does this for FILE*. the windows api uses this with its HWND. 13:45:03 that doesn't have anything to do with inheritance 13:45:07 seriously 13:45:10 i'm getting to it 13:45:21 Jafet: I'm fine with interface inheritance 13:45:24 just not implementation inheritance 13:46:18 so struct bugbear {struct enemy enm; ...} *bb can be passed as a struct enemy* to any function that takes one 13:46:37 -!- Lorenzo64 has joined. 13:47:25 that's composition, not inheritance 13:47:27 Go even has special support for that 13:47:36 you can omit the field name and access bb.enm.x as bb.x 13:47:39 -!- Lorenzo64 has quit (Read error: Connection reset by peer). 13:47:39 (this is inherited from Plan 9 C) 13:47:45 (in fact gcc even supports this extension) 13:48:59 elliott: wha? why do you keep answering myarguments with things that will make my life infinitely easier, if you wanted me to stop arguing? 13:49:19 this isn't much motivation 13:49:35 I could kick you too to balance it out 13:49:54 btw you probably don't want to use gcc's Plan 9 C support, I don't think clang supports it and I doubt anyone cares about maintaining it 13:49:59 I wouldn't be surprised if it went away 13:50:17 here's a cool thing: unless they changed it, a bunch of Go is written in Plan 9 C. they ported the Plan 9 C compilers to linux and compile all their non-standard C code with it 13:50:43 by cool I mean vaguely horrifying 13:50:56 it's uncanney valley C 13:50:59 so how is inheritance different from composition? 13:51:09 Go, the modern programming language 13:51:12 given this syntax sugar 13:51:27 composition is building structures out of other structures (potentially multiple ones!), using their public API 13:52:21 implementation inheritance is building a structure's implementation on top of the implementation of another one, creating a direct "is-a" relationship where Subclass is-a Superclass, and potentially using private API and implementation details 13:52:36 is-a vs. has-a, etc. 13:52:39 https://en.wikipedia.org/wiki/Composition_over_inheritance 13:53:25 implementation inheritance is pretty close to directly going against principles of encapsulation, basically. from an OOP point of view, how many codebases actually satisfy the Liskov substitution principle? 13:53:50 it's a tricky invariant to keep to, but it's hard to assign any coherent meaning to the notion of inheritance without it. 13:54:19 you end up basically having to concede "well, this is just copy-paste code reuse that isn't really grounded in any kind of abstraction" 13:54:49 thankfully composition is all three of more elegant/simpler, easier to reason about, and more flexible, so. 13:55:00 *interface* inheritance is just fine though. 13:55:19 as in, the concept that to satisfy an interface X, you must also satisfy interfaces Y, Z, ... 13:55:31 conflating the two is common but unfortunate, especially in languages without an explicit implementation/interface divide 13:56:37 elliott: i try to create a divide in C by using a lot of static functions and static globals, but it doesn't always work 13:56:37 (I am not a fan of "standard" OOP (I would say "traditional" but C++, Java, Python, whatever really don't look all that much like Smalltalk or whatever) in general, anyway. inheritance is one of the reasons why) 13:56:54 Yeah, C++ lacks that... concept 13:57:01 har har 13:57:09 aren't they adding like mini-concepts or something 13:57:41 C++ added a slightly different version of each thing from C 13:58:35 i really do not understand why we need references and pointers in the same language 13:58:40 I suspect that at this point all of WG21's energies can only be devoted to updating the standard to be relevant on computers designed in the last ten years 13:58:55 leaving none for actual language design 13:59:18 references are a little safer and nicer (but not safe enough) 13:59:36 it's true that C++ basically has a nicer parallel universe language fighting against the "legacy" C parts. 13:59:48 that nicer language has some horrifying stuff in it too though of course 13:59:53 FSVO nicer I guess 14:01:56 we need a language called c*=2; 14:02:44 it would have the good parts of C++ and remove the parts inherrited 14:03:33 I hate C++ because thinking in C and Python at the same time screws my head up 14:04:30 -!- mihow has joined. 14:04:43 Do you mean (++c)++ 14:04:56 the language trying to get out of C++ only looks like Python in an extremely distorted funhouse mirror :p 14:05:04 anyway, that's what rust is trying to be 14:05:11 *Rust 14:05:22 The distorted funhouse is D 14:06:02 I am planning on eventually get around to trying both of thsoe 14:06:19 I dislike D :( 14:06:38 it feels like such a grab bag of stuff 14:06:58 so it is the PHP of compiled languages? 14:07:22 argh! 14:08:01 I think the design is a lot more solid than that :p 14:08:06 I just don't like the taste of it 14:10:33 -!- mihow has quit (Ping timeout: 250 seconds). 14:17:19 I like Rust 14:17:27 Rust gets my thumbs-up 14:18:04 what are some of the best things about Rust? 14:20:25 it is the least fucked alternatives among there (including C++ itself) 14:20:36 ocaml 14:20:45 not really alternative? 14:20:50 ok 14:21:07 I'm starting to think that this problem space itself is fucked 14:21:17 Rust gets you memory safety without garbage collection, and it has a nice type system 14:21:23 what problem space, programming? 14:21:27 so it's about minimizing fucks 14:21:29 You can write an OS kernel in Rust 14:21:38 Or code for your microcontroller 14:22:06 FreeFull, That seems pretty awesome to be but afaict there's no proof that the rust type system ensures the operational semantics are actually safe 14:22:22 afaik they are trying 14:22:43 proof, whatver, so long as it provably HELPS thats' good 14:22:53 they have a core semantics, I'm not sure it has been fully proved 14:22:59 Theoretically, the lifetime system should be sound, modulo compiler bugs 14:22:59 (search for rust-redex) 14:23:13 Also the ownership system 14:23:15 what is the theory though? 14:27:09 https://en.wikipedia.org/wiki/Region-based_memory_management has a long history 14:29:32 -!- AndoDaan_ has joined. 14:30:03 Cyclone, ML Kit etc. 14:31:51 -!- AndoDaan has quit (Ping timeout: 250 seconds). 14:37:03 -!- shikhout has joined. 14:37:25 -!- shikhout has changed nick to Guest86316. 14:40:02 -!- shikhin has quit (Ping timeout: 244 seconds). 14:54:55 i have invented the c/bash polyglot archive format 14:56:47 it is a c file which can be run as its own compile script 14:57:45 -!- Guest86316 has changed nick to shikhin. 14:57:51 -!- shikhin has quit (Changing host). 14:57:51 -!- shikhin has joined. 14:58:37 because the cpp directive #if 0 is also a bash comment 14:59:56 that kind of thing is quite a common trick 15:00:27 you can also do things like this 15:00:28 sh-3.2$ /* 2>/dev/null; echo hi; # */ 15:00:28 hi 15:00:57 elliott: really? the only reason i'm doing it is becauase i'm too lazy to start puttin gthings in separate files 15:01:21 oh, it actually extracts itself, heh. 15:01:23 you could base it on shar 15:01:35 because then i couldn't use pastbin as a repository 15:01:38 why not just put all the program in one file... 15:02:01 elliott: it also contians its documentation and test suite 15:02:46 documentation can be a big comment, test suite can be an #ifdef ... int main() ... #endif? :p 15:03:23 the test suite is a shell script that feeds abunch of test code to the scrip7 interpreter 15:05:03 you could write it as function calls 15:05:06 nobody likes shell :p 15:05:27 -!- `^_^v has joined. 15:05:39 I prefer here documents to "" strings 15:06:25 oh I assumed it was one-liners 15:07:09 nah, i have to test the loops and stuff, so in order to test it properly i implemented an insertion sort for example 15:07:33 /* 2>/dev/null; if [ "$1" = "test" ]; do sh $0 < *then/fi 15:07:50 (assuming sh $0 compiles and runs it if given no arguments) 15:17:03 -!- dts|pokeball has joined. 15:21:31 it is a c file which can be run as its own compile script 15:21:44 Just put a comment with the compile line at the start 15:22:01 i would not run a large c/sh 'polyglot' for fear it might do something dodgy that isn't immediately obvious 15:22:43 cluid: the entire concept of this language is dodgy 15:42:03 -!- oerjan has joined. 15:43:29 Gregor: i don't think glogbot's clock is properly set 15:44:08 it seems to be a minute late 15:46:45 -!- AndoDaan_ has quit (Ping timeout: 250 seconds). 15:46:51 http://pastebin.com/qVp7R5D2 <-- how dodgy is this 15:51:27 -!- AndoDaan has joined. 15:54:22 at least use "$0" instead of requiring a filename 15:54:35 you probably want to set -e too 15:55:35 you might also want to make it not a sharbomb, but :p 15:55:49 shar and enjoy 15:57:02 oots updates have become even rarer lately, it seems 15:57:13 -!- dts|pokeball has quit (Ping timeout: 245 seconds). 16:05:30 -!- mihow has joined. 16:07:30 There, it now uses $0. (same link) 16:07:44 now completely free! 16:08:06 lol 16:09:27 see it compiles itself 3 times and runs cpp on itself twice, to produce two executables, a .o library, a test shell script and a .txt document. 16:10:07 [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=41488&oldid=41464 * Tastyfish * (+17) added flow_chart 16:10:33 -!- mihow has quit (Ping timeout: 264 seconds). 16:11:02 the different executables share part of their code, so this is a highly efficient way of doing it 16:11:52 oren: are you sure this counts as one .c file any longer 16:12:29 it is a txt.c.sh file 16:13:00 oren: this won't work if you curl ... | sh 16:13:10 you gotta make it use heredocs or something like shars 16:15:16 elliott: what do you mean? you jsut sh scrip7.c 16:15:31 as in curl http://pastebin/blah | sh 16:15:34 because you use $ 16:15:36 $0 16:15:44 don't you want it to be as easy as possible to let you run arbitrary code 16:16:17 elliott: but how ami supposed to compile myself a bunch of times? 16:16:40 bah too complicated 16:18:04 ideally what we need is a scripting language except instead of have /*blah */ 16:19:10 -!- jix_ has quit (Quit: Lost terminal). 16:20:14 it is a shame that there is no way to get cpp to accept a shebang at the start of the file (afaik) 16:20:22 [wiki] [[List of ideas]] http://esolangs.org/w/index.php?diff=41489&oldid=41479 * Tastyfish * (+172) /* Derivative Ideas */ 16:26:17 -!- drdanmaku has joined. 16:31:49 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds). 16:36:41 -!- Phantom_Hoover has joined. 16:42:25 https://www.indiegogo.com/projects/the-hybrid-programming-language remember the Osmosian Order of Plain English Programmers? well, 16:43:00 -!- jix has joined. 16:48:12 plain english! 16:48:25 "When you start me up, I will quickly take over your screen so you no longer have to look at that painted whore of an interface that comes with the kluge." 16:48:27 ... 16:48:31 -!- mihow has joined. 16:49:00 (also, I had to manually type that quote from the manual, because they've done something to obfuscate copy&paste results from the PDF) 16:53:36 elliott: I think they're being a little bit unclear about what they need their half a million dollars for. 16:54:10 either drugs or antipsychotic medication hth 16:54:17 possibly both 16:54:18 J_Arcane: yes, the manual is quite something 16:54:33 (i guess the latter are also drugs.) 16:54:58 J_Arcane: I've tried to write programs in it 16:55:06 unfortunately I missed the painted whore of an inteface that comes with the kludge 16:55:13 it had some weird alphabetical file navigation system. it was horrible 16:55:21 J_Arcane: I don't think what I get from copy-pasting ("When you star meup, Iwil quickly take over your scen soyu nolnger have tolok athat painted whore ofan iterface tha comes with e kluge") is really any worse. 16:55:23 *interface 16:55:29 elliott: *kluge 16:55:39 oerjan: let's say it's british spelling or something. 16:56:30 http://www.catb.org/jargon/html/K/kluge.html hm 16:56:33 Yeah, it's a bit batty. I wonder if there's any relation between these guys and the HYBRID RPG guy. 16:58:58 well, I like batty. 16:59:05 the language isn't actually interesting, though. 16:59:19 IT just reads like a lower level AppleTalk. 17:00:37 elliott: wow you were right " It now appears that the British, having forgotten the etymology of their own ‘kludge’ when ‘kluge’ crossed the Atlantic, repaid the U.S. by lobbing the ‘kludge’ orthography in the other direction and confusing their American cousins' spelling!" 17:00:59 great 17:01:07 I've always said "kludge", I think. 17:02:26 "Some observers consider this mess appropriate in view of the word's meaning." 17:02:48 I've always used "kludge" too, but I was aware of the controversy. 17:03:13 wait a second, is that 1981 oldsmobile a Delorean? (xkcd) 17:09:04 ok, no. 17:09:48 * int-e checks off "say something stupid on #esoteric" from his to-do list for the day. 17:09:54 i believe those are different brands hth 17:10:42 oerjan: and you'd be right to believe that. 17:11:14 I didn't realise that "Oldsmobile" *was* a brand. 17:11:46 it;'s old 17:11:54 -!- dts|pokeball has joined. 17:12:11 but not too old to be mobile 17:19:46 -!- oerjan has quit (Quit: leaving). 17:22:13 -!- bb010g has quit (Quit: Connection closed for inactivity). 17:37:58 [wiki] [[StaPLe]] http://esolangs.org/w/index.php?diff=41490&oldid=41463 * BCompton * (-17) /* Interpreter */ 17:39:14 -!- GeekDude has joined. 17:55:42 * Gregor bites the head off of a chicken. 17:57:47 uh. 18:00:58 -!- Sprocklem has joined. 18:14:37 -!- MoALTz has joined. 18:16:34 [wiki] [[MNNBFSL]] http://esolangs.org/w/index.php?diff=41491&oldid=41486 * AndoDaan * (+172) /* External resources */ added JavaScript implementation. 18:30:34 hi AndoDaan 18:31:03 Hey, cluid. 18:31:49 i created an esolang 18:31:53 do you wantto see it 18:31:59 Treehugger? 18:32:01 yeah 18:32:25 :) congratulations. I've been tickering on an interpreter for it actually. 18:32:49 realy! 18:33:38 Yeah, javascript (very simular to the mnnbfsl interpreter I just posted). 18:34:45 cool good luck :D 18:35:00 i have posted an interpreter, but I haven't been able to write intereting programs with it yet 18:35:14 Encoding the tree is giving me some problems though. I need to brush up on that kind of data structure. 18:35:37 it is a little difficult since its infinite/unbounded 18:35:47 one way might be to grow the tree as needed 18:35:48 Can BF automatically translated to TH? 18:35:55 yes its easy to translate 18:36:01 just turn < to ^ 18:36:24 since you can see a linear tape as just taking the right branch each time 18:36:46 Hmm. 18:37:04 http://web.cecs.pdx.edu/~sheard/course/Cs163/Graphics/CompleteBinary.jpg 18:37:12 like 18:37:16 A > C > G > ... 18:37:19 would be the brainfuck part 18:37:21 and the rest is just ignored 18:38:05 http://cs.anu.edu.au/~bdm/tree.png this is a better pictures 18:38:17 so you have all this extra space than BF 18:38:22 but it's hard to make good use of it 18:39:20 Is there anything interesting the tree can do, that's otherwise is hard to do in bf? 18:39:51 the main thing is that you easily have as much memory as you choose next to any cell 18:40:02 http://www.sweetandfizzy.com/fractals/index.html http://www.sweetandfizzy.com/fractals/diagrams.html 18:40:12 whereas in brainfuck you would have to make sure you keep space around before starting 18:42:33 http://www.webcitation.org/query?url=http://www.geocities.com/CapeCanaveral/Campus/8446/vid_fractals/index.html&date=2009-10-25+06:34:34 18:42:38 computerless fractals 18:51:12 We were browsing our trip photos on the hotel room TV the other day, and I took a couple of silly feedback photos since I had the camera plugged in and all. 18:51:16 -!- InvalidCo has quit (Ping timeout: 256 seconds). 18:53:06 so can you make fractals like that with no camera at all, just using mirrors 18:53:15 no reason you shouldn't be able to, right? 18:54:02 elliott: I think it works like https://i.imgur.com/Q3aWVGf.gif as they said on another channel. 18:54:21 god, I love that gif 18:54:54 (This was on a course channel for a 3D graphics course that's almost all about raytracing.) 18:56:44 https://www.dropbox.com/l/nw8dddpkXVIYQgOYyDtGQr <- the usual thing 18:58:07 I think the best part of these photos is your wife implicitly facepalming off-screen 18:58:29 "is THIS what they do at GOOGLE" 18:58:57 It wasn't quite like that. But it was a little bit like that. 18:59:34 It looks like an IBNIZ demo. 19:06:07 -!- scounder has quit (Read error: Connection reset by peer). 19:06:46 -!- ais523 has joined. 19:16:45 -!- MDream has quit (Quit: later chat). 19:18:57 -!- Sprocklem has quit (Ping timeout: 264 seconds). 19:22:20 -!- roasted42 has joined. 19:25:09 -!- scounder has joined. 19:27:00 -!- roasted42 has quit (Ping timeout: 258 seconds). 19:41:21 -!- mihow has quit (Quit: mihow). 19:43:21 -!- InvalidCo has joined. 19:48:09 -!- mihow has joined. 20:00:43 -!- Sprocklem has joined. 20:05:09 -!- Patashu has joined. 20:15:38 -!- ais523 has quit (Read error: Connection reset by peer). 20:15:52 -!- ais523 has joined. 20:18:27 -!- InvalidCo has quit (Ping timeout: 250 seconds). 20:25:44 -!- Patashu has quit (Ping timeout: 265 seconds). 20:26:35 -!- dts|pokeball has quit (Ping timeout: 272 seconds). 20:36:15 -!- shikhin has quit (Read error: Connection reset by peer). 20:36:46 -!- shikhin has joined. 20:37:09 -!- shikhin has changed nick to Guest80998. 20:50:06 -!- bb010g has joined. 20:56:06 -!- MoALTz has quit (Quit: Leaving). 21:02:29 [wiki] [[StaPLe]] http://esolangs.org/w/index.php?diff=41492&oldid=41490 * BCompton * (+3) /* Hello World */ Fixed syntax 21:13:26 -!- jedi01 has joined. 21:16:50 -!- InvalidCo has joined. 21:21:06 -!- jedi01 has quit (Quit: Leaving). 21:34:02 -!- MDream has joined. 21:42:24 BS sounds like an amazing language 21:43:49 -!- ais523 has quit (Read error: Connection reset by peer). 21:44:00 -!- ais523 has joined. 21:46:50 -!- callforjudgement has joined. 21:47:08 -!- ais523 has quit (Read error: Connection reset by peer). 21:52:12 Cluid, I guess because TH's binary tree is infinite and because you can only get to those nodes by computing its 'address' ("><>>><><>" or 10110101), that means some nodes will never be reachable." 21:52:42 Right? I could be confusing concepts. 21:53:47 AndoDaan, I think you could write a program that touches each node eventually 21:54:01 just like how you can write a prorgam that prints out every fraction for example 21:54:07 I should try to do this 21:54:13 GeekDude, brainsuck? 21:54:25 https://skillsmatter.com/skillscasts/6088-the-worst-programming-language-ever 21:54:31 BS, the worst programming language ever 21:54:46 haha 21:56:05 you can't because paths are infinite 21:56:10 you can never touch the path 11111... 21:56:24 or the path 01001000100001000001... 21:56:44 paths in an infinite binary tree, i.e. infinite lists of bits, are isomorphic to the reals 21:57:09 -!- callforjudgement has changed nick to ais523. 21:57:10 we're only considering finite paths 21:57:11 Supernatural numbers. 21:57:54 ok, I was just replying to AndoDaan (since it is true that some nodes of the infinite tree will never be reachable) 21:58:09 Or that's what hofstadler called them. 21:58:12 that isn't correct 21:58:24 every node in the tree will have a finite path to it 21:59:57 -!- S1 has joined. 22:00:56 ok, yes, you're right 22:01:06 it would be cooler without that limitation though 22:12:02 elliott: One could construct an infinite binary tree where each node corresponds to a rational number too 22:18:41 [wiki] [[StaPLe]] http://esolangs.org/w/index.php?diff=41493&oldid=41492 * BCompton * (+93) /* Example Programs */ 22:18:49 now that i think about it i'm pretty sure any graph with finitely (or even countably) many edges touching each vertex has a countable number of vertices in each connected component 22:28:01 -!- Sprocklem has quit (Ping timeout: 265 seconds). 22:37:12 -!- CrazyM4n has joined. 22:38:22 [wiki] [[Deadfish]] http://esolangs.org/w/index.php?diff=41494&oldid=41476 * BCompton * (+12) /* External resources */ Dead Link 22:38:28 -!- mihow has quit (Quit: mihow). 22:41:17 -!- S1 has quit (Quit: S1). 22:48:34 -!- roasted42 has joined. 22:51:24 -!- oerjan has joined. 23:00:27 whoa, i just was informed that Gregor is a professor at Waterloo now 23:01:21 so does he have a napoleon hat 23:02:03 also i meant "was just" but english is great it works either way 23:04:19 Phantom_Hoover: So how about those infinite trees corresponding to base-d digit sequences, then? One connected component, each vertex (except the root) has a degree of d+1, yet there's at least ond vertex for each real? 23:05:06 oerjan, I thought of a fun thing to write in Treehugger if youre interesting 23:05:08 interesed 23:05:09 ** 23:05:25 hm he has a tricorn but not a bicorne 23:06:13 O_O 23:06:26 @tell Gregor now that you're in waterloo you need a bicorn hth 23:06:26 Consider it noted. 23:06:46 cluid: are you not familiar with http://choosemyhat.com/ 23:07:08 :D 23:07:09 haha 23:07:54 also, i don't think treehugger is quite my thing, although i _did_ implement V way back 23:08:03 V? 23:08:09 oh yeah 23:08:13 BTW it's cool you should like it 23:08:41 its like brainfuck 23:08:52 i mean, the thing that interested me about V was its weird operations and Treehugger is less weird... 23:09:00 alright 23:09:14 il read about V more 23:09:20 i don't think i was particularly interested in _programming_ V, once it became clear how to translate bf to it 23:10:03 V seems a bit like a sort of rubiks cube type problem 23:12:04 hah in that case you should look at Jolverine 23:13:23 -!- roasted42 has quit (Ping timeout: 245 seconds). 23:14:39 -!- roasted42 has joined. 23:15:15 I think this treehugger problem is really interesting 23:16:59 Phantom_Hoover: (Or I guess scratch that, there's just a path for each real. Bah.) 23:17:29 it's so easy in brainfuck, but really hard in treehugger -that's funny bceause it was designed the opposite way 23:18:10 wait isn't brainfuck trivially translatatble to treehugger 23:18:28 yes 23:19:07 *-t 23:19:46 ok what kind of problem can it be then 23:20:20 it'd need to be something aware of its implementation language 23:20:25 yes thats right 23:20:38 its not a self interpreter though 23:21:03 and a quine wouldn't be hard to modify slightly for different commands 23:21:25 I could give a hint in the form of a BF program 23:21:29 not that a quine is "so easy" in brainfuck 23:21:49 it's not theoretically hard, but it's messy 23:22:54 so i guess i am curious what the problem is, no promises though 23:23:17 +[>+] 23:23:36 ok that's an infinite loop 23:23:38 oh hm 23:23:43 let me gues 23:23:46 *guess 23:23:57 you want something that touches every cell in the tree 23:24:13 yeah! 23:24:26 hm that's essentially labyrinth code isn't it 23:24:34 I think this is even tricky for double sided brainfuck 23:24:47 ah i see how to do it for that just push 1's out 23:24:49 I think it should be quite easy 23:25:00 because basically the trailed 1s give you a path 23:25:14 elliott, I would appreciate an implementation! I'm trying myself too but I think you would be able to tdo it quicker 23:25:20 elliott: the problem is not going off on an infinite path and never coming back 23:25:34 oerjan: how could you? the tree starts as all 0s 23:25:46 maybe you would need a counter in the cells or something... 23:26:08 wait do you have to fill the nodes *above* you too 23:26:11 since there is no root 23:26:16 obviously 23:26:25 i don't think that makes it much harder though... 23:26:27 that sounds trickier, I was thinking just all the children of the initial cell 23:26:47 you just need to consider the starting cell the root 23:26:47 okay it's just non-trivial I was wrong to think it's easy 23:26:58 Phantom_Hoover: So how about those infinite trees corresponding to base-d digit sequences, then? One connected component, each vertex (except the root) has a degree of d+1, yet there's at least ond vertex for each real? 23:27:09 oerjan: okay, yeah. 23:27:16 do cells have limited range, I forget 23:27:18 vertices corresponding to infinite sequences don't connect to anything 23:27:33 for the sake of this program ets say cells can hold Integer (unbounded) 23:27:44 Phantom_Hoover: See also the other message. 23:29:27 bah i think it's more interesting if they're bounded :P 23:29:52 are you sure you can't get away with Bool cells 23:30:06 ouch 23:30:24 possible? probably. but seriously awkward. 23:32:37 you'd want to store the direction to the root, at least 23:34:38 -!- roasted42 has quit (Ping timeout: 258 seconds). 23:35:13 it should be possible to visit the cells in an outgoing spiral, essentially 23:35:49 oh hm 23:36:06 one bit _is_ enough for the direction to the root 23:36:15 -!- roasted42 has joined. 23:36:25 assuming you know where you are coming from 23:36:43 -!- TodPunk has quit (Ping timeout: 245 seconds). 23:37:54 ...problem is, not for telling you when you've actually _reached_ it. 23:38:25 however, you could probably store extra bits in side branches 23:41:08 so hm on the path downwards to the root, a bit tells you what is the direction to the root, although the _other_ direction gives you a bit that tells if you're already there. 23:42:27 as you go downward, you change the cells you are passing through to tell you the direction upwards instead. 23:42:45 like a zipper inside the actual structure you're navigating 23:44:13 -!- callforjudgement has joined. 23:44:33 -!- Sprocklem has joined. 23:47:00 oerjan: there's an easy 3rd place up for grabs in an ancient endless problem: http://golf.shinh.org/p.rb?ASCII+from+0x01+to+0x7f 23:47:37 -!- MDream has changed nick to MDude. 23:47:59 so how should I actually write this...h m....... 23:47:59 -!- ais523 has quit (Ping timeout: 272 seconds). 23:48:06 [wiki] [[Treehugger]] http://esolangs.org/w/index.php?diff=41495&oldid=41452 * Oerjan * (+27) clarify infinity is rootless 23:48:06 also I'm not really sure how to test it 23:48:39 -!- TodPunk has joined. 23:48:43 oerjan, thanks for the edit! 'upwards' might be misleading though? 23:49:02 the program ^ is similar to < in brainfuck.. you crash beacuse of going off the tape 23:49:19 cluid: oh. then i've completely misunderstood. 23:49:24 and so have others, i think. 23:49:28 -!- poq has joined. 23:49:39 -!- poq has left. 23:49:47 [wiki] [[Treehugger]] http://esolangs.org/w/index.php?diff=41496&oldid=41495 * Oerjan * (-17) it wasn't to be 23:50:04 that definitely changes what the space-filling program needs to do 23:50:08 elliott: ^ 23:50:27 cluid: huh, didn't you say the tree was unrooted? 23:50:28 THERE WAS A ROOT 23:50:32 so that you can go up forever 23:50:33 http://esolangs.org/wiki/Treehugger/Implementation 23:50:43 zero there is the initial tape 23:51:08 that is a shame, I liked the idea of it spanning infinitely like that 23:51:35 I see what you mean about up 23:51:56 that sounds hard to do you define that as Treehugger++ or something 23:52:08 treehuger+=aleph_0 23:52:10 gg 23:52:16 oerjan: do you need to store the direction to the root? 23:52:24 cluid: V did that. although you then have to decide whether up is rightward of leftward 23:52:38 my thinking was that you'd arrange so that [^] gets you to the root or such 23:52:45 of course it's not as simple as that 23:52:50 elliott: all i said was based on the idea of it being unrooted 23:52:57 right 23:53:05 should be simpler without that 23:53:06 oh, I see, because that way you might have to go *down* to the root 23:53:10 indeed 23:54:03 actually 23:54:10 if you have the root be 0 how can you fill every cell 23:54:11 >_< 23:54:13 i have been thinking that if you wanted to a _really_ unrooted tree like this, you'd not want up to special, instead you'd just do "turn left", "turn right", and "go back where you came from" 23:54:18 *to do 23:54:18 btw I am very pleased with using a zipper in this code 23:54:28 okay the root isn't any less filled than the infinite number of cells below you but it feels weird 23:54:28 it's called Z there 23:54:45 elliott: heh that is a point 23:55:08 you cannot fill arbitrary many levels down with non-zeros. or can you? 23:55:16 why not? 23:55:28 you could always flip the root to filled for one cycle when you got up there 23:55:30 i mean while keeping the root non-zero as well 23:55:38 then you could have nice freeze frames 23:55:54 also my idea didn't intend to fill everything simultaneously 23:55:55 see I assumed it was filling every cell below the one you start on, and that you could go up forever 23:56:02 so in that case [^] does put you to the root. 23:56:06 *move you 23:56:09 which i guess doesn 23:56:10 -!- roasted42 has quit (Ping timeout: 264 seconds). 23:56:20 't fit the analogy with +[>+] 23:56:21 that turning idea is nice for my generalised graph brainfuck idea I think 23:56:36 I thought of Gridfuck 23:56:40 it has <^>v 23:56:42 four directions 23:56:54 http://esolangs.org/wiki/Gridfuck 23:56:56 it doesn't exist! 23:57:13 you'd have "focus previous/next edge", "follow edge (making you face back the way you came)", there is one edge for every integer, the initial state is one zero cell looped to itself an infinite number of times 23:57:41 plus a (...) construct that means "reassign this edge to the cell we end up at", or something 23:57:49 and then a control structure less powerful than [] so you're forced to program with the graph 23:58:04 oh plus a "connect a new cell to this edge" instruction. 23:58:14 (maybe it'd be better if you got an infinite number of cells to start with so you could omit that) 23:58:15 gridfuck ha sloops, but treehugger is just a tree 23:58:42 "so you're forced to program with the graph" <- that is cool! 23:58:46 well anyway this would be impossible to program in because nobody can visualise graphs like this except mathematicians too good to care about esolangs 2014-12-18: 00:00:08 cluid: I don't know what the control structure should be though... 00:00:19 BF [] is clearly too much because you could just pretend you have a tape 00:00:45 maybe something where you can only walk one constant "path" through nodes, the same for every iteration of the loop 00:00:53 so you have to rewire the graph to do anything non-balanced 00:01:57 cluid: things similar to gridfuc definitely exists, see e.g. https://esolangs.org/wiki/Paintfuck 00:02:52 -!- roasted42 has joined. 00:02:54 I love paintfuck 00:02:55 it's so pretty 00:02:57 after I invented treehugger (<^>) and gridfuck (<^>v) i need to create pentagonalfuck, based on icosahedral symmetry 00:03:11 how about fuck, with a zero-dimensional tape 00:03:28 helo world would be something like: +++++++++++++++.+++++++. 00:03:42 thats funnny 00:03:45 sub turing 00:04:27 i want to make a page for that............ 00:04:41 it would have to be https://esolangs.org/wiki/Fuck_(ehird) 00:04:47 but that seems offensive 00:04:50 -!- dts|pokeball has joined. 00:04:58 since https://esolangs.org/wiki/Fuck exists 00:05:23 it could be called Nofucks but fuck is better 00:06:10 this fuck language looks boring and is implemented in php so imo we should just delete it and pretend it never happened 00:06:16 yes lol 00:06:24 (although not really since thats mean) 00:06:48 it could be moved to Fuck_(Josefnpat) 00:07:01 yeah that's what happened with clue 00:07:05 well both of them got moved 00:07:15 that's a rare one because both of them are actually good 00:07:23 yeah thats the one I was thinking of 00:07:27 oerjan: if you have only one natural of state what kind of operations do you need to be able to simulate a counter machine on it? 00:07:47 I guess some kind of arithmetic? 00:08:39 elliott: fractran operations 00:08:46 I tohught there was already a zero dimeinsonal BF. 00:08:49 Let me check. 00:08:51 oerjan: oh, right 00:08:58 isn't fractran's state a rational though? but yeah 00:08:59 see minsky machine article as well 00:09:14 no, the instructions are rational 00:09:46 and an instruction only applies if multiplying current state by it gives an integer 00:09:48 right, okay, yeah 00:09:54 that's so unbrainfucky though :( 00:10:03 is it not possible with a finite number of commands 00:10:26 um what's infinite about fractran commands 00:10:32 oh you mean the number 00:10:34 well I mean there's an infinite number of rationals 00:10:37 ideally there would only be eight rationals 00:10:49 cluid: the good thing about this language is that +[>+] is very easy in it 00:10:50 WAT 00:11:03 elliott: you can restrict to a finite number of primes 00:11:25 fractranfuck sounds boring :( 00:11:29 look at it the minsky 1-register machine version 00:11:35 *-it 00:11:36 I guess there's not really much brainfuck about it by then. 00:11:54 you can't have [] check for zero or whatever because every loop would have to forget everything, and + and - would need changing 00:12:12 well I am pleased to announce that my new zero-dimensional-tape brainfuck derivative, fractran, is finished 00:12:22 brainfrac 00:12:35 hahah 00:12:45 Did you see the fractran guy? 00:12:52 he wrote a self interpreter in fractran 00:12:55 it was quite impressive! 00:13:01 made up a whole 'high level'fractran language to do it 00:13:11 why didn't conway invent something more creative than a brainfuck derivative 00:13:23 * oerjan swats elliott -----### 00:13:28 I don't think I've seen a fractran self-interpreter 00:13:30 that sounds amazing 00:13:36 Game of Life is a Brainfuck derivative?! 00:13:42 int-e: yes. also fractran 00:13:45 int-e: shocking 00:13:51 elliott: and collatz functions 00:14:00 and surreal numbers if you're high enough 00:14:03 elliott: So are all Turing-complete languages Brainfuck derivatives now? 00:14:17 int-e: only those conway made hth 00:14:17 Surreal numbers are cool. 00:14:18 int-e: no, just everything john conway has ever done is a brainfuck derivative 00:14:28 he is a total fraud 00:14:51 elliott: I think you should kick yourself for this. 00:14:56 agreed 00:14:58 -!- ChanServ has set channel mode: +o elliott. 00:15:01 -!- elliott has kicked elliott trolling. 00:15:04 -!- elliott has joined. 00:15:10 -!- Phantom__Hoover has joined. 00:15:10 -!- ChanServ has set channel mode: +o elliott. 00:15:17 elliott: don't rejoin so quickly after being kicked 00:15:19 -!- elliott has set channel mode: +b *!*elliott@unaffiliated/elliott. 00:15:19 -!- elliott has kicked elliott elliott. 00:16:03 * int-e wonders whether elliot has to read ChanServ's help page to find the command that unbans oneself. 00:16:14 he's had it coming for a while 00:16:18 Voting to move http://esolangs.org/wiki/Fuck to http://esolangs.org/wiki/Fuck_(Josefnpat) 00:16:32 -!- roasted42 has quit (Ping timeout: 256 seconds). 00:16:32 -!- qlkzy has quit (Ping timeout: 256 seconds). 00:16:34 oh. UNBAN. well, that's too easy to remember reliably. 00:16:46 -!- monotone has quit (Read error: Connection reset by peer). 00:16:53 cluid: cannot move until there is an actual ambiguity hth 00:17:00 -!- monotone has joined. 00:17:02 I want to create Fuck 00:17:37 -!- nortti has quit (Ping timeout: 245 seconds). 00:17:39 -!- Sprocklem has quit (Ping timeout: 250 seconds). 00:17:44 -!- nortti has joined. 00:17:52 -!- ChanServ has set channel mode: -b *!*elliott@unaffiliated/elliott. 00:17:55 -!- elliott has joined. 00:18:00 cluid: you make Fuck_(Cluid_Whateveritwasagain), and then we turn Fuck into a disambiguation page hth 00:18:10 There's no http://esolangs.org/wiki/Sex 00:18:14 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds). 00:18:19 -!- qlkzy has joined. 00:18:20 -!- roasted42 has joined. 00:18:25 its not by me though :( 00:18:28 i would have come up with this ide 00:18:29 a 00:18:47 oerjan: am I old enough to get +R in chanserv permissions yet 00:18:58 http://www.math.uiuc.edu/~beder/interpreter.frp is missing :( 00:19:31 whoa, I'm actually exempt from +b 00:19:33 -!- ChanServ has set channel mode: +o elliott. 00:19:35 -!- elliott has set channel mode: +b $a:elliott. 00:19:38 -!- elliott has left. 00:19:51 -!- ChanServ has set channel mode: -b $a:elliott. 00:19:53 -!- elliott has joined. 00:19:56 the docs lied. 00:20:03 maybe it means that I can talk while +b 00:20:15 elliott: i don't think it's a good idea to give increased permissions to people who keep getting banned hth 00:20:54 but I'd get to run lovely commands like 00:20:56 00:19:21 -ChanServ(ChanServ@services.)- More precisely, everyone will be deopped, 00:20:59 00:19:21 -ChanServ(ChanServ@services.)- limit and key will be cleared, all bans 00:21:02 00:19:21 -ChanServ(ChanServ@services.)- matching you are removed, a ban exception 00:21:05 00:19:21 -ChanServ(ChanServ@services.)- matching you is added (in case of bans Atheme 00:21:08 00:19:21 -ChanServ(ChanServ@services.)- can't see), the channel is set invite-only 00:21:11 00:19:21 -ChanServ(ChanServ@services.)- and moderated and you are invited. 00:21:52 https://web.archive.org/web/20130131042427/http://stackoverflow.com/questions/1749905/code-golf-fractran 00:21:52 elliott, 00:22:00 Fractran: 84 fractions 00:22:32 elliott: maybe i should just remove +R from everyone else instead. 00:22:38 https://web.archive.org/web/20100217054518/http://www.trinhhaianh.com/testvector1.out 00:22:54 oerjan: that sounds like a bad idea (I'm not sure you'd even be able to?) 00:23:05 cluid: nice! maybe I have seen this actually 00:23:11 well i cannot do it to the founder, presumably 00:23:12 http://lpaste.net/116731 00:23:15 this is 'high level fractran' 00:23:22 which i think is freenode something? 00:23:32 "So I'm guessing that running the interpreter will take at least days, if not years :(" fractran is the language of the future 00:23:54 maybe write a fractran JIT optimizing hyperinterpreter hth 00:23:56 oerjan: tbf if I really wanted to I could kick everyone myself 00:24:20 I have this weird thing known as like, a tiny sliver of responsibility 00:24:36 is fractran implemented by prim factorization or by GCD calcluation? 00:24:39 * oerjan gets the microscope to check 00:25:11 cluid: you don't need to use either, you can just use integer division; not very efficient though. 00:25:12 there is fractran in x86 but it may not handle larger programs 00:25:14 `? fun fact 00:25:16 fun fact 0 = 1 | fact n = n * fact (n - 1) 00:25:28 (bignum integers, that is) 00:25:30 cluid: the second answer is way cooler 00:25:34 it's so small and actually terminates 00:25:35 oerjan, alright well isn't the integer division the best? 00:26:08 cluid: if you factor everything you can extract something like a counter machine 00:26:10 (another self-interpreter) 00:26:16 which may be more efficient to execute 00:26:26 cluid: well if you have a number that is 2**1986408 * 3**231980560 you may not wish to store it as a normal integer 00:27:07 "I did not write a compiler and opted to write optimized Fractran code directly." is just hardcore 00:27:09 and if the programmer is evil and uses products of large primes, a gcd may be better than full factorization. 00:27:25 ... a gcd based partial factorization that is. 00:27:27 oh tyeah good ! 00:27:42 int-e: i have thought about such a gcd based factorization before 00:28:09 I would like to have a compiler from 'high level fractran' to ffractran 00:28:11 not use how to do subs 00:28:17 yeah, its so hardcore and cool 00:28:20 I think thats great 00:28:57 it's like writing directly in machine code except the machine code was designed by a mathematician trying to torture you and is also a brainfuck derivative 00:29:57 (this way we can interpret th high level code directly) 00:30:44 I'll mentally replace "brainfuck derivative" by "rainbow unicorn" when the former is used in connection with inventions of Conway. 00:30:56 -!- roasted42 has quit (Ping timeout: 245 seconds). 00:31:09 what about when he actually makes a brainfuck derivative 00:31:23 im going to email him and ask him to pick his eight favourite words and put them on the wiki 00:31:41 then he'll be an expert breeder as well as a great mathematician. 00:32:02 resurrect dijkstra and force him to make a bf derivative at gunpoint 00:32:35 he sweats but agrees, producing the first brainfuck derivative for formal verification 00:32:45 -!- roasted42 has joined. 00:32:58 [] considered harmful 00:33:03 elliott: Dijkstra should be happy with Brainfuck; there are no gotos. 00:33:26 not sure you can call brainfuck "structured" 00:33:38 well. there are loops. 00:33:46 how about GOTO FUCK 00:33:51 10 > 00:33:54 20 + 00:34:00 I think that exists more or less 00:34:01 30 GOTO 10 00:34:13 "Basic Brainfuck" 00:34:18 I should make a book about brainfuck derivatives 00:34:31 dijkstra was actually alive for like nine years after brainfuck was invented so I like to believe he knew about its existence 00:35:09 Plausible 00:35:22 I don't think he would let himself laugh at it though 00:35:35 oerjan: it's an easy rank 4 now. henkma struck. 00:35:41 he would mumble something about programmers managing to innovate on APL 00:35:52 Turing tarpits have their use. 00:36:42 long lost handwritten EWD note about his new esolang 00:37:36 int-e: eek! 00:38:55 https://esolangs.org/wiki/Two I like how one of the instructions is just called "Instruction" 00:39:17 also it states there's no maximum value but contains an instruction to set the current cell to it 00:39:20 I should make a book about brainfuck derivatives 00:39:36 i will literally turn you into a fucking brick 00:40:07 Phantom__Hoover: pls stop (like, four years ago ideally) 00:40:31 i had up til now! 00:40:45 what, girl genius still not updated 00:41:17 like quitting smoking between every cigarette 00:41:24 oerjan: I'll sue the Foglios for sleep deprivation. :P 00:41:57 oerjan, I've started checking GG T/T/S 00:42:05 okay actually Two is kind of interesting, meh 00:42:10 Taneb: shocking 00:55:26 -!- roasted42 has quit (Ping timeout: 250 seconds). 00:56:10 are there any superturing brainfucks? 00:56:17 i think zzo made one? 00:56:25 -!- roasted42 has joined. 00:56:40 Brainhype? 00:57:11 thanks! 00:57:29 so its by ihope 00:57:38 re's plenty. Two is one of them even 00:57:40 *there's 00:58:21 a Brainhype interpreter written in Brainhype cannot exist. However, you can write a Brainhype interpreter in Scheme-omega. 00:58:27 are you sure you can write one in scheme-omega? 00:58:40 -!- CrazyM4n has quit (Quit: restarting). 00:59:59 [wiki] [[Brainfuck Derivatives]] N http://esolangs.org/w/index.php?oldid=41497 * Cluid Zhasulelm * (+2616) Created page 01:00:20 I made a collection fo some of the best BF derivatives - if you can suggest more I can add them, or you can add them 01:01:27 Thanks for including MNNBGFSL. 01:01:44 -!- CrazyM4n has joined. 01:02:19 AndoDaan, MMBFSL is good because it's interesting how to show its turing complete.. 01:02:39 Has it been shown that MNNBFSL is TC? 01:02:54 [wiki] [[Special:Log/move]] move * Ehird * moved [[Brainfuck Derivatives]] to [[Brainfuck derivatives]]: capitalisation convention 01:02:59 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 01:03:17 AndoDaan, theres an assembler somewhere that adds GOTO to the language 01:04:08 [wiki] [[Brainfuck derivatives]] M http://esolangs.org/w/index.php?diff=41500&oldid=41498 * Ehird * (+40) links 01:04:27 Ah, cool. Do you know where I could find it? 01:04:28 fuckbrainfuck isn't really a derivative so much as an implementation choice 01:04:33 many "bf" implementations have a both-infinite tape 01:04:45 (arguably right-infinite tape is a derivative, seeing as the original implementations had finite tapes) 01:05:11 elliott, oh maybe it shoud be delted from there then 01:05:42 bf with left-infinite but right-finite tape 01:05:47 you get 4 cells to the right and infinite to the left 01:05:51 they're bonus 01:06:29 lol 01:06:35 4 is too many. 3 bonus cells should be ample. 01:07:10 I'm not stingy 01:08:31 bff actually functions similarly to that in its previous buggy version 01:08:44 it's supposed to be left infinite but there was an allocation bug 01:09:39 so it crashes if you go more than 128 cells to the left or something 01:09:46 don't remember the number 01:10:00 30K cells and 0-255 isn't enough for turing completeness, is it? 01:11:45 -!- callforjudgement has quit (Read error: Connection reset by peer). 01:11:51 -!- scarf has joined. 01:13:00 no 01:13:06 anything * anything isn't enough if those anythings are finite 01:13:08 youo haev to have actually infinite 01:13:23 that's beacuse e.g. something subturing like a regex could capture any finite language 01:13:32 you have to have infinite just to make the math work otu 01:14:24 -!- Sprocklem has joined. 01:15:42 can quantum brainfuck compute something in less steps than classical brainfuck? 01:16:13 presumably 01:16:32 http://esolangs.org/wiki/User:Ihope127 it woudl be nice if all his languages weere listed here 01:16:43 is it OK to add them ? I guess its considered rude or something? 01:16:50 is that tswett the notable australian 01:17:01 yes, it is 01:17:08 http://esolangs.org/wiki/User_talk:Ihope127 actually soeone added it to the discussion page, that is nice 01:17:09 cluid: editing other people's user pages is not done 01:17:20 generally 01:17:20 good 01:17:24 im glad to know that 01:17:56 -!- roasted42 has quit (Ping timeout: 272 seconds). 01:18:00 http://esolangs.org/wiki/Onoz proof it looks like oerjan invents a brainfuck derivative! 01:18:11 i did? 01:18:47 you probably said something useful during a BF discussion 01:18:52 and it was enough to make a whole language out of it 01:18:56 probably. 01:19:00 moral: no one is safe! 01:19:07 -!- roasted42 has joined. 01:19:09 the bricks will get us all. 01:21:47 Just another brick in the wall? 01:22:08 cluid: the idea about brainhype in scheme-omega is that it's easy to write a brainfuck interpreter in scheme, and then scheme-n should be able to interpret all brainhype programs with < n nesting depth of halting checks 01:22:25 and then omega can do any finite depth 01:22:48 that's pretty mind blowing! 01:23:33 did goedel ever make a bf derivative 01:24:03 you _probably_ can implement scheme-n in brainhype with n+1 nesting depth. 01:24:08 http://en.wikipedia.org/wiki/G%C3%B6del%27s_%CE%B2_function he has a kindof fractran like thing, except it only ecnodes a finite sequence 01:24:34 or something close to that. 01:25:52 what was euler's first esolang 01:25:59 Goedel invented Lisp before Lisp, and computers, was invented. 01:26:07 oerjan: but perhaps you were thinking of http://www.girlgeniusonline.com/comic.php?date=20130121 01:26:32 I've heard Goedel was a lisp hacker from Chaitin page but i don't really agree with that 01:27:00 there's no LAMBDA for a start 01:28:10 I think of what he did as peano arithmetic hacking 01:28:53 i think of what he did as, uh, formal logic? 01:30:59 He used Russell's Pricipia Mathematica as his framework. 01:31:10 really? 01:31:32 I know he disproved some things Russell belived but are you talking about the same paper as I am? 01:32:07 -!- roasted42 has quit (Remote host closed the connection). 01:32:19 Goedel numbers, and his imcompleteness theory? 01:33:08 well those are in the same paper 01:33:19 so yes 01:33:19 wouldn't he have been using peano arithmetic as his framework? i guess principia would've come in for the actual logic stuff 01:33:35 That what I meant by him inventing Lisp, developing a way for a language to talk about itself. 01:33:46 i see what you mean :) 01:33:55 its such a cool thing 01:34:38 Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme I 01:34:49 that's the title of the paper hth 01:35:25 https://skillsmatter.com/skillscasts/6088-the-worst-programming-language-ever how is APL a bad language? 01:35:38 I think he is just saying that because its a cool language to bring up 01:35:45 Can't type in the code. 01:37:06 dijkstra hated APL 01:37:15 not entirely sure why but I guess I could make some guesses 01:37:23 -!- roasted42 has joined. 01:37:36 I've heard that name before. 01:38:07 dijkstra? ...I'd hope so :) 01:38:44 I have a terrible memory. 01:39:09 shortest path for graphs. 01:39:19 is it true that Visual Basic is a joke language? 01:40:02 why did euclid invent ook! 01:40:05 disappointing imo 01:40:18 ? 01:41:23 it's not a very good language 01:41:35 do you mean zzo not euclid? 01:41:48 Edsger W. Dijkstra is what I say instead of Jesus H. Christ 01:41:50 i'm pretty sure elliott is joking 01:42:02 also zzo didn't invent ook! either 01:42:02 hi oren 01:42:02 elliott: because he couldn't imagine that parallel lines could intersect. 01:42:11 Hi i'm awake now 01:42:43 oren: do you pronounce it correctly for extra penance? 01:43:26 ah 01:43:29 I mixed then up beacuse of http://esoteric.codes/post/98149134838/on-tokens-vocabulary-aaaaaaaaaaaaaa-vs-ook 01:43:41 i just noticed a new post on this blog 01:43:46 UPDATE! 01:44:10 oerjan: yah, the g is a kkh sound like in russian 01:44:59 oren: i've listened to google translate's pronunciation 01:45:30 Nothing happened, now I can sleep, dreaming of better spoons. 01:45:37 oren, check out the new page o n the wiki please :D 01:45:38 -!- yonkie_ has quit (Quit: leaving). 01:45:55 cluid: ook! was invented by this guy http://www.irregularwebcomic.net/ 01:46:07 oh cool 01:46:23 (DMM made up for it by inventing Piet.) 01:46:25 that comic is in rerun these days, but there are others on the site 01:46:43 or the conglomerate of sites 01:48:51 Cluid: oh, you made a list of the BF derivatives that aren't just token replacements 01:49:09 if oyu have any additions please! 01:50:07 https://skillsmatter.com/skillscasts/6088-the-worst-programming-language-ever 01:50:13 this guy spent a whole hour explaining his esolang 01:50:24 probably deserves a wiki page, should I create it? 01:53:33 t-O-ok!-en replacement. 01:53:56 -!- roasted42 has quit (Ping timeout: 250 seconds). 01:55:52 -!- roasted42 has joined. 02:03:40 -!- drdanmaku has joined. 02:15:44 [wiki] [[BS]] N http://esolangs.org/w/index.php?oldid=41501 * Cluid Zhasulelm * (+1527) BS language 02:16:26 [wiki] [[BS]] M http://esolangs.org/w/index.php?diff=41502&oldid=41501 * Cluid Zhasulelm * (+113) added link to the talk 02:17:36 [wiki] [[User:Cluid Zhasulelm]] M http://esolangs.org/w/index.php?diff=41503&oldid=41438 * Cluid Zhasulelm * (+133) 02:17:43 17bit integers... 02:18:03 yeah :D 02:18:05 ver ysilly 02:18:24 okay regex cpp is a good gag 02:19:05 -!- hjulle has quit (Ping timeout: 258 seconds). 02:24:39 -!- Phantom__Hoover has quit (Read error: Connection reset by peer). 02:27:00 [wiki] [[BS]] M http://esolangs.org/w/index.php?diff=41504&oldid=41502 * Cluid Zhasulelm * (-52) more interesting code example 02:27:42 -!- scarf has quit (Read error: Connection reset by peer). 02:27:49 -!- scarf has joined. 02:36:41 AndoDaan: the "Collatz Function" example on MNNBFSL, is that the 3n+1 sequence? 02:37:26 -!- shikhin has joined. 02:37:48 -!- shikhin has changed nick to Guest11508. 02:38:56 AndoDaan: i'm editing the page, and i'm going to assume yes if you don't answer hth 02:39:45 -!- roasted42 has quit (Ping timeout: 244 seconds). 02:39:48 oerjan: is there anything else it could reasonably mean twh 02:40:35 shachaf: https://esolang.org/Collatz_function hth 02:41:06 -!- Guest80998 has quit (Ping timeout: 264 seconds). 02:41:14 -!- cluid has quit (Quit: Leaving). 02:41:15 $ whois esolang.org 02:41:15 NOT FOUND 02:41:25 oops 02:41:26 *+s 02:41:46 https://esolangs.org/Collatz_function is a 404 hth 02:41:50 -!- roasted42 has joined. 02:41:53 fff 02:41:56 the perils of typing out urls 02:42:28 anyway tdih 02:42:48 wat 02:43:10 https://esolangs.org/wiki/Collatz_function hth 02:44:35 that did indeed help 02:44:36 -!- yonkie has joined. 02:44:50 [wiki] [[List of ideas]] M http://esolangs.org/w/index.php?diff=41505&oldid=41489 * Oerjan * (+3) /* Derivative Ideas */ spe ling 02:45:27 although perhaps one should find out what muti-threaded means instead 02:45:47 oerjan: what is the integral of a bf derivative twh 02:46:00 oerjan, It's the 3x+1 /2 version 02:46:37 [wiki] [[MNNBFSL]] http://esolangs.org/w/index.php?diff=41506&oldid=41491 * Oerjan * (+27) /* Examples */ links, and "Collatz function" means something different in these parts 02:46:39 thx 02:46:54 shachaf: brainfuck plus a constant hth 02:47:31 thx = that helped x-ray? 02:47:58 x-tremely, maybe 02:49:35 perhaps xmas 02:50:05 wtf did wayback do to their calendar display 02:50:31 oh well i can still find the link to click 02:52:14 -!- bb010g has quit (Quit: Connection closed for inactivity). 02:52:16 [wiki] [[Deadfish]] http://esolangs.org/w/index.php?diff=41507&oldid=41494 * Oerjan * (+14) /* External resources */ wayback 02:57:02 [wiki] [[Brainfuck derivatives]] M http://esolangs.org/w/index.php?diff=41508&oldid=41500 * Oerjan * (+0) fix link 02:57:24 -!- ais523 has joined. 03:01:35 -!- scarf has quit (Ping timeout: 265 seconds). 03:08:53 -!- ais523 has quit (Read error: Connection reset by peer). 03:09:00 -!- callforjudgement has joined. 03:11:05 -!- callforjudgement has quit (Remote host closed the connection). 03:11:17 -!- callforjudgement has joined. 03:11:17 -!- callforjudgement has quit (Changing host). 03:11:17 -!- callforjudgement has joined. 03:11:44 -!- roasted42 has quit (Ping timeout: 265 seconds). 03:13:32 -!- roasted42 has joined. 03:16:21 pastebin is putting CRLFs in my code. Isthere a similar site that doesn't do that? 03:29:42 -!- Lymia has quit (Ping timeout: 264 seconds). 03:32:24 -!- Lymia has joined. 03:43:53 -!- roasted42 has quit (Changing host). 03:43:53 -!- roasted42 has joined. 03:43:53 -!- roasted42 has changed nick to TheM4ch1n3. 03:48:57 -!- TheM4ch1n3 has quit (Ping timeout: 265 seconds). 03:50:18 -!- roasted42 has joined. 03:53:06 -!- Guest11508 has quit (Ping timeout: 272 seconds). 03:53:35 -!- Sprocklem has quit (Ping timeout: 256 seconds). 03:55:38 -!- roasted42 has quit (Ping timeout: 272 seconds). 03:56:38 -!- roasted42 has joined. 04:01:58 -!- roasted42 has quit (Ping timeout: 272 seconds). 04:02:57 -!- roasted42 has joined. 04:07:48 -!- roasted42 has quit (Ping timeout: 265 seconds). 04:09:14 -!- roasted42 has joined. 04:13:58 -!- roasted42 has quit (Ping timeout: 256 seconds). 04:15:29 -!- roasted42 has joined. 04:20:12 -!- roasted42 has quit (Ping timeout: 256 seconds). 04:21:58 -!- roasted42 has joined. 04:27:34 -!- roasted42 has quit (Ping timeout: 245 seconds). 04:29:22 -!- roasted42 has joined. 04:31:10 -!- azazel_ has joined. 04:31:23 What does *net. split* mean? 04:32:18 there are multiple IRC servers in the freenode network, and they're connected to each other 04:32:47 if those links go down, that's a netsplit 04:34:23 -!- roasted42 has quit (Ping timeout: 256 seconds). 04:35:24 its jsut p-p tcp links which are statically configured.. so its not super robust 04:35:41 -!- roasted42 has joined. 04:36:13 Oerjan, TIL about the Collatz function. thx. 04:38:03 yw 04:39:16 collatz is great for coming up with weird counterexamples 04:39:18 idhty 04:40:06 newsham, how do you mean? 04:40:41 -!- roasted42 has quit (Ping timeout: 250 seconds). 04:41:07 like if someone says they have a program to solve the halting problem... 04:41:24 you can ask them to analyze function returning length of the collatz sequence 04:41:48 that kinda stuff 04:42:00 -!- roasted42 has joined. 04:42:14 Ah. Useful. 04:44:26 Could Goldbach conjecture be used for that kind of test as well? 04:44:56 -!- dts|pokeball has quit (Read error: Connection reset by peer). 04:45:29 -!- password2 has joined. 04:45:46 Mooost unsolved problems in number theory can I think 04:45:54 -!- dts|pokeball has joined. 04:46:00 -!- password2 has quit (Read error: Connection reset by peer). 04:47:00 -!- Sprocklem has joined. 04:47:10 -!- roasted42 has quit (Ping timeout: 264 seconds). 04:48:04 There's something I've been wondering about mathematical proofs. Godel showed that no one system can account be used to prove all provable math problems. 04:48:28 -!- roasted42 has joined. 04:49:26 But the turing church hypothesis says that what humans do, mathematicians, is no different that what a turing machine can do. 04:50:47 So, if a turing maching can solve all the solvable math problems, and a tm is a formal system... what of godel? 04:51:12 You can't prove that it will solve all solvable problems 04:51:15 Duh 04:53:06 And in infinite time? 04:53:57 Hmm, goes back to the halting problem, I guess. 04:54:10 maybe humans can only prove the important theorems? 04:54:54 Then that be the turing church hypothesis false. 04:55:01 that would be* 04:56:22 -!- bb010g has joined. 05:00:26 -!- Sprocklem has quit (Ping timeout: 255 seconds). 05:00:42 -!- roasted42 has quit (Ping timeout: 250 seconds). 05:01:34 -!- roasted42 has joined. 05:04:19 The universe, let alone the human brain, is not truring complete 05:04:24 The universe, let alone the human brain, is not turing complete 05:04:31 The universe, let alone the human brain, is not turing complete 05:05:29 Theoretically, are neural networks cappable of TCness? 05:05:55 -!- oren has quit (Quit: leaving). 05:06:04 only infinite ones hth 05:06:11 Actually, the universe might be turing complete due to unending expansion of space. 05:06:20 No upper bound to memory. 05:06:25 -!- oren has joined. 05:06:30 How about infinite in the time dimension? 05:06:31 The universe, let alone the human brain, is not turing complete 05:06:41 Actually, the universe might be turing complete due to unending expansion of space. 05:06:41 No upper bound to memory. 05:06:58 i think we're in a closed time loop tdnh 05:07:10 especially oren 05:07:20 Nietche or Godel? 05:07:27 AndoDaan: infinite only time dimension gives you PSPACE, nothing more 05:07:58 Can store all the results? 05:08:06 Can't* 05:08:25 can't avoid repeating 05:08:40 -!- oren has quit (Client Quit). 05:08:42 -!- roasted42 has quit (Ping timeout: 264 seconds). 05:09:01 -!- oren has joined. 05:11:45 Makes sense. Though, if we describe the Univers as it's quantum superposition, including, somehow, it's past, then each superstate will be distinct. 05:12:01 One thing is that human brains don't, practically speaking, have infinite time. 05:12:08 -!- Sprocklem has joined. 05:12:41 Could change soon. 05:13:09 True, but what would make a brain enter a state such that is has already performed infinite operations? 05:13:19 Or at least, the human brain pattern could be copied to something more durable. 05:15:30 can someone recommend a better client than irssi? 05:16:20 this thing keeps doig weird crap where it posts the message but doesn't whow that it has 05:17:11 I don't remember what it's called, but there's an esolang... nvm foundd it: http://esolangs.org/wiki/Wigner%27s_Fuckbuddy_Is_A_Superposition_of_Top_And_Bottom 05:17:17 -!- nisstyre has quit (Changing host). 05:17:17 -!- nisstyre has joined. 05:18:06 I'm happy with HexChat. Free, clean and simple. 05:21:11 -!- GeekDude has quit (Quit: Goodnight). 05:24:02 -!- CrazyM4n has quit (Quit: Leaving). 05:25:29 -!- AndoDaan has quit (Ping timeout: 245 seconds). 05:30:34 -!- MDude has changed nick to MDream. 05:44:07 -!- dts|pokeball has quit (Read error: Connection reset by peer). 05:45:07 -!- dts|pokeball has joined. 05:49:33 -!- coppro has quit (Ping timeout: 258 seconds). 05:49:40 -!- coppro has joined. 05:52:53 -!- oerjan has quit (Quit: leaving). 06:02:32 -!- Sprocklem has quit (Ping timeout: 255 seconds). 06:02:44 -!- oren has quit (Quit: leaving). 06:12:30 -!- augur has quit (Read error: Connection reset by peer). 06:14:11 -!- augur has joined. 06:15:35 shachaf: this is really pessimistic: http://www.kicktraq.com/projects/lunarchstudios/prismata-a-new-hybrid-game-of-pure-strategy/ 06:15:37 :( 06:15:51 Oh http://blog.kicktraq.com/why-you-should-take-kicktraq-trends-with-a-grain-of-salt/ 06:17:46 Still I'm worried 06:21:15 They are allowed to retry if they fail, right? 06:33:15 -!- newsham has quit (Ping timeout: 258 seconds). 06:33:20 -!- coppro has quit (Ping timeout: 272 seconds). 06:33:43 -!- newsham has joined. 06:36:48 Parsing lua is much confuse 06:36:57 -!- scarf has joined. 06:40:01 -!- callforjudgement has quit (Ping timeout: 240 seconds). 06:40:57 I kinda wanna make an alternate to bf but where to start 06:42:07 * azazel_ goes mad 06:44:44 -!- scarf has quit (Read error: Connection reset by peer). 06:44:50 -!- ais523 has joined. 06:48:22 -!- mitchs_ has quit (Ping timeout: 264 seconds). 06:50:05 -!- ais523 has quit (Read error: Connection reset by peer). 06:50:13 -!- ais523 has joined. 06:55:57 -!- dts|pokeball has quit (Read error: Connection reset by peer). 06:56:25 -!- dts|pokeball has joined. 07:00:09 -!- mitchs has joined. 07:29:22 -!- shikhin has joined. 07:29:26 -!- shikhin has quit (Changing host). 07:29:26 -!- shikhin has joined. 07:39:55 -!- callforjudgement has joined. 07:40:02 -!- ais523 has quit (Remote host closed the connection). 07:43:41 -!- Patashu has joined. 08:01:29 -!- oren has joined. 08:05:08 an alternate to bf inwhat way? 08:05:38 alternative syntax? alternative paradigm? 08:15:16 -!- heroux has quit (Ping timeout: 265 seconds). 08:15:32 -!- coppro has joined. 08:25:41 -!- callforjudgement has quit (Read error: Connection reset by peer). 08:25:53 -!- callforjudgement has joined. 08:28:08 -!- callforjudgement has quit (Client Quit). 08:28:24 -!- callforjudgement has joined. 08:29:01 -!- nisstyre has quit (Ping timeout: 240 seconds). 08:37:25 -!- shikhout has joined. 08:37:47 -!- shikhout has changed nick to Guest75497. 08:40:20 -!- shikhin has quit (Ping timeout: 250 seconds). 08:51:05 -!- Lymia has quit (Remote host closed the connection). 08:54:42 -!- Lymia has joined. 08:54:54 -!- S1 has joined. 08:57:31 -!- nisstyre has joined. 09:01:13 -!- azazel_ has quit (Quit: Connection closed for inactivity). 09:10:43 -!- jslave has joined. 09:12:47 -!- jslave has quit (Read error: Connection reset by peer). 09:13:09 -!- jslave has joined. 09:16:13 -!- jslave has quit (Read error: Connection reset by peer). 09:16:35 -!- jslave has joined. 09:17:37 -!- S1 has quit (Quit: S1). 09:38:33 -!- jslave has quit (Read error: Connection reset by peer). 09:43:41 -!- callforjudgement has quit (Read error: Connection reset by peer). 09:43:47 -!- scarf has joined. 10:01:24 -!- scarf has quit (Read error: Connection reset by peer). 10:01:31 -!- scarf has joined. 10:03:04 -!- mitchs has quit (Ping timeout: 244 seconds). 10:04:36 -!- Guest75497 has changed nick to shikhin. 10:04:41 -!- shikhin has quit (Changing host). 10:04:41 -!- shikhin has joined. 10:15:12 -!- mitchs has joined. 10:32:56 Would it be possible to describe the information content of a file in terms of "the shortest program that outputs the file"? 10:32:57 -!- AndoDaan has joined. 10:34:54 I am considering an output-only language based on code golfing as a means of data compression 10:35:03 Has there ever been a esolang/programming language that's coded by sketching/drawing? 10:35:58 I don't thing so. turtle graphics are the output for a lot of languages, but arbitrary lines as input is different 10:37:07 Hmm, okay. Thanks. 10:37:21 I might have an original idea for once. 10:37:23 * 10:38:01 (Though, there might be good reasons why nobody made such a language yet.) 10:38:41 Your output-only language would be an interpreter for golfed code in another language? 10:38:50 AndoDaan: There's a few box-diagram/flowchart languages, but nothing that freeform that I've seen, no. Most freeform is probably Mondrian maybe? 10:39:57 What I have in my head is quite different from those. 10:40:14 it would be possible and has been done by kolmogorov and others hth 10:41:24 Code would be interpreted from the lines you draw (their angle, length, relation to other lines). 10:41:34 * oren reads about Kolmogorov and is annoyed that so many people were born before he was 10:42:40 Not many that are still alive though. 10:42:51 AndoDaan: that sounds very cool, especially if the interpreter is flexible enough to run scanned drawings. 10:42:59 kolmogorov was p. great hth 10:44:13 shachaf: the dude was born before my great-great grandmother was, now that is just cheating 10:44:25 I was thinking that the drawing process itself helps determins the program. 10:44:48 AndoDaan, like "stroke order" 10:44:49 ? 10:45:05 Which lines were drawn first? 10:45:12 The naked source might be (x1,y1 x2,y2) 10:45:39 the first line determins the number base to be used. 10:46:31 Put it anywhere, but then cross it n times for n-1 base. 10:46:41 like a cross would be binary. 10:47:56 Angles might be constrained though, maybe 24 10:48:02 degrees of freedom. 10:48:41 Enough to be versatile, but still easily determined by the code interpreter. 10:49:04 AndoDaan: 24 degrees of freedom probably doesn't mean what you think it means 10:49:20 :) most likely. 10:49:59 Your arm has 5 degrees of freedomfor example. 10:50:14 The joints? 10:50:35 Determine the degree I mean> 10:50:38 ? 10:50:39 it is the number of pure rotations available 10:50:59 along different axes 10:51:21 Ah. Yeah, I meant how lines can intersect a fixed access. Thanks. 10:51:31 Axis* 10:51:45 oh, i see. 10:52:37 how many degrees of freedom does this person's arm have: http://newsbusters.org/sites/default/files/thumbnail_photos/2011/April/Pot.jpg 10:53:17 One? 10:54:42 Minus one? 10:54:45 #drugz 11:19:07 why do people call espresso expresso? 11:21:43 oren: because they are idiots? 11:22:25 -!- boily has joined. 11:22:47 konboilywa 11:24:15 J_Arcane: maybe they think it is related to "expression"? 11:24:33 Or "express" 11:25:08 Well, it is, but only through Italian. I know better because i live in Little Italy. 11:26:22 idea: programming language where all keywords, library functions,etc are distant cognates of the standard ones 11:29:23 per(;;)press("hello again"); 11:30:54 like a programming language based on a alternate universe's version of English 11:31:05 -!- scarf has quit (Read error: Connection reset by peer). 11:31:11 -!- ais523 has joined. 11:31:18 -!- ais523 has quit (Changing host). 11:31:18 -!- ais523 has joined. 11:31:34 quit join quit join 11:33:44 -!- quintopia has quit (Remote host closed the connection). 11:39:07 oren: ohayoren! 11:39:30 @ask quintopia Y YOU NO STAY IN THE CHANNEL HTH 11:39:30 Consider it noted. 11:40:03 @tell quintopia once again, we are abhorrently missynchronized... 11:40:03 Consider it noted. 11:40:50 how do you pronounce abhorrently? 11:41:25 is the BH like a V or just like a B? 11:42:49 boily: does "HTH" stand for "HOPE THAT HELPS"? 11:43:24 -!- mitchs has quit (Ping timeout: 245 seconds). 11:44:18 all caps fractur text is much harder to read than lowercase. 11:44:46 fungot, fun fractur. 11:44:47 AndoDaan: does chicken have anything like " quasisyntax"? i don't think much about it :) 11:46:02 `? hth 11:46:09 ... 11:46:11 hth is help received from a hairy toe. It is not at all hambiguitous. 11:46:13 ah! 11:46:18 shachaf: there you go htah 11:46:18 oh 11:46:20 '? does it help? 11:46:32 boily: that sentence doesn't make sense 11:46:56 “there you go, hope that also helps” 11:47:40 boily: the one you asked quintopia 11:48:53 it makes sense? 11:50:33 (okay, it may be a creative application of a meme and another meme together...) 11:50:52 Y U NO HTH? 11:51:37 i command you to hope, dammit, hope! 11:52:12 Hope is a woe, that's why it was in Pandora's box. 11:52:41 something something believe in the one who believes in the hope something... 11:52:59 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 11:53:08 AndoDaan: you don't need hope if you have no woes 11:53:59 So hope is a meta woe. 11:55:16 -!- mitchs has joined. 11:55:39 boily: omae wo shinjiru ore wo shinjiru! 11:56:38 -!- callforjudgement has joined. 11:56:41 -!- atslash has quit (Quit: This computer has gone to sleep). 12:00:06 -!- ais523 has quit (Ping timeout: 250 seconds). 12:03:27 I hate that C comments aren't nestable 12:07:35 -!- mitchs has quit (Ping timeout: 244 seconds). 12:07:55 oren: use //. 12:08:37 boily: i am trying to temporarily comment something out, but i used /**/ comments in it 12:09:08 Oh, what am i thinking here! #if 0 #endif 12:09:18 that is nestable too. 12:10:13 ... 12:10:48 * boily oils his mapole and do a few practice swings *swoosh* *swoosh* 12:11:02 -!- Phantom_Hoover has joined. 12:11:17 -!- Phantom_Hoover has quit (Changing host). 12:11:18 -!- Phantom_Hoover has joined. 12:11:23 oren: you should go with the simplest, instead of cumbersomes #ifs. 12:11:49 what is simpler? 12:12:24 /. 12:12:29 //, says I. 12:12:48 but that is'nt a block comment 12:13:43 yes, it isn't. 12:14:18 so i have to add it to the start of all the lines? 12:14:27 that is a pain 12:14:42 out of curiosity, what are you coding with? 12:14:53 mcedit 12:15:46 darn. I can't help you with emacs-y shortcuts. 12:16:38 there should be some weird key combo you could use to automatify that. perhaps. 12:17:07 -!- Patashu has quit (Ping timeout: 264 seconds). 12:17:44 oren: http://www.gnu.org/software/emacs/manual/html_node/emacs/Comment-Commands.html ← maybe C-c C-c? 12:18:37 and there I am completely wrong. mcedit is midnight commander's editor. not an emacs variant. 12:19:19 you should use something probably a little bit more powerful if you need to apply something to multiple lines at the same time... 12:19:47 boily: it can run arbitrary shell scripts on your selection 12:19:56 if you add them to your user menu 12:20:43 but the problem is MC is highly underdocumented 12:21:36 hm. if it san run shell scripts... 12:21:58 sed -i 's,^,//,' 12:23:49 -!- boily has quit (Quit: EXCHECKER CHICKEN). 12:34:45 -!- mitchs has joined. 12:36:30 -!- mitchs_ has joined. 12:39:06 -!- mitchs has quit (Ping timeout: 244 seconds). 12:40:39 -!- mitchs_ has quit (Ping timeout: 244 seconds). 12:47:38 -!- Sgeo_ has quit (Read error: Connection reset by peer). 12:49:54 -!- Sgeo has joined. 12:52:41 -!- callforjudgement has quit (Read error: Connection reset by peer). 12:52:55 -!- callforjudgement has joined. 12:54:35 -!- scarf has joined. 12:59:02 -!- callforjudgement has quit (Ping timeout: 250 seconds). 13:07:23 Hooray. Heresy has basic file I/O now. 13:10:33 -!- scarf has quit (Read error: Connection reset by peer). 13:10:48 -!- scarf has joined. 13:12:07 J_Arcane: looks good. vast majority of programs don't read or write more than one file at once. 13:12:48 so this is definitely more than adequate 13:13:55 Yeah. In the future I might add some basic feature matching to Racket's (in-lines ...) and the like too, because they're bloody handy, but it'll do for a basic toy Lisp and it's enough to get my game idea down ... 13:14:38 have you written a self-interpreter yet 13:15:08 Not yet. Though I think there's enough now for it to be possible. 13:15:32 I even wrote a very nice string splitting function explicitly to make parsers easier to write ... :D 13:16:05 elliott: that is way easier in languages that can jump into data space or have an eval command 13:16:16 that doesn't count as a self-interpreter 13:16:22 why not? 13:16:26 J_Arcane: well you could just piggy-back on read 13:17:01 oren: because it's boring. you can make more fine-grained distinctions to try and give more exact criteria with which to rule it out but it's easier to just ignore people who pass off eval as a self-interpreter. the point is to *write* eval. 13:17:11 Yup, that is also true. After all, that's what most Lisps do anyway. XD 13:17:48 elliott: ok, yeah it is totally boring. 13:18:50 and it also prevents it from being (easily) compilable 13:19:31 so having an eval() is a dubious design chice 13:19:38 s/chice/choice 13:22:53 My goal was to implement enough of the language to write a text-mode RPG like I wrote on the old Tandy CoCo3 as a kid. Only in a functional Lisp. :D 13:26:49 J_Arcane: after that, put in QBASIC VGA-like graphics! 13:27:37 oren: actually ,that's one of the possibilities on the future dev list. 13:27:51 Running the whole thing in a fake retro graphics window. 13:28:26 Great. I have actually recently started trying graphics hacks in DOS on my scrap PC. 13:28:46 s/DOS/QBASIC.EXE 13:31:35 scrap PCs are a excellent resource to keep around. you never know when an old PC will come in handy. 13:36:12 having eval is fine 13:36:34 it can interfere with static compilation models but it is totally fine for JITs and the like 13:36:53 most common lisps are compiler-based and still have eval, for instance 13:39:52 "Most common lisps" 13:40:02 I thought the point of common lisp was to be, like, common 13:40:41 Semantic ambiguity Firefly. 13:43:51 I meant most (common lisps) 13:43:53 elliott: I see, so a language can have eval if it doesn't plan on being turned into an exe. 13:43:57 (common lisp)s 13:44:00 -!- scarf has quit (Read error: Connection reset by peer). 13:44:05 oren: that's still fine, as long as it links to the compiler at runtime 13:44:07 whether statically or dynamically 13:44:09 -!- scarf has joined. 13:44:19 as long as the compiler can compile stuff in-memory 13:44:41 for instance with a lot of lisps their model is that the implementation starts up, you compile new functions into it, and then you can dump all its compiled state as an executable 13:44:48 which you could then reload and add more into and then dump that image, etc. 13:45:13 which fits the lisp model of building a program from nothing using the REPL and loading files into it, etc. 13:45:30 elliott: that is exactly what i want for python 13:45:35 obviously this is an elegant model for things like lisp machines 13:45:49 where your live lisp environment is all that exists 13:46:20 a bonus is that with some implementations you can strip things so that anything you don't call isn't included in the resulting image 13:46:32 so if your program never calls eval it won't bundle the entire compiler in the resulting image 13:46:38 *into 13:47:55 lisp is a giant paradox wrapped in an enigma. it is the Nikola Tesla of programming languages. 13:48:10 that's, uh, that sure is a comparison 13:48:28 lisp is the anarcho-syndicalism of potatoes 13:49:37 well it was massively ahead of its time, was greatly underappreciated by the masses 13:49:48 just like Tesla 13:51:52 lisp was actually fairly appreciated way back when I think 13:51:54 pre-AI Winter anyway 13:52:19 well, maybe longer than that 13:52:58 elliott: really? what about the hordes of Fortraners? did they appreciate it? 13:53:01 anwyay I hear edison once killed a bear just by staring at it thru the earth's surface and then he framed tesla for it and tesla had to work in the mines for ten thousand years while edison made five billion dollars off the delicious coal tesla mined 13:53:05 *anyway 13:53:25 oren: er, you're asking me if people had disagreements about what languages were good back then? yes, of course they did :p 13:56:03 -!- cluid has joined. 13:56:04 hello 13:56:09 hello 13:56:14 http://esolangs.org/wiki/Narcissist 13:56:18 -!- cluid has quit (Changing host). 13:56:18 -!- cluid has joined. 13:56:20 Brainfuck narcissist by User:Keymaker 13:56:20 Subleq OISC Narcissus by User: r.e.s. 13:56:23 both these are missing 13:56:26 and they aren't on archive.org 13:57:24 [wiki] [[Narcissist]] http://esolangs.org/w/index.php?diff=41509&oldid=33552 * Ehird * (+60) /* External resources */ update narc.b link 13:58:03 great! 13:58:08 can narc.b be added to https://github.com/graue/esofiles/tree/master/brainfuck/src 13:58:51 if you ping graue, probably 13:58:56 though I guess it'd need keymaker's permission 13:59:06 narcissists are contravariant quines 14:00:24 elliot: that story is impossible. tesla and edison lived back before the industrial revolution, when coal mines didn't yet exist. 14:00:39 -!- scarf has quit. 14:00:47 b_jonas: damn. you got me. I'm a fraud. I... I never thought this would happen 14:01:12 http://esolangs.org/wiki/Brainfuck_derivatives some of the links here are not correct 14:01:22 b_jonas: also, no human has ever lived for ten thousand years 14:01:26 (FuckBrainfuck and Fuck) 14:01:28 debunked 14:01:42 http://esolangs.org/wiki/Brainfuck_extensions this page is very useful good too 14:02:08 [wiki] [[Brainfuck derivatives]] http://esolangs.org/w/index.php?diff=41510&oldid=41508 * Ehird * (-297) rm fuckbrainfuck -- another language with the same name exists and it's more of an implementation choice than anything 14:02:21 thank you! 14:03:06 yeah, except maybe Lazarus Long 14:06:59 good morning 14:07:41 -!- sebbu2 has changed nick to sebbu. 14:07:44 -!- nisstyre has quit (Changing host). 14:07:44 -!- nisstyre has joined. 14:08:05 where is the golf site 14:08:09 golf.shinh.org 14:15:41 #anagol is its Freenode chatroom. 14:27:12 "lisp is the anarcho-syndicalism of potatoes" XD 14:27:47 -!- AndoDaan_ has joined. 14:28:24 -!- AndoDaan has quit (Ping timeout: 245 seconds). 14:33:13 -!- _AndoDaan_ has joined. 14:37:18 -!- shikhout has joined. 14:37:40 -!- shikhout has changed nick to Guest97570. 14:37:50 -!- AndoDaan_ has quit (Ping timeout: 272 seconds). 14:38:53 https://news.ycombinator.com/item?id=8766357 14:39:14 -!- mihow has joined. 14:39:32 J_Arcane, http://esolangs.org/wiki/BS 14:41:00 -!- shikhin has quit (Ping timeout: 272 seconds). 14:43:52 -!- drdanmaku has joined. 14:46:16 I tried anagol but I got the same length as the other peoeple 14:52:18 !blsq q1J{Pp|[1pP2CO)++p^1]|J}15E!vv#< 14:52:19 | {1} 14:52:19 | {1 1} 14:52:19 | {1 2 1} 14:52:25 !blsq q1J{Pp|[1pP2CO)++p^1]|J}15E!vv 14:52:25 | {1 15 105 455 1365 3003 5005 6435 6435 5005 3003 1365 455 105 15 1} 14:52:25 | {1 14 91 364 1001 2002 3003 3432 3003 2002 1001 364 91 14 1} 14:52:25 | {1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1} 14:52:49 pascal's triangle! 14:52:55 true 14:53:00 cluid: that's still pretty good 14:53:08 why is the second one upside down? 14:53:21 because I dropped the #< 14:53:37 I want to win one but I gotta choose the best language 14:53:40 !blsq q1J{Pp|[1pP2CO)++p^1]|J}15E!vv#s 14:53:40 | {{1 15 105 455 1365 3003 5005 6435 6435 5005 3003 1365 455 105 15 1} {1 14 91 364 1001 2002 3003 3432 3003 2002 1001 364 91 14 1} {1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1} {1 12 66 220 495 792 924 792 495 220 66 12 1} {1 11 55 165 330 462 462 3 14:53:43 golfscrippt seems like cheating...... 14:53:50 !blsq q1J{Pp|[1pP2CO)++p^1]|J}5E!vv#s 14:53:50 | {{1 5 10 10 5 1} {1 4 6 4 1} {1 3 3 1} {1 2 1} {1 1} {1}} 14:53:50 | {1 5 10 10 5 1} 14:53:50 | {1 4 6 4 1} 14:53:53 I should use anagol problem #31 script 14:54:01 <_AndoDaan_> Hey, mroman. I wanted to say that I came accross you javascript Beam interpreted, and I've using it's code as a reference to help me develop an the same kind of thing for MNNBFSL. 14:54:07 <_AndoDaan_> I hope that's okay. 14:54:10 sure 14:54:18 <_AndoDaan_> Thanks. 14:54:23 _AndoDaan_, what's your thoughts on MNNBFSL? 14:54:29 and hwo is your interpreter coming 14:54:38 cluid: Golfscript is cheating 14:54:40 then try Burlesque 14:54:50 <_AndoDaan_> For some reason, I'm obsessed with MNNBFSL 14:54:50 !blsq 1Jq.+15C! 14:54:50 | 1597 14:54:50 | 987 14:54:50 | 610 14:54:57 I like MNNBFSL 14:54:58 !blsq 1Jq.+10C!#s 14:54:58 | {144 89 55 34 21 13 8 5 3 2 1 1} 14:54:58 | 144 14:54:58 | 89 14:55:07 !blsq 1Jq.+10!C#sit 14:55:07 | {1 1 2 3 5 8 13 21 34 55 89 144} 14:55:09 Have you written any programs in it? 14:55:26 !blsq 1Jq.-10!C#sit 14:55:26 | {1 1 0 1 -1 2 -3 5 -8 13 -21 34} 14:55:47 !blsq 1Jq.*10!C#sit 14:55:47 | {1 1 1 1 1 1 1 1 1 1 1 1} 14:55:49 hm 14:55:54 !blsq 1 2q.*10!C#sit 14:55:54 | {1 2 2 4 8 32 256 8192 2097152 17179869184 36028797018963968 618970019642690137449562112} 14:56:16 !blsq 10roq.+pa 14:56:16 | {{1} ERROR: Burlesque: (.+) Invalid arguments! {1 2} ERROR: Burlesque: (.+) Invalid arguments! {1 2 3} ERROR: Burlesque: (.+) Invalid arguments! {1 2 3 4} ERROR: Burlesque: (.+) Invalid arguments! {1 2 3 4 5} ERROR: Burlesque: (.+) Invalid arguments! {1 2 14:56:20 uhm 14:56:24 !blsq 10roq++pa 14:56:24 | {1 3 6 10 15 21 28 36 45 55} 14:56:26 ah. there we go 14:56:31 @_AndoDaan_ 14:56:31 Unknown command, try @list 14:56:33 <_AndoDaan_> Yeah. Some basic string construction stuff. But my first real bit of coding has been a program that gives Collatz sequence for a given number. 14:56:40 cool! I saw that 14:56:51 !blsq 10roq++paq++pa 14:56:51 | {1 4 10 20 35 56 84 120 165 220} 14:56:55 !blsq 10roq++paq++paq++pa 14:56:55 | {1 5 15 35 70 126 210 330 495 715} 14:57:03 !blsq 10roq++paq++paq++paq++pa 14:57:03 | {1 6 21 56 126 252 462 792 1287 2002} 14:57:20 I noticed some _________ in it, funny 14:57:22 to make the jumps 14:57:23 <_AndoDaan_> I'm working on my own template/method for implemeting labels/maybe functions in it. 14:57:45 !blsq |[10 9nr]| 14:57:45 | {10} 14:57:53 there is a way to make labbels and get label addresses pushed to the stack already 14:58:11 <_AndoDaan_> The way ']' is/was really hard for me to get to grips with. 14:58:19 <_AndoDaan_> works* 14:58:32 yeah it's a interesting language! Its more different than brainfuck than I thought when i first saw it 14:58:52 <_AndoDaan_> Definitely. 14:59:02 <_AndoDaan_> Took me too long to fully realize that. 14:59:33 -!- _AndoDaan_ has changed nick to AndoDaan. 15:00:27 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 15:00:55 I wonder if |[ ]| will be useful in golfing 15:01:15 !blsq {1 1.+} 15:01:16 | {1 1 .+} 15:01:16 vs 15:01:23 !blsq |[1 1.+|] 15:01:23 | ERROR: Unknown command: (|])! 15:01:23 | 2 15:01:23 | |[ 15:01:27 !blsq |[1 1.+]| 15:01:28 | {2} 15:01:32 !blsq 9so{go} 15:01:32 | {go} 15:01:33 | 1 15:01:46 !blsq 9s0{g0} 15:01:46 | {BlsqGet "0"} 15:01:56 !blsq 9s0|[g0]| 15:01:56 | {9} 15:02:15 Immediatly evals a code block? 15:03:00 !blsq |[2 3.*]| 15:03:00 | {6} 15:03:15 !blsq {2 3.*}e! 15:03:15 | 6 15:03:37 hmm, and keeps the result in the block.d 15:05:46 !blsq |[20ro J{FC}m[]| 15:05:46 | {{1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20} {ERROR: Unknown command: (FC)! 1 ERROR: Unknown command: (FC)! 2 ERROR: Unknown command: (FC)! 3 ERROR: Unknown command: (FC)! 4 ERROR: Unknown command: (FC)! 5 ERROR: Unknown command: (FC)! 6 ERROR: Un 15:06:09 !blsq |[20ro J{fc}m[]| 15:06:09 | {{1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20} {{1} {1 2} {1 3} {1 2 4} {1 5} {1 2 3 6} {1 7} {1 2 4 8} {1 3 9} {1 2 5 10} {1 11} {1 2 3 4 6 12} {1 13} {1 2 7 14} {1 3 5 15} {1 2 4 8 16} {1 17} {1 2 3 6 9 18} {1 19} {1 2 4 5 10 20}}} 15:06:17 !blsq |[20ro J{fc}m[:f:]| 15:06:17 | {{1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20} {{1} {1 2} {1 3} {1 2 4} {1 5} {1 2 3 6} {1 7} {1 2 4 8} {1 3 9} {1 2 5 10} {1 11} {1 2 3 4 6 12} {1 13} {1 2 7 14} {1 3 5 15} {1 2 4 8 16} {1 17} {1 2 3 6 9 18} {1 19} {1 2 4 5 10 20}}} 15:06:35 !blsq |[20ro J{fcL[}m[]| 15:06:36 | {{1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20} {1 2 2 3 2 4 2 4 3 4 2 6 2 4 4 5 2 6 2 6}} 15:07:13 !blsq |[20ro J{fcL[2.-nz}m[]| 15:07:13 | {{1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20} {1 0 0 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1}} 15:08:28 !blsq |[20ro{JfcL[2==}m[)f:]| 15:08:28 | {{ERROR: Burlesque: (<-) Invalid arguments! ERROR: Burlesque: (><) Invalid arguments! ERROR: Burlesque: (m[) Invalid arguments! {^^ L[ \/ -] bx \/ +]} ERROR: Burlesque: (=[) Invalid arguments! 0 ERROR: Burlesque: (<-) Invalid arguments! ERROR: Burlesque: ( 15:08:39 !blsq |[20ro{JfcL[2==}m[)F:]| 15:08:39 | {{ERROR: Burlesque: (z[) Invalid arguments! ERROR: Burlesque: (++) Invalid arguments! ERROR: Burlesque: (./) Invalid arguments! ERROR: Burlesque: (m[) Invalid arguments! ERROR: Burlesque: (m[) Invalid arguments! {pd} ERROR: Burlesque: (m[) Invalid argument 15:08:59 !blsq |[20ro{JfcL[2==}m[)fi]| 15:08:59 | {{ERROR: Burlesque: (fi) Invalid arguments! 0 ERROR: Burlesque: (fi) Invalid arguments! 1 ERROR: Burlesque: (fi) Invalid arguments! 1 ERROR: Burlesque: (fi) Invalid arguments! 2 ERROR: Burlesque: (fi) Invalid arguments! 1 ERROR: Burlesque: (fi) Invalid arg 15:09:06 !blsq |[20ro{JfcL[2==}m[)Fi]| 15:09:06 | {{ERROR: Burlesque: (fi) Invalid arguments! 0 ERROR: Burlesque: (fi) Invalid arguments! 1 ERROR: Burlesque: (fi) Invalid arguments! 1 ERROR: Burlesque: (fi) Invalid arguments! 2 ERROR: Burlesque: (fi) Invalid arguments! 1 ERROR: Burlesque: (fi) Invalid arg 15:09:13 terrible memory. 15:09:22 sorry spamming. 15:22:32 does anyone know if there's a way to convert a single-character string to a number in dc? 15:23:11 -!- yonkie has quit (Quit: leaving). 15:24:42 does dc allow to subtract '0' from it? 15:29:24 oh! just use x! 15:29:43 [5]x3-p --> 2 15:29:58 -!- Sprocklem has joined. 15:34:30 -!- GeekDude has joined. 15:38:35 -!- atslash has joined. 15:39:23 -!- scounder has quit (Changing host). 15:39:23 -!- scounder has joined. 15:40:07 -!- Guest97570 has changed nick to shikhin. 15:40:12 -!- shikhin has quit (Changing host). 15:40:12 -!- shikhin has joined. 15:42:09 -!- sebbu has quit (Quit: reboot). 15:43:18 http://marcrogers.org/2014/12/18/why-the-sony-hack-is-unlikely-to-be-the-work-of-north-korea/ 15:45:41 -!- atslash has quit (Quit: Leaving). 16:00:24 [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41511&oldid=41487 * Orenwatson * (-286) upadted links 16:01:31 seriously it's like a parody of north korea 16:02:09 media goes OMG WHAT IF IT'S NKOREA -> pastebin post with awkward english going all ~terroristy~ on the film release, thanks for the great "lulz" idea guys 16:02:43 https://marcrogers.files.wordpress.com/2014/12/gop-image.jpg ok but the skeleton 16:04:20 anyway I like imagining that the republican party hacked sony 16:04:27 hacked by gop 16:07:58 it was probably /r/pyongyang 16:20:18 https://www.haskell.org/haskellwiki/Monad_tutorials_timeline 16:22:24 -!- MDude has joined. 16:22:27 -!- MDream has quit (Read error: Connection reset by peer). 16:24:55 -!- sebbu has joined. 16:24:55 -!- sebbu has quit (Changing host). 16:24:55 -!- sebbu has joined. 16:25:08 [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41512&oldid=41511 * Orenwatson * (+27) why did no one tell me about gists on github. this is much better than stupid pastebin 16:29:37 Hah hah. 16:30:24 What's the deal with '#if 0' preprocessor clauses? 16:42:34 it helps to make a file both a valid .c and a valid shell script at once 16:42:44 the shell script part doesn't tokenize 16:43:07 so i added "true /*" at beginning and "true */" at end 16:44:15 J_Arcane: and the #if 0 makes sure the shell script isn't in the final c code. 16:48:58 actually, so long as true; is a valid C statement (enabled by macros) then it isn't necessary 16:49:48 actually, so long as true; is a valid C statement (enabled by macros) then it isn't necessary 16:52:42 yeah, that works: #define true true /* will allow separate C and shell parts. 16:53:09 #define true true is UB though :P 16:53:12 or is it 16:53:13 I forget 16:53:15 okay no true isn't 16:53:22 #define _Bool might be? 16:53:27 I guess that's not a keyword. 16:53:43 i think true is a keyword in c++ tho 16:54:12 note that it is 16:54:16 #define true 16:54:18 true /* 16:54:19 elliott: it depends: 16:54:29 elliott: in C, true is a macro defined by #include 16:54:34 but you could define it yourself; 16:54:41 whereas in C++, true is a keyword you must not define 16:54:44 oren: #define _ /* 16:54:46 ... 16:54:47 */ 16:54:49 I guess that doesn't work 16:55:04 I mean, in C, you could define true correctly; you're not allowed to define it incorrectly, because then other macros or headers could break 16:55:05 -!- S1 has joined. 16:55:34 if a header uses true then it will redefine it 16:56:00 oren: not if a previous header already included stdbool.h so the header guard is defined already 16:56:22 in any case, it's certainly a Bad Idea to define true yourself 16:56:23 right but for this it is the first line in the file 16:56:32 (and kind of has to be) 16:57:03 we can always redefine it to 1 afterward 16:58:03 oren: no, 1 is the wrong definition, it has to be something like ((bool)1) 16:59:41 or, um, make that ((_Bool)1) as you don't have bool defined 17:01:03 -!- S1 has quit (Ping timeout: 244 seconds). 17:11:15 b_jonas: are you really not allowed to do #define true 123 17:11:27 like, by the standard 17:11:33 I don't care whether things break, I care about language lawyering :P 17:11:52 wasn't the whole point you have to include because people already used "true" for their own purposes 17:12:46 #undef true; #define true 123 17:12:53 elliott: I don't think you're allowed to, but I'm not quite sure. ask on ##c if you want to know. 17:13:07 b_jonas: no way am I ever going to join ##c 17:13:11 that's like the worst channel on freenode 17:13:20 you should try #python some day 17:13:22 elliott: whatever, I just don't know, sorry 17:13:23 I have 17:13:26 ##c is worse :p 17:13:32 nah, ##c is better (slightly) 17:13:37 unless #python took a major nosedive within the past couple of years 17:13:42 if you don't want to join it, sure, but I don't think it's the _worst_ channel 17:13:55 I mean, we have tens of thousands of channels (how many really?) 17:14:45 most of them are basically empty though 17:15:36 [wiki] [[User:Cluid Zhasulelm]] M http://esolangs.org/w/index.php?diff=41513&oldid=41503 * Cluid Zhasulelm * (+26) Updating my userpage 17:21:58 [wiki] [[K-on Fuck]] M http://esolangs.org/w/index.php?diff=41514&oldid=41355 * Cluid Zhasulelm * (+2307) Added example and BF equivalence note 17:22:15 -!- bb010g has quit (Quit: Connection closed for inactivity). 17:31:45 -!- sebbu2 has joined. 17:32:03 -!- sebbu has quit (Ping timeout: 244 seconds). 17:32:24 -!- sebbu2 has quit (Changing host). 17:32:24 -!- sebbu2 has joined. 17:48:44 -!- atslash has joined. 17:52:34 -!- AndoDaan has quit (Ping timeout: 245 seconds). 17:57:24 -!- AndoDaan has joined. 18:06:48 -!- atslash has quit (Quit: This computer has gone to sleep). 18:15:22 -!- cluid has quit (Quit: Leaving). 18:18:01 elliott: C11 7.1.3p1 subpoint 3 and p3 hth 18:18:24 I'm too lazy to look that up 18:19:02 elliott: "Each macro name in any [description of a header in the standard] is reserved for use as specified if any of its associated headers is included --" "If the program removes (with #undef) any macro definition of an identifier in the first group listed above, the behavior is undefined." 18:19:23 okay, but if you don't include ? 18:19:34 I'm relatively sure you can still #define true, and even include other standard headers. 18:21:13 You can also "#define while" etc., albeit in very limited scenarios: "The program shall not have any macros with names lexically identical to keywords currently defined prior to the inclusion of the header or when any macro defined in the header is expanded." (C11 7.1.2p4) 18:21:13 fizzie: ok, but a few macro names like I get special exemptions, is true one of those? 18:21:48 Oh, right. Yes. 18:22:09 "Notwithstanding the provisions of 7.1.3, a program may undefine and perhaps then redefined the macros bool, true, and false." 18:22:15 So they're one of those. 18:22:29 C is a mess 18:23:20 Though the "future library directions" section mentions that "the ability to undefine and perhaps then redefine the macros bool, true, and false is an obsolescent feature". 18:23:35 I also don't see any restrictions about only being allowed to redefine them "correctly". 18:35:23 -!- Sprocklem has quit (Ping timeout: 250 seconds). 18:39:00 -!- mihow has quit (Quit: mihow). 18:50:27 -!- MoALTz has joined. 19:08:47 -!- AndoDaan_ has joined. 19:08:53 -!- AndoDaan has quit (Ping timeout: 245 seconds). 19:14:45 -!- atslash has joined. 19:18:27 -!- cluid has joined. 19:18:29 hi 19:18:47 is this correct for NAND in C ~(x & y) ? 19:18:53 yes 19:19:47 ffffffd5 0000002a 0000002a 19:19:47 1 0 0 19:19:52 i cant understand why im getting this result here 19:19:58 x y then nand 19:20:03 and then I printed &1 of each, to see 19:20:07 but its not correct 19:20:30 I really need to write (max ...) for Heresy. This Collatz problem would be a lot easier that way ... 19:22:32 cluid: There must be something screwy with your test case or something. 19:22:33 [21:21:03] ,cc unsigned x = 0xffffffd5, y = 0x0000002a, nand = ~(x & y); printf("%x %x %x, %u %u %u", x, y, nand, x&1, y&1, nand&1); 19:22:36 [21:21:05] fizzie: ffffffd5 2a ffffffff, 1 0 1 19:23:42 and here I was trying to write that in haskell 19:23:59 http://lpaste.net/116803 19:24:02 > showHex (complement (0xffffffd5 .&. 0x0000002a) :: Word32)"" 19:24:02 "ffffffff" 19:24:03 "ffffffff" 19:24:04 There you go, elliott 19:24:11 this is very confusing :( 19:24:24 glguy: I was trying to implement it zipping nand over the actual bits 19:24:28 but I don't think I can use the lens "bits" to do it 19:24:37 since you can't zip traversals 19:25:03 cluid: what's u? 19:25:06 cluid: Showing the type of u->r might be relevant. 19:25:16 updated the post 19:25:31 u is um* 19:25:46 You kind of can if you cheat and turn them into lists, zip and then back using "partsOf" 19:25:48 And also to make sure a != b, b != c, a != c. 19:25:49 ahh, and you're sure a =/= b =/= c, right? :p 19:26:28 glguy: yeah but partsOf is sin. I think it should be possible to do a safe zipWith... it would put the elements back into the first traversal and truncate the second 19:26:45 thanky ou! 19:27:04 In any case, you abandoned us, put away the lens :-p 19:27:15 the xor swap trick also doesn't work on x[a] and x[b] if a == b :) 19:27:29 glguy: I'm just on very extended holiday :( 19:28:13 * elliott has a perpetual right to use lens thanks to my role in implementing the representation it uses for like half the library now :p 19:30:18 I admit though, I've written not much Haskell in the past >2 years 19:35:31 what's the thing in C that gives you memory set to 0? 19:35:44 calloc 19:35:52 it also helps you avoid size overflows when allocating arrays, yay 19:36:06 I thought it was that but I read the man page and it doesnt say that 19:36:11 i must have missed it 19:36:21 oh yeah its right there 19:36:23 thanks 19:37:34 you can also use mmap to do it 19:37:42 -!- hjulle has joined. 19:37:45 maybe not as portable 19:38:49 fizzie: we concluded years ago that it's not okay to use calloc to allocate an array of pointers initialised to NULLs, right? 19:39:03 Yes. 19:39:05 since calloc has to be type-generic, and null pointers might not be all-bits-zero 19:39:11 that's so messed up :p 19:39:14 It's not a controversial opinion at all. 19:39:21 You also can't use memset to get null pointers. 19:39:35 right, it's one of the more obvious bits of language-lawyering. 19:39:49 fizzie: because it's char-based? 19:40:12 For the same all-bits-zero reason. I mean, there's not much difference between calloc and malloc + memset 0. 19:40:22 Also applies to floats, incidentally. 19:40:27 as in, memset_intptr(p, (intptr_t) NULL, n) would be fine, right? 19:41:13 I don't think so -- there's no defined mapping between the values (and representations) of intptr_t and pointers. 19:41:56 And anyway the null pointers of pretty much any pointer type could all be different. 19:42:06 (I mean, the bits of their representations.) 19:43:44 Incidentally, the same "calloc does not yield the same as assignment with 0" thing also applies to floats (unless __STDC_IEC_559__ is defined, in which case it's safe). 19:44:06 -!- zzo38 has joined. 19:45:32 Actually, I'm not 100% sure of that last bit. __STDC_IEC_559__ means that the 'float' and 'double' types "match" the IEC 60559 single and double types, but maybe that doesn't extend to the bit-level representation, just the observable behavior w.r.t. radix and exponent ranges and operations and such. 19:45:34 hi zzo38 19:46:11 Sometimes I need the bit level representation though 19:46:35 please give me hints to get an inappropriate key, I cannot move the red stuff out the way of the red button 19:47:18 Maybe using preprocessor conditions a function can be made up to convert it to/from the IEEE representation 19:47:33 After a quick look at appendix F, it seems likely it doesn't constrain the representation. I mean, the endianness is certainly free, so why not some sort of "bits are stored as their complement" representation would be too. 19:48:23 cluid: Are you talking about Super ASCII MZX Town? If so, I can give you a hint about the red stuff 19:48:28 yes please 19:48:43 The red stuff around the button are breakable walls. 19:49:11 I tried to push a bomb into this screen from the above one but couldn't 19:49:27 You cannot push things between screens in MegaZeux. 19:50:16 how can I break the red walls 19:50:49 Do you know where the purple keycard is? 19:51:04 I dont think so 19:51:05 no 19:51:54 There is a note somewhere else in the game which you may have not read yet which says so; you should have gone there first. Well, I can tell you anyways; it is behind a tree. 19:52:26 -!- Lymia has quit (Ping timeout: 250 seconds). 19:52:51 is the purple keycard in the room next to the keycard teleporter? 19:52:52 -!- nycs has joined. 19:53:00 No. 19:54:02 -!- `^_^v has quit (Ping timeout: 240 seconds). 19:54:04 is it past 'this way to the castle?' 19:57:51 i cant find a fake tree 19:59:31 It is on the screen where they sell inappropriate keys 19:59:58 (You do not need the keycard to solve this puzzle, but it is important to know where it is, in order to solve this puzzle.) 20:00:11 ok I found it! 20:00:22 I thought I chcked there before, but I didn't see it 20:01:57 I can't think what I gain from this space 20:02:11 can control the slime without moving through the one way doors but what can I do with that 20:02:48 -!- Patashu has joined. 20:03:19 the slime can push ammo 20:03:52 Yes, that is correct. Ammo is indirectly pushable. So are some other objects. 20:04:13 They aren't just one-way doors. Look in the help file (push F1) under "mirth of built-ins"; under that menu look under "transport". 20:04:41 Note the help file contains many lies; I didn't write it. However, much of it is valid at least partially. 20:04:46 I see 20:05:05 The part about the destination of transports happens to be correct. 20:05:57 (Look at the potion and ring effects too.) 20:07:00 "Certain other things can destroy them as well" Which things? I am very stuck in this game 20:07:56 What are you refering to? 20:08:04 getting an inappropraite key 20:08:16 -!- Lymia has joined. 20:08:40 I mean what are you refering to that certain other things can destroy? 20:08:52 it says that in the mirth of built-ins section 20:08:59 regarding the red breakable wall 20:09:05 which is what I want to destroy 20:09:23 Explosions and bullets. Robots can also change anything, but that isn't relevant here. 20:10:13 -!- CrazyM4n has joined. 20:10:23 If they are brown, also fire. 20:10:26 but i cant use a bob or shoot 20:10:32 thre is fire. i cant move fire though 20:10:36 as far as I know 20:10:42 its not brown though 20:10:56 No, it is lava not fire, but correct you cannot move it and it won't help due to not brown. 20:11:53 Did you read the part about transport destinations? That is important to solving this screen. 20:13:22 ok i mreading it now thanks! 20:13:45 ok i mreading it now thanks! 20:15:36 -!- quintopia has joined. 20:16:35 -!- dts|pokeball has quit (Read error: Connection reset by peer). 20:17:23 -!- dts|pokeball has joined. 20:17:33 -!- CrazyM4n has quit (Remote host closed the connection). 20:18:37 I solved it thabks 20:18:59 almost..... 20:21:17 -!- CrazyM4n has joined. 20:25:39 -!- Patashu has quit (Ping timeout: 244 seconds). 20:32:10 -!- nycs has quit (Quit: This computer has gone to sleep). 20:36:38 -!- `^_^v has joined. 20:38:19 -!- shikhout has joined. 20:38:40 -!- shikhout has changed nick to Guest82803. 20:40:35 why do I get double free or corruption in calloc 20:40:40 I mean, in freeing the result of calloc 20:41:08 valgrind can often tell. 20:41:23 -!- shikhin has quit (Ping timeout: 272 seconds). 20:41:30 (Usually it's because of double free or corruption.) 20:44:56 free(calloc(0, sizeof(platter))); this works 20:45:04 but if I assign it into my structure then free it, it dies 20:45:15 u->a[i].elt = calloc(u->r[c], sizeof(platter)); free(u->a[i].elt); 20:45:35 Does u->a[i].elt have the correct type? 20:46:01 it's platter *elt; 20:46:26 And you don't do anything between those two statements? 20:47:12 (You might also want to check what u->r[c] is, though I guess you shouldn't ever get anything else out of calloc than a valid pointer or a null pointer, both of which you can also safely pass to free.) 20:47:43 it's 0 in this case 20:48:01 http://lpaste.net/116818 this is my test 20:49:36 -!- MoALTz has quit (Quit: Leaving). 20:49:58 I think i realized the problem 20:51:40 Well, what was it? (I didn't pick on anything obvious.) 20:54:21 the a array wasn't big enough so i was out of bounds :S 20:54:42 for some reason its ok to write into a[i] and get the same pointer value out but freeing it cause da weird crash 20:55:33 I doubt it's really "ok". 21:14:22 -!- erdic has quit (Ping timeout: 240 seconds). 21:19:18 -!- Lymia has quit (Ping timeout: 245 seconds). 21:20:10 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 21:22:45 -!- erdic has joined. 21:22:48 -!- GeekDude has joined. 21:27:01 https://github.com/mthom/shentong 21:27:13 "The codensity transformation was applied to the KLContext state transformer, and consequently, the new implementation is approximately twice as fast as the first, unoptimized release" 21:31:49 -!- CrazyM4n has quit (Quit: installing hard drive). 21:31:50 is it wrong that i think the word "optimization" means exclusively things that speed up by a constant? 21:32:07 yes 21:32:10 -!- mitchs has joined. 21:32:19 "optimising compilers" would be very boring then 21:32:24 and not things that make the O() function better? 21:33:04 elliott: can optimizing compilers make the O() better? 21:33:26 gcc and clang do much better than just reducing constants of course 21:33:46 Ive heard about algorithmic speedups 21:34:09 a benchmark for supercompilers is turing a very naive exponential algorithm into the KMP algorithm 21:34:11 ghc does even more in terms of optimisations that make a huge difference 21:34:14 (it basically has to) 21:35:50 elliott: it seems to me there should be a separate word for things that speed stuff up without modifying the complexity 21:35:59 "boring optimisations" :p 21:36:18 i'll call it what from now on 21:36:21 *that 21:36:44 -!- Lymia has joined. 21:36:51 (I'm kidding; plenty of optimisations like that are interesting.) 21:36:57 What compiler optimizations do you know which give better speedups than constant factors? 21:37:15 i think that proper tail recursion is one 21:37:20 cluid: removing a loop is one obvious one 21:37:31 how do you remove a loop? 21:37:48 int mult(int m, int n) { int r = 1; for (int i = 0; i < n; i++) r += m; return r; } 21:37:51 can be reduced to multiplication 21:38:01 I would hope all C compilers can do that 21:38:03 -!- GeekDude has quit (Ping timeout: 245 seconds). 21:38:43 I can't imagine how a compiler would figure that out 21:38:49 i believe you that some can do it 21:39:11 but that seems sort of pointless to just pattern match on if its not part of a more general optimization 21:39:35 cluid: because of C++ screwedness, C compilers have to optimize the std::algorthms package 21:39:41 cluid: well, one thing is that a lot of trivial-looking optimisations mean much more in the presence of inlining 21:39:56 since inlining can produce easy-to-optimise code that no human would ever write 21:40:31 inlining+templates causes compilers to have to be very smart 21:42:00 interesting stuff 21:42:04 in general any system based on writing stuff in the language that should be builtin causes extra compilation effort 21:42:39 -!- GeekDude has joined. 21:42:42 see: std::string std::vector 21:43:31 https://en.wikipedia.org/wiki/Strength_reduction this has a nice "optimisation walkthrough" 21:43:45 for strength reduction 21:44:10 elliott: itym 0 hth 21:44:22 fizzie: yes, right. 21:44:27 I was half writing factorial, half writing multiplication. 21:44:45 scary 21:44:50 And yes, e.g. GCC replaces that with a test and either a mul or a constant zero: http://sprunge.us/gjcZ 21:45:03 compiling is scary 21:45:12 i dont like to think about something like strength reduction 21:45:25 I guess it's probably just a special case on "a for loop that modifies a variable with a function we can pattern-match on (like addition)" 21:45:38 it would be cool if gcc/clang actually did something mega fancy for loop elimination though :p 21:46:09 (I could be totally wrong though. I don't know all that much about optimisations.) 21:47:03 -!- Sprocklem has joined. 21:47:33 Curiously enough, GCC does the test (except for == 0 instead of <= 0) and branch even for the unsigned variant. Wonder how deliberate that is. 21:47:48 wait, why the test? 21:47:51 is multiplication really that slow? 21:47:59 oh, because signed 21:48:08 Yes, for signed it makes a difference. 21:48:19 But for unsigned, it still special-cases a return 0 for n == 0. 21:48:38 it would be nice if there was a way to get actually useful debug output from gcc/clang optimisations 21:48:41 maybe there is and I just don't know it 21:48:55 something where you could actually see it recognising patterns and transforming them 21:49:33 elliott: is there a way to dump the GCC intermediate representation? 21:49:45 I think that's the -fdump-tree-all stuff. 21:49:46 gcc has like five intermediate representations, but I assume so 21:49:49 It has a number of stages. 21:50:25 Oh, and -fdump-rtl-all too. 21:50:37 it's probably easier to explore this stuff with LLVM 21:51:00 since LLVM IR is something people actually read and work with and the whole tower is less messy to fiddle around in probably 21:51:40 elliott: http://sprunge.us/MbXM detailed enough for you?-) 21:51:54 nice 21:52:05 depends if those files contain useful information themselves :p 21:52:26 There must be some sort of tool to make sense out of it, maybe give you an interface where you can step through the stages or something. 21:52:30 edsger, W, Dijkstra! 21:52:32 (I've never looked for one, though.) 21:52:36 hoycrap! 21:53:09 % gcc -O2 -std=c11 -c -fdump-tree-all -fdump-rtl-all test.c 21:53:09 clang: error: unknown argument: '-fdump-tree-all' 21:53:10 clang: error: unknown argument: '-fdump-rtl-all' 21:53:13 "oh, right" 21:53:41 elliott: apple is evil hth 21:53:52 hth is a dead meme "hth" 21:54:14 there are systems where gcc is clang that aren't OS X anyway 21:54:19 how do you know I'm not running freebsd 21:54:31 Well, a quick empirical test can tell the optimization happens in the tree parts, before the RTL parts. (Not surprising.) 21:54:52 it's pretty unlikely that anyone is running freebsd 21:55:13 compared to apple os x 21:55:14 plenty of people run freebsd 21:55:23 especially weirdo programmers on IRC 21:55:56 elliott: good point. should really learn to factor that in 21:56:00 http://sprunge.us/ecBY <- there's a couple of randomly selected intermediate tree dump samples and one RTL one. 21:57:03 I think I forgot to paste something I had between 015 and 141. Oh, well. 21:57:04 right, so they don't necessarily tell you why they're doing the transformations they are 21:57:18 but I guess you can infer it well enough 21:57:43 Assuming the steps are small enough. (And you know enough of the internals, of course.) 21:57:51 well, I know zero of the internals 21:57:57 which is why I want nice debug flags 21:58:13 i wonder if the transformations are decided by pattern matching or convoluted test logics? 21:59:51 -!- CrazyM4n has joined. 22:00:03 hi 22:00:20 fizzie: do you have a clang that lets you -mllvm -debug 22:00:24 it seems I don't 22:00:49 "Unknown command line argument '-debug'." 22:00:58 -!- mitchs has quit (Ping timeout: 245 seconds). 22:01:01 right 22:01:03 it's only in debug build 22:01:04 s 22:02:04 -print-after-all - Print IR after each pass 22:02:04 -print-before-all - Print IR before each pass 22:02:05 aha 22:03:38 -!- heroux has joined. 22:04:04 IR is kind of annoying to read 22:05:09 maybe it'd be easier to read with while (n--) r += m; 22:05:55 fizzie: incidentally clang does the same test 22:05:57 even with unsigneds 22:06:06 I noticed. 22:06:10 Maybe it's just better. 22:06:26 but, like... why not test for 1 too 22:06:31 why just 0 :p 22:07:24 Could still be an artefact, just something common to the implementations of both. 22:08:14 the IR dumps are kind of useless 22:08:17 some of them only show part of the function? 22:08:24 and it seems like the mul disappears in one of those 22:08:33 around *** IR Dump After Loop-Closed SSA Form Pass *** 22:10:25 http://llvm.org/docs/Passes.html cool 22:10:46 [wiki] [[Talk:MNNBFSL]] N http://esolangs.org/w/index.php?oldid=41515 * AndoDaan * (+880) Added some concrete bits of code to calculate + * ^ and % 22:11:17 I guess I could manually run each pass with opt but uuuugh 22:11:50 Heh, if I deliberately do not initialize r at all, the result is quite funny: mult: imull %esi, %edi; testl %esi, %esi; cmovne %edi, %eax; ret aka "if n != 0, return m*n; otherwise return whatever was in eax". 22:11:55 [wiki] [[Talk:MNNBFSL]] M http://esolangs.org/w/index.php?diff=41516&oldid=41515 * AndoDaan * (-1) 22:12:27 From GCC. Clang just did "mult: ret". 22:12:49 why does it even bother adding a ret 22:12:55 take advantage of that UB!!11 22:13:51 god damn it how is that an advantage 22:14:20 it should just fail to compile 22:14:25 not that simple 22:14:28 if it goes that far 22:14:38 you clearly didn't read the posts about UB I linked you :p 22:15:04 compilers should just error out on UB 22:15:15 or do something obvious 22:15:16 but it is not that simple. 22:15:22 http://blog.llvm.org/2011/05/what-every-c-programmer-should-know_21.html 22:15:26 see Why can't you warn when optimizing based on undefined behavior? 22:15:55 A type system could help protect against UB 22:16:01 I would like to design a language like C but much safer 22:16:46 let's just all program in ATS 22:16:55 cluid: Defining it would help againt UB 22:16:59 I (irrationally) don't like ATS 22:17:45 In this case, it does fail to compile if you add enough flags -- "error: variable 'r' is uninitialized when used here [-Werror,-Wuninitialized]". AIUI, it's a warning with known false positives, though. 22:17:48 in the next version of C i would like all UB to either be defined or an error 22:18:12 sigh 22:18:15 oren, I don't think C can be salvaged, a new language has to be created 22:18:54 -!- `^_^v has quit (Quit: This computer has gone to sleep). 22:18:56 I mean I am sympathetic to the desire for a language without UB but scorched earth solutions like that are not really simple or reasonable to apply to C 22:19:02 e.g. uninitialized variables: just make it zero. 22:19:10 oren: what about implementation-defined behavior? 22:19:50 (I actually (and perversely) really like the notion that behavior can be undefined to different degrees.) 22:20:09 I should stop the arguing with a brick wall thing 22:20:40 int-e: it should stipulate restrictions so that compilers can't just do things that make no sense. 22:20:49 like return whatever is in eax 22:21:58 i mean don't expect perfection if i code stuff wrong, but i expect sanity. 22:22:07 or an error 22:22:39 I probably wouldn't be able to get you to read all the posts I linked you about UB in C, right? 22:22:51 oren: There are C# and Java. 22:24:24 I *want* a reasonably safe, fast, low-level language with compile-time guarantees and no (or at least significantly fewer) UB gotchas like C. "C but with arbitrary definitions for all UB" is not that language, in many, many ways. UB is not just something you can rip entirely out of C and end up with something that isn't worse in quite a few ways 22:24:37 -!- Sprocklem has quit (Ping timeout: 272 seconds). 22:24:37 C is insane to some degrees, and there are various lint-like tools to catch such more of those mistakes than compilers do, but there is a method beneath the insanity, which is to allow better optimizing compilers. You may not like the way that compiler writers shape a standard, but that's what C is. 22:25:00 Incidentally, clang --analyze will also catch this particular case. ("warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage" "warning: Undefined or garbage value returned to caller"). 22:25:02 elliott: i read the post from llvm but there is no excuse for just returning whatever is in eax and not erroring. returning whatever is in eax will probably cause a RUNTIME error with no readily assignable couse 22:25:16 oren, did you read what I said about KMP 22:25:16 there are actually three posts on the llvm blog 22:25:19 and some from regehr's 22:25:35 but also I doubt you would take them into account if you actually read them so I don't really care 22:26:55 @oren 22:26:56 Maybe you meant: run more free 22:27:07 The Knuth Morris pratt algorithm 22:29:00 hi 22:29:46 "run more free" seems more like a statement than a list of unrelated commands. 22:29:56 -!- olsner has quit (Ping timeout: 256 seconds). 22:29:58 fungot: run more free 22:29:59 fizzie: thanks for your comments, i greately fnord it and failed 22:30:10 fungot: I'm sorry to hear that. 22:30:10 fizzie: l is no good distributed garbage collector for it. any others? 22:30:28 fungot: I don't know, but maybe the next letter in the alphabet? 22:30:29 fizzie: does it have to be so annoying that, to show that it a) gives an error 22:33:31 cluid: yes. 22:33:35 -!- _AndoDaan_ has joined. 22:33:37 I dont knwo how it is done 22:33:47 but this is an extreme type of optimization 22:33:52 changing one algorithm into a better one 22:34:12 elliott: I want a C-level language with optional GC, but we can't always get what we want ;) 22:34:22 eightebed 22:34:45 programming in 2D is so hard XD 22:35:03 cluid: Just wait for 4D programming. 22:35:48 -!- olsner has joined. 22:35:54 oren: but what the compilers did did make sense; they optimized the code under the assumption that no undefined behaviour would be triggered at runtime. The only failing is that they didn't warn that the code could not be used without triggering undefined behaviour at all (if I read the context correctly) 22:36:11 -!- AndoDaan_ has quit (Ping timeout: 258 seconds). 22:36:22 oren: that's what UB is to the compiler, an assumption it can make to aid optimization. 22:37:16 and generally those are conditions that a compiler cannot check at all, thanks to Rice's theorem. 22:38:25 int-e: they shouldn't generate code that returns an undefined value. remember, they optimized it to mult:ret 22:38:43 they should fail if they are going to do that 22:38:53 uuuuuuggghhhhh 22:39:03 elliott: You thought it was over, but IT WAS NOT. 22:39:09 it's okay if you want to pull everyone in the channel in turn into an argument about UB every few days but only if you actually listen to what they say 22:39:25 -!- oerjan has joined. 22:39:42 elliott: how is it invalid to ask that a compiler fail rather than generate nonsense? 22:39:51 kill me 22:40:28 please don't try to attempt to drag me back into an argument in response to me pointing out how unproductively you're going about it -_- 22:40:51 can i just ban you both from talking to each other wth 22:40:55 hi 22:41:18 oren, we should design a low level language like C but strong static checks that make sure it has no UB 22:41:22 oerjan: it was actually cluid and int-e this time 22:41:23 hi cluid 22:41:26 oren, I have a couple ideas for this 22:41:27 er 22:41:27 elliott: oh 22:41:28 *oren and int-e 22:41:31 good morning 22:41:46 11:40 pm, norwegian morning 22:41:46 elliott: sorry, I only visited the llvm-about-UB link after I wrote the above reply 22:42:14 So I found an HDD in my drawer today 22:42:38 I was expecting some awesome nostalgia and an old windows install with a ton of stuff from when I was younger 22:42:43 int-e: I was talking to oren. it's fine if you want to read blog posts out for him 22:42:56 It turned out to be really boring D: 22:43:06 this channel is bad for me. 22:43:10 elliott: well for me it's ... let's see ... i got up at 4 pm, so let's call it late afternoon. 22:44:06 -!- _AndoDaan_ has quit (Ping timeout: 256 seconds). 22:44:10 elliott: think about it as cathartic [sp] hth 22:44:56 elliott: I could've spared you some redundancy. 22:47:10 oren, we should design a low level language like C but strong static checks that make sure it has no UB <-- i really thought that was what rust was about, although it's not clever enough to avoid having unsafe blocks, but then i guess probably nothing can do device drivers entirely safely on a modern architecture 22:47:16 i understand that in this case the analyzer thinks the whole function is UB and therefore cannot be called. if that is the case it should simply fail if the function is ever called. 22:47:31 oerjan, I think rust is 'about that' but in practice I don't have high hopesfor them 22:47:59 they have some really questionable ideas like rigorous formalization is something you do post-facto 22:48:49 cluid: you cannot rigorously formalize something while the design is in flux, surely 22:49:13 or it would be a tremendous waste of work, anyway 22:49:53 hm cathartic actually _is_ spelled that way. i was worried that it was actually a cata- prefix. 22:50:00 you can have a flexible language based on a solid theory 22:50:44 cluid: yes but you have to test out a language to know how much flexibility you need 22:51:12 It seems to me that the sane way to handle UB isn't "assume it never happens" but "do whatever makes sense on this architecture". 22:51:31 there are two approaches to UB that I know of: 22:51:54 A) Put the responsibility on the programmer to not write UB 22:52:11 B) Enforce that all programs are well defined by some kind of static analysis such as a type system 22:53:40 (B) is the only way if you want safety _and_ optimal performance, i should think 22:53:40 I am defining a third path: C) define it according to the architecture. E.g. on X86 signed addition should be assumed to wrap. On a sign-magnitude architecture it might be assumed to hit a wall. etc. 22:53:59 There's no "makes sense according to architecture" for many (most?) of the things. 22:54:10 Like uninitialized variables. 22:54:13 I think what is a bit sensible is, depend if it is implementation-defined; if it isn't then the compiler should just ignore it and doesn't make an assumption 22:54:19 oren, Good idea: Implementation defined behavior 22:54:36 Although there is a slight problem in that one might want to know whether their program is portable or not, statically 22:55:26 I like this: "we quickly learned that people do occasionally dereference null pointers, and having the code execution just fall into the top of the next function makes it very difficult to understand the problem." 22:55:48 -!- AndoDaan has joined. 22:56:18 int-e: i was moaning when i read that part. like how can that possibly be a sane thing to do 22:57:30 Because there's a cost associated with not doing it, presumably. 22:57:38 oren: UB makes "sense" if you understand that the _primary_ goal is to allow the result to be as fast as possible 22:58:22 oerjan: because we want to segfault as fast as we can? 22:58:49 Look, the reason for it is right there in the next sentence: "The drawback of doing this is that we slightly bloat code by having these operations and having the conditions that control their predicates." 22:58:56 oerjan, have you ever done ICFP 22:59:03 cluid: nope 22:59:04 Assuming they're for the most part actually unreachable code, like they should. 22:59:35 http://lpaste.net/116828 22:59:41 this is from ICFP http://www.boundvariable.org/task.shtml 22:59:43 You can easily argue that the safety is worth a little bloat, but it certainly doesn't make avoiding the bloat "insane". 23:00:19 everyone should join in doing this task, its the most fun thing :) 23:00:53 it's almost as if the question is whether the design of C makes the right tradeoffs and is as sophisticated as it should be, rather than whether the designers and implementors of C are completely incompetent and haven't given a moment's thought to anything 23:01:22 -!- zzo38_ has joined. 23:01:48 -!- zzo38 has quit (Disconnected by services). 23:01:55 -!- zzo38_ has changed nick to zzo38. 23:03:07 i'm pretty sure the ICFP contest is over for this year 23:03:13 elliott: they have decided, imo wrongly, to exploit the C standard in a way that sometimes generates nonsense, and then not bother to detect and issue an error when thye generate complete nonsense 23:03:27 this is from 2006 23:03:38 there is no "exploit". compilers and the C committee are not at war. they work together. nothing unintended is happening 23:03:40 I'm pretty sure it's over for 2006 too. 23:03:53 But maybe complete nonsense is the correct thing to generate in some cases? 23:04:09 -!- CrazyM4n has quit (Ping timeout: 245 seconds). 23:04:10 -!- erdic has quit (Ping timeout: 245 seconds). 23:04:20 zzo38: if i want nonsense i'll write it by hand in assembler 23:04:21 You should read it carefully so that you can know for sure. 23:04:24 -!- erdic_ has joined. 23:04:25 -!- bb010g has joined. 23:04:33 You can still play it 23:04:47 look at my lpaste 23:04:49 oren: handwritten assembler isn't as fast as C in practice hth 23:04:50 But if I write it in assembler then it won't be very portable (unless running in an emulator) 23:05:12 -!- erdic_ has changed nick to erdic. 23:05:17 * oerjan swats himself for joining the discussion -----### 23:05:29 whoa, this thing again? 23:05:33 oerjan: hey, not fair 23:05:37 oerjan: i'm saying if i want a function that returns whatever is by chance in eax, i'll just write such in assmebler 23:05:58 there is no need for clang to write one for me 23:06:01 Good, because you can't write such a function in C. 23:06:14 There's no eax in C. 23:06:16 But then it will be only on x86 23:06:17 shachaf: on clang you can apparently 23:06:33 But if you just simply don't care the return value then it should be allowed to specify such thing. 23:07:09 I think LLVM has a command to don't care the return value. 23:07:23 zzo38: in the discussion above, a lengthy function with a loop was compiled to label:ret 23:07:38 because of undefined ehaviour 23:07:50 please take this to #esoteric-ub 23:07:55 thanks 23:08:06 If the loop doesn't do anything (or otherwise has no effect elsewhere) then should be optimized out OK 23:08:09 -!- CrazyM4n has joined. 23:08:46 elliott: what's wrong with #esoteric-crap or whatever it was called 23:08:52 oerjan: -blah, I think. 23:08:55 ah 23:08:59 oerjan: Unless you're talking about a different thing. 23:09:01 that's a thing? 23:09:06 oerjan: #esoteric-blah usually contains more useful discussion than this 23:09:07 i thought that was this channel 23:09:22 shachaf: I was about to say it was a place for e.g. botspam, but that's this channel too. 23:09:43 fungot: Or wouldn't you agree? 23:09:43 fizzie: yome says: may be slime wants you to do anything useful 23:09:48 yes 23:09:55 this is p. much it 23:10:00 elliott: ok, i have posted in the channel specified 23:10:01 -!- boily has joined. 23:10:09 oerjan: i joined the discussion so why didn't i get swat 23:10:35 shachaf: i didn't swat everyone else in the discussion did i? 23:10:48 yes but i was at least as unwise as you hth 23:10:57 also, there's a more obvious answer, which you might discover some day. 23:11:17 it eludes me entirely hth 23:11:58 There is also #esoteric#shadow channel which is made for impossible to get banned because it is held by the log service 23:12:35 whoa, you can have #s in the middle of channel names 23:12:47 that's obvious but didn't really occur to me 23:12:55 It looks worng. 23:13:02 Yes I think anything is allowed other than spaces, bells, nulls, carriage returns, and line feeds. 23:13:11 esoteric hashtag shadow 23:13:39 But I think other control characters are OK to be included in a channel name. 23:13:40 zzo38: Or commas. 23:13:51 fizzie: O, yes, that too. 23:14:01 were channel names based on hashtags? 23:14:15 No the # means the type of channel 23:14:20 On Freenode it is the only kind 23:14:20 or the other way around 23:14:22 yes. irc is a ripoff of twitter 23:14:26 (There was the famous "/join #2,000" joke.) 23:14:27 Other IRC servers have other kinds of channel 23:14:44 does /join #2,000 still work 23:15:39 Such as, + means modeless channel, & means local to a server, ! means it is safe from being overwritten by net splitting 23:15:41 Not on freenode, at least. 23:16:03 It joins #2 (which is mostly empty) and goes "000 :No such channel". 23:16:06 It is recommended to use + & ! channels if possible instead of # however many servers don't support it. 23:16:15 I'm programming in a 2D language 23:16:25 ok WP says irc predates twitter. i dodn't knwo that 23:16:46 by almost 20 years, yeah :p 23:17:19 i thought irc was based on twitter but i wasn't sure 23:17:43 i guess twitter might be based on irc 23:17:56 As far as I know neither is based on another 23:18:22 i mean, if you follow a hashtag on twitter that is sort of like being on a chennel in irc 23:18:54 The 'pedia claims hashtags (which weren't a feature Twitter had at launch) are IRC-inspired, which I've sort of assumed but not really known. 23:19:10 oren, IRC predates Twitter by I think decads 23:20:03 Taneb: apparently so. see i only learned history up to the end of WWII 23:20:41 that is all that is taught in high school mandatory history 23:20:47 -!- MoALTz has joined. 23:20:59 I have seen other newer chat protocols too but as far as I can see none of them are any good compared to IRC; most of them are too complicated 23:21:17 -!- MC_SOMBRA has joined. 23:21:24 In Finland, history of IRC is a mandatory part of the school curriculum. (Disclaimer: a lie.) 23:21:59 Though being on IRC at least used to be almost mandatory for anyone studying CS at our university. 23:22:32 There was an IRC guide in the welcome booklet for new students, and lots of course stuff used to happen via IRC. 23:23:08 fizzie: my school uses a BBS forum 23:23:47 There was also a thriving local NNTP server (student campus stuff, course stuff, miscellaneous chattery) which is also almost entirely dead now. 23:25:00 NNTP was discontinued at uoft a long time ago 23:26:15 How would I set up a NNTP server anyways? I never did because I didn't figure out how. 23:26:46 The venerable ones are not very user-friendly. 23:26:56 -!- mitchs has joined. 23:27:00 -!- MC_SOMBRA has left. 23:27:26 fizzie: venerable doesn't just mean old y'know... 23:27:28 darn i was just about to ask him if he use canaima 23:27:29 I used to run one of the slightly more modern ones, as a local leaf site, the kind of thing that just fetches new news of a specified subset of groups as a regular client. 23:27:49 I wasn't using it to mean "old". 23:27:51 venerable: suitable for veneration 23:28:11 like a god or a noble ancestor 23:28:51 Yes, or like INN. 23:29:10 (I ran Leafnode, I think.) 23:29:17 I would want to set up local groups too though, otherwise I would just try to use ISP's NNTP server 23:29:19 "Leafnode is a store-and-forward NNTP (or Usenet) proxy server designed for small sites with just a few active newsgroups, but very easy to set up and maintain, when compared to INN." 23:29:23 That's the honest truth. 23:29:41 I think it can do local groups, though that's not really its main use case. 23:30:16 In fact, I'm pretty sure I had some test group there that even had like three users at some point. 23:31:20 (Chronologically, this was around 1997-1999 or so. Things might have changed since then.) 23:33:14 Hmm. 23:33:37 "Leafnode 1.x does not support local newsgroups. Leafnode 2.x will do that." (But 2.x is in some alpha stage that it probably won't ever come out of.) 23:34:05 I must be misremembering, though in that case I'm wondering what on earth did I actually run the local group on, then. 23:34:43 I wonder if I did in fact set up INN. The configuration stuff looks vaguely familiar. 23:45:20 -!- atslash has quit (Quit: This computer has gone to sleep). 23:48:51 -!- AndoDaan has quit (Ping timeout: 272 seconds). 23:57:46 http://i.imgur.com/34v1kJ9.jpg 23:57:52 does that equation really define the zeta function? 23:58:05 how about zeta(s) = 0 23:58:15 that seems to contradict their 'reimann hypothesis' 23:59:55 It defines the hypothesis wrong, at least. 2014-12-19: 00:00:15 It's missing the "non-trivial zeroes" part. 00:00:17 oh yeah, all solutions rather than all 'nontrivial' 00:00:34 cluid: send it in and get your fere pen 00:00:37 *free 00:00:57 kind of unreasonable that they end the offer in 2018 00:01:01 fungot: how would one prove the Riemann? 00:01:01 boily: fun fact: sisc is a subclass of a, but 5.25" on the abacus to any position in the argument 00:01:02 can't spare a pen after that 00:01:08 imagine if you really prove the RH, and they reject it beacuse you didn't prove their false mistatement of the theorem 00:01:22 that would be annoying 00:02:03 haha 00:02:22 I also note they don't give a pen for proving ~RH 00:06:35 does 'nontrivial' have a real definition 00:07:16 It has a conventional definition in this context, at least. 00:07:24 fizzie: are you sure the multiplication by Gamma(s/2) doesn't take care of the trivial zeros? 00:07:38 So-called "trivial zeros" occur at all negative even integers s=-2 , -4 , -6 , 00:07:55 er and pi^(-s/2) 00:08:04 actually no, not that 00:08:51 what does everyone use for 2D programming? 00:09:03 im finding it quite hard to do it in a plain text editor :/ 00:09:28 I think crazym4n has an ide for you. 00:09:41 :3 00:10:00 https://gist.github.com/CrazyM4n/d02380667be743be1310 00:10:27 oerjan: I was wondering about that, but it seemed like too much thinking to think it through. 00:10:58 fizzie: the graph on https://en.wikipedia.org/wiki/Gamma_function shows that it's infinite at the right points, at least 00:11:17 erm 00:11:39 actually what about odd negative integers 00:11:50 this is awy cool 00:11:59 i need something a bit different sorry to say! 00:12:08 i havet o drag boxes around and connect them with wires 00:12:17 http://lpaste.net/116828 00:13:15 -!- mitchs has quit (Ping timeout: 265 seconds). 00:13:35 hm indeed the zeta function isn't zero at those 00:13:39 cluid: Hmm, what you're doing seems cool 00:13:39 What is it? 00:13:57 cluid: use a UML tool :P 00:14:16 * boily mapoles elliott “No UML. Bad UML.” 00:14:37 CrazyM4n, this is called 2D, I found it inside someones UMIX directory inside the file that codex.umz produces when run http://www.boundvariable.org/task.shtml 00:15:00 i have to program some things in 2D to get a code 00:15:20 hmm 00:15:23 interesting 00:16:17 http://lpaste.net/116836 00:18:22 plaintext highlighted as a programming language, reminds my of those awful sites where random words are double-underlined red links 00:21:50 although i haven't seen those since i switched from my XP box. where did they go? 00:24:56 -!- mitchs has joined. 00:26:32 are you sure you didn't have malware 00:26:55 elliott: i am sure i had everypossible malware 00:27:14 I see those too 00:27:26 I don't know what they are, but I haven't seen them since switching to linux 00:27:32 are they caused by malware? 00:27:34 I see them on the school computers occasionally 00:27:42 Probably, they are probably from MITM attacks 00:28:05 All my not-technologically-advanced friends have crap tons of those red links 00:28:36 maybe it was one of those toolbars doing it 00:28:51 You know, I never really put two and two together to realize that it was probably a MITM attack and not just invasive ad thingy 00:29:06 It's not from a toolbar, I wouldn't have let that happen 00:29:29 yeah, googling it indicates there are spyware thingies that do the redlinks 00:29:53 but i never realized it wasn't just the sites 00:30:17 Yeah 00:36:29 http://i.imgur.com/11ht8ig.png 00:36:33 ive pushed all 3switches finally 00:38:03 i cannto get the flashy diamond since the path is blocked.. 00:38:25 -!- mitchs has quit (Ping timeout: 245 seconds). 00:38:55 Then you did something wrong you need to plan ahead to not move around stuff so that the path gets blocked. 00:40:27 The chest is not pushable, nor is the small slime blob. Therefore, they can block things. (The sliders can also block some things.) 00:41:13 Learn the numbers "1" and "2" they will help too. 00:44:03 -!- MoALTz_ has joined. 00:46:41 -!- MoALTz has quit (Ping timeout: 250 seconds). 00:46:46 5thanks zzo38 I will try! 00:46:52 It is a very interesting game 00:47:02 and extremly difficult :D 00:50:32 -!- mitchs has joined. 00:53:32 http://esolangs.org/wiki/Ragaraja this could be the most devoted brainfuck derivative? 01:00:08 not very devoted, they didn't finish it 01:02:17 Seems kind of pointless 01:04:34 Though, the biological references seem kind of interesting 01:04:59 There should be a language that is completely comprised of G, C, A, and T 01:05:18 And it splits the code into 3-length codons 01:05:26 And parses the codons as instructions 01:05:33 http://esolangs.org/wiki/NucleotideBF_(nBF) same author 01:06:23 I saw that, but it has a bunch of other random different letters, isn't parsed like how I suggested, and is generally kind of useless - all it can do is <>+- and . 01:06:49 http://esolangs.org/wiki/DNA-Sharp 01:06:58 this one uses ascii art of DNA strange 01:07:30 http://esolangs.org/wiki/DNA 01:07:36 It also has 4 letter codons ;~; 01:07:55 -!- dianne_ has joined. 01:09:17 -!- dianne has quit (Ping timeout: 272 seconds). 01:10:04 Hmm 01:11:05 I'm going to set up a google spreadsheet and start typing out commands 01:20:44 Hmm, it exists 01:20:44 http://esolangs.org/wiki/RNA 01:20:48 But it's not done 01:22:15 -!- bb010g has quit (Quit: Connection closed for inactivity). 01:31:05 -!- AndoDaan has joined. 01:37:14 -!- mihow has joined. 01:38:47 -!- mihow has quit (Client Quit). 01:46:48 -!- Guest82803 has quit (Ping timeout: 245 seconds). 01:54:40 Okay, I have 20 instructions and need to know what to do with them 01:54:50 If amino acids were a language they'd be functional 01:54:57 Therefore, this is gonna be a functional language :P 01:55:08 Maybe it'll be APL-esq? I'd like to make that 01:55:12 You don't believe in hidden variable theory? 01:56:04 I'm saying metaphorically 01:56:37 AKA I'm using this as an excuse to try to write a functional language 01:56:47 Because stack languages can get boring, you know 02:00:48 There was a DNA/amino accid language in Hofstadter's Godel, Escher, Bach. 02:02:10 Well, while thinking of commands, I'm going to install windows on my newfound HDD 02:02:29 are there any truly *completely* context-free languages? 02:02:59 diginet, Can you define what you mean by that exactly? 02:03:01 Maybe fungot knows one. 02:03:01 obviously, there are some variations, Perl being the prototypical example of a highly context-sensitive language 02:03:01 Jafet: so you just subclass game and override fnord, while at the same time? if not, it was the ms messenger protocol... but i thought both would be pretty sweet as well :) 02:03:29 CrazyM4n: I think DNA would do well as an encoding of binary lambda calculus 02:04:01 diginet: I noticed that too, but I don't actually *know* binary lambda calculus (and it's been done many times) 02:04:02 cluid: I mean, like. . .are there any languages which could be parsed with only EBNF I guess (informally speaking) 02:04:13 I'd like to program in my language, tbh :) 02:04:24 CrazyM4n: doesn't unlambda have four symbols? 02:04:41 `SKI IIRC 02:04:57 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: SKI: not found 02:04:58 that's LazyK 02:05:02 oh right 02:05:05 I'm not using the 4 symbols 02:05:06 well LazyK then 02:05:09 unlambda has a bunch more 02:05:13 I'm parsing them down to the amino acids they represent 02:05:21 CrazyM4n: hmm 02:05:21 So I have 20 possible instructions 02:05:33 CrazyM4n: yeah but there's more than 20 codons, right? 02:05:46 On an unrelated note, my DVD drive stopped working on the only day I've needed it 02:06:01 This is what I have so far: http://i.imgur.com/IuVFISF.png 02:06:10 you could use each codon as a separate symbol. Thought I don't believe there are 4^3 different codons 02:06:17 *though 02:06:18 BLC sort of has four symbols: LAM, APP, ZERO, SUCC 02:06:31 There are 64 possible combinations, but only 20 distinct ones 02:06:42 tromp_, why is it zero nd suc rather than binary? 02:07:09 to fit the distribution of variable indices likely to occur in practice 02:07:18 wait hold on, I thought there were 20 amino acids 02:07:21 basically a huffman encoding 02:07:26 use a universal code, clearly :) 02:07:29 ah clever 02:07:33 with some amino acids having multiple codons assigned to them 02:07:37 and to simplify parsing:) 02:07:37 I read a cool fact today 02:07:38 i.e. DNA is a degenerate code 02:07:46 Base e is optimal if you are trying to minimize length of number * number of possible digits. A base with many different prime factors is optimal if you want to be able to write many kinds of numbers with the normal digit notation. Base 2 is optimal if you want to minimize the number of possible digits. 02:08:01 cluid: so BLC in phinary? 02:08:03 also see http://esolangs.org/wiki/Real_Fast_Nora%27s_Hair_Salon_3:_Shear_Disaster_Download, which makes those 4 tokens explicit 02:08:04 err 02:08:06 Base E 02:08:13 the de brjuin indices are unary 02:08:45 base 47 is optimal because that's the biggest number I can imagine 02:08:48 I still want this to be a usable language 02:08:51 https://archive.org/stream/GEBen_201404/GEBen_djvu.txt search for "Typogenetics 02:08:51 We are now about" 02:08:56 So I'll make one of them define a function 02:09:15 CrazyM4n: maybe a better option would be to define an ISA with 20 different instructions 02:09:21 and then compile languages to that 02:09:26 ISA? 02:09:37 instruction set architecture 02:09:45 e.g. x86, MIPS, ARM 02:09:49 Can you make it more biological? 02:09:51 it should act like real RNA 02:10:01 I was doing that, diginet 02:10:01 CrazyM4n: I actually like the idea a lot though 02:10:03 emit acids which form proteins 02:10:06 That's what I'm trying to think of 02:10:10 and the protiens act together in some way 02:10:18 cluid: Yeah, it actually synthesizes the acid chains in your CPU 02:10:18 CrazyM4n: oh, I thought you said earlier you wanted something functional language-y 02:10:18 it could be strochastic 02:10:38 diginet: I do, but I don't know how far I'm going to be able to take it 02:10:58 CrazyM4n: I feel like a concrete ISA and functional programming are orthogonal ideas 02:11:34 CrazyM4n: are you trying to implement this in practice, or is this just an idea for a language particularly suited to encoding in DNA? 02:11:44 You know, the more I think of it, the more I agree that amino acid chains would be more suited to an ISA 02:11:44 like are you trying to physically compute with DNA 02:11:55 If only I had the technology for that :P 02:12:05 CrazyM4n: yeah, that was my thought, find 20 different basic instructions 02:12:09 also a stack machine would be best 02:12:09 I'm making it for fun, because I think that DNA is rather cool 02:12:22 I really don't like the idea of a stack for this 02:12:45 CrazyM4n: how are you going to encode registers then with only 20 different possible instructions, or is it going to be variable length? 02:12:48 Maybe a pool and registers 02:13:09 or will instructions be encoded in multiple codons? 02:13:16 Well, each register could be referenced with a specific codon 02:13:34 As in, lets say "UUU" is "access from register, just for sake of conversation 02:13:37 " 02:13:38 so are you going to use all 64 possible ones? 02:13:41 No 02:13:53 But, maybe I could make instructions take arguments 02:14:22 I guess I misunderstood, I thought each three DNA base pairs were going to be atomic operations 02:14:29 As in, "UUUGACGGA" would take a value from the register at GAC GGA 02:14:35 You didn't misunderstand 02:14:50 But I am just trying to figure out how I could actually make this usable without a stack 02:14:56 -!- AndoDaan has left ("Leave channel"). 02:15:00 . . .how can you possibly encode a register based ISA into 20 different ops? 02:15:04 So I'm just throwing out ideas 02:15:11 there's not a large enough coding space 02:15:22 -!- AndoDaan has joined. 02:15:29 Hm 02:15:55 you could use an accumulator architecture 02:16:06 I could make instructions take arguments of other codons, but that would be really awkward to read and write 02:16:23 so each instructions would be multiple codons long? 02:16:26 that's what I was asking 02:16:48 You know, maybe that is a good idea 02:17:04 I tried to design an 8-bit RISC a few months ago. I wanted an 8-bit fixed length design. It was *incredibly* difficult to design anything useful 02:17:05 So now we have 400 instructions to work with 02:17:11 and that's with 256 to work with 02:17:13 not 20 02:17:36 where is the page that shows how to encode brainfuck into binary brainfuck? 02:17:42 I ended up dumping the idea of fixed-length 02:18:00 What about one codon that changes the operation of the next codon 02:18:26 That could work, and it allows us 39 arguments 02:18:33 http://samuelhughes.com/boof/ 02:18:50 that's effectively a variable length encoding 02:18:54 We could string together arbitrary amounts of those codons to get an infinite instruction space 02:19:00 (instruction space?) 02:19:04 sounds VAXy 02:19:06 http://esolangs.org/wiki/Brainfuck_bitwidth_conversions this is kinda related 02:19:20 thanks AndoDaan ! 02:19:38 np :) 02:20:38 [wiki] [[Brainfuck derivatives]] M http://esolangs.org/w/index.php?diff=41517&oldid=41510 * Cluid Zhasulelm * (+356) Slight improvements and added MIBBLLII 02:20:44 BLC is the most elegant language of all time 02:20:48 So how many registers could there be 02:20:51 I'm not even kidding 02:20:57 CrazyM4n: hold on 02:21:00 let me think 02:21:02 Well, actually, I got something 02:21:06 Let me type this out 02:21:08 Wait 02:21:10 sure 02:22:35 base 47 is optimal because that's the biggest number I can imagine <-- oh come on, even grothendieck new a prime bigger than that hth 02:22:52 (I'm typing it in a spreadsheet 02:22:52 -!- boily has quit (Quit: MURIATIC CHICKEN). 02:22:54 ) 02:22:56 oerjan: it was indeed a new prime -- nobody else had ever heard of it... 02:23:15 diginet: no love for BCT? 02:23:33 elliott: what's that? 02:23:42 https://esolangs.org/wiki/Bitwise_Cyclic_Tag 02:23:49 (has oerjan proved self-BCT TC yet :p) 02:25:40 elliott: that sounds similar to an OISC/ZISC 02:27:05 *knew 02:27:32 elliott: no. as i said recently, it seems to be in an awkward class. 02:27:57 oh it came up recently? 02:28:09 it sort of seems conceptually similar to /// to me 02:28:17 maybe. 02:28:22 you have program matching and program modification :p 02:28:32 cyclic tag things are very weird 02:28:37 but nothing large-scale! 02:28:40 i dont know how to understand them 02:28:46 oerjan: yeah it is not easy 02:29:05 but emulating a cyclic tag system or such seems not unthinkable? 02:29:13 http://esolangs.org/wiki/BF_instruction_minimalization the three symbol version would be nice for a ternary machine 02:29:41 (maybe interleaving its program and data string, or such) 02:29:48 heck, even implementing BCT itself in it :P 02:30:05 you go right ahead 02:30:08 diginet: How about something like http://i.imgur.com/AtfAch4.png ? 02:30:18 diginet: most of those languages are very ad ho :/ 02:30:18 *hoc 02:30:28 elliott: true 02:30:30 CrazyM4n: hold on 02:30:38 oerjan: good luck! 02:31:07 CrazyM4n: I'm a little confused 02:31:18 elliott: i think you misread a pronoun hth 02:31:20 Okay 02:31:30 So pretty much what I'm trying to say 02:31:43 are you saying that when a codon is prefaced by another it changes its function? 02:31:47 is that "UUU" (phenylalanine) is a modifier of sorts 02:31:49 also i'm vaguely working at the mcculloch 2 machine, which came up in the same discussion 02:32:15 So, let's say you ran "UUU UUU CUG" 02:32:29 so basically when prefaced by UUU the op that a codon performs changes? 02:32:38 The first UUU modifies the second one into meaning "Change the next Op to its get" 02:32:39 yeah 02:32:43 so it's basically a variable length code? 02:32:44 good luck with mcculloch 02:32:58 and then that UUU changes the CUG (leucine) into a get Op 02:33:04 Which gets from register 1 02:33:05 what's mcculloch? 02:33:17 where are the arithmetic operations? 02:33:18 https://esolangs.org/wiki/McCulloch%27s_second_machine 02:33:41 CrazyM4n: is this an 1-operand arch? 02:33:43 *a 02:33:47 Hm? 02:34:00 Sorry, I'm not too well versed in computer jargon 02:34:02 D: 02:34:08 I mean is there an implied operand, like an accumulator? 02:34:25 where is the data coming from that gets or sets the registers? 02:37:04 oerjan: you deserve wolfram's money too for all your work :) 02:37:46 diginet: That's what I'm still trying to figure out 02:37:54 Maybe I should do it deadfish style 02:38:03 Accumulator and square-er 02:38:09 And subtractor 02:38:21 CrazyM4n: I still think a stack machine would be vastly more suited to what you are trying to accomplish 02:38:41 diginet: I completely agree, but stack machines are so boring :( 02:38:50 CrazyM4n: not necessarily! 02:38:59 their minimalism is intriguing 02:38:59 I guess... 02:39:19 We also have around 35 instructions to do 02:39:22 Hm. 02:39:31 if you want my advice 02:39:46 I would do something like this, 20 registers, 20 instructions, with one accumulator 02:39:50 each instruction is two codons wide 02:40:26 all operations use the accumulator as an implied operand, and a then specify the register with the second 02:40:50 how is switch/case done in brainfuck 02:40:57 how many bits wide do you want th registers to be? 02:41:15 That might be a good idea 02:41:21 if you make everything a single bit, you could do some interesting things 02:41:48 elliott: OKAY 02:41:54 I honestly want to keep each instruction one codon wide, the one thing I'm completely opposed to doing is changing the instruction length 02:42:08 It is an esolang, after all. There's bound to be some challenges along the way. 02:42:19 cluid: nested []s, basically 02:42:22 CrazyM4n: well okay, I'll be honest, I don't think a register machine is possible with only 20 possible instructions 02:42:29 damn 02:42:39 I think there was an article on the wiki about how to do BF switches 02:42:42 I don't see how you could possible encode that much data 02:42:49 80 instructions including the modifier instruction 02:42:52 if you wanted to use all 64 possible codons, it *might* be 02:42:58 http://lpaste.net/116837 02:42:59 20 registers 02:43:07 How many registers do I really *need*? 02:43:12 do you think this is right to visit every node (of the left tree at least) in Treehugger 02:43:15 no no you're missing the point 02:43:19 Okay 02:43:28 you want each instruction to one codon wide, right? 02:43:44 Yeah, but remember, I have that one modifier codon which allows for a whole nother set of instructions 02:43:51 then it's not one codon wide 02:43:58 as I said earlier, that's a variable length code 02:44:11 Okay, that's fine I guess 02:44:33 if you're fine with a variable length code I don't see how what I'm suggesting is different 02:44:40 it just happens to be fixed-length 02:44:43 but hey, your project 02:44:45 I'd rather have it be variable length than an explicit codon length greater than one 02:44:52 fair enough 02:44:56 http://en.wikipedia.org/wiki/Structured_program_theorem that's interesting 02:44:59 Well, I thought it'd be interesting to do. That's the reason why. 02:45:03 yeah 02:45:20 CrazyM4n: okay so with one modifier codon, that means you have 38 possible instructions 02:45:45 well, 39 I guess 02:45:51 Minus two for methionine, minus one for the stop codon's first function 02:46:33 what do you need a "begin script" codon? 02:46:49 This is RNA, remember 02:46:55 AUG begins a strand of RNA 02:46:58 oh right 02:47:47 wher is the article about bf switches? 02:48:03 I did come up with a way in a bf program I wrote before but it wasnt good 02:49:03 I needed an extra cell 02:49:16 i dont have hthat luxury here.. 02:51:02 It is very very difficult to write a program that visits every node in treehugger 02:51:13 maybe noteven possible, what do you think? 02:52:32 okay fair enough, that means we have let's see. . .37 possible ops 02:52:32 so are you going to use an additional codon to specify the register? 02:52:33 hmm ooh, idea, you could use a pointer register, similar to the RCA 1802 to specify the operands 02:52:35 "INC P1" and "INC P2" and let's just say the pointer registers overflow so we don't need to waste an operand for DEC of both 02:52:38 oops disconnected for a second 02:52:39 what did you last get? 02:52:41 CrazyM4n: what ALU ops do you want? 02:53:03 ooooohhhh better idea 02:53:24 have a circular register wing with a two-register window, with a instruction to shift the window by one register 02:53:38 `olist 970 02:53:39 olist 970: shachaf oerjan Sgeo FireFly boily nortti 02:53:41 cluid: it must be possible I think 02:54:03 you do have as much storage as you want below your current location that you can haul around 02:54:09 that's just really awkward 02:54:27 ive had a very different idea than thie 'recursive' approach 02:54:28 oh you even specified Integer cells right 02:54:37 yes i want to make this easy as possible 02:55:17 cluid: i think line 7 of your paste should be at x we change it to a (<-) then go ^ 02:55:29 thanks 02:55:33 Sgeo: is that thog? 02:55:38 but i also think it may be hard to do that with brainfuck looping 02:55:42 diginet: Sorry, was in the bathroom 02:55:46 it's been so long that i've forgotten what last happened to thog hth 02:55:54 shachaf: there's speculation, but a lot of people don't think so because why would he glare at Haley+Elan? 02:55:54 CrazyM4n: np 02:55:55 I got all the messages 02:55:59 CrazyM4n: great 02:56:13 CrazyM4n: I think the window idea is the most plausible 02:56:15 Well, I will worry about the ALU next, right now I'm just adding basic accumulator manipulation 02:56:16 cluid: maybe you can use bijective base 2 for the paths or something 02:56:18 shachaf: I think he was buried under rubble after Roy tricked Thog into knocking down columns 02:56:27 elliott, that was my new idea! 02:56:28 cluid: to make it work properly with brainfuck looping, i think you need to have some close-by cells that you know are 0 02:56:29 And adding ops to move things around 02:56:34 cluid: ehe 02:56:43 CrazyM4n: yeah but we have limited opcodes, you need to plan out what you are going to allocate them to 02:56:46 cluid: basically just store "next path to visit" at the current position 02:56:59 CrazyM4n: I think the window idea is the most plausible, you won't even need to specify registers 02:57:03 oerjan, that's an issue though because you have to visit every cell, that made me worry maybe this isnt possible 02:57:08 I suppose it should be a path from the current position 02:57:12 shachaf: Also, Prismata kickstarter seems to be picking up 02:57:13 and then it's a simple matter of annoying calculations to split that into (next step, path from next step) 02:57:26 then you take that step, copying the resulting path with you, and loop 02:57:31 diginet: I don't quite get what you mean by that, though 02:57:38 actually it would be bijective base 3. 02:57:42 since you can go up as well 02:57:46 CrazyM4n: let me try to draw a diagram 02:57:50 Okay. 02:57:53 elliott, I think the program would be in two parts: One following the path (pushing outwards), and another pulling everything back in before finally incrementing the path.. and repeat 02:57:53 elliott: bijective bases are interesting 02:58:31 elliott: I was working with a bijective base 23 based on the tradt'l latin alphabet (i.e. no J W or U) 02:58:39 to convert latin words to numbers 02:59:04 cluid: maybe I should draw out the state as I see it 02:59:11 is there anything nice I can use to draw a tree 02:59:18 or do I have to manually space it out myself and not leave enough room in my text editor 02:59:28 i drew a tree earler in gimp, if i hadn't close it you could have it 02:59:40 I was thinking something that would let me add text labels and stuf 02:59:41 f 02:59:46 http://i.imgur.com/CzY4c6D.png This is what I have so far 02:59:51 inkscape is probably best 03:00:01 Dia? 03:00:06 doesn't dia have ascii syntax 03:00:08 kind of defeats the point 03:00:20 whatever I'll just use a text file and draw the tree on its side 03:00:32 It uses a gui. 03:01:25 oh 03:01:26 then maybe 03:01:45 Graphiz is what hqas a scripting basef system. 03:01:49 *has 03:02:37 cluid: ah, now that I actually read your paste I see that it's quite elegant 03:02:43 is the problem that it's hard to implement, or that it doesn't cover the whole tree? 03:03:05 I have a cat on one hand, it's not great for my typing. 03:03:07 the problem with that is that I cannot really do the switch/case, since I don't have free memory cells around 03:03:11 cluid: one problem is that [^] will fail 03:03:17 because the top of the tree will be non-0 at some point 03:03:19 so you'll die 03:03:25 sure you have free memory cells around 03:03:28 they're to your < and > 03:03:28 oh 03:03:32 but not if you're revisiting 03:03:36 elliott: you don't need to do [^] ever 03:03:42 oerjan: cluid's paste has it, but yeah 03:03:58 oh hm it does 03:04:01 cluid: okay well the requirement is only to touch every cell right 03:04:02 i read that as ^ 03:04:04 cluid: then let's cheat 03:04:20 cluid: my correction of line 7 was assuming line 1 was ^ not [^] 03:04:23 cluid: go two layers at a time, touching the other children 03:04:29 also you need a special value at the root 03:04:32 then you have scrap cells free everywhere 03:04:37 if you get what I mean 03:04:45 instead of trying to pack the directions, go by twos, so you have free space 03:05:46 basically instead of covering the tree with path symbols you cover it with path symbols + adjacent scratch space 03:09:50 if you do 3 layers at a time, i think you have enough room to use just bit values... 03:10:04 too crazy! 03:10:13 it'd be easier 03:10:40 -!- yonkie has joined. 03:11:18 CrazyM4n: still working on the picture hold tight 03:11:31 Okay, I'm working on the ALU functions 03:11:55 I think we have enough instruction space just here in order to define a whole language 03:16:23 [-<[-]+<+^^]<<[-^^+<<]^^ 03:16:42 here's code to leave a cell intact using << as tmp, putting 0 or 1 in < depending on whether this cell is 0 03:18:02 CrazyM4n: http://i.imgur.com/PAZFRvP.png 03:18:14 the red is the implied first operand, the green is the implied second 03:18:33 you would shift the window, then "0" would become red, and "1" would become green 03:18:35 make sense? 03:18:52 Yes 03:19:14 Hm, maybe 03:20:55 I've been writing more of the spec also 03:20:56 http://i.imgur.com/vcWHr7u.png 03:21:31 -!- cluid has left ("Leaving"). 03:21:34 -!- cluid has joined. 03:21:52 i cant work out how to go from having n to having < with ceil n/2 and > with floor n/2 03:22:04 I don't know how practical the window idea is going to be 03:23:02 diginet: So far, most of this is rather self explanatory. I'm just not sure how intuitive the windows will be. 03:23:32 http://spth.virii.lu/main.htm 03:26:15 -!- yonkie has left. 03:27:48 -!- atslash has joined. 03:29:06 cluid: if you can ensure n is even, then it is easy 03:29:31 do you need arithmetic like that if you have as many scratch cells as you want? 03:29:31 ill make n even, and put that bit in the riht placebeforehand 03:30:14 also if n is a power of 2, you can just store the exponent 03:31:12 I guess there's two approaches 03:31:19 at least! 03:31:21 one, store the path spread across the tree with scratch cells 03:31:34 two, store the path all in one cell, so that it's okay to scribble over used cells when processing it 03:31:40 (because the only state you care about is in the current cell) 03:31:49 the former seems easier to me 03:32:05 since it is just a simple branch, flip, move sequence at each stop 03:32:50 this is so hard to program in omg 03:35:17 so is bf :P 03:35:54 I do think oerjan's idea of just using bits for state is ideal 03:36:09 that way you could completely eliminate anything but branching and flipping and moving 03:36:24 did someone have a question for me? 03:38:30 I don't think so 03:41:43 I made an 'evenness' detector, but it is extremely long 03:42:10 47 chars 03:42:25 this can be done much better 03:42:30 im sure 03:42:47 Okay, can someone help here 03:42:59 I think that this is turing-complete: http://i.imgur.com/Lf24Tnh.png 03:43:05 But I'm not sure 03:44:50 -!- FireFly has quit (Ping timeout: 244 seconds). 03:46:48 CrazyM4n, yes looks TC 03:47:16 -!- FireFly has joined. 03:48:30 cluid: Success! 03:48:44 Now to write an interpreter 03:50:59 -!- bb010g has joined. 03:51:43 -!- cluid has quit (Remote host closed the connection). 04:04:08 -!- CrazyM4n has quit (Quit: ("sleep for finals")). 04:08:43 -!- GeekDude has quit (Ping timeout: 255 seconds). 04:10:56 -!- MDude has changed nick to MDream. 04:14:01 -!- Sprocklem has joined. 04:14:04 Hah hah. My Collatz search is still running this morning. 04:14:42 What's it searching for? 04:15:23 Euler #14; longest sequence for a seed under a million. Think I need a more efficient program. 04:17:47 Are you doing it in a normal language or in something like BF? 04:18:09 I'm doing it in Heresy, which is my own language built on-top of Racket. 04:33:01 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 05:15:50 -!- hjulle_ has joined. 05:15:51 -!- hjulle has quit (Read error: Connection reset by peer). 05:26:06 `slist 05:26:07 slist: Taneb atriq Ngevd Fiora Sgeo ThatOtherPerson alot 05:26:28 J_Arcane: is Heresy a real Racket language, or just interpreted ala Arc? 05:28:30 Sgeo: Basically a big pile of macros. 05:29:00 so the former, i think? it's implemented to use #lang s-exp 05:30:23 -!- hjulle_ has quit (Ping timeout: 264 seconds). 05:31:38 I'd say that counts 05:32:02 I just think straightforward interpretation is boring 06:02:57 -!- atslash has quit (Remote host closed the connection). 06:07:36 I'm going to make a scrip7 compiler in scrip7. 06:32:22 -!- AndoDaan_ has joined. 06:35:22 -!- AndoDaan has quit (Ping timeout: 258 seconds). 06:49:41 -!- J_Phone has joined. 06:50:20 -!- J_Phone has quit (Read error: Connection reset by peer). 06:53:16 -!- oerjan has quit (Quit: leaving). 06:55:48 -!- J_Phone has joined. 06:56:06 Moi. 07:01:05 -!- J_Phone has quit (Read error: Connection reset by peer). 07:07:11 -!- Sprocklem has quit (Ping timeout: 258 seconds). 07:23:52 "Subject: magic rod factory supplying from China" 07:24:13 "We mainly produces PET woven nylon hair thick stick, ever-changing magic rod, a whirlwind speed, snail, TV curlers, automatic curl bar, HDMI cable network weaving, snakeskin nets, mesh casing, scalable network management, tin plated copper woven nets, shielding line, all kinds of wire and wire processing woven cotton and so on." 07:24:39 fizzie: that makes perfect sense 07:24:55 The "ever-changing magic rod" makes perfect sense? Well, I guess. 07:25:58 it probably means a continuously casted plastic 07:26:38 -!- Patashu has joined. 07:27:39 fizzie: they make nylon line by continuous extrusion 07:28:26 so i think this is a factory that does the copper wire and the plastic cover in one continuous process 07:29:07 fizzie: I read that as “snake's oil and tin plated copper woven hairnets that shield your brain from mind control satellites as much as tinfoil hats” 07:30:51 I'm just wondering about the "whirlwind speed", which (based on the commas) seems to be an item in its own right, unless the following comma is misplaced, and it's a whirlwind speed snail. 07:31:13 oh! maybe the magic rod menas the one from Hitachi? 07:31:40 that would make whirlwind speed make some sense 07:32:21 "The product is as seen on TV", if that helps. 07:32:50 fizzie: so yeah definitely hitachi. 07:46:29 -!- MoALTz_ has quit (Quit: Leaving). 07:49:24 I thought more about and figure out things about how Aberration Hater Card Game can be working. The card can consist of (name,tags,actcost,rescost,type,hitpoints,move,text). An expansion set consists of multisets of card IDs for each rarity. Rarities should be assigned based on what makes a draft more interesting. 07:51:35 Is it OK so far do you think so? 07:51:39 That sounds really cool, zzo38. 07:52:13 I am not sure quite yet the pack distributions. However, note that Limited format is the main format so it would be designed around that mainly. 08:02:34 Cards can be played in front or in back and if you have any cards in front then only those cards can attack, defend, and be attacked (regardless of their type; even attachments can be attacked). The card can cost action points and/or resource points to play them. Cards can be switched front/back by their move cost in action points (unless it is either immovable or has an infinite move cost). 08:03:29 shachaf: Prismata is ~2k away from getting funded 08:16:47 -!- mitchs has quit (Ping timeout: 272 seconds). 08:24:09 It will surely make it. 08:24:32 I made idea for Magic: the Gathering cards one is "All permanents gain cumulative upkeep {0}." 08:25:27 zzo38: Is the idea that if you forget to do the thing you sacrifice it? 08:25:42 It seems like a big hassle, putting age counters on every permanent. 08:25:49 shachaf: Well, one idea is that if you don't want that card anymore you can sacrifice it during your upkeep. 08:25:51 Oh, maybe you mean that it interacts with other cumulative upkeep things. 08:26:00 Because age counters are age counters. 08:26:10 The other idea is it causes extra counters on other cards that already have cumulative upkeep. 08:26:11 Oh, that also works. 08:28:16 -!- mitchs has joined. 08:29:33 #define brase break;case 08:30:53 #define brefault break;default 08:31:09 #define break return 08:32:01 #define tldr } 08:32:20 Are those the kind of macros you like to define in a C program? 08:32:53 zzo38: pretty much. my favorite is #define loop for(;;) 08:33:25 `quote 181 08:33:26 181) Invent the game called "Sandwich - The Card Game" and "Professional Octopus of the World" (these names are just generated by randomly) 08:33:36 zzo38: I'd like to learn more about those games. 08:33:46 Other ideas related to Magic: the Gathering cards, including cards creating non-creature tokens, as well as "Target spell gains Epic" and one card "Epic Fail" which does nothing except it has Epic. 08:34:07 shachaf: They don't exist as far as I know; if they do, ask someone else please. 08:34:08 There are already cards creating non-creature tokens. 08:34:32 zzo38: What is the point of Epic Fail? 08:34:57 Nothing...it is just full of the epic failure... 08:36:00 idea: cards which are typeless. 08:36:08 Yes I thought that too 08:37:13 Is there a card which exiles all indestructible permanents? 08:37:39 And no other ones? 08:37:43 Yes 08:37:57 I don't think so. 08:38:30 But searching Google for that phrase finds IRC logs of this channel. 08:38:49 oh boy i was such a jerk 08:43:57 Some of the existing rules I find klugy and I don't like much, one is including the rule for card types and I would like to perhaps change it to: Any card can be played onto the stack during your main phase if the stack is empty by paying its mana cost (you can't if it doesn't have a mana cost); all instants have Flash; lands can be played directly into play during your main phase if stack is empty by costing a land drop ... 08:44:34 oh dear, M:tG rules discussions 08:44:39 I'll have to read this later 08:44:42 What would the changes be compared to the current rules? 08:44:49 ... if instants and sorceries would be put into play from anywhere it remains where it is; if something resolves and then remains on the stack it is discarded instead. 08:45:39 I'm not sure about that last pair of rules. 08:46:01 So, under these rules it would mean, if a land actually has a mana cost then you can either play it as a land, or play it as not a land onto the stack by paying its mana cost. 08:46:10 lol "Epic Fail" 08:46:22 (And while it is on the stack it can be countered and that stuff too) 08:46:52 Are there any lands with mana costs? 08:47:08 zzo38: whoa... I'd prefer if you always played lands like now, you just had to play their mana cost if they have one, 08:47:14 shachaf: Not as far as I know. 08:47:30 Using the existing rules you could just give a land an ability that functions in your hand: "{3}: Put this card from your hand onto the battlefield". 08:47:32 in which case we could have a Spire with a mana cost of {1} 08:47:51 b_jonas: Maybe, but I still think the way I mentioned is more sensible, to me at least 08:47:53 Or maybe you mean that it wouldn't use the stack, which would be slightly more difficult to make work, I guess. 08:48:04 zzo38: dunno 08:48:58 zzo38: would that make lands that are sort of like the Borderposts? 08:49:07 only not quite 08:49:17 mind you, we still have cycling and morph lands 08:49:51 Also these rules I specified would make it so that a typeless card acts mostly like a global enchantment card. 09:03:45 zzo38: actually, I was thinking about what you said 09:04:09 and being able too cast lands with mana costs like a normal spell would indeed make sense 09:04:21 though it has some slight implications: 09:04:58 like you could then probably cast lands as spells (without land drop, even in an opponent's turn) using effects that make you cast a card without paying its mana cost 09:05:26 zzo38: a typeless card already acts much like a global enchantment card, it's just that I think a typeless card can currently only exist on the battlefield 09:05:30 Yes, assuming that the card worked with lands otherwise 09:05:44 (If it doesn't say card types, it would indeed work with lands.) 09:05:48 zzo38: yep. 09:05:58 those cards currently say "play that card without paying its mana cost" 09:06:28 an example is the hdieaway lands 09:07:03 hideaway lands 09:08:03 I don't think this is very abusable though 09:08:43 occasionally casting a land on the opponent's turn that way doesn't seem an effect that can break much 09:10:04 hmm wait 09:10:11 no 09:10:23 I would change a lot of other rules too 09:10:38 right, it wouldn't come up much anyway, because most lands don't have mana costs 09:10:59 Some of these changes would suggest that other cards should be changed 09:11:43 what does "all instants have flash" change? 09:11:46 Rules for damaging Planeswalkers are too klugy. I also don't like the rule that makes auras and equipments that are also creatures to become not attached; I would remove those rules. 09:12:13 b_jonas: It would be an alternative to the normal rule. I don't know exactly what it would change. 09:12:22 zzo38: such auras die anyway, it only matter for equipments 09:12:40 and for equipments, I think it's better if they remain in play unattached so you can have animated swords 09:12:43 and animated hammers 09:12:53 b_jonas: Yes I know, but I would delete those rule anyways so it is still allowed to be aura and equipment being attached. 09:14:05 as for changing rules, some people have suggested changing the combat damage order rules so you can assign non-fatal damage to any number of creatures later in the order than all creatures to which you assign fatal damage 09:14:47 of course that's less important now that we have a rule that damage from creatures with deathtouch counts as fatal, but it would still be nicer for combat tricks 09:14:51 Other rules I would change a lot too 09:16:24 and did I mention I still don't understand why Spreading Seas was printed without a remainder text? I hate how they did that 09:16:35 They should have known after Sea's Claim 09:16:50 and this is despite that I like the flavour text of these cards 09:17:21 but my rules and cards knowledge is very stale right nwo 09:17:37 I don't follow M:tG much these days 09:19:11 I would also get rid of the rule causing tokens to cease to exist in not play zones and replace it with another one causing objects to cease to exist if they would be reset to their initial state but don't have one and then make tokens don't have any initial state and moving between zones resets an object. 09:19:44 Therefore, copies of spells or anything even placed on the stack also are tokens, so if a creature spell is copied the copy is also a token, and remains a token when it comes into play. 09:20:37 b_jonas: How can a typeless card exist on the battlefield? 09:27:36 I saw it once how but now I forgot. 09:33:33 I would also make loss of game due to inability to draw a card to become immediate instead of state-based. Therefore you can lose all life and still win if the same effect that caused it also causes your opponent to draw more cards than they have before state-based-effects are checked. 09:34:04 That seem pretty ad-hoc. 09:34:33 And also I will reintroduce mana burn for strategic purposes. 09:36:06 shachaf: neurok transmuter and march of the machines 09:37:14 and already, typeless permanents are a lot like global enchantments, just without the enchantment bit 09:37:37 shachaf: yes, what coppro says 09:37:59 OK. 09:38:09 If they were revising the rules from the get-go, they would quite possibly make Instant a supertype 09:38:29 I think a typeless permanent is slightly different from a typeless card. And I guess cards aren't on the battlefield at all, only permanents represented by cards, or something like that. 09:38:33 I don't remember. 09:38:35 coppro: I don't think so. Instant is fine as a type. 09:38:59 Everyone argue differently about how the rules ought to be changed into. 09:38:59 b_jonas: it could become "instant sorcery" 09:39:10 coppro: yes, it could, but I don't think it would be a good idea 09:39:15 They're talked about the Instant Sorcery thing in various places before. 09:39:28 b_jonas: in any event, it doesn't make sense to have two ways to accomplish the exact same thing 09:40:13 typeless cards aren't possible 09:40:15 coppro: there are more Instants than Sorceries printed. you'd have that ugly typeline on lots of cards unnecessarily. Instants are such a common case that they're worth a rule. 09:40:39 It's like how all portal cards have "Summon Creature" printed on them. It's ugly. 09:41:04 Mind you, you could argue that they changed from "Enchant Creature" to "Enchantment - Aura" with an ability 09:41:16 yes 09:41:29 and there are lots of Auras too 09:41:32 you may notice that Magic cares about form, but only after function. Function is first. 09:41:44 and the care with which the modern function is designed means that sometimes it gets in the way of form 09:41:54 However, there are some auras with crazy restrictions 09:41:59 backwards compatibility > function > form hth 09:42:08 like coral net 09:42:16 animate dead? 09:42:18 mind you, that's just printed as "Enchant Creature" on the card 09:42:46 uh... no, Animate Dead is a separate category 09:44:20 sure, function and form, but I don't see anything wrong with the function of instants 09:45:25 -!- PinealGlandOptic has joined. 09:45:57 hmm, wasn't there one card that specifically cared about... something about "instant or card with flash", searching them or cast trigger or something 09:46:36 If the rule was the one I wanted to change it to, then "card with flash" would include instants. 09:47:09 zzo38: I don't think that's worth: it affects only one card, possibly zero because I might have just dreamt this 09:47:17 so it would need remainder text on that one card 09:47:29 it's better to just write "instant or card with flash" in that one case 09:47:36 does that card exist? or was I just dreaming? 09:47:38 I can't find it 09:47:40 That isn't the reason I wanted that rule though 09:48:00 ah, found it 09:48:04 Mystical Teachings 09:48:31 and it searches 09:48:36 -!- PinealGlandOptic has quit (Client Quit). 09:48:49 (guess which set it is in) 09:49:02 -!- PinealGlandOptic has joined. 09:50:04 -!- PinealGlandOptic has quit (Client Quit). 09:50:26 -!- PinealGlandOptic has joined. 10:20:37 `relcome PinealGlandOptic 10:21:00 ​PinealGlandOptic: 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.) 10:30:23 -!- AndoDaan_ has quit (Ping timeout: 250 seconds). 10:32:25 -!- AndoDaan has joined. 11:21:02 -!- boily has joined. 11:43:05 My GTK theme is done! 11:43:51 It's neat how the theming is done with CSS for gtk3 11:52:46 data Tuple :: (*,*) -> * where Tuple :: a -> b -> Tuple '(a,b) 11:52:53 how do you match against that in patterns? 11:53:06 let foo (Tuple a b) = (a,b) 11:53:09 doesn't work 11:59:07 you can have 'where' clauses in data declarations? 12:01:15 yes 12:20:29 -!- boily has quit (Quit: TELLURIC CHICKEN). 12:23:56 http://snag.gy/BqAlC.jpg <-- how does this red and white color scheme look? 12:29:27 I'd not vouce for my sense of estetics, but it looks clear, and cool, to me. 12:30:22 -!- Patashu has quit (Ping timeout: 264 seconds). 12:30:24 I can;t get a picture of it for some reason, but the buttons and menu options turn red when they are moused over. 12:32:47 I like red. There is too much blue on computers. 12:38:12 [wiki] [[Grasp]] http://esolangs.org/w/index.php?diff=41518&oldid=39081 * 210.9.139.234 * (+189) /* External resources */ 12:44:07 -!- J_Arcane has quit (Read error: Connection reset by peer). 12:44:56 -!- J_Arcane has joined. 12:47:34 -!- relrod has quit (Ping timeout: 255 seconds). 12:47:45 -!- quintopia has quit (Ping timeout: 265 seconds). 12:48:40 -!- quintopia has joined. 12:48:45 -!- relrod_ has joined. 12:50:06 -!- AndoDaan_ has joined. 12:54:06 -!- AndoDaan has quit (Ping timeout: 256 seconds). 13:25:47 oren: a monospace font? nice 13:36:28 b_jonas: yes but that setting isn't part of the theme. I'm now trying to make the theme consistent for gtk2 and gtk3 13:40:30 Ideally there should be a way to convert the two programmatically, but we do not live in that world 13:59:14 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 14:43:22 zzo38: as for changing the rules so that copies of spells count as tokens, I was trying to imagine how very broken Doubling Season would be if it doubled copies of spells. it wouldn't, of course, because its rules text explicitly mentions only tokens put into play, but still. 14:43:41 It would be very broken, because it would double the already crazy storm and isochron scepter effects. 14:47:46 -!- shikhin has joined. 14:47:50 -!- shikhin has quit (Changing host). 14:47:50 -!- shikhin has joined. 14:59:12 http://pasterack.org/pastes/24833 15:16:09 -!- `^_^v has joined. 15:26:25 @tell boily You might want to have a look at GADTs 15:26:25 Consider it noted. 15:26:52 @tell boily https://downloads.haskell.org/~ghc/6.6/docs/html/users_guide/gadt.html 15:26:52 Consider it noted. 15:29:24 -!- S1 has joined. 15:30:28 fungot, do you sometimes find irc very annoying, given that you're forced to sit on this channel and have to listen? 15:30:29 b_jonas: let me find it), scsh aligns the cwd that the os thinks the process is actually stored. when we were evaluating the expression a little. 15:30:45 oh 15:31:32 -!- MDream has changed nick to MDude. 15:31:41 fungot: oh, but what if I call unshare(CLONE_FS) in the thread? 15:31:42 b_jonas: i would like to get past this error. i corrected it. the problem rather seems to be helping with mz. 15:52:13 -!- ais523 has joined. 15:54:09 -!- Sprocklem has joined. 16:02:49 -!- PinealGlandOptic has quit (Ping timeout: 256 seconds). 16:05:21 -!- GeekDude has joined. 16:09:13 -!- hjulle has joined. 16:12:49 -!- drdanmaku has joined. 16:15:46 -!- spiette has joined. 16:19:57 -!- GeekDude has quit (Ping timeout: 258 seconds). 16:27:13 That's good to hear, fungot 16:27:13 FireFly: cool widgets crammed contiguously in the newspace one in the parrot distribution, but that only applies to channels that only accept bald 16:28:48 So, how should I time a certain section of process in a C program these days? 16:29:50 fungot: how should Melvar time a certain section of process in a C program these days? 16:29:50 b_jonas: you can? :) htmlprag? 16:30:14 fungot: with a pointer to const void? 16:30:14 b_jonas: s/ to/ too/ ei fnord 16:37:16 Your pointers need to be less const void. 16:37:37 Uhh... use gprof 16:41:38 unless you mean doing it in C code. then you can use microtime or nanotime 16:42:38 I was thinking either times or getrusage. 16:44:26 b_jonas: I don't think I can recommend unsharing in a thread. 16:44:38 That's what forks are for(k). 16:46:48 Melvar: hmm, well those are essentially the same, they just have different extra fields 16:47:49 you're choosing between tms.tms_utime+tms.tms_stime and ru.ru_utime+ru.ru_stime 16:48:17 oren: Except that times gives me clockticks, and getrusage gives me seconds+microseconds. 16:49:02 do you care about exact units or about comparison between runs? 16:49:24 if it is about compariosn then clockticks is fine right? 16:49:30 I want to plot the results and would prefer if my axis labels were in seconds. 16:50:57 Not processor cycles? 16:51:16 getrusage is better then, and it allows you to easily add memory usage graphs. 16:51:27 if you ever wanted that? 16:51:37 So I guess I’ll go with getrusage right now just to avoid having to put extra effort into translating. 16:53:07 processor cycles is kind of a useless metric. one processor cycle on a different processor can be longer or shorter and do less or more work. 16:53:33 I don’t expect I want memory usage for this particular thing, since that section is not supposed to allocate. 16:54:05 Melvar: does it do any syscalls? 16:54:42 if it doesn't then you don't need the stime it will probably be almost zero. 16:54:52 I don’t expect so, it’s a blas routine which I mainly want to subtract from the stuff I’m doing around it. 16:55:18 -!- nys has joined. 16:56:34 oren: So, thanks for helping me decide here. 17:04:22 -!- Sprocklem has quit (Ping timeout: 272 seconds). 17:09:04 -!- mitchs has quit (Ping timeout: 250 seconds). 17:12:00 -!- Sprocklem has joined. 17:20:21 -!- callforjudgement has joined. 17:20:55 -!- mitchs has joined. 17:22:16 -!- bb010g has quit (Quit: Connection closed for inactivity). 17:24:13 -!- ais523 has quit (Ping timeout: 265 seconds). 17:43:05 -!- AndoDaan has joined. 17:43:26 -!- AndoDaan_ has quit (Ping timeout: 245 seconds). 17:53:37 -!- GeekDude has joined. 18:06:08 -!- scarf has joined. 18:06:19 -!- scarf has quit (Changing host). 18:06:19 -!- scarf has joined. 18:09:46 -!- callforjudgement has quit (Ping timeout: 255 seconds). 18:10:21 -!- shikhout has joined. 18:10:41 -!- shikhout has quit (Changing host). 18:10:41 -!- shikhout has joined. 18:10:51 -!- shikhin has quit (Disconnected by services). 18:10:56 -!- shikhout has changed nick to shikhin. 18:11:21 -!- scarf has changed nick to ais523. 18:15:44 -!- MoALTz has joined. 18:34:44 -!- Sprocklem has quit (Ping timeout: 245 seconds). 18:46:37 -!- idris-bot has quit (Quit: Terminated). 18:46:54 -!- idris-bot has joined. 18:49:44 -!- relrod_ has changed nick to relrod. 19:00:08 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 19:09:10 Should scrip7 allow division by a pointer or of a pointer? 19:09:43 -!- quintopi1 has joined. 19:09:45 -!- lambdabot has quit (Ping timeout: 244 seconds). 19:09:45 -!- diginet has quit (Ping timeout: 244 seconds). 19:09:46 -!- quintopia has quit (Ping timeout: 244 seconds). 19:10:08 -!- diginet_ has joined. 19:10:24 oren: I can't think of a situation where dividing pointers makes sense; dividing pointer /differences/ makes sense, though 19:10:35 (pointer - pointer) / 4 is an operation that, say, NetHack actually does 19:10:45 but the difference between two pointers is a ptrdiff_t, not a poitner 19:12:24 ais523: dividing pointers makes sense if you want to check alignment. 19:12:34 pointer modulo makes sense, I guess 19:12:55 ok so i should disallow / but not % 19:13:27 ptr % ptrdiff_t makes sense 19:13:29 not ptr % ptr 19:13:37 i right now attempting to make the semantics of scrip7 fully defined in all situations 19:13:59 ais523: (...are pointers a vector space or something?) 19:14:01 -!- S1 has quit (Quit: S1). 19:14:03 (or an error) 19:14:12 elliott: they're an affine scale 19:14:20 they're an affine space, right 19:14:32 is affine scale something in particular? 19:14:51 -!- lambdabot has joined. 19:15:19 does bitwise operations on a pointer make sense? 19:15:23 so what do you call an affine space that has modulo? 19:16:03 well, I guess ptr divmod ptrdiff_t gives you (ptr rounded down to nearest diff, distance between that and ptr)? 19:16:12 no, that first result can't be right 19:16:29 oren: for pointer tagging and stuff, sure 19:16:32 -!- AndoDaan_ has joined. 19:16:42 the point is that operations on pointers aren't symmetrical in the sense that it's ptr + ptr 19:17:15 it's ptr + offset => ptr, ptr - offset => ptr, ptr - ptr => offset 19:17:24 (ptr + ptr doesn't make sense) 19:17:45 but offsets have to be the same binary length as the pointer 19:17:50 https://en.wikipedia.org/wiki/Affine_space#Definition so it is an affine space 19:17:53 oren: yes, but they are not pointers 19:18:18 well, yes but scrip7 is pretty much typeless 19:18:29 operations have types not data 19:18:30 then sure, just allow every arithmetic operation 19:18:48 ais523: this is actually really elegant and nice 19:18:56 ais523: I want a language that represents pointer operations like this now 19:19:02 (with strong typing of it) 19:19:34 -!- AndoDaan has quit (Ping timeout: 264 seconds). 19:19:52 elliott: i have been toying with building a better version of C (with strong typing and no undefined behaviour) on top of scrip7 19:20:14 uhh, script7 is an interesting choice of base for that but sure 19:20:47 well scrip7 is a "portable assembler" to an extent 19:20:58 an interpreted portable assembler 19:21:06 you could compile it 19:22:07 but the main thing is that like C it allows direct memory access, but unlike C there is (will be) no undefined behaviour 19:23:44 really 19:23:51 so what is the defined behaviour of accessing some memory you haven't allocated 19:25:45 the defined behaviour of any memory access such as x=0 is that it: takes address in register 4, and places the 4 bytes representing a ieee 32 bit floating point number "0" into the four bytes of memory following that address 19:27:39 if the program crashes due to trying to do that, that is fine. the mian thing is that it will try. 19:29:07 elliott: fwiw, my thesis is about (a subset of) affine programming languages 19:29:14 scrip7 has allocation primitives but these are not essential. 19:29:21 oren: so you define the behaviour as undefined 19:29:36 elliott: I guess the language's effect on the processor is defined 19:29:41 just you also refuse to perform optimisations based on this undefined behaviour, so your programs will be slow 19:29:42 but not the processor's interpretation of that 19:29:45 ok! cool 19:29:48 oren: how do you do things like SMP memory barriers? 19:29:49 elliott: i refer the definition to the processor and OS 19:29:58 ahhh 19:30:02 so your language has no definition 19:30:06 and therefore all behaviour is undefined 19:31:35 it is defined to the extent that it will try to do what you have specified. it will not, for example, attempt to steal your bank account, as a C program may legally do. 19:32:13 it will if the OS tries to 19:33:30 That is the OS's fault not mine. All i promise is if the value of O is 0, and you write u=0, i will attempt to write to the address 0. 19:33:50 I won't cut out that part pf the code 19:34:15 all I can say is that you're going to make a cutting-edge language perfectly suited for the computers, speed and software engineering practices of the 80s 19:36:10 elliott: this has real implications. suppose you have a function which allocates memory, performs some cryptography, and then clears the memory and frees it. if such program is written in C, the compiler may optimize it by omitting the "clear memory" part. scrip7 promises not to. 19:36:25 please stop trying to educate me about the implications of undefined behaviour 19:36:41 the other way around would be more reasonable... 19:36:52 that doesn't actually have anything to do with UB though 19:37:00 that's literally just dead code elimination 19:37:07 have fun writing a compiler that doesn't optimise anything at all 19:37:17 you also can't optimise division into bitshifts because it'd change how it uses the CPU I suppose! 19:37:40 elliott: that is the point. dead code elimination can create security holes 19:37:48 agreed. 19:37:51 your solution sucks though 19:38:01 what's yours? 19:38:09 -!- callforjudgement has joined. 19:38:09 (and crypto is hard. and its requirements are hard. and you probably won't satisfy them) 19:38:12 -!- GeekDude has joined. 19:38:14 * oren: did you know that all modern kernels with any level of popularity for modern consumer desktops/laptops zero deallocated memory maps? 19:38:25 -!- ais523 has quit (Read error: Connection reset by peer). 19:38:29 -!- callforjudgement has changed nick to ais523. 19:38:33 oren: my solution is to try being less naive and acknowledge complexity and reasons for things 19:38:36 Windows actually has a background process that does the zeroing 19:38:44 I support languages that don't let you do things like dereference invalid pointers at compile time, anyway. 19:39:03 meanwhile, Linux (on systems with an MMU) will map all zeroed memory against the same page (full of zeros) until it gets written to 19:39:20 (I also support unsafe escape hatches for when things like that are necessary (rarely), and for the behaviour of those escape hatches to be regulated by undefined behaviour to some degree to allow optimisation.) 19:39:26 elliott: now I'm interested, what languages /do/ let you dereference invalid pointers at compile time 19:39:33 ais523: misparse :) 19:39:35 BASIC 19:39:36 Perl does, I believe? at least it does if you're allowed to use the FFI 19:39:58 POKE 0 1 19:40:02 that's not compile time. 19:40:07 -!- mitchs_ has joined. 19:40:13 (overall I support hardware and software systems that are built to not require such unsafety, to as great an extent as possible. but that is a pipe dream.) 19:40:36 (I also think 95% of programs just shouldn't be touching raw pointers or anything at all.) 19:40:48 (life is too short for that) 19:40:55 -!- callforjudgement has joined. 19:42:48 $ perl -e 'BEGIN { print +(unpack "p", 10000000), "\n"; }' 19:42:49 Segmentation fault (core dumped) 19:42:55 took a ton of tries to find an actual invalid pointer, though 19:43:03 -!- mitchs has quit (Ping timeout: 240 seconds). 19:43:12 apparently someone had mapped a bunch of zeroes over the bottom of the address space 19:43:33 -!- ais523 has quit (Disconnected by services). 19:43:35 -!- callforjudgement has changed nick to ais523. 19:44:06 oh, and proof it's compile-time: 19:44:08 $ perl -ce 'BEGIN { print +(unpack "p", 10000000), "\n"; }' 19:44:10 Segmentation fault (core dumped) 19:44:13 Bottom as in page 0? What OS are you running? 19:44:22 Linux, x86_64 19:44:29 and bottom as in when I tried to dereference small integers 19:44:37 interpreted as null-terminated strings 19:44:40 I got zero-length strings back 19:44:58 what about an actual zero pointer? 19:45:09 that's a special case, it doesn't even try to dereference it 19:45:11 it just returns undef 19:45:23 because NULL is 0 on this platform 19:45:31 You got that behavior for e.g. 1? 19:45:42 maybe a zero pointer is the internal repr. of undef in PERL 19:46:09 I think that page shouldn't be mappable by default usually. 19:46:11 shachaf: yes, 1's the first thing I tried 19:46:16 oren: no, it isn't 19:46:33 undef has its own type then? 19:46:38 What's `sysctl vm.mmap_min_addr`? 19:46:52 I say this as someone who a) has dealt with Perl's memory management internals quite extensively, and b) has read the docs for pack which /specifically say 0 is a special case/ 19:47:12 shachaf: I'm guessing that it's the minimum address at which memory maps will be placed when the kernel's asked to choose an address 19:47:57 now that there are three main ways to allocate memory (stack, brk, mmap), it's become hard giving them all their own address spaces 19:48:25 in the old days, before OSes started to really exploit what the MMU could do (and before that, before MMUs existed), it was quite simple: stack grows down, heap grows up, they both grow into the same space 19:48:37 that guarantees that you never have problems due to failing to guess which will grow larger 19:48:41 fuck.c:1:5: error: size of array ‘fuck’ is too large 19:48:41 int fuck[(unsigned long) -1]; 19:48:41 ^ 19:48:42 awwwww 19:48:47 that kind of thing used to segfault gcc 19:49:00 nowadays, you still have stacks growing down and heaps growing up, but the maps have to be placed somewhere in between 19:49:04 and it's not quite obvious where 19:49:13 ais523: isn't the stack usually allocated with mmap 19:49:16 so it's really only two 19:49:36 elliott: yes except it's a special case of mmap, there are a bunch of flags; also that's an implementation detail 19:49:40 how can it segfault the compiler? the compiler doesn't allocate the array... 19:49:52 elliott: was that inside a function? 19:50:00 ais523: no, top-level 19:50:01 if not, the compiler really does allocate the array 19:50:10 oren: what do you think a .exe file is? 19:50:10 but in a file, right? 19:50:16 ais523: I meant what is it set to on your system. 19:50:21 and yes, it's allocating space to it in a file 19:50:24 maybe you should learn how C compilers work before redesigning them :p 19:50:38 ais523: all I remember is it used to segfault gcc if you had a huge array 19:50:44 ais523: But I get the same behavior -- I don't think the page is mapped, at any rate. 19:50:46 shachaf: 65536; an address of 1 million (in decimal) worked and read NUL 19:51:29 elliott: out of interest, have you read http://nethack4.org/blog/building-c.html ? oren: read http://nethack4.org/blog/building-c.html 19:51:40 elliott: are you telling me it builds the whole binary file in memory? i dunno how comoilers like gcc work but we made one in one of my classes and it didn't do that. 19:51:49 oren: see my link 19:52:08 that doesn't really explain how a compiler works, but it does explain what it does 19:56:53 i don't see how it can crash gcc (or any component of gcc.) 19:57:56 shouldn't it just output a big file? 19:58:12 elliott: I found a reasonably reliable way to segfault mingw ld.exe 19:58:33 at least, I assume segfault, hard to tell from the generic Windows dialog box 19:59:06 GNU ld is a piece of crap 19:59:15 at least, without gold 19:59:46 given any valid .o file (say test.o), run: "gcc test.o -Wl,-t,--whole-archive,--allow-multiple-definition" 20:00:05 coppro: I've tested aimake with both ld.bfd and gold 20:00:18 I was unaware that gold was a GNU ld derivative, I thought it was a rewrite 20:00:23 it is 20:00:38 what's the main difference between them? 20:00:43 but it now ships with ld and there's a flag to pick 20:01:15 gold is faster, less memory intensive, and supports plugins 20:01:20 those are the three I care about 20:01:31 and I don't *really* care about plugins 20:01:33 and slightly less featureful because not all the ld.bfd features have been reimplemented in it yet 20:01:47 ais523: how come my gcc hasn't got those flags available? 20:02:06 oren: which gcc is it? (gcc --version) 20:02:19 also, pretty much every gcc supports -Wl, which just passes flags to the linker 20:02:22 4.8.2 20:02:25 less featureful but also more 20:02:27 maybe you're using a weird linker 20:02:32 for instance llvm lto uses gold plugins 20:02:36 yep 20:02:48 assuming you don't just compile to bitcode and do the LTO on that 20:02:49 did you copy and paste, or try to retype? 20:02:52 that's a lowercase l 20:02:52 which is iirc better anyway 20:03:06 gcc's LTO works by placing its internal representation in the .o file 20:03:22 coppro: that's how clang LTO works 20:03:28 meanwhile, clang's internal representation is just LLVM, isn't it? 20:03:32 GNU ld 2.24 20:03:38 coppro: it "links" the LLVM bitcode files along with any native .o files with gold + a plugin 20:03:48 s/clang LTO/LLVM LTO/, really 20:03:56 (IIRC) 20:04:11 distinguishing between clang and LLVM is useful, but I suspect the LTO is mostly an LLVM feature here 20:04:14 ais523: clang has an intermediate representation before it emits IR, I think 20:04:21 I mean, of course it does 20:04:23 it needs an AST if nothing else 20:04:52 elliott: right, but the question is as to how much it uses those intermediate representations 20:04:56 coppro: http://llvm.org/docs/LinkTimeOptimization.html goes into how it benefits from getting information from the linking phase 20:05:04 something isn't really a real IR unless you heavily process it 20:05:05 ais523: I think clang is relatively simple as these things go 20:05:35 in that it's mostly a command-line driver, and a relatively simple frontend that just emits fairly naive IR, letting LLVM do all the hard work 20:05:35 is clang a completely separate codebase from llvm-gcc, btw? or is llvm-gcc just a wrapper around clang? or something else? 20:05:38 "fairly simple" being relative, of course 20:05:45 llvm-gcc is gcc frontend + llvm backend 20:05:56 it's also kind of dormant because of licensing stuff? 20:06:00 dragonegg is the new version of that idea 20:06:04 hmm, my ld doesn't crash with thatinput 20:06:10 I don't know how it differs 20:06:15 I guess by being a gcc plugin rather than a fork or something? 20:06:31 hmm, I wonder what licensing problems that could have, given that gcc alone is fine with licensing and LLVM stuff is permissively licensed 20:06:44 maybe it's not licensing 20:06:45 I don't know 20:06:55 it might just be that apple didn't want to update it because they don't want GPLv3 20:06:59 and nobody else cared enough about it 20:07:38 I'm not sure why you'd even use dragonegg though. I guess for languages that clang doesn't support? 20:07:38 which reminds me, the GPL2 actually went to court recently, but I don't know the details 20:07:46 I mean, gcc is still a little better at code generation. 20:07:58 so replacing the backend is kind of what you don't want. 20:09:21 wait: elliott i was wrong! on clang you can set optimization level for one function at a time. so my solution isn't needed 20:09:38 oh lord 20:09:39 oren: you can do that on gcc too 20:09:43 that's not really a solution, dude. 20:09:47 probably also MSVC 20:10:05 I'm wondering what sort of problem you might be having that needs a solution like this 20:10:12 note that even -O0 has many optimizations 20:10:27 ais523: I vaguely recall on MSVC you just have a pragma for it, so it's really more of a "per region of source" than "per function", but (a) I might be wrong, and (b) it of course can be used to do per function. 20:10:28 I assume, because gcc's internal representation destroys information that would be needed to replicate the original code in asm perfectly 20:10:55 -O-1 that just bundles a C interpreter with your source code 20:11:02 I don't have the problem, but here is someone who explains it: http://pdos.csail.mit.edu/papers/stack:sosp13.pdf 20:12:16 hi fizzie it's undefined behaviour hour again 20:12:24 except this time it's dead code elimination hour. dead code elimination is also evil now 20:12:57 it isn;t dead when you don read the result but you want an adversary to 20:12:58 elliott: Oh, would you look at the time, I think I need to be going. 20:13:17 I'm going to be dead if this nonsense keeps happening 20:13:21 please eliminate me 20:15:13 http://www.viva64.com/en/d/0208/ 20:16:18 RtlSecureZeroMemory(). for when the memory really must be zero! 20:16:37 for when your effect model includes things that C regards as implementation details 20:17:12 btw, it's weird to me that you think presenting evidence that C is an unsuitable language for secure systems programming is some kind of gotcha. like, you realise I hate C, right? 20:17:28 C is one of my least favourite languages for precisely that reason. 20:18:05 oh i know you do. but it doesn't have to be that way if compiler writers had different goals in mind 20:18:49 e.g. "do what the programmer meant" rather than " do the fastest possible interpretation" 20:19:11 no 20:19:27 just no? 20:19:36 "C is bad and it is incredibly difficult to use it correctly" is right. everything else you think is wrong 20:20:08 C suffers from being too high-level to do the job for which it was designed, while being too low-level for everything else 20:20:16 oren, oh? Using PVS Studio? How do you find it? 20:20:59 oren: by the way, it is impossible to securely zero memory retrospectively 20:21:08 you have to announce that you plan to eventually securely zero it in advance 20:21:24 otherwise it might get swapped out and swapped back in and you're not going to be able to find the place where it was on disk to zero it 20:21:39 also, many OSes have a pretty small limit on the amount of memory you can designate as unswappable 20:21:49 because you can use that for denial of service attacks 20:22:00 ais523: the language should disable swap 20:22:01 and the MMU 20:22:05 ais523, Unless you are root of course 20:22:12 Vorpal: right 20:22:15 pft, just allocate a huge page 20:22:19 elliott: it should provide the option 20:22:20 ais523: to Do What The Programmer Wants 20:22:24 and come to think of it, most things that legitimately need to ask for passwords do run as root 20:22:28 oren: to disable swap and the MMU? 20:22:28 nice 20:22:36 unless their only purpose is to send it over a network 20:22:38 system("swapoff -a"), a valuable missing C feature 20:22:49 in which case, you have bigger problems than just zeroing memory 20:23:19 how are you supposed to write kernel code without the ability to do lowest-level stuff? 20:23:25 What are you trying to achieve? 20:24:15 Vorpal: arguments 20:24:25 oren: well, swap is a kernel feature 20:24:29 so the kernel knows how to turn it off, obviously 20:24:31 oh, run in real mode, write to VGA memory, the usual 20:24:34 elliott, always fun 20:24:37 as for things like MMU management 20:24:45 that differs by platform to the extent that it cannot be done portably 20:24:51 Vorpal: reminds me of the good old days with us 20:25:12 Hah 20:25:27 elliott, you didn't appear to find them fun back then 20:25:49 A language usage analysis of the Linux kernel. http://gooby.naurunappula.com/org/36/26/3626c2b7abe07458/0/1240811.png 20:26:13 Vorpal: IRC is wearying as ever, and yet I never quit 20:26:22 Hah 20:27:04 the linux kernel is compiled with -fwrapv. 20:27:16 elliott, You know... That sounds almost exactly like a World of Warcraft player I knew 20:27:23 ostriches can't fly 20:27:25 Just replace IRC with WoW 20:27:36 *states random facts in an attempt to prove a point I'm not even sure of to someone who disagrees with something else entirely* 20:27:46 heh 20:27:48 Vorpal: such is addiction 20:27:59 does that not imply that the linux kernel is not written in standard C 20:28:01 Of course, I know 20:28:01 I'd prefer a heroin habit 20:28:03 oren: of course 20:28:14 the linux kernel does all kinds of unportable things and even gets bit by UB quite a lot (IIRC) 20:28:35 The kernel is full of GCC specific code too. Well GCC + Clang these days I guess 20:28:38 -fwrapv is a perfectly reasonable dialect of C and it's fine and proper that the kernel uses it but it still suffers immensely from C's inadequacy for the task 20:28:42 yeah 20:28:47 still gcc-only, clang requires patches still 20:29:07 Oh okay 20:29:17 elliott: of you were making a new linux kernal what language would youuse 20:29:21 *if 20:29:31 What does -fwrapv mean? 20:29:38 zzo38: defines wrapping as overflow 20:29:47 oren: if I made a new kernel I sure as hell wouldn't emulate linux 20:29:50 Assume signed two complement overflow 20:29:56 I just looked it up myself 20:30:11 oren: the field of C replacements is undeveloped but there are compelling options, some new, some older -- Rust, ATS, D, blah blah blah 20:30:19 Speaking of that, how well does FreeBSD Linux emulation work these days? 20:30:26 Can you still run real programs with it? 20:30:56 oren: using C for a kernel reliably isn't impossible, though. you just have to be principled and careful 20:31:12 and drop down to assembly (inline or otherwise) for truly unportable operations rather than trying to hack them with C that sort of looks like it should do the right thing 20:31:37 I think the task of writing correct C isn't one humans are capable of, though. 20:31:39 elliott, well obviously. Linux and *BSD managed it. Probably Windows and OS X too 20:31:56 ideally you write as little as possible in C to support a higher-level language that you write the bulk of the kernel in, if you're going down that route. 20:32:00 Vorpal: not really 20:32:06 they're not robust in terms of undefined behaviour etc. 20:32:08 -!- nycs has joined. 20:32:15 anyway, http://openmirage.org/ is very cool 20:32:34 elliott, well, they use implementation specific behaviour yes. And extensions. 20:32:39 Like inline assembly 20:32:42 Vorpal: UB is not implementation-specific behaviour 20:32:55 I am pretty sure there have been linux exploits due to UB relating to null pointers and the like 20:33:04 Hm true 20:33:24 (of course dereferencing memory address zero is actually potentially perfectly okay in kernel mode -- another deficiency of C for the task) 20:33:26 Pretty sure the zero page is always unmapped these days because of that 20:33:33 elliott: not any more, the gcc devs implemented compiler flags for them to not optimize out null checks 20:33:49 ais523: makes sense; clang too, I guess? 20:33:57 not sure about clang 20:34:09 basically fixing the codebase up after-the-fact to be a kind of ill-specified dialect of C slightly more suitable for kernel code 20:34:11 I didn't think it could build the kernel yet 20:34:16 it has been able to for years, with patches 20:34:18 they're trying to get it to, but it's hard because the kernel's so gcc-specific 20:34:19 the patches are rather minor these days 20:34:25 right 20:34:27 and they keep getting folded in 20:34:33 -!- `^_^v has quit (Ping timeout: 250 seconds). 20:34:35 it's basically just stuff like random gcc extensions like VLAs in structs now 20:35:06 i've never found VLA's at all useful 20:35:12 how do VLAs in structs even worK? does it have to be a local struct definition? 20:35:17 oren: OK, now you've offended me 20:35:28 and I have another link for you to read: http://nethack4.org/blog/memory.html 20:35:33 i mean in cbviously 20:35:42 ais523, VLA is not flexible array member is it? I forget... 20:35:43 maybe that'll explain why VLAs are so useful (more so than pretty much every other way to allocate memory in C) 20:35:48 I used both 20:35:53 Vorpal: no, flexible member is flexible member 20:35:57 Right 20:36:01 but flexible member is C99 so no way clang doesn't impl it 20:36:05 it isn't even an extension 20:36:07 Indeed 20:36:16 And VLA is C99 too iirc? 20:36:33 yes 20:36:36 what was wrong with alloca? 20:36:38 https://github.com/mirage/mirage-platform/tree/master/xen/runtime/xencaml I think this is the majority of kernel C code in openmirage 20:36:42 well, plus the ocaml runtime 20:37:09 ais523, Also I found VLAs to be less than useful, since they allocate on the stack. Either your allocation is large enough that it can smash the stack, or it is small enough that you can just use the max size always 20:37:20 in any case stack space is less than heap so you want to use heap space 20:37:37 Vorpal: what about for holding strcat returns? 20:37:39 of course it's designed to run under xen so it can be a bit simpler than a bare metal OS 20:37:42 you don't want an outright max size there 20:37:55 because if you have any specific max, people can create a string that's slightly longer 20:38:00 however, you also don't expect it to be long 20:38:12 oren: lol, yeah, let's just use the heap constantly in all our low-level systems applications and kernels and avoid the efficient, simple reliability of stack allocation 20:38:15 ais523, and if I don't specify a max size, they can smash the stack instead, which crashes 20:38:17 ais523: use strncat and chop the string 20:38:18 Which is worse 20:38:29 and VLA's reaction on memory exhaustion (segfault) is pretty much the same as malloc's; you can install a handler for malloc failure but nobody ever does anything but effectively ending the program anyway 20:38:39 either not checking and segfaulting on null read; or checking, printing "out of memory", and exiting 20:38:45 which is basically the same as a segfault but harder to debug 20:39:12 install a handler? you can just check the return value 20:39:18 also, no, aborting is far better 20:39:31 elliott: i agree 20:39:36 ais523, I do real time programming these days. That has given me a different outlook on things like these. "Works most of the time" is never an option 20:39:39 the fewer segfaults the less you have to worry about bizarre exploits 20:39:55 except in kernel code where there is no way to abort 20:39:56 elliott: well it's good to distinguish between a clean segfault, and a dirty segfault 20:40:14 a clean segfault is something that always segfaults no matter what, like dereferencing null (given that null page mapping is disallowed in-kernel nowadyas) 20:40:16 but malloc isn't available inside the kernel iirc 20:40:20 ais523: well you're dereferencing a null pointer 20:40:23 there's nothing clean about that 20:40:27 a dirty segfault is something that happens to have been caught, like dereferencing uninitialized memory 20:40:28 ais523, I would verify the input to ensure it is not larger than allowed size. Because if the program crashes that means the machine stops and that is bad. 20:40:35 ais523: it might even skip the dereference you have there; you know this 20:40:36 that happened to form an invalid poitner 20:40:51 elliott: oh I was talking about asm level, rather than C level 20:40:51 Vorpal: strncat! 20:40:59 you have to check the return value of malloc because (a) it can, in fact, fail in practice; and (b) if it does, you're going to trigger UB 20:41:21 oren, nope. wcsncat. Probably 20:41:34 You have to support non-ASCII remember 20:41:52 Proper software design :P 20:42:21 ais523: fair enough 20:42:21 (And working directly with UTF-8 data in a char* is just painful. UTF-8 is painful) 20:42:35 malloc is part of libc, though :p 20:42:39 I agree about wanting a malloc wrapper, though 20:42:39 anyway, how is it harder to debug? 20:42:47 the message doesn't tell you where the allocation failed, doesn't have a stacktrace, etc. 20:43:57 ais523, It certainly does in gdb 20:44:26 the most common reason to run out of memory on a modern computer (other than running aimake) is that your program is stuck in a tight loop that allocates memory 20:44:35 the stacktrace is typically very useful to see what happened there 20:44:41 abort() and run gdb on the core dump? 20:44:41 that's what they're /for/ 20:44:52 getting a malloc wrapper to abort on OOM is actually a really good idea 20:44:52 #define safalloc(n) ({void *p=malloc(n);if(p==0)abort();p;}) 20:44:54 most of the wrappers I've seen call exit instead 20:44:56 you want a core dump 20:44:58 -!- AndoDaan_ has quit (Read error: Connection reset by peer). 20:44:59 is there an mbscat? 20:44:59 ais523, anyway a program that crashes is a broken program. What you really should do is use Erlang and use supervisor trees to restart components on failure. 20:45:00 -!- AndoDaan has joined. 20:45:01 % cat blah.c 20:45:01 #include 20:45:01 #define safalloc(n) ({void *p=malloc(n);if(p==0)abort();p;}) 20:45:01 int main() { int p = 123; safalloc(p); } 20:45:01 % clang blah.c 20:45:01 blah.c:3:36: warning: incompatible pointer to integer conversion passing 'void *' to parameter of type 'unsigned long' [-Wint-conversion] 20:45:01 int main() { int p = 123; safalloc(p); } 20:45:01 ^ 20:45:02 blah.c:2:38: note: expanded from macro 'safalloc' 20:45:02 #define safalloc(n) ({void *p=malloc(n);if(p==0)abort();p;}) 20:45:02 ^ 20:45:02 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/stdlib.h:152:20: note: passing argument to parameter here 20:45:02 void *malloc(size_t); 20:45:02 ^ 20:45:02 elliott: oh right, unhygenic macro 20:45:02 1 warning generated. 20:45:02 try again 20:45:02 (okay, s/int/size_t/) 20:45:02 there is a gcc extensions to fix this 20:45:02 but I don't know how to use it, looking it up now 20:45:02 ais523: there is a C standard feature to fix this 20:45:02 it's called a function. 20:45:02 elliott: I know 20:45:02 but this is #esoteric 20:45:02 yeah iirc gcc has some kind of gensym 20:45:02 but I forget how it works 20:45:02 I remember it being weird 20:45:02 if someone does something the wrong way, am I allowed to have fun trying to make the wrong way work? 20:45:02 I bet clang doesn't support it 20:45:13 Because making a c program that doesn't crash is not easy 20:45:57 elliott, __COUNTER__? 20:46:01 ais523: btw, I suspect #define xmalloc(n) (malloc(n) ?: abort()) works 20:46:03 Or is that MSVC? 20:46:10 which is not actually that bad 20:46:15 Vorpal: it has __COUNTER__ but that's not a perfect gensym 20:46:19 Oh? 20:46:32 well you can always just do p_123 20:46:35 when __COUNTER__ will be 123 20:46:36 it still generates a symbol that could potentially be used elsewhere 20:46:43 and no, ?: is gcc for the defined-or 20:46:52 err, no 20:46:58 it's Perl/Python || 20:47:02 a ?: b is a ? a : b without evaluating a twice 20:47:05 so it should be correct for this 20:47:11 elliott, Anyway ({}) introduces a scope, so what is the issue? 20:47:13 since we want p = malloc(n); if (p) p else abort() 20:47:20 Vorpal: did you see my program or not 20:47:33 Vorpal: lack of hygiene 20:47:34 Yes I looked at it and it appears to work? 20:47:37 Hm 20:47:46 ais523, All C macros have that issues? 20:47:47 Vorpal: did you see my compiler warnings..... 20:47:47 it confused me for a moment before I saw that elliott had used the same identifier for two different purposes 20:47:55 it's the sort of thing which would work really well in the UCC 20:47:59 and yes, all C macros have that issue 20:48:02 if you don't think not being able to use the variable name p is an issue then, uhhh 20:48:11 (this is exactly what lexical scope is for!) 20:48:15 blah.c:3:36: warning: incompatible pointer to integer conversion passing 'void *' to parameter of type 'unsigned long' [-Wint-conversion] 20:48:17 That is weird 20:48:21 no it's not 20:48:26 it expands to void *p = malloc(p); 20:48:26 -!- diginet_ has quit (Quit: diginet has quit!). 20:48:31 what do you expect? 20:48:54 elliott, "p shadows p in outer scope" 20:49:02 Or something like that 20:49:05 elliott: fwiw I don't think you can make that work with dynamic scope either 20:49:05 Vorpal: you can use p inside the definition of p 20:49:12 -!- diginet has joined. 20:49:15 char *foo = malloc(123 * sizeof *foo); 20:49:17 is a common idiom 20:49:24 maybe that has to be sizeof(*foo), I forget 20:49:29 elliott: it doesn't 20:49:42 does void *p = evil(&p) work 20:49:43 sizeof needs parens on types, but not on expressions unless it'd associate incorrectly 20:49:46 Hm 20:49:47 sizeof with brackets is just common convention 20:49:49 and there is only one way to associate there 20:49:50 I guess maybe yes as long as evil never dereferences its argument? 20:49:57 elliott: I think yes too, not 100% sure though 20:50:08 Parentheses on expressions for sizeof is misleading. 20:50:28 ais523: what if void *evil(void *p) { *p = malloc(123); return malloc(456); } 20:50:35 I guess that's probably okay too? it's very weird 20:50:44 maybe some weirdness with sequence points 20:50:49 er 20:50:50 elliott: that doens't work 20:50:50 *void **p 20:50:53 sorry 20:50:58 and then doing void *p = evil(&p); 20:51:01 yeah, was going to say it had to be a void** 20:51:20 and no, I don't think there's sequence point weirdness there 20:51:20 btw if you find the gcc gensym thing I'm interested in a link to documentation, since I wanted to look it up recently but couldn't find it again 20:51:33 To put the scope thing more formally, "Any other identifier has scope that begins just after the completion of its declarator", which means before the initializer. 20:51:41 And all I can remember is the counter approach. 20:51:45 you have a sequence point between the two mallocs inside the function, and a function call can't violate sequence point restrictions in its own right 20:52:03 I remember some weird thing, like it was a built-in macro-y function or something, or something involving $ in variable names? 20:52:07 I was definitely very surprised that gcc had gensym. 20:52:08 (i.e. in foo(x)+foo(y), the two calls can happen in either order but must happen in some order) 20:52:14 maybe I exclaimed as much in the logs and could look it up. 20:52:19 elliott: I couldn't find it in the list of extensions 20:52:21 Yes, there was some weird thing. 20:52:25 now I'm reading through them individually 20:52:33 fizzie: okay, I'm glad we agree the weird thing exists, at least 20:52:37 ais523: IIRC it's none of them 20:53:13 2011-04-29 23:06:44 monqy: istr the gcc manual saying they were planning to add gensym or whatever to use with statement expressions in macros 20:53:28 maybe they actually did it since then?? 20:53:55 https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html doesn't mention any gensym plans, at least 20:54:12 elliott: also $ is a letter as far as gcc is concerned, but it warns that some assemblers may disagree 20:54:31 why can't we all jsut get along? 20:54:46 and not argue about what a letter is? 20:54:54 You could argue that combining the $ extension and the __COUNTER__ extension is more or less a gensym for non-extension-dependent problems, since they won't be using $. 20:55:13 "If you use some other kind of statement last within the braces, the construct has type void" hmm, is there any way to get a value of type void in C? 20:55:21 you're not actually allowed to dereference a (void *), right? 20:55:26 is that a GNU C innovation? :) 20:55:30 fizzie, what is the $ extension? 20:55:30 that's UB, possibly even a constraint variation 20:55:39 GNU C allows arithmetic on a void * 20:55:39 oh, maybe function_returning_void() has type void 20:55:41 but yes 20:55:45 Vorpal: That it's a valid character in identifiers. 20:55:46 you can just return void values from a function 20:55:49 Ah 20:55:52 Vorpal: You can pretend you're writing BASIC. 20:55:56 can't you just cast any type to void? 20:56:05 (void)34; 20:56:06 oh yes, that too 20:56:16 I guess that's an expression, yeah 20:56:17 and this is a common way to tell linters to shut up about you not using the return value 20:56:32 void main(void) { main(main()); } /* troll C program */ 20:56:41 *"C" "program" 20:56:50 fizzie, basic uses $? 20:56:55 int main(void x) { ... } 20:56:58 fizzie, I would assume perl or shell 20:57:17 it uses $ at the end of words 20:57:17 elliott: that troll program is beautiful 20:57:26 Vorpal: It's a typical suffix for strings. 20:57:31 ah 20:57:46 Vorpal: See "Data-Type Suffixes" at http://gamma.zem.fi/~fis/qbc.html#QEw4MDA4 20:57:49 ais523: it's great because every time you think of something to nitpick about it, a far more glaring problem comes up 20:57:51 Vorpal: In some dialects, they're optional. 20:57:54 some BASIC impls had 26 float variables, 26 int variables ending in %, and 26 string variables ending in $ 20:58:19 elliott: OK, you're right 20:58:21 ais523: "that prototype for main is wrong" "main can't call itself" "you... you're passing a void argument in. what is wrong with you." 20:58:23 elliott, pretty sure that won't compile to to main() not returning int? 20:58:26 I only saw two, but when you said that, I saw a third 20:58:32 what were they? 20:58:43 Or is that C89 and C++ only? 20:58:50 inner call to main has the wrong number of args, but that isn't actually a problem 20:58:53 because it doesn't take args 20:58:58 I just assumed it did because the outer call did take args 20:59:00 Vorpal: that's one of the many things wrong with it, yes 20:59:04 ais523: haha 20:59:08 main can have any signature you want on non-posix i thing 20:59:10 ais523: fix(main); 20:59:12 oren: no 20:59:23 oren: on freestanding, it can have any signature that the impl supports 20:59:30 it's true that you can use whatever main signature you want in freestanding up to the impl, IIRC 20:59:33 yeah 20:59:35 on hosted, there are only three portable signatures, I think 20:59:38 most platforms aren't freestanding, though. 20:59:42 depending on how you count 20:59:50 elliott: gcc -ffreestanding works on a bunch of platforms 20:59:55 on Windows iirc void main works 21:00:00 ais523: void main(void) { void *x = &main(*x); } 21:00:00 ais523: "what the impl supports" works on hosted too, because it implies "not portable". 21:00:05 oren: it "works" on gcc, but it complains 21:00:06 some BASIC impls had 26 float variables, 26 int variables ending in %, and 26 string variables ending in $ <-- oh god, so limited 21:00:08 ais523: void main(void x) { x = main(&x); } 21:00:17 this program is wonderful, it has so many great variations 21:00:24 err, x = main(x); } rather 21:00:28 *{ x = 21:00:42 On a hosted implementation, "[main] shall be defined [in the two portable ways]; or in some other implementation-defined manner." 21:00:44 elliott: I'm actually disappointed that you can't declare void variables for their addresses 21:00:54 (C11 5.1.2.2.1p1) 21:01:00 fizzie: hmm, is the environ argument unportable? 21:01:03 Yes. 21:01:03 -!- GeekDude has changed nick to GeekAfk. 21:01:05 I'm also disappointed that you can't portably malloc 0 or realloc 0 21:01:07 ais523: I think gcc supports "extern void x;" or something? 21:01:13 and then you can use a linker script to give it an address 21:01:15 Also there's a really silly related argument there. 21:01:34 float main(float argc, char(*argv)()){return main(M_PI,&argv())} 21:01:35 elliott, isn't there yet another argument after environ? 21:01:42 elliott: hmm, can you do "struct foo; extern struct foo x"? 21:01:44 Some ELF vector or something 21:01:45 I don't see any reason why that wouldn't work 21:01:51 apart from the missing semicolon 21:01:54 Or is that _start only? 21:02:00 ais523: maybe? might x be an incomplete type? 21:02:02 *have an 21:02:05 -!- diginet has quit (Quit: diginet has quit!). 21:02:11 x /does/ have an incomplete type 21:02:13 but it's extern 21:02:13 right 21:02:14 I guess that's fine 21:02:18 float main(float argc, char(*argv)()){return main(M_PI,&argv());} 21:02:23 hmm, I wonder what kind of error message you get for sizeof on that 21:02:31 `! c int main() { printf("%d\n", sizeof(*stdout)); } 21:02:37 Does not compile. 21:02:40 thanks 21:02:41 `! c float main(float argc, char(*argv)()){return main(M_PI,&argv());} 21:02:42 thanks a bunch 21:02:43 Does not compile. 21:02:45 -!- diginet has joined. 21:02:46 `runc int main() { printf("%d\n", sizeof(*stdout)); } 21:02:48 No output. 21:03:06 The exact text is: "It shall be defined with a return type of int and with no parameters: int main(void) { /* ... */ } or with two parameters --: int main(int argc, char *argv[]) { /* ... */ } or equivalent;" -- and some people, who want to argue against a *definition* of "int main() { ... }" hinge their reasoning on the fact that they parse the "or equivalent" to apply only to the argc-and-argv form, based on where it is in the text. 21:03:23 elliott: there was an argument about this in comp.lang.c semi-recently 21:03:26 ais523: in fact, "extern struct foo x;" works 21:03:28 without the struct declaration 21:03:48 excellent! 21:03:52 apparently, C99 requires sizeof(FILE) to work, and C11 doesn't, but nobody noticed until the thread started because the definition of FILE hadn't changed at all 21:03:57 rather, they redefined some of the words in it 21:03:59 elliott, surely if you try to do something with x though it won't? 21:04:04 (in the definition, that is) 21:04:12 % cat hmm.c 21:04:13 extern struct foo x; extern struct foo y; int main() { return &x == &y; } 21:04:16 Either that or get a link error depending on what 21:04:17 % clang -Wall hmm.c && ./a.out; echo $? 21:04:17 0 21:04:18 and everywhere else in the standard, they updated things to the new definitions, but not with FILE 21:04:20 Which is patently silly, because there's a footnote explaining that the "or equivalent" means stuff like "int can be replaced by a typedef name defined as int" and it makes no sense that "typedef int q; q main(void) { ... }" would not be legal, but "typedef int q; q main(q argc, char **argv) { ... }" would. 21:04:22 taking its address woudl work 21:04:28 I guess that program is allowed to compile and do that? 21:04:30 nice gotcha that they're equal 21:04:44 % clang -Wall hmm.c && ./a.out; echo $? 21:04:44 0 21:04:48 The fuck 21:04:52 How? 21:04:55 that means they aren't equal 21:04:57 What does GCC do? 21:05:06 % cat hmm.c && clang -Wall hmm.c && ./a.out 21:05:06 #include 21:05:06 extern struct foo x; extern struct foo y; int main() { printf("%p %p\n", &x, &y); } 21:05:09 Undefined symbols for architecture x86_64: 21:05:10 it optimizes out the whole thing 21:05:12 hah 21:05:14 if they were equal, it'd have returned 1 21:05:15 ais523: err, right 21:05:23 I like how it starts breaking as soon as I try printffing it 21:05:29 I think oren's explanation is right, though 21:05:33 the &x == &y got optimized out 21:05:35 yeah 21:05:40 then there were no undefined symbols left 21:05:58 inb4 oren whines about compilers 21:06:09 there was a separate argument on comp.lang.c semi-recently about compilers being inconsistent as to whether two pointers were equal 21:06:09 i'm done with that 21:06:10 bonus, this wasn't with -O 21:06:22 ais523: yes, I remember you mentioning something like that 21:06:36 it was code of the form "uint32_t x; uint32_t y; return (&x)[1] == &y" 21:06:44 fizzie: hah 21:06:50 fizzie: do people really advance that argument in seriousness? 21:06:53 and various variations on that 21:06:59 -!- diginet has quit (Client Quit). 21:07:01 elliott, does clang optimize by default then? 21:07:11 order of things on stack is undefined 21:07:20 oren: yes 21:07:28 however, the point is, if the two pointers randomly happen to be equal 21:07:30 when in doubt assume C the code never happened 21:07:30 Vorpal: the results are the same for -O0. (I don't think it does, no.) 21:07:35 Hm 21:07:37 which is quite likely for either that way round, or for y and x 21:07:38 -!- diginet has joined. 21:07:46 elliott, So what does GCC do with that exact program? 21:07:49 can they subsequently stop being equal if you use them in a different expression 21:07:59 oren: btw, C has a rule that specifically destroys any kind of implementation guarantees or machine correspondence you might expect, on purpose 21:08:02 it's called the as-if rule 21:08:15 elliott, anyway surely x and y can be equal? Depending on the linker script 21:08:26 the compiler is allowed to do absolutely anything to a program and compile it in any way whatsoever, with any semantics and any strategy, so long as the observable effects (as specified by the standard) are the same 21:08:30 So that is a premature optimization 21:08:36 implementations don't actually have to do what the rest of the standard says 21:08:37 Well not in the usual sense 21:08:49 I like the as-if rule 21:08:54 elliott, heh nice 21:08:57 they just have to do things that are indistinguishable from that when considering the operation of the program by a definition that excludes things like whether some random memory is zero or not 21:08:58 and don't understand why any language /wouldn't/ want it 21:09:13 however, the more that's specified by the language, the less the as-if rule can do 21:09:14 ais523: I like it too, but it's further proof that C is unsuitable for what people try to use it for 21:09:24 (the problem is more that the definition of equivalence is too loose for that) 21:09:27 (rather then the as-if rule itself) 21:09:33 -!- Sprocklem has joined. 21:09:43 elliott: well it depends on what you use it for 21:09:46 (a language focused on safe crypto would include timing and other such side-channels as part of its as-if rule, making it rather less useful for compilers) 21:09:49 I don't think it's a terrible language for writing kernels, for instance 21:09:52 elliott: is C suitable for anything 21:09:59 oren: not really 21:10:02 k 21:10:08 it's possible to do better, but there haven't been many attempts to do better 21:10:11 elliott: I've seen it used. A more credible argument is perhaps that "or equivalent" does not apply, because while a definition with an empty () is defined merely to "specif[y] that the function has no parameters", but that's nowhere explicitly stated to be "equivalent" to a (void). (And indeed, they're inherently different forms.) 21:10:12 it's suitable for the 70s 21:10:35 -!- GeekAfk has changed nick to GeekDude. 21:10:37 I'm really happy at Rust partly just because it's actively trying to displace C in fields where C is traditionally good 21:10:48 really, C is suitable for things that are already written in C that are not about to be rewrited, and things for which there is not yet a production-ready alternative to C 21:11:01 those make up a huge subset of programs just by themselves, though 21:11:12 fizzie: isn't (void) and () the same by C99 or something 21:11:12 Heh 21:11:17 elliott: no, they're the same by C++ 21:11:20 they're different in C89 due to some kind of varargs bullshit or something I think 21:11:22 is there a C alternative that interoperates with C libraries? 21:11:23 ais523: ah, okay 21:11:24 -!- SopaXorzTaker has quit (Ping timeout: 265 seconds). 21:11:27 they're different in C99 and also in C11 21:11:34 and the difference is default argument promotions 21:11:42 oren: rust, ocaml, haskell, ats, d, whatever 21:11:43 ais523: They're not that much different, when you're talking about definitions. 21:11:52 it really depends on what you're doing, what counts as an "alternative" 21:11:59 ais523: In a declaration that is not part of a definition, they're indeed quite different. 21:12:03 most programs written in C don't need to be written in a language anywhere near as low-level as C 21:12:22 brb learning rust 21:12:26 some people even still write entire mundane end-user applications in C! 21:12:28 well my problem is that most high-level languages suck too 21:12:32 even ones that require high levels of security! 21:12:44 ais523: I'll take programs written in them over C running on my box any day 21:12:47 ais523, um doesn't C11 require prototypes already?!? 21:12:59 Vorpal: No. 21:13:02 so here's a question to you (that I've been thinking a bunch about): if you rewrote NetHack, what language would you rewrite it in? 21:13:02 Wow 21:13:13 "An empty list in a function declarator that is part of a definition of that function specifies that the function has no parameters. The empty list in a function declarator that is not part of a definition of that function specifies that no information about the number or types of parameters is supplied." (C11 6.7.6.3p14) 21:13:18 I'm annoyed that I can't find the gensym thing 21:13:32 maybe they removed it 21:13:34 maybe the gcc people went sane 21:13:38 ais523, the problem is using ncurses from anything but C/C++ is fucking annoying. So is there an alternative to ncurses? 21:13:41 what? gensym is useful 21:13:44 Whether the former case is "the same" as foo(void) is up to your definition of "the same". 21:13:53 Vorpal: you do realise I /wrote/ an alternative to ncurses, right? 21:13:59 ais523: does it need to be as portable or as fast? 21:14:01 although, due to being an alternative to ncurses, it has mostly the same API 21:14:16 ais523, nope I didn't know, give me a link 21:14:17 I want this 21:14:23 i.e. do I still need to be able to run it on my commodore 64 at full speed :P 21:14:35 elliott: it needs to run on all commonly used OSes but not really niche ones, and it has to be as fast as the original from a user's point of view, but if it's orders of magnitude that doesn't matter so long as it's not human-perceptible 21:14:50 ais523: it depends on my mood then, I guess 21:14:52 -!- SopaXorzTaker has joined. 21:14:54 (all this is negotiable, but if you want a starting point) 21:15:03 ais523: picking a favourite language is hard but I don't see any reason to discard any of them 21:15:13 this isn't so much favourite language, as most appropriate language 21:15:14 maybe an ML family language, maybe learn rust or something 21:15:18 IMO, most of them would work 21:15:20 I think they're pretty much all appropriate 21:15:23 but none are really ideal 21:15:26 any memory safe language that supports a good level of abstraction 21:15:43 it would probably come down to "what language do I feel like playing with and getting to know better?" 21:15:49 this is what inspired me to start writing TCTOE, incidenally, which also isn't ideal due to being eso 21:15:58 I just tried to figure out what features I'd want that no existing language had 21:16:00 I'm convinced that C is pretty much the worst common language to write NetHack in :) 21:16:01 then, working out what those were 21:16:02 I still happen to like C 21:16:09 probably even C++ would be better 21:16:11 Another alternative is to write it in LLVM with macros 21:16:16 Although, LLVM doesn't have macros. 21:16:23 what, LLVM IR!? 21:16:31 Yes 21:16:33 decided to make an esolang with /just/ those features 21:16:35 Ouch 21:16:53 ais523: hmm, I haven't heard of TCTOE before, go on 21:16:55 LLVM IR is so phi. 21:17:03 elliott: I'm still working on it, it's an ais523 vaporware esolang 21:17:22 but luckily, the core mostly works designwise, just some of the details are giving me problems and I only have a vague idea how to impl it 21:17:28 ais523: I was asking for a description :) 21:17:30 shall I just pastebin what i have so far 21:17:39 might be easier than trying to describe over IRC 21:17:40 sure 21:17:58 http://sprunge.us/Wcbd 21:18:48 ais523, speaking of which, what happend to Feather? Gave up on it? 21:19:04 ais523, anyway what is this ncurses alternative? 21:19:16 Presumably it supports reading terminfo? 21:19:17 Vorpal: http://nethack4.org/blog/portable-terminal-codes.html to the last question 21:19:48 I hope you can guess why I didn't answer the others 21:19:53 and no, it doesn't use terminof 21:19:55 *terminfo 21:19:57 that's the whole point 21:20:30 Secretary of the Supreme Soviet, Georgiy Terminoff 21:20:37 -!- Patashu has joined. 21:20:50 *not a real person 21:21:37 ais523, oh? My problem with ncurses is the API, unprefixed lower case macros and crap like that 21:21:57 what's wrong with them? 21:22:02 sadly, this is the same because I wanted to be able to swap it out behind daniel_t's nethack interface without a lot of rewriting 21:22:05 oren: namespace pollution 21:22:25 isn't memcpy and crap also macros? 21:22:44 Vorpal: I've been considering putting a prefix on the identifiers in the ABI, then allowing a customizable or no prefix on the identifiers in the header 21:22:54 but I'm not sure that's technically possible in the C preprocessor 21:23:06 ais523: why wouldn't it be? 21:23:09 it is, it just needs a lot of directives 21:23:19 elliott: you need #define X Y when X is the result of a macro expansion 21:23:26 oh, for #defines too 21:23:29 no hope then 21:23:39 * of a token paste 21:23:39 ais523, well also it doesn't do what I need of ncurses. Which is basically ncurses with prefixed ABI and non-macro API so I can access it via FFI from a high level language 21:23:43 try not using cpp, then 21:23:46 perhaps you could do a wrapper function or the like 21:23:57 non-macro ABI may be possible, at least 21:24:03 most of the macros are thin wrappers anyway 21:24:09 ais523, I still want full 256 color support if the terminal has that and so on 21:24:21 I'm not interested in the replay feature for my needs 21:24:42 well, libuncursed doesn't do that (the 256 color support), but in my defence, curses doesn't really either 21:25:05 Vorpal: why not use a graphics library and sprites that look like letters 21:25:27 What and doing a GUI program? 21:25:34 Useless over ssh for example 21:25:42 ssh -XC 21:25:47 oren, the lag 21:25:59 Also it needs working X11 21:26:10 Which may not exist on the remote server 21:26:11 oren: libuncursed can also do that (the graphics library + sprites) 21:27:10 hmm ok what about using your own client server model 21:27:42 oren, well, that still assumes a working X11 on the local end. 21:27:53 no it doesnt? 21:28:15 I still need to deal with ncurses at the local end? 21:28:17 you just write the whole thing in Python on server and Javascript 21:28:30 oren, what I'm looking for is a general purpose ncurses replacement that has a sane API 21:28:40 For use in all my projects 21:28:45 i have never heard of one 21:29:15 Which includes stuff running on machines without X, stuff written in high level languages where ncurses is a pain to use and so on 21:29:30 um, google says termbox? 21:31:03 Well that looks limited 21:31:30 Also it is python?? 21:31:44 i dunno man 256 colors is really the point at which i'd just write a graphics program 21:31:45 Wait no, the build system is 21:32:09 oren, I also want the terminal mouse support thing if it exists 21:32:20 Like with xterm or a linux vt with gpm 21:32:46 really how many real programs even use 256 colors? 21:32:51 ais523, does your library support that btw? 21:32:57 ais523, I assume not? 21:33:20 Vorpal: mouse? it supports mouse but with a different API to ncurses 21:33:27 and better one, IMO 21:33:38 basically, being mouse-sensitive is like a font style or a colour 21:33:51 and mouse-sensitive text is translated into a keypress of your choice when clicked 21:33:57 Ah ok, that is nice 21:34:13 including nonexistent keycodes, say if you want coordinates from a map directly 21:34:17 ais523 that is an amazing idea 21:34:19 ais523, so you can't get x,y though? 21:34:46 Just clicked area? 21:35:07 Vorpal: you can get x,y by using a different keypress for every square, if that's what you need 21:35:10 make one clickable area on every character on screen 21:35:14 different "keypress" 21:35:29 I also support right clicks and the mousewheel 21:35:30 ais523, can I tell key presses apart from actual key presses though? 21:35:42 not if you specify the same code 21:35:47 but you have a whole int's worth of codes to use 21:35:51 Ah 21:35:53 put the codes out of range 21:37:12 oh i see Vim has 256 color support 21:37:22 or rather can use it 21:39:09 ais523, what about setting the terminal title for X-based terminals? 21:39:20 I know gnome-terminal and konsole supports this 21:39:21 not supported yet, and I don't think you can do that portably 21:39:42 Ah 21:39:44 as in, not without producing junk on at least some terminals 21:40:10 ais523, why not do the replays pre-rendering instead? 21:40:27 I do, but postrendering is common in actual practice 21:40:32 so I wanted it to work 21:40:32 Ah 21:45:11 ais523, what about windows? Doesn't that cmd.exe work completely differently? 21:45:48 Vorpal: cmd.exe is not a terminal renderer, it runs /in/ a terminal, it isn't one 21:45:58 but the Windows terminal does work completely differently 21:46:03 uncursed has a separate backend for it 21:46:17 but the Windows terminal also has terrible performance, so I normally use the oren method of just rendering a terminal myself 21:46:26 ais523, ah, so that polyglot didn't work in the end then 21:47:00 ais523, if someone records cmd.exe it can't be replayed (assuming you can even record that) 21:47:25 Vorpal: the windows terminal's basically impossible to record 21:48:00 it's so separate from the rest of the system that Microsoft couldn't get drag-and-drop to work in it, at all 21:48:35 basically, it makes more sense to consider it part of the kernel than it does to consider it part of userspace 21:48:44 it isn't strictly part of the kernel, but it's that sort of distance from everything else 21:48:51 ais523, I have dragged and dropped paths into it and it worked, assuming it isn't running as admin, but drag and drop to programs running as admin doesn't work anyway 21:49:02 Vorpal: on XP? 21:49:08 ais523, oh, 7 21:49:14 oh 21:49:16 it shouldn't work on 7 21:49:21 maybe Microsoft finally found a way 21:49:44 It does, drag and drop a file into it and it works, assuming it isn't running with elevated privileges 21:50:30 ais523, why is it not a normal user space program? 21:50:50 because everything is 100% more complex on Windows than it should be 21:51:23 you won't believe how hard it is to accomplish this task: "wait for user input on standard input or incoming network packets on a network socket" 21:51:28 the GUI is still like half in the win32 subsystem right 21:51:36 not quite kernel code but not quite userspace either... 21:51:47 the console has its own subsystem, AFAIK 21:51:49 ais523: even with threads? 21:52:00 it's much easier with threads 21:52:05 that's the solution I used eventually 21:52:56 but the basic problem is that Windows has multiple equivalents of select() and they all only wait on a subset of waitable things 21:53:35 Heh 21:54:45 ais523, btw it turns out gcc as cross compiler is not quite the same as gcc as native compiler 21:55:19 specifically __attribute__((weak,visibility("hidden"))) doesn't work if it is a cross compiler. Which breaks lttng-ust 21:55:25 Just a fun fact 21:59:54 gah. http://lttng.org/ ... why does this little information take up 3 screens worth of space? 22:00:26 int-e: welcome to the new world of 'design languages'. 22:00:34 because graphic designers like to eat your screen 22:00:43 and your brain 22:00:51 I'm annoyed that styling is still normally done server-side 22:01:00 maybe I should see if I can just turn off CSS altogether in the browser 22:01:03 like I did with JS 22:01:08 Heh 22:01:17 use w3m 22:01:22 well it is basically kernel and user space low overhead tracing 22:01:36 Useful for real time system programming 22:01:39 (Which is my job) 22:02:05 I used it to debug a priority inversion last week for example. 22:02:36 they need to hire a better web designer 22:02:55 that site is very advanced but stillusgly 22:02:56 We have a really good proprietary program at work to analyze the trace logs 22:03:01 I do use w3m sometimes 22:03:06 Vorpal: the "documentation" page is a bit better, and with CSS disabled the information density is quite reasonable. Unfortunately, that destroys the diagrams on the page. 22:03:45 Heh 22:03:49 (with CSS we have a navigation bar on the side and it doesn't use the whole screen width ... I can almost excuse the latter but not the former.) 22:05:53 int-e, using the entire screen isn't always good, text is harder to read if it is too wide. That is one reason why you use multiple columns on paper. A bit harder to do that on a web page 22:06:33 i wish websites would let me be their pro-bono eeb designer 22:06:42 Vorpal: as I said I can almost excuse the latter. 22:06:57 Vorpal: But having the text not centered because of the navigation bar is annoying. 22:07:26 Vorpal: also I use windows; if the text is too wide I'll make the window smaller :P 22:07:58 int-e, what if the user is on a tablet? 22:08:06 (in landscape mode) 22:08:27 so many people run browsers fullscreen by default that web disgners forget that windows existed 22:08:28 Vorpal: What saddens me is that these low information density designs (I'm not back to the starting page) are also being used on pages who are targeted at programmers, people who 22:08:38 're used to dealing with lots of information. 22:08:57 int-e good point. 22:09:24 source code (in the best languages) has a lot of information density 22:10:00 and people usually don't put one statement every page 22:10:05 oren, I tend to use one window full screen on each monitor for the simple reason that I like my IDE and text editor and so on large. I generally have a terminal with several tabs on one monitor. Sublime on one display and a a browser / whatever on the third monitor 22:10:29 (Yes I use 3x 24" 16:10 displays) 22:10:34 -!- nycs has quit (Quit: This computer has gone to sleep). 22:10:57 i just down the font size when i want more density 22:11:28 I have been considering switching to a tiling WM 22:11:59 the first version on windows was one, i read that somewhere 22:12:10 and win8 is basically one 22:12:55 Actually http://lttng.org/features/ is not too bad (the oversized icons add little information, but at least there is some usefuly information there). But it should be the starting page. 22:13:26 oren, not a good one though 22:14:08 int-e, anyway I don't care about the page design. I care that it produce useful trace data 22:15:28 Vorpal: I'm not blaming you. I simply wanted to figure out what lttng *is*, and that lead me to the website, which at first didn't tell me anything useful at all. That's the complaint. 22:15:43 let me just say that I find the lttng site far more readable and accessible for me than the average programming tool's website. 22:16:15 because you like it, or because the average programming tool's website is even worse? 22:16:34 also that page is using some sort of common framework, I think 22:16:38 I've seen many that look almost exactly like it 22:16:54 ais523: just because it is better than average, for me. 22:17:04 yeah the real problem is these cookie cutter designs that everyone slaps up 22:17:07 int-e, well there is always wikipedia 22:17:12 [wiki] [[Special:Log/upload]] upload * Tastyfish * uploaded "[[File:Flow chart math library example.png]]" 22:17:22 so you don't want pages to have custom styles but you also don't want them to have standard styles? 22:17:38 github, that's what it reminds me of 22:17:44 Vorpal: true. didn't think of that, wikipedia is a secondary resource. 22:17:50 or you want them to have standard styles as long as they're how browsers happened to render things circa the 90s that is kept for backwards compatibility 22:17:56 int-e, it tends to show up in google results 22:18:00 ais523: I think it's bootstrap or something. 22:18:01 I don't mind the concept of standard styles, I just want control over which standard style it is 22:18:02 it doesn't look like github 22:18:04 github is much less flat 22:18:05 we want the styling to be user-specified hth 22:18:20 I just loaded github to compare 22:18:23 -!- Sprocklem has quit (Ping timeout: 264 seconds). 22:18:26 int-e, anyway for my particular needs lttng is far superior to systemtap, perf, ftrace and so on 22:18:35 they look similar in style, but github's breaks under noscript and lttng's doesn't 22:18:39 so they must be different frameworks 22:22:35 Fuck pulseaudio 22:24:40 I need to do "pactl load-module module-bluetooth-discover" every time to get my bluetooth headset to be work. And then manually enable the output 22:24:47 Why does it need to be so complicated 22:25:06 Vorpal: I need to do "sudo killall pulseaudio" to get sound output to work at all 22:25:12 ouch 22:25:12 it's fine after I've killed it and it's automatically reloaded once 22:25:22 so I'm guessing a missing boot-time dependency or similar 22:25:29 Is it running as user as opposed to root then? 22:26:13 audio on linux has always been a trainwreck 22:26:21 it's better now 22:26:27 not really 22:26:28 I guess it's running as not-me, because I need sudo to kill it 22:26:52 ais523: can't you uninstall pulseaudio... 22:27:02 int-e: well pulse is handling my sound right now 22:27:09 killing it just causes the process to restart 22:27:13 but in a way that actually works 22:27:34 (I have done that, not looking back. Plain alsa works fine for me.) 22:28:06 And bluetoothd crashed... 22:29:15 (Otoh I'm not using any USB or Bluetooth or whatever devices; the sound setup is static, always going through the same audio device(s).) 22:29:58 -!- azazel_ has joined. 22:30:09 -!- azazel_ has changed nick to Solace. 22:30:31 my dad says he once had to compile alsa 10 times befroe it actually worked 22:30:47 Heh 22:30:49 Your dad sounds awesome 22:30:55 presumably not with the same setup 22:31:02 Solace, agreed 22:31:35 ais523, some issues... I swear recompiling it on a configuration you tested earlier suddenly works... 22:31:41 [wiki] [[Flow chart]] http://esolangs.org/w/index.php?diff=41520&oldid=41460 * Tastyfish * (+749) 22:31:44 he says it was different build options. back then autodetecting your hardware was... screwed 22:31:51 Not with alsa as such 22:32:26 if it's any help, I had severe audio problems with early windows XP 22:33:11 Ok so like i want to be able to actually know how to use haskell, but im a bit lazy also any recomendations on a new language i should try? 22:33:21 I never had issues with jack on linux. But I never used it with bluetooth so not sure 22:33:40 my problems with winXP were purely a result of downloading and running any damn thing 22:33:59 Solace: Did you try learning Forth programming, or 6502 assembly language programming? 22:34:09 Solace: esme 22:34:33 Solace: racket 22:34:46 no wait, heresy 22:34:49 ais523, what is NHGPL? 22:34:51 no i havent tried learning those. Do i need any skiol requirements to learn them? 22:34:52 Solace: what sort of languages do you know atm? 22:34:59 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 22:35:14 not sure what skills are required to learn esme, but I certainly don't have them 22:35:18 if you want to learn Haskell but your thought processes are too far from it, I'd recommend OCaml as something that has the less controversial half of Haskell's features while remaining vaguely familiar 22:35:26 Vorpal: typo for NGPL, NetHack's license 22:35:36 (I think NHGPL is a better name, but NGPL is "official") 22:35:37 ais523, so what is NGPL? 22:35:46 What is the extension to GPL 22:36:13 it predates GPL 22:36:22 it's the Bison license with one word changed 22:36:35 Java, C, Bash, Lua, XML, And python 22:36:36 I'm not familiar with the bison license either 22:36:38 GPL should be a programming language 22:36:40 :/ 22:36:44 I just want a harder thing to learn 22:36:45 annoyingly, I haven't been able to find a copy of the Bison license to find out which word it is 22:36:49 but IIRC it was mostly irrelevant 22:36:51 :[ 22:36:55 Solace: I recommend OCaml, then 22:37:04 ais523, so what sort of license is it? 22:37:06 Ok ill go find it 22:37:12 Vorpal: the Bison license is basically the version of GPL before GPL1 22:37:17 the GPL was based on it 22:37:44 Heh 22:38:03 but the problem is, Bison doesn't use it any more, and so the only reason to keep it around is historical interest 22:39:56 ah 22:42:52 -!- boily has joined. 22:48:18 I am going to see Riot: Christmas Edition. 22:50:11 pkill -9 firefox 22:50:15 goddamnit 22:52:11 What is pkill 22:52:38 killall with different option names 22:52:59 Cant you just have it close background/applications after its not used for like 5 min 22:53:56 Also im sad today ;( 22:55:38 me too 22:55:39 firefox basically starts freezing my computer every 8 hours 22:56:16 What why?! 22:56:54 Also one of the servers i ran off of was shut down cuz i didnt pay this month ;-; i was gonna do it 23:21:04 -!- oerjan has joined. 23:22:54 `date 23:23:02 Fri Dec 19 23:21:53 UTC 2014 23:24:13 `date 23:24:14 Fri Dec 19 23:23:06 UTC 2014 23:24:56 @tell Gregor the codu log clock is about a minute late (curiously HackEgo is unaffected) 23:24:56 Consider it noted. 23:26:24 well i guess not that curious, they are different servers 23:26:47 didn't you already tell him that 23:26:55 i don't think i used @tell 23:27:04 also i didn't check it properly then 23:28:59 -!- S1 has joined. 23:30:26 what is tell? 23:30:50 lambdabot's messaging service... 23:31:17 isn't irc a messaging service? 23:30:47 so it hold the message and repeats it later? 23:30:55 Not really 23:31:00 irc's not very reliable for people not physically present 23:31:10 uh... 23:31:11 lambdabot saves the message for later 23:31:17 they might ping out, not bother to check old backlogs... 23:31:20 I *have* talked to physically present people on IRC, but mostly not. 23:31:26 oh, I guess you mean physically present at their computers. 23:31:31 yes :P 23:31:41 I've talked to physically present people on IRC a lot 23:31:46 I've talked to people in the same real-life room over IRC, but mostly when there was a reason not to make audible noise 23:32:00 and experience has told me that Gregor tends to be away for longs periods, especially in weekends 23:32:00 I have a house IRC channel 23:32:09 AOL IM is what we used in high school 23:32:15 for studyperiods 23:32:57 is AIM still available? 23:33:32 ais523: You can use sign language not make noise even not making noise of typing on the computer. 23:33:44 zzo38: that requires both people to know sign language 23:33:47 Or if you can't use sign language, writing on the paper 23:34:08 don't let teacher catch you passing notes 23:34:57 shachaf: funded 23:35:05 Some people have passed notes by using a calculator link cable, but then someone might trip over it. 23:36:06 oh yeah i remember those ridiculous TI calculators! 23:36:20 like why not just use a computer?! 23:36:28 *-s 23:36:36 what _is_ with my spelling these days... 23:37:03 scrwe spling! 23:37:07 A computer is certainly faster but the calculator is more portable and will turn on more quickly than most computers, the battery also last longer. 23:37:34 I have a TI-92 calculator. 23:37:46 zzo38: good point about the battery and startup time 23:38:04 nowadays do they at least have color screens? 23:38:13 Sgeo: is there a celebration? 23:38:17 ^celebrate 23:38:17 \o| c.c \o/ ಠ_ಠ \m/ \m/ \o_ c.c _o/ \m/ \m/ ಠ_ಠ \o/ c.c |o/ 23:38:18 | c.c.c | ¯|¯⌠ `\o/´ | c.c.c | `\o/´ ¯|¯⌠ | c.c.c | 23:38:18 |\ c.c >\ /´\| | /< c.c /| | /`\| |\ c.c /< 23:38:19 /'\ (_|¯´¯|_) 23:38:19 (_| |_) 23:38:19 -!- AndoDaan_ has joined. 23:38:29 TI-92 doesn't have a color display, at least. 23:38:35 But I think some do. 23:38:43 * oerjan swats AndoDaan_ for ruining myndzi's graphics -----### 23:39:26 for me it is full of yen signs 23:40:14 -!- AndoDaan has quit (Ping timeout: 245 seconds). 23:40:18 A color display would be helpful for plotting multiple functions at the same time, you can tell the difference by colors; it also help for telling the difference of the data and the axis, and possibly some kinds of game programming might also be help by color graphics too. 23:42:23 TI-92 is capable of doing 3D graphics; if you have a color display then possibly it can even be made to work by colored glasses red and blue. 23:43:08 so it is like a tiny matlab! and its syntax can't possibly be any worse than matlab 23:44:00 It does 3D graphics pretty slowly though 23:44:10 so it is like matlab 23:45:08 or at least like the version of matlab i am familiar with 23:46:11 They made a "TI-84 Plus C SE" with a color screen, yes. 23:50:26 (It is an upgrade of the "TI-84 Plus SE". I think it's the only color screen in the series so far.) 23:50:33 does it cost less than matlab? 23:50:56 or is it comparable 23:51:31 why does wikipedia have all information on a product except its price? 23:52:18 Because who would keep that up to date? Anyway, yes. 23:53:42 MATLAB individual license is 2000/500 eur (normal/academic), the calculator is around 120 maybe. Depends on where you get it. 23:55:46 I wonder if I should get the free MATLAB now that I'm still employed by the university for a few more days. I hear it'll keep working for a year or two. 23:56:01 matlab stinks why bother 23:57:01 -!- AndoDaan_ has quit (Ping timeout: 250 seconds). 23:57:03 wow compiling the rust compiler is taking a long time 23:57:03 It stinks less than Octave in some contexts. 23:58:17 well actually it's about average for a large C++ program 23:58:31 (And also sometimes less than some other comparable tools, like SciPy. Depending, of course.) 23:59:58 -!- GeekDude has joined. 2014-12-20: 00:00:13 -!- GeekDude has quit (Changing host). 00:00:14 -!- GeekDude has joined. 00:00:46 Oh, and the student MATLAB license is only 35/69 eur, so maybe the calculator isn't unequivocally cheaper. 00:00:50 llvm[4] what does the 4 mean? 00:04:17 Make recursion depth, maybe. 00:04:30 it's the third element of llvm 00:04:34 er 00:04:34 fuck 00:04:35 wow 00:04:37 owned myself 00:05:03 nice off-by-two error 00:05:10 quick somone make a language where all arrays are two based 00:05:23 oerjan: ...is that a double joke 00:05:45 -!- spiette has quit (Ping timeout: 258 seconds). 00:05:58 elliott: if llvm[0] is the first element, then llvm[4] is the fifth, surely 00:06:31 ... 00:06:32 right. 00:06:33 no llvm[0] and llvm[1] are undefined behaviour. the array begins with llvm[2]. 00:06:34 wow. 00:06:36 I'm useless. 00:06:43 oren: actually 4 isn't an integer in C 00:06:51 only 0..3 and 5..72 are defined in the standard 00:06:55 anything else is a gcc extension 00:07:10 oren: Perl $[ = 2; hth 00:07:41 i think this is time to relink http://www.strangehorizons.com/2000/20001120/secret_number.shtml 00:07:52 OH YEAH! Perl is incredibly configurable. 00:08:31 It's not the only language where you can customize the array indexing base. 00:08:48 Sometimes you can do it per-array. 00:09:36 -!- shikhout has joined. 00:10:16 -!- shikhout has changed nick to Guest51583. 00:10:41 if it's the make recursion depth then i'm back at 3 levels deep. the inception has been planted 00:10:58 pascal had array int[3..5] or thereabouts 00:11:00 oren: have you read "recursive make considered harmful"? 00:11:23 iirc the 3..5 was a range type, you could give them names 00:11:24 no, but then i didn't write this code 00:11:39 i would never use recursive make anyway 00:12:10 oh and you could use character ranges 00:12:13 i would instead write a convoluted python perl shell abomination 00:12:44 haskell has arbitrary bounds too, except that's not actually statically typed 00:13:04 -!- shikhin has quit (Ping timeout: 264 seconds). 00:13:30 > Data.Array.fromList (3,5) [1,2,3] 00:13:31 Not in scope: ‘Data.Array.fromList’ 00:14:20 > Data.Array.listArray (3,5) [1,2,3] 00:14:21 array (3,5) [(3,1),(4,2),(5,3)] 00:14:37 cool 00:14:47 > Data.Array.listArray ((1,1),(2,2)) [1,2,3,4] 00:14:48 array ((1,1),(2,2)) [((1,1),1),((1,2),2),((2,1),3),((2,2),4)] 00:14:57 ummm... 00:15:05 * oerjan whistles innocently 00:15:29 how does it determine the ordering of the twodimensional points? 00:15:37 Ix type class 00:15:45 @src Ix 00:15:45 class (Ord a) => Ix a where 00:15:45 range :: (a,a) -> [a] 00:15:45 index :: (a,a) -> a -> Int 00:15:45 inRange :: (a,a) -> a -> Bool 00:15:45 rangeSize :: (a,a) -> Int 00:15:47 Some BASICs have 'DIM a(12 TO 34) AS INTEGER' or so. 00:16:16 > index ((1,1),(2,2)) (1,2) 00:16:17 1 00:17:15 also how does it know not to do (1,3) in that range? 00:17:27 > range ((1,1),(2,2)) 00:17:28 [(1,1),(1,2),(2,1),(2,2)] 00:17:48 @src (,) Ix 00:17:48 Source not found. You untyped fool! 00:17:53 @src Ix (,) 00:17:53 Source not found. That's something I cannot allow to happen. 00:17:55 bah 00:18:09 @src is so ad-hoc 00:18:30 probably the rangeSize tells it enough 00:18:49 hmmm i guess the rule is it is a rectangle? 00:20:13 funny how TCP/IP doesn't work if the target IP is wrong. 00:20:30 yeah funny dat. 00:21:09 oren: yeah 00:21:31 although my ghci doesn't have "range" for some reason 00:22:12 oren: it's in Data.Ix 00:22:46 and also exported from Data.Array 00:23:08 -!- ais523 has quit. 00:23:09 ah ok got it 00:23:23 -!- ais523 has joined. 00:23:57 sadly people seem to prefer the vector package (only 1d arrays) for efficiency reasons these days 00:24:20 there is also repa 00:24:44 Even with arrays, I only use 1d arrays if efficiency matters. 00:25:43 in C all arrays are just syntactic sugar for 1d arrays. 00:25:54 Also I shouldn't be allowed to run servers, my Apache configuration had bitrotted horribly. 00:26:14 oren: arrays of pointers to arrays, presumably 00:26:32 yeah you can do that but it's a separate type 00:27:01 the regular multidimensional arrays in C have restrictions so they can be reduced to 1D 00:27:03 oren: oh then i don't remember what you mean 00:27:34 like only the first size of an array can be non-constant 00:27:42 right 00:28:50 wow i couldn't figure out how to end ghci until I remembered ^D. 00:29:17 "GHCi, version 7.8.3: http://www.haskell.org/ghc/ :? for help" 00:29:51 hmm, the help "page" has grown long. :q(uit) quits. 00:30:23 hm what if you have char a[5][3], can you risk each char [3] subarray is aligned to 4 bytes? 00:30:36 I don't think so. 00:30:59 No, there are no gaps. 00:31:12 ok 00:31:19 fizzie: is it allowed for there to be gaps? 00:31:40 i assume fizzie wouldn't have formulated it that way if it were allowed 00:31:43 But a[1][4] is (ssh) undefined. 00:31:54 fizzie: do you happen to know where this is specified in the C standard? 00:32:28 wow rust is *still* compiling 00:32:35 int-e: It's very vague. There's an explicit defect report reply, though. 00:33:19 int-e: http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_017.html Q16. 00:33:28 it is undefined?? 00:33:38 int-e: i think ghci needs command-specific :help :( 00:33:42 int-e: "For an array of arrays, the permitted pointer arithmetic in subclause 6.3.6, page 47, lines 12-40 is to be understood by interpreting the use of the word ``object'' as denoting the specific object determined directly by the pointer's type and value, not other objects related to that one by contiguity. Therefore, if an expression exceeds these permissions, the behavior is undefined. For example, the following code has undefined behavior: int a[4][5 00:33:49 oh, I guess because a[m][n] is not (a[m])[n] 00:34:02 -- int a[4][5]; a[1][7] = 0; /* undefined */ Some conforming implementations may choose to diagnose an ``array bounds violation,'' while others may choose to interpret such attempted accesses successfully with the ``obvious'' extended semantics." 00:34:03 -!- Patashu has quit (Disconnected by services). 00:34:03 -!- Patashu_ has joined. 00:34:04 I was thinking it would have an obvious compositional equivalence to * and + 00:34:09 in which case it would be very surprising 00:34:20 bad syntax imo 00:34:45 fizzie: very weird to specify UB and then list possible implementation choices, as if it's implementation-defined behaviour 00:34:46 -!- madbr has joined. 00:34:55 all C syntax is bad 00:35:11 yes 00:35:35 elliott: Well, they're only human. 00:36:02 (Or at least likely so.) 00:36:10 fizzie: it would be funny if the C standard had examples in it that were UB, or something 00:36:13 (without intending to be) 00:36:33 I guess that's arguably one of the reasons the examples are non-normative. 00:36:44 oerjan: what's that language based on the reals 00:36:52 oren : how would you fix C syntax? 00:36:53 (arguably esoteric, but invented by mathematicians or computer scientists, not internet nerds) 00:37:21 http://www.wikihow.com/Make-a-Real-Language google is not helping 00:37:34 Make up the dictionary. It is best to type on Microsoft Word, that way more can be added. 00:37:37 madbr: by doing a[n,m] instead, and defning the semantics thereofmore sanely 00:38:04 elliott: i cannot remember 00:38:04 the semantics of 2D arrays are ok but the syntax is bad 00:38:10 C's array handling is sort of a mess 00:38:26 Tips: [...] Don't speak it around strangers, this is rude. 00:38:49 blum-shub-smale, that was it 00:39:07 oren : true... though I feel that's still a comparatively small mistake 00:39:11 fizzie: found it, 6.2.5.20 "An array type describes a contiguously allocated nonempty set of objects [...]" 00:39:28 it is annoying how it uses the vague "real function" 00:39:29 iä, blum-shub-smale 00:39:29 madbr: the more major mistake was the bitwise logics 00:39:41 int-e: Oh, you meant that part, not the "don't access beyond bounds of a subarray" part. 00:39:43 oh I'm looking at C99... 00:39:44 I guess you're meant to define the language by pasting the axioms of ZFC and the reals to show how functions can precisely be specified? 00:39:45 int-e: Sorry, misinterpreted. 00:40:07 err. no, it's the C11 draft all right. 00:40:08 ores: yes 00:40:40 fizzie: The out of bounds thing is interesting, too... 00:41:02 also i guess it would be better to have pascal-style strings 00:41:14 the C strings are inefficient 00:41:20 (I may or may not be asking about this because of my desire to produce [0,1]-indexed brainfuck.) 00:41:31 There are people (I'm looking askew at ##c) who insist that it's a mortal sin to use the word "multidimensional" in the context of C's arrays, even though the standard freely does that. (C11 6.5.2.1p3: "Successive subscript operators designate an element of a multidimensional array object." Footnote 142: "When several ``array of'' specifications are adjacent, a multidimensional array is ... 00:41:37 ... declared.") 00:42:11 fizzie : yeah that's... pedantic 00:42:31 < elliott> C's array handling is sort of a mess <-- I disagree strongly with "sort of" 00:42:44 elliott: surely you mean [0,2pi) with 2pi wrapping back to 0 00:42:59 coppro: that's sort of opinionated 00:43:13 int-e: I see what you did there 00:43:21 oerjan: you some kind of tauist? 00:43:22 :p 00:43:28 (okay, maybe. that's kind of cute.) 00:43:33 to be fair I'm not sure it's even possible to have much better array handling than C... all the tradeoffs are bad 00:43:44 coppro: "sort of" is kind of an intensifier for me... 00:44:22 elliott: oh. sarcasm? 00:44:27 elliott: hm? 2pi is where exp(ti) is periodic. you could also use {z\in C | abs(z)==1} 00:44:38 coppro: I mean C's array handling is just plain a mess 00:44:47 oerjan: it was a bad joke. 00:45:03 (i think i chose the worst possible notation for that last one) 00:45:35 elliott: yeah, ok, I can figure out the intended intonation now 00:45:38 it is just hard to see how to make a cute BF derivative out of it because specifying the function on the index you want to run as a ZFC term is kind of ridiculous 00:46:42 -!- ais523 has quit. 00:46:53 -!- ais523 has joined. 00:52:11 -!- Patashu has joined. 00:52:55 -!- Patashu_ has quit (Ping timeout: 250 seconds). 00:54:36 I have written how I would fix C without causing incompatibilities; if incompatibilities are allowed then more things can be fixed, such as less confusing syntax of types, and I would also include a few features of BLISS which I don't see anywhere else. 00:54:58 In BLISS a variable name is just treated as a constant which is the address of that variable. 00:56:26 zzo38 that is the sanest way. 00:56:36 in a low level language anyway 00:59:47 -!- AndoDaan has joined. 01:00:08 -!- Solace has quit (Quit: Connection closed for inactivity). 01:00:46 myndz got lucky, considering. 01:03:03 * oerjan swats AndoDaan for dismembering myndzi's nick too -----### 01:03:32 hellørjan. I see you're keeping in shape with the Swatter. 01:03:36 In BLISS a variable name is just treated as a constant which is the address of that variable. ← ALGOL works like that 01:03:37 @massages-loud 01:03:37 mroman said 9h 38m 18s ago: You might want to have a look at GADTs 01:03:37 mroman said 9h 37m 51s ago: https://downloads.haskell.org/~ghc/6.6/docs/html/users_guide/gadt.html 01:03:42 and possibly invented the practice? 01:03:43 See, and that's me not even trying not paying attention. 01:03:59 mroman: mrhelloman. indeed. 01:04:45 massages? MASSAGES? dammit! 01:04:52 hoilly 01:05:09 oren: you seem confused 01:05:13 mroman: ghc 6.6 docs... 01:05:27 boily: I suggest looking at GADT docs for a newer version than that if you do 01:05:37 Hey, are we sure that oren != oerjan? 01:05:43 @pun 2+2 01:05:44 4 01:05:49 AndoDaan: i'm pretty sure 01:05:52 AndoDaan: most definitely sure. 01:06:26 If you guys were me, that'd hardly be conclusive evidence. 01:06:26 elliott: I remember having watched a great GADT tutorial some time ago. it also discussed phantom types. 01:06:55 AndoDaan: I'm not you. you're not enough sane. 01:06:59 boily: mroman probably @told you that in response to you asking about where clauses in data declarations 01:07:02 since that's the GADT syntax 01:07:11 -!- Patashu_ has joined. 01:07:11 -!- Patashu has quit (Disconnected by services). 01:07:26 elliott: I had forgot a lot about gadts and suchlike. they subtly confuse me. 01:07:52 @messages-forte 01:07:52 Unknown command, try @list 01:07:57 (but then, with parallels to make with lenses and Scott encodings, it makes more sense.) 01:08:16 @massages-load 01:08:16 You don't have any messages 01:08:24 cool. 01:08:38 4veralone. 01:09:23 @tell oren hello me 01:09:23 You can tell yourself! 01:09:28 epic 01:09:32 I happen to like GADT it can help many purposes 01:09:46 @tell AndoDaan for a good time call 555-666-31415 01:09:46 Consider it noted. 01:09:50 do you want me to friendzone you. we can be in the friend zone together and send each other lots and lots of lambadbot massages 01:10:10 Is that's jenny's number? 01:10:24 nope 01:10:29 that's lucifer's number 01:11:03 got excited that i got a msg for a second. 01:11:13 4everAlone-1second 01:11:39 fake-devil-pi 01:12:16 fake-devil-piTimesTenThousand 01:12:23 For accuracy. 01:14:10 Any chess players/enthusiastic amongst you? 01:14:21 AndoDaan: zzo38's generated a ton of chess variants 01:15:11 Generated? 01:15:17 my favorite chess variant is checkers played with chess pieces. confuses everyone around you 01:15:34 Ha 01:16:05 I think that's the variant movie characters are always playing. 01:16:09 -!- ais523 has quit (Read error: Connection reset by peer). 01:16:32 -!- ais523 has joined. 01:16:42 AndoDaan: do you like xiangqi or shōgi? 01:17:03 trying to come up with a turing complete chess variants 01:17:15 it looks feasible but it might require multiple kings 01:17:28 madbr: hi! long time no see! 01:17:38 sup 01:17:40 I've learned them. Thought the idea of Shogi was really cool, but couldn't find opponents back in the day. 01:18:04 madbr: on an infinite board, I guess? 01:18:24 Well, each game starts with TWO kings, so... hth 01:18:34 chess with real number positions 01:18:44 I know how to play xiangqi and shogi 01:18:45 chess, on a 2D brainfuck tape that grows as needed... 01:18:51 But there are a lot of other chess variant game too 01:18:52 chess on ice 01:19:42 madbr: nearly holidays! 01:19:47 how's life on your end? 01:19:52 elliott: that would be cool. A piece must move the maximum distance it can move, in the direction chosen 01:20:25 oren: how does that work for pawns and captures? 01:20:59 hmm, you choose whther to move one extra space and capture, and pawns are assumed to have spiked boots. 01:21:34 similar knights jump so they don't slide 01:22:13 what about castling? if a king can castle to the king side, moving two spaces, can it also move only one space instead? 01:22:40 when you castle, the rook moves as far to the other side as it can. 01:22:57 uh... ok, but that wasn't the question. 01:23:02 boily : decided to take monday + tuesday off so already in xmas mode :3 01:23:20 hmm the king has spiked boots too. 01:24:07 madbr: nice ^^ 01:24:28 oren: should equipment be restricted to spiked boots only, or be more creative? 01:24:38 so he can choose how far to move. on the other hand maybe if you stop in front of a piece you can push them 01:24:44 oren: final question, about pawns; on their first move, assuming it's not a capture, do they get a choice whether they advance two spaces or one? 01:26:19 (actually I was assuming that "as far as possible" was with respect to the usual rules of chess, i.e. the slow pieces (pawn, king, knight) would still be slow, and now be allowed to move further than before.) 01:26:43 hmmm... maybe they should. 01:27:07 iow, only bishop, rook and queen would be affected. 01:27:20 yeah that's it. 01:27:55 i think knights are like dragoons from final fantasy: they move and attack my jumping 01:28:19 which leaves open the question for the few cases where a slow piece can move one or two steps in a particular direction. 01:28:41 that's why I asked about castling and the first forward move of pawns. 01:28:53 the slow pieces would probably still decide. 01:29:16 -!- S1 has quit (Quit: S1). 01:29:50 -!- callforjudgement has joined. 01:30:12 -!- AndoDaan has quit (Read error: Connection reset by peer). 01:30:15 ssehc, where you have to make valid moves in reverse to turn a checkmate position back into the initial one 01:30:19 that probably exists 01:31:09 who decides what piece was in a position when a piece is untaken? 01:31:49 -!- AndoDaan has joined. 01:33:42 -!- ais523 has quit (Ping timeout: 265 seconds). 01:33:54 -!- callforjudgement has changed nick to ais523. 01:34:27 actually, chessehc! you can freely take or antitake pieces. every valid game begins at a checkmate and ends at one. 01:35:04 wiat that would be ssechcess 01:35:30 chessech would end at the initial state 01:35:58 the winner is whoever's pieces spent the least time dead. 01:36:40 hmm no wait then the game might never end 01:38:32 I don't see how ssehc will end. A player can just leave one of her pieces in the home ranks of the opponent and refuse to ever un-move it. 01:38:49 maybe a cooperative game towards a nontrivial goal? 01:40:42 e.g. begin at a checkmate for white, end at a checkmate for black, but pass through a given state. 01:41:05 computation is a 0 player game 01:41:22 nondeterministic computation is a 1 player game 01:41:36 alternating computation is a 2 player game 01:42:04 Realtime 01:42:17 multiplayer computatin is physics. 01:45:17 -!- dianne_ has quit (Ping timeout: 245 seconds). 01:47:16 -!- dianne has joined. 01:54:35 -!- GeekDude has quit (Remote host closed the connection). 01:54:41 -!- tswett has joined. 02:06:18 -!- AndoDaan has quit (Quit: bbl). 02:09:46 -!- kcm1700_ has joined. 02:11:52 -!- kcm1700 has quit (Ping timeout: 250 seconds). 02:12:37 -!- tswett has quit (Quit: Colloquy for iPhone - http://colloquy.mobi). 02:14:02 -!- kcm1700_ has quit (Ping timeout: 250 seconds). 02:14:51 -!- kcm1700 has joined. 02:26:50 -!- boily has quit (Quit: P-ADIC CHICKEN). 02:36:05 -!- glguy_ has joined. 02:36:11 -!- glguy_ has quit (Client Quit). 02:47:42 -!- bb010g has joined. 02:56:49 itt https://en.wikipedia.org/wiki/Proof_game 03:21:38 -!- Guest51583 has quit (Ping timeout: 250 seconds). 03:23:46 -!- PinealGlandOptic has joined. 03:43:25 -!- GeekDude has joined. 03:45:09 -!- GeekDude has quit (Client Quit). 03:48:16 -!- GeekDude has joined. 03:57:31 @tell int-e i remembered where i'd seen such a monster before http://www.girlgeniusonline.com/comic.php?date=20121029 03:57:31 Consider it noted. 04:01:57 -!- AndoDaan has joined. 04:12:57 @tell int-e apparently they're called dreens 04:12:57 Consider it noted. 04:13:48 @tell int-e *-s 04:13:48 Consider it noted. 04:14:00 -!- copumpkin has joined. 04:19:55 -!- Solace has joined. 04:20:57 -!- Solace has changed nick to Spiffy. 04:21:17 Ugh i need to find a name to register 04:22:38 -!- contrapumpkin has joined. 04:25:40 -!- copumpkin has quit (Ping timeout: 264 seconds). 04:25:45 -!- contrapumpkin has changed nick to copumpkun. 04:25:50 -!- copumpkun has changed nick to copumpkin. 04:31:12 -!- nys has quit (Quit: quit). 04:32:29 -!- contrapumpkin has joined. 04:36:28 -!- copumpkin has quit (Ping timeout: 264 seconds). 04:39:24 -!- mitchs_ has quit (Ping timeout: 245 seconds). 04:42:02 -!- contrapumpkin has quit (Read error: Connection reset by peer). 04:51:38 -!- mitchs has joined. 05:03:42 -!- AndoDaan has quit (Ping timeout: 256 seconds). 05:03:50 -!- AndoDaan_ has joined. 05:09:35 -!- callforjudgement has joined. 05:10:05 -!- ais523 has quit. 05:14:13 -!- AndoDaan_ has quit (Ping timeout: 250 seconds). 05:14:41 -!- AndoDaan_ has joined. 05:15:39 -!- callforjudgement has quit (Read error: Connection reset by peer). 05:15:42 -!- scarf has joined. 05:15:57 -!- scarf has changed nick to ais523. 05:16:32 -!- AndoDaan_ has quit (Read error: Connection reset by peer). 05:23:18 http://esolangs.org/wiki/Cvlemar I'm guessing this isn't implemented. 05:26:00 There isn't any implmentation that I know of, anyways. 05:26:17 Although, there is supposed to be category to indicate if it is implemented or it isn't implemented. 05:26:32 -!- shikhin has joined. 05:26:55 -!- shikhin has changed nick to Guest9481. 05:28:29 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 05:37:44 -!- MDude has changed nick to MDream. 05:44:00 -!- copumpkin has joined. 06:07:19 -!- callforjudgement has joined. 06:07:22 -!- ais523 has quit. 06:12:09 -!- shikhout has joined. 06:12:31 -!- shikhout has changed nick to Guest26264. 06:14:57 -!- Guest9481 has quit (Ping timeout: 240 seconds). 06:36:22 -!- CrazyM4n has joined. 06:37:06 So I got windows installed 06:43:34 -!- callforjudgement has changed nick to ais523. 06:47:08 -!- ais523 has quit (Read error: Connection reset by peer). 06:47:14 -!- callforjudgement has joined. 06:57:36 -!- kcm1700 has quit (Read error: Connection reset by peer). 06:57:39 -!- kcm1700_ has joined. 07:00:59 -!- CrazyM4n has quit (Quit: Page closed). 07:03:58 -!- newsham has quit (Ping timeout: 258 seconds). 07:10:29 -!- supay has quit (Ping timeout: 258 seconds). 07:10:52 -!- skarn has quit (Ping timeout: 258 seconds). 07:12:01 -!- incomprehensibly has quit (Ping timeout: 258 seconds). 07:12:47 -!- Spiffy has quit (Ping timeout: 258 seconds). 07:12:52 -!- supay has joined. 07:13:03 -!- incomprehensibly has joined. 07:13:33 -!- drdanmaku has quit (Ping timeout: 258 seconds). 07:14:39 -!- Solace has joined. 07:15:39 -!- drdanmaku has joined. 07:16:14 -!- trn has quit (Ping timeout: 258 seconds). 07:29:49 -!- trn has joined. 07:33:31 -!- skarn has joined. 07:37:07 -!- newsham has joined. 07:49:16 -!- oerjan has quit (Quit: Nite). 08:11:52 -!- dts|pokeball has quit (Ping timeout: 264 seconds). 08:11:55 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 08:40:29 -!- mitchs has quit (Ping timeout: 265 seconds). 08:52:19 -!- mitchs has joined. 09:10:08 -!- Solace has quit (Quit: Connection closed for inactivity). 09:25:13 -!- AndoDaan has joined. 09:29:47 -!- AndoDaan has quit (Ping timeout: 265 seconds). 09:36:49 -!- mitchs has quit (Ping timeout: 250 seconds). 09:48:52 -!- mitchs has joined. 09:54:08 -!- scarf has joined. 09:56:22 -!- callforjudgement has quit (Ping timeout: 255 seconds). 10:04:02 -!- mitchs has quit (Ping timeout: 245 seconds). 10:15:57 -!- mitchs has joined. 10:44:37 -!- J_Arcane has quit (Ping timeout: 240 seconds). 11:18:43 -!- SopaXorzTaker has quit (Changing host). 11:18:43 -!- SopaXorzTaker has joined. 11:20:52 -!- mitchs has quit (Ping timeout: 264 seconds). 11:29:43 -!- J_Arcane has joined. 11:32:28 -!- mitchs has joined. 11:35:18 -!- madbr has quit (Quit: Pics or it didn't happen). 11:39:23 -!- scarf has changed nick to ais523. 11:46:41 -!- S1 has joined. 11:50:08 -!- ais523 has quit (Read error: Connection reset by peer). 11:50:17 -!- ais523 has joined. 12:06:52 -!- Patashu_ has quit (Ping timeout: 255 seconds). 12:11:57 -!- shikhin has joined. 12:12:21 -!- shikhin has changed nick to Guest11984. 12:14:56 -!- Guest26264 has quit (Ping timeout: 256 seconds). 12:28:05 -!- mitchs has quit (Ping timeout: 264 seconds). 12:32:33 -!- ais523 has quit. 12:39:29 -!- mitchs has joined. 12:53:34 -!- ocharles_ has quit (Excess Flood). 12:53:53 -!- ocharles_ has joined. 13:13:59 -!- mitchs has quit (Ping timeout: 245 seconds). 13:20:20 -!- boily has joined. 13:25:53 -!- mitchs has joined. 13:28:04 -!- mitchs_ has joined. 13:30:50 -!- mitchs has quit (Ping timeout: 244 seconds). 13:37:41 -!- mitchs_ has quit (Ping timeout: 264 seconds). 13:40:29 @metar LOWI 13:40:30 LOWI 201320Z 16005KT 100V180 9999 FEW020 08/05 Q1021 NOSIG 13:41:10 -!- Guest11984 has changed nick to shikhin. 13:41:17 -!- shikhin has quit (Changing host). 13:41:18 -!- shikhin has joined. 13:49:36 -!- mitchs has joined. 14:18:16 -!- mitchs has quit (Ping timeout: 255 seconds). 14:29:54 -!- mitchs has joined. 14:34:22 -!- mitchs has quit (Ping timeout: 240 seconds). 14:47:51 -!- GeekDude has joined. 15:25:13 * Sgeo only now learns of a Star Wars villain named Tarkin 15:25:26 Suddenly the name Tarquin makes much more sense 15:27:18 -!- S1 has quit (Quit: S1). 15:57:05 -!- drdanmaku has joined. 15:59:27 -!- hjulle has quit (Ping timeout: 245 seconds). 16:00:30 -!- hjulle has joined. 16:19:38 -!- jix_ has joined. 16:20:09 -!- perrier__ has joined. 16:22:31 -!- int-e_ has joined. 16:26:26 -!- quintopia has joined. 16:35:04 -!- variable has quit (Ping timeout: 255 seconds). 16:38:29 -!- GeekDude has quit (Ping timeout: 255 seconds). 16:41:49 -!- diginet has quit (Ping timeout: 255 seconds). 16:42:16 -!- b_jonas has quit (Ping timeout: 255 seconds). 16:43:10 -!- qlkzy has quit (Ping timeout: 255 seconds). 16:43:30 -!- quintopi1 has quit (*.net *.split). 16:43:30 -!- sebbu2 has quit (*.net *.split). 16:43:30 -!- jix has quit (*.net *.split). 16:43:30 -!- weissschloss has quit (*.net *.split). 16:43:31 -!- perrier_ has quit (*.net *.split). 16:43:31 -!- int-e has quit (*.net *.split). 16:43:32 -!- ocharles__ has joined. 16:43:32 -!- mitchs has joined. 16:43:32 -!- supay_ has joined. 16:43:32 -!- kcm1700_ has quit (Ping timeout: 245 seconds). 16:43:33 -!- InvalidC1 has joined. 16:43:34 -!- scounder has quit (Ping timeout: 265 seconds). 16:43:34 -!- ocharles_ has quit (Ping timeout: 265 seconds). 16:43:34 -!- KingOfKarlsruhe has quit (Ping timeout: 265 seconds). 16:43:34 -!- shachaf has quit (Ping timeout: 265 seconds). 16:43:34 -!- supay has quit (Ping timeout: 265 seconds). 16:43:34 -!- SopaXorzTaker has quit (Ping timeout: 265 seconds). 16:43:35 -!- Lymia has quit (Ping timeout: 265 seconds). 16:43:35 -!- coppro has quit (Ping timeout: 265 seconds). 16:43:35 -!- mroman has quit (Ping timeout: 265 seconds). 16:43:35 -!- boily has quit (Ping timeout: 265 seconds). 16:43:35 -!- nisstyre has quit (Ping timeout: 265 seconds). 16:43:36 -!- incomprehensibly has quit (Ping timeout: 265 seconds). 16:43:36 -!- InvalidCo has quit (Ping timeout: 265 seconds). 16:43:36 -!- supay_ has changed nick to supay. 16:43:36 -!- nyuszika7h_ has joined. 16:43:37 -!- ocharles__ has changed nick to ocharles_. 16:43:37 -!- incomprehensibly has joined. 16:43:37 -!- weissschloss has joined. 16:43:38 -!- supay has quit. 16:43:38 -!- G33kDude has joined. 16:43:41 -!- oren has quit (*.net *.split). 16:43:41 -!- drdanmaku_ has joined. 16:43:41 -!- fungot has quit (Ping timeout: 276 seconds). 16:43:41 -!- zemhill_ has quit (Ping timeout: 276 seconds). 16:43:42 -!- G33kDude has changed nick to GeekDude. 16:43:42 -!- diginet_ has joined. 16:43:50 -!- scounder has joined. 16:44:06 -!- shachaf has joined. 16:44:29 -!- Lymia has joined. 16:44:29 -!- Lymia has quit (Changing host). 16:44:29 -!- Lymia has joined. 16:45:01 -!- fizzie has quit (Ping timeout: 265 seconds). 16:45:02 -!- nyuszika7h has quit (Ping timeout: 265 seconds). 16:45:02 -!- lambdabot has quit (Ping timeout: 265 seconds). 16:45:03 -!- fizzie has joined. 16:45:04 -!- drdanmaku has quit (*.net *.split). 16:45:04 -!- mroman has joined. 16:45:18 -!- fizzie has quit (Changing host). 16:45:18 -!- fizzie has joined. 16:45:19 -!- coppro has joined. 16:45:30 -!- variable has joined. 16:45:42 -!- mitchs has quit (Ping timeout: 245 seconds). 16:45:44 -!- FireFly has quit (Ping timeout: 244 seconds). 16:46:03 -!- nisstyre has joined. 16:46:12 -!- zemhill_ has joined. 16:46:15 -!- FireFly has joined. 16:47:41 -!- oren has joined. 16:48:02 -!- b_jonas has joined. 16:48:09 -!- qlkzy_ has joined. 16:49:49 -!- lambdabot has joined. 16:50:26 -!- ocharles_ has quit (Changing host). 16:50:26 -!- ocharles_ has joined. 16:50:49 -!- incomprehensibly has quit (Changing host). 16:50:49 -!- incomprehensibly has joined. 16:51:10 -!- drdanmaku_ has quit (Changing host). 16:51:11 -!- drdanmaku_ has joined. 16:51:49 -!- variable has quit (Changing host). 16:51:49 -!- variable has joined. 16:51:51 -!- variable has quit (Changing host). 16:51:51 -!- variable has joined. 16:52:42 -!- kcm1700 has joined. 16:52:51 -!- KingOfKarlsruhe has joined. 16:54:50 -!- supay has joined. 16:57:39 -!- mitchs has joined. 16:58:33 -!- nyuszika7h_ has changed nick to nyuszika7h. 17:03:11 -!- sebbu has joined. 17:03:46 -!- sebbu has quit (Changing host). 17:03:46 -!- sebbu has joined. 17:06:42 -!- mitchs has quit (Ping timeout: 250 seconds). 17:14:15 -!- Lorenzo64 has joined. 17:18:40 -!- mitchs has joined. 17:21:38 -!- drdanmaku_ has changed nick to drdanmaku. 17:31:37 -!- MDream has changed nick to MDude. 17:38:09 -!- int-e_ has changed nick to int-e. 18:03:02 -!- oren has quit (Ping timeout: 250 seconds). 18:04:06 -!- oren has joined. 18:12:09 -!- shikhout has joined. 18:12:31 -!- shikhout has changed nick to Guest64038. 18:14:57 -!- shikhin has quit (Ping timeout: 240 seconds). 18:42:47 -!- oren has quit (Ping timeout: 245 seconds). 18:45:08 -!- Lorenzo64 has quit (Quit: Leaving). 19:20:15 -!- CrazyM4n has joined. 19:28:29 -!- Guest64038 has changed nick to shikhin. 19:28:35 -!- shikhin has quit (Changing host). 19:28:35 -!- shikhin has joined. 19:48:23 -!- nisstyre has quit (Changing host). 19:48:23 -!- nisstyre has joined. 20:06:13 -!- oren has joined. 20:17:30 -!- diginet_ has quit (Quit: diginet has quit!). 20:18:06 -!- diginet has joined. 20:24:59 -!- oren has quit (Ping timeout: 244 seconds). 20:26:16 -!- oren has joined. 20:37:36 -!- evalj has joined. 20:56:46 -!- Solace has joined. 20:57:06 So heresy is pretty gud 21:04:49 -!- scounder has quit (Changing host). 21:04:49 -!- scounder has joined. 21:22:14 Solace: the language? 21:23:04 Yes 21:23:32 :) Glad you like it. 21:23:37 Heresy and blasphemy! shoo's J_Arcane to prison 21:24:04 Its very smooth for me and pretty nice 21:24:26 (for (x in (range 1 to 100) with 0) (carry (+ x cry))) 21:36:24 -!- CrazyM4n has quit (Quit: Leaving). 21:36:59 -!- zzo38 has quit (Remote host closed the connection). 21:47:45 So hows ya'll doin' 21:58:40 im good 22:01:12 Thats good 22:01:24 ∞ + (−∞), (−∞) + ∞  22:03:29 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 22:05:14 -!- mitchs has quit (Ping timeout: 265 seconds). 22:10:57 > (1/0) + (-1/0) 22:10:58 NaN 22:12:59 -!- Patashu has joined. 22:17:02 -!- mitchs has joined. 22:18:37 How do i uncap max ram 22:23:25 Download more of it. 22:23:54 @google download more ram 22:23:54 http://www.downloadmoreram.com/ 22:23:54 Title: Download More RAM! 22:25:14 -!- GeekDude has joined. 22:39:28 -!- roasted42 has joined. 22:50:46 -!- mitchs has quit (Ping timeout: 250 seconds). 23:01:35 make a swap file? 23:02:06 (assuming you don't want to use all the ram AT ONCE) 23:02:31 -!- mitchs has joined. 23:14:35 -!- roasted42 has quit (Ping timeout: 272 seconds). 23:15:21 -!- roasted42 has joined. 23:17:19 -!- oerjan has joined. 23:23:13 -!- evalj has quit (Remote host closed the connection). 23:27:47 -!- mitchs has quit (Ping timeout: 245 seconds). 23:27:51 -!- oren has quit (Quit: Lost terminal). 23:30:05 'Because WebTV utilized strong encryption, upon launch in 1996, WebTV was classified as munitions (a military weapon) by the United States government and was therefore barred from export under United States security laws at the time.' 23:32:42 Suddenly the name Tarquin makes much more sense <-- heh i guess you didn't notice the accompanying star wars shoutouts either? :) 23:32:57 I noticed the obvious ones 23:33:03 But I don't really know Star Wars that well 23:37:10 -!- roasted42 has quit (Changing host). 23:37:10 -!- roasted42 has joined. 23:37:11 -!- roasted42 has changed nick to TheM4ch1n3. 23:39:23 those were some short logs today. 23:39:34 -!- mitchs has joined. 23:41:39 -!- roasted42 has joined. 23:41:41 -!- roasted42 has quit (Changing host). 23:41:41 -!- roasted42 has joined. 23:41:41 -!- TheM4ch1n3 has changed nick to Guest39057. 23:41:41 -!- Guest39057 has quit (Killed (sendak.freenode.net (Nickname regained by services))). 23:41:41 -!- roasted42 has changed nick to TheM4ch1n3. 23:42:35 Breeth in when looking at the green of plants, then out into crowds where people are looking where they are going, after a while you will notice something strange ... 23:43:01 go on 23:43:32 it is because the spirit of man "son of man", breathed and looked at plants 23:44:30 what strange thing will I notice? 23:45:00 contiousness gets like +seconds into the future, from boosting other peoples sight 23:45:17 spelling otoh takes a deep dive 23:47:17 * int-e misses fungot's voice of reason. 23:47:25 eek 23:49:46 oerjan: All I could remember about that Dreen monster was that it was an impressive fighter. I *thought* I had seen it in GG, but I couldn't pinpoint where. I also looked through Buck Godot (which is a bit shorter than the whole collection of GG strips), but they don't appear there ;) 23:50:12 int-e: there's also a wikia page, which has some more links 23:50:51 from back on the initial wulfenbach castle act 23:51:55 and also some information from the non-free books 23:54:03 -!- zzo38 has joined. 23:55:27 nice. 23:55:55 the time stop device is called a "take-five bomb", hmm. 23:56:12 i remember reading that too 23:56:31 although wasn't that a fan-invented name 23:58:06 I dunno. It's not attributed to the Word of God. 23:58:44 "Item has gained a fan name" <-- I guess you're right. 23:58:54 TheM4ch1n3: btw, your contributions are good but this channel is about programming so it might not interest you much 23:59:13 hasn't TheM4ch1n3 been here for a while 23:59:25 i think e should know what we're about by now 2014-12-21: 00:00:02 web comics, code golfing, Haskell, the many warts of C, category theory and esoteric programming languages. 00:00:04 I am a programmer, and sleepy atm ... 00:00:34 Also orthography and grammar. 00:00:43 sleepy atms are bad, they keep your money 00:01:15 same except without the sleepy part 00:01:19 And... I forgot the most important topic: puns. 00:01:31 int-e: you make this channel sound so much better than it actually is :p 00:01:43 elliott: you're welcome :P 00:01:52 elliott, you are atm? 00:02:18 yes, I'm an automated teller machine; I automatically tell this channel things 00:02:45 a web comic about code golfing in esoteric programming languages the category theory of the many warts of C 00:03:15 OK you can try to make such a comic? 00:04:02 Well, the main topic of this channel is esoteric programming but a lot of things can be discussed; of course, mostly the things listed there. 00:05:05 -!- TheM4ch1n3 has quit (Ping timeout: 244 seconds). 00:07:16 -!- roasted42 has joined. 00:12:01 -!- shikhout has joined. 00:12:22 -!- shikhout has changed nick to Guest31893. 00:14:52 -!- shikhin has quit (Ping timeout: 245 seconds). 00:19:50 -!- oren has joined. 00:23:31 does the nightly build of something mean they compile the whole project every night? 00:25:10 I don't know 00:25:41 because i compile most of my projects every few minutes when i'm working on them 00:25:48 Wikipedia says a nightly build is a neutral build done automatically 00:26:07 And, "a neutral build is a software build that reflects the current state of the source code checked into the source code version control system by the developers, and done in a neutral environment (an environment not used for development)" 00:26:42 ohhh... i get it. it's a clean build with nothing from previousbuilds 00:27:45 so they can know that the whole thing actually compiles, and doesn't just work on their system 00:28:44 Indeed. Now they know it works on one other system. 00:29:18 ha. yeah the rust source code doesn't compile on my system. 00:29:40 it takes all my memory and forces me to kill it 00:32:23 well they also know that it has all the source files and isn't just using a .o file that was left around... 00:32:23 [wiki] [[MNNBFSL]] http://esolangs.org/w/index.php?diff=41521&oldid=41506 * AndoDaan * (-64) /* External resources */ Live version. 00:32:23 -!- idris-bot has quit (Quit: Terminated). 00:32:23 -!- idris-bot has joined. 00:32:23 -!- idris-bot has quit (Client Quit). 00:32:24 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 00:32:50 fiendish 00:33:32 oerjan: yeah that's what i thought. well i'm trying to at least install the binaries now, we'll see if they work... 00:35:43 oren: out of curiosity, how much memory do you have? 00:36:00 not enough 00:36:11 oren: btw have you heard of swap 00:36:16 elliott: well that's true for everybody. 00:36:24 int-e: yeah but it's a very not enough 00:36:38 i have 2GB of memory and 2GB swap 00:36:41 like 1 or 2 gigabytes the last time this came up re: firefox's amazing incredible huge gigantic bloat that needs to be rlimited away, or something 00:37:11 oren: ah. ok, that's small nowadays. 00:37:15 i am running 64-bit linux 00:37:41 * int-e had to upgrade to 8GB because 4GB was too little for some stuff. 00:37:42 elliott already told me thats dumb 00:38:08 I have 16 gigabytes and I'd still kind of like more 00:38:15 it's enough but more breathing room would be good 00:38:27 64000 bytes should be enought for anyone 00:38:47 (this PC's motherboard can't handle more than 8 GB, unfortunately.) 00:39:13 i am on a cheap craptop 00:39:26 -!- idris-bot has joined. 00:39:28 poor lambdabot is confined to a 512 MB+512 MB swap VM. 00:39:52 -!- roasted42 has quit (Ping timeout: 240 seconds). 00:40:05 more RAM + bigger SSD is the finest luxury of computing 00:40:51 apparently rustc binaries install fine, i just can't compile them myself 00:41:31 not sure how that's surprising 00:42:00 -!- roasted42 has joined. 00:42:11 eventually i will buy a less crappy computer, like in a year or so 00:44:12 -!- drdanmaku has joined. 00:46:52 craptop is such a nice word 00:47:30 I thought the term was "netbook". 00:49:08 (I have one. I don't build software on it anymore. The last big thing I compiled was ghc 7.6.1...) 00:49:21 So apparently dark is faster than light since it carries no information and im done with physics forever 00:50:32 Solace: well it's not really an object... 00:50:44 Yeh 00:50:50 "Light thinks it travels faster than anything but it is wrong. No matter how fast light travels, it finds the darkness has always got there first, and is waiting for it." - Pratchett (via Google) 00:52:08 From "Reaper Man", hmm. 00:52:10 But in geometric terms the point when you close scissors gets to the end before the blades close so if you were to use really long (light year) sized scissor blades would the point still get there as fast 00:52:28 Gonna go eat 00:52:37 And back to heresy 00:52:56 Solace: that's absolutely nowhere _near_ the weirdest thing in physics. it doesn't really even need relativity or quantum mechanics 00:53:31 * int-e wonders whether "Solace" has any relation to "Quantum" 00:53:53 If you heat the head of a pin to the same point as the core of the sun it will kill every living thing in a 1000 mile radious 00:54:09 What int-e ? 00:54:47 Solace: apparently not. (There's that James Bond movie.) 00:54:49 the head of a pin? i'm not sure i buy that, needs some calculation... 00:55:09 15 billion kelvin 00:55:13 Is pretty hot 00:55:15 wat 00:55:18 How many fairies can dance on that head of a pin? 00:55:30 But what about plank temperature 00:55:30 i'm pretty sure the core of the sun isn't believed to be that hot 00:56:14 Solace: million, not billion 00:56:26 Sorry 00:56:35 I was like what 00:57:18 because i remember that fusion reactors are only millions, but they still have to be _hotter_ than the sun to compensate for lack of pressure. 00:57:26 Plank temperature is 141e^31 i think 00:57:30 -!- qlkzy_ has changed nick to qlkzy. 00:57:38 Planck? i forget how its spelt 00:57:55 The unit of measure i mean 00:57:58 Not the wood 00:58:34 i think planck 00:58:39 Yeh 00:59:00 Well doesnt it get really hot if you were to compress waves to that point 01:00:31 hm where can you find a formula for the amount of energy in a pinhead given temperature 01:01:09 A pinhead shaped cloud of high-energy subatomic particles 01:02:22 hm equation of state may be the term 01:02:45 Well the boltzmann equation relates particle speed to temperature, so combine that with kinetic energy... 01:02:57 argh so many 01:03:08 both those equations might be wrong at that temperature tho 01:05:04 How old are you oerjan 01:05:06 bah i cannot be bothered 01:05:09 Solace: 44 01:05:36 well assuming they're not, you do E = T*(3/2)*k_B 01:05:57 Im alot younger than you and pretty much every one here ;-; 01:06:03 -!- roasted42 has quit (Ping timeout: 272 seconds). 01:06:04 I am 21 01:06:20 5 years younger than oren 01:06:24 i'm probably the oldest regularly talking here... 01:06:43 -!- nys has joined. 01:07:03 although there was someone here even older a few years back, he made a cobol-based esolang :P 01:07:25 Welp 01:07:47 I have alot to learn 01:07:52 -!- roasted42 has joined. 01:07:52 Solace: some regulars here weren't older than you when they joined, so don't panic 01:08:00 Solace: you have plenty of time to do so 01:08:12 I was 11 :p 01:08:17 :0 01:08:29 how time flies 01:08:47 How old are you now elliott 01:08:50 19. 01:08:52 :00 01:09:26 Well im one day into winter break 01:09:28 technically I might have joined when I was 10, like, once 01:09:36 but I didn't say anything 01:10:00 That was 8 years ago 01:10:01 Elliott is 19 OДO 01:10:13 2006 01:10:23 is a 19 year old on the internet really that surprising 01:10:29 :^0 01:10:30 I understood the shock when I was 12, but... :p 01:10:37 i made http://esolangs.org/wiki/Itflabtijtslwi i made this when i was 11 01:10:47 elliott a 19 year old who is so much smarter than me is 01:10:54 oops i said words twice 01:11:04 Well i joined the internets at the age of 9 and have been ruined ever since 01:11:32 me too... well the trip to japan didn't help 01:11:36 Oh the internet is an awful place 01:11:53 I forget when I started using the internet but it was before I was 8. 01:12:02 Where awful people are free to spew garbage 01:12:18 it's weird that there are fourteen year olds born in 2000 :/ 01:12:18 the japanese internet is if anything worse 01:12:24 I could argue about haskell on the internet with someone born in 2000 01:12:45 elliott: you probably do, from time to time 01:12:50 yes 01:12:55 well I'm not in #haskell any more so maybe not really 01:12:55 I was at a party last night with someone who was born 2002 01:13:14 Its weird to talk to people born in the 2000 01:13:18 https://xkcd.com/386/ <-- yes, awful place indeed. 01:13:28 -!- mitchs has quit (Ping timeout: 255 seconds). 01:13:46 Oh my lord 01:13:59 nys: oh you made that language 01:14:10 liking /// at 11 is good taste 01:14:15 :D 01:14:20 I started programming and making silly things at the age of 12 but thats cuz i was all like 01:14:28 :0 coding is cool wow 01:14:39 I started at 8 with PHP :( 01:14:47 :0 01:14:47 i have a new idea but i'm not sure it's interesting on its own without an implementation 01:14:50 I started at 9 with PErl 4 01:14:51 well then 01:14:53 i started at 12 with qbasic :( 01:15:10 12 is a good age to start code 01:15:41 qbasic on the other hand isn't a good language to 01:15:57 what is crazier is that some of my cousins satrted having kids at 16-18 01:16:03 Did all of it secretly though since my schools were filled with bullies who hated smart kids 01:16:04 qbasic isn't that bad a first language 01:16:25 i was a bully in public school 01:16:41 ;-; 01:16:45 Why 01:17:09 I started python at 12 01:17:10 i liked to make fun of people 01:17:17 :( 01:17:24 because he wanted to eliminate all smarter people so he'd be the smartest? 01:17:44 Not the smartest if you make people feel bad 01:17:53 also i had anger management issues 01:17:57 don't think that's the definition of smart 01:18:02 well dont we all 01:18:23 afaik you tend to be less socially compatible if you are too smart 01:18:33 If you like to write computer games in DOS, then QBASIC is not so bad 01:18:35 yeh 01:18:42 actually it turned out everyone else thought I was the one being bullied 01:18:51 wat 01:18:56 Well then 01:19:10 they saw fights and assumed i didn't start them 01:19:19 ©_© 01:19:24 -!- roasted42 has quit (Ping timeout: 250 seconds). 01:19:54 just because i was short! dumb teachers 01:19:59 * oerjan hadn't realized /// was on the wiki before him 01:21:20 -!- roasted42 has joined. 01:21:36 Im trying to find a game that was like 2d but made inbetween 2008-2011 and its about a small spaceship that goes on an adventure trying to save the planet from a darkness and this game is like all puzzely i just like the music but Google is very unhelpful 01:21:50 /-/ 01:21:55 does anybody know if there is a language in the wiki where programs could be checked? 01:22:08 Uh 01:22:09 checked how? 01:22:20 with CTL for example 01:23:03 i thought about writing a modell checker for my language 01:23:14 not sure if i was the first one with that idea 01:23:27 Promela deserves to go on the wiki 01:23:36 :D 01:26:52 i'm not aware of any language in the wiki with CTL as a built in thing 01:27:30 well, i'm not sure if i want to built it into the language itself 01:27:45 but i do think writing a modellchecker for it would be easy enough 01:27:48 it's applicable to any language with statefulness imo 01:28:29 well, yes, but you have to name your states 01:31:02 -!- roasted42 has quit (Remote host closed the connection). 01:33:40 oerjan: /// is interesting because it is one of those languages that is much more interesting than I suspect the author could have possibly anticipated... 01:33:53 (compare to brainfuck, which is rather "predictable" in a sense) 01:34:52 Though Brainfuck at least has the excuse it wasn't even intended to be interesting. 01:35:51 (I mean, compare the 99bob to your later work...) 01:36:22 -!- roasted42 has joined. 01:36:53 heh 01:38:45 like, /// is very easy to come up with, and it seems like a probably not-that-interesting, sub-TC language idea when you come up with it 01:38:51 but given more work it ends up quite amazing 01:43:18 /// is, in some sense, just a generalisation of thue 02:02:20 -!- boily has joined. 02:27:46 -!- roasted42 has quit (Ping timeout: 258 seconds). 02:29:32 -!- roasted42 has joined. 02:32:30 [wiki] [[Brainfuck derivatives]] M http://esolangs.org/w/index.php?diff=41522&oldid=41517 * Oerjan * (+5) /* MIBBLLII Isn't brainfuck But Looks Like It Is */ sp, link 02:36:50 [wiki] [[K-on Fuck]] http://esolangs.org/w/index.php?diff=41523&oldid=41514 * Oerjan * (+12) /* Example Code */ Use rectwrap class 02:39:53 if MIBBLLII were my language, i would've called it IIBBLLII 02:42:02 I called MIBBLLII MIBBLLII because MIBBLII isn't brainfuck but looks like it is 02:42:38 Also because I pronounce the acronym "mibbly" and that sounds cute 02:43:16 [wiki] [[Flow chart]] http://esolangs.org/w/index.php?diff=41524&oldid=41520 * Oerjan * (-2) subsections 02:45:12 Taneb: by that principle, it clearly should have been WIBBLII hth 02:45:26 *WIBBLLII 02:46:08 or perhaps BIBBLLII 02:46:18 oren: out of curiosity how old did you expect me to be 02:48:57 uhh... maybe 36 at least, given that you seem to be as experienced and knowledgeable as my professors... if you're going to college, you should either major in something other than CS, or be going to like... Yale or something 02:50:05 36 lol 02:50:11 old 'n grumpy 02:50:35 (I dropped out of school a decade ago, actually.) 02:51:29 you dropped out in 4th grade? holy crap 02:51:56 somewhere around that, I guess (I'm not american) 02:52:43 well aparently you didn't need it. 02:52:52 What bots are in here? 02:53:02 ^prefixes 02:53:05 oops 02:53:09 `prefixes 02:53:15 And, What do they do/are made in 02:53:16 sheesh 02:53:28 Im guessing those arent in? 02:53:31 lambdabot interprets haskell 02:53:40 HackEgo is in, it's just horrendously slow these days 02:53:41 Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot ! 02:53:41 well, it makes going to university a bit harder when you have no qualifications 02:53:45 I left for mostly non-education-related reasons though 02:53:46 fungot is made in befunge 02:54:02 Ego? 02:54:06 and does various utility like things 02:54:39 EgoBot has a number of esolangs implemented 02:55:21 blsqbot interprets burlesque 02:55:26 egobot is mostly obsolete these days 02:55:26 `echo hi 02:55:28 hi 02:55:30 elliott: 4th grade?! 02:55:52 HackEgo is slightly less slow once it gets up and running 02:55:53 I don't know your grades! all I know is I was about 10 (I don't remember exactly) 02:56:09 Oh 10 02:56:11 Um 02:56:18 that would be 4th or 5th grade 02:56:20 6th grade 02:56:33 I was also born in August so I was younger than everyone else or something 02:56:37 I don't know, I don't remember 02:56:38 For my district/depending in date of birth 02:56:47 Like i was born in June 02:56:52 So i graduate at 17 02:57:12 yeah so basically you didn't take middle or high school 02:57:22 in our system 02:57:23 B-but 02:57:26 How 02:57:33 In our system 02:57:41 well, I dropped out in what we call middle school... 02:58:10 -!- roasted42 has quit (Ping timeout: 244 seconds). 02:58:10 You are fined placed on a beka system and if you dont report to school you are fined and either arrested or sentenced to house arrest 02:58:36 it's funny because i basically didn't attend grades 1-6 02:58:56 Also the multitude of tests and state requirement ls and the bills that just destroy education 02:59:04 Is so pressuring on a teen 02:59:25 That it can cause depression and mental illness lack of sleep and disorders 02:59:29 Yay America 02:59:47 tbf I also spent a while in a children's mental health unit as a teen, there was compulsory schooling there 03:00:15 -!- roasted42 has joined. 03:00:18 Well these are artificially brought on 03:00:23 School days are like this 03:00:31 -!- dts|pokeball has joined. 03:00:59 Wake up at 3:00 to 5:00 am go to school till 2:30 pm go to sleep at 10:00 pm 03:01:00 my mental illnesses were not brought on by schooling 03:01:04 well, probably. 03:01:05 Start over 03:01:26 in high school they always told us university was going ot be so hard, but really it is easier 03:01:31 Since most sleep schedules have to be forced because of in out studying 03:01:46 -!- Farra_000 has joined. 03:02:00 I feel as if i live in London most of the days because of my weekend sleep schedule 03:02:34 Since its never actually night in London because of it being halfway in the suns light and earths cast shadow 03:02:34 you should try my sleep schedules, they're great 03:02:44 Example? 03:02:56 my sleep schedule is to sleep 12 hours every two days 03:02:58 my classic is "sleep for 16 hours every other day" 03:03:02 damn 03:03:09 there's not room enough here for both of us, oren 03:03:13 lol 03:03:18 I sleep for 03:03:26 mostly I just do an oerjan-style "moving forward an hour or a few every day erratically" 03:03:29 now 03:03:32 Let me i actually have to write this down 03:03:39 with some doomed atetmpts at resetting it with all-nighters and stuff 03:04:09 when i was working, i stabilized it as 12 hours every two days 03:04:22 Since i wake up for school at 2 am cuz before school tutoring and my internship thats at 4 am 03:04:26 mine is almost impossible to stabilise 03:04:31 So 03:04:43 -!- Farra_000 has left. 03:04:44 if I get forced into a normal schedule, I get tireder and tireder every day 03:04:49 I think moving an hour every few days is pretty standard 03:04:49 sleep at 9pm wake up at 2am 03:04:52 so it isn't sustainable for more than a few days 03:04:57 I know that's what I've ended up doing 03:05:00 Im barely alive 03:05:08 Possibly because I tend to nap in the afternoon 03:05:23 Someone turn caffine into an inhaler 03:05:24 Pls 03:05:36 there are caffeine pills 03:05:52 Inhaler now! 03:06:00 So i can breath it in 03:06:27 I toss a caffeine pill into a cup of coffee each morning 03:06:28 -!- oerjan has set topic: The sleepless channel | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/. 03:06:39 Thanks 03:06:44 caffeine pills make me incredibly shaky and sick 03:06:53 modafinil is better, it just makes me a bit sick 03:06:55 Me too! but i have to 03:07:15 Cuz i have to be up for job 03:07:24 melatonin is also useful to some degree (but not enough for me) 03:07:31 oerjan, I'd argue that MIBBLLII isn't really a brainfuck derivative except for syntax 03:07:33 elliott: that happnes when i drink coffe all at once. it is better to have it in small doses every 15 min 03:07:52 I suspect caffeine pills have more in them than a c up of coffee 03:07:55 Supporting your family when you have to go to school is really hard 03:08:06 * Solace breathes heavily 03:08:17 Taneb: personally my main problem with that page is that several of the things there don't have articles. 03:08:34 Im done with life and school 03:08:50 elliott: coffee can vary in caffiene content massivly depending on how it is made 03:08:59 yeah I know 03:09:05 oerjan, hmm yeah 03:09:25 If you are done with life then how can you write on this IRC? 03:09:26 oerjan, sorry, I assumed it was your page because I saw you editing it 03:09:33 zzo38, they said life, not IRC 03:09:42 IRC is undeath 03:09:54 But you cannot type on the computer if you are dead. 03:09:57 Braaaainnns... 03:09:58 I hope to god I don't have to talk in here in the afterlife 03:10:20 -!- dts|pokeball has quit (Ping timeout: 250 seconds). 03:10:23 elliott: I too hope so; because, it would be too difficult. 03:10:27 agreed 03:10:55 Depression fuels typin zzo38 03:11:03 Typing* 03:11:05 Orreeeen hunnngggrrry for brraaaains!! 03:11:22 Taneb: i tend to fix some obvious stuff when i'm looking at recent changes 03:11:53 -!- roasted42 has quit (Ping timeout: 264 seconds). 03:11:59 Just because someone edit it doesn't mean it is their page. Also, just because something is their page doesn't necessarily mean other people are allowed to edit it, too. 03:12:04 the dead talk on Extrasensory Relay Chat 03:13:40 -!- roasted42 has joined. 03:15:10 hopefully when I am dead I will never think about programming ever again 03:19:39 `relcome oerjan 03:19:43 ​oerjan: 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.) 03:20:06 the rainbow is still too dark 03:20:07 ooh 03:20:14 oren: Are you sure? 03:20:47 elliott is reincarnated as an ai super computer in the year 7896 on a not earth planet and is forced to program forever 03:21:42 works for me 03:23:57 ummm... would that not be "reinsilicated"? 03:24:13 given that "carn" means "meat" 03:24:44 well then it wouldn't be "re-" 03:25:11 and if the computer is photonic it might be "invitrated" 03:25:11 elliott: 's ok just program up some undergrads, it's what all the professors do 03:25:12 A coding language based entirely off of bad puns? 03:25:34 hmmmmmmm 03:26:07 Network socket programming? 03:26:28 Whats the difference between a dirty bus station and a crab with breast implants? 03:26:52 you mean 03:26:53 I saw a television show once that mentioned reincarnation, and about people with memories of stuff that they couldn't have known normally, and scientific test, but it doesn't quite looks like "reincarnation" to me, unless that is what you mean by the word "reincarnation" since otherwise it is too much unclearly? 03:26:56 what's "a" difference 03:27:01 because there are a lot of them 03:27:11 One's a crusty bus station the other is a busty crustation 03:27:23 crustacean 03:27:26 *crustac yeah 03:27:29 Yes I know there is a lot of difference someone told me before and it was my answer too there too many difference! 03:28:02 reincarnation: a flower for your horse straps 03:29:02 Im 16 and am running off of pure sugar 03:32:30 transmigration: a limit per day of the E-isomer soviet jets 03:41:56 What is the difference between a rabbit and a gorilla 03:42:05 Rabbits look nothing like gorillas 03:42:58 thanks 03:44:23 -!- dts|pokeball has joined. 03:45:22 -!- roasted42 has quit (Ping timeout: 240 seconds). 03:47:25 -!- roasted42 has joined. 03:47:31 -!- Sgeo has quit (Read error: Connection reset by peer). 03:48:01 -!- Sgeo has joined. 03:54:10 Im done 03:54:18 ok 03:54:31 Hi dts|pokeball? 03:54:46 hi 04:04:20 Im done with people in general 04:05:07 try talking to animals 04:05:14 But, are you done with pokeball in general? I have some pokeball inside of my desk drawer 04:05:25 Nah this guy 04:05:27 oren: I think that is difficult. But, you can try! 04:05:35 Is saying he's a perl hacker 04:05:49 And im like, and? 04:05:52 talking to them is easy. getting them to talk mback is hard 04:05:59 Hes getting very angry 04:06:33 why? 04:07:47 Because i use old versions of perl and other things 04:07:54 And hes like i can hack you 04:08:00 Oh well? 04:08:33 lol... "i can haxx0rs j0r compucore d00d" 04:09:04 -!- boily has quit (Quit: EXTROSPECTIVE CHICKEN). 04:09:20 is keckleon a good pokemon? 04:09:24 Yeh like that 04:09:53 Some attack may be good against other pokemon, so it depend what attacks you used. 04:10:31 Use a lvl 100 shuckle 04:11:00 I started a new game today 04:11:37 well i caught the keklion 04:12:40 Lucky ducks 04:12:46 And your pokemons 04:12:58 I dont have money to spend on games 04:14:45 I bought this game last year 04:15:20 -!- roasted42 has quit (Ping timeout: 250 seconds). 04:17:07 -!- roasted42 has joined. 04:18:17 i'm playing it in japanese this time over 04:21:18 Yay 04:21:23 Glitches 04:36:33 -!- dts|pokeball has quit (Quit: Leaving). 04:36:55 -!- dts|pokeball has joined. 04:42:30 -!- nys has quit (Quit: quit). 04:43:33 -!- kcm1700_ has joined. 04:45:22 -!- kcm1700 has quit (Ping timeout: 240 seconds). 04:45:41 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 04:53:57 -!- MDude has quit (Read error: Connection reset by peer). 04:56:55 This is the first pokemon game in which you have anything resemblinga girlfriend. 04:57:19 -!- Guest31893 has quit (Ping timeout: 245 seconds). 05:05:15 caught a kabigon (snorelax) 05:06:18 -!- roasted42 has quit (Ping timeout: 244 seconds). 05:07:08 -!- roasted42 has joined. 05:44:43 How small can you make a number 05:44:51 Cuz i wanna break some stufg 05:44:55 Stuff* 05:45:18 Very 05:45:28 Example 05:45:46 -e8888888888888888888888888888 is pretty small 05:45:50 Yes 05:45:59 But not small enough for me 05:46:32 > "-1" ++ repeat '0' 05:46:34 "-10000000000000000000000000000000000000000000000000000000000000000000000000... 05:46:46 Small enough? 05:47:12 Uh 05:47:15 Let me see 05:47:22 No 05:47:39 Right, because that is so small it isn't actually a number 05:47:49 Yup 05:47:52 Its a thing 05:47:53 It is the limit of a divergent function 05:48:17 How old are you taneb 05:48:21 20 05:48:36 ©_© 05:49:18 ? 05:50:02 Why do you need a very small number 05:51:15 -!- roasted42 has quit (Ping timeout: 244 seconds). 05:51:27 Solace: 1/Ackermann(5,5) hth 05:51:53 or wait 05:52:12 -Ackermann(5,5) 05:52:14 oerjan, I think Solace wants a low number rather than a small one 05:52:47 -G_64 05:52:55 -BB(G_64) 05:53:02 hth 05:59:12 -!- roasted42 has joined. 06:28:33 -!- Stormzy has joined. 06:28:52 Swiggity swineral much crave such mineral 06:29:19 Solace, you realise that very few people in this channel are going to even have a clue what that joke is about? 06:29:28 Ofc 06:29:41 Do you know what its about? 06:29:43 And it's a joke that requires heaps of context to even make sense 06:29:49 As it happens, yes 06:30:03 i rarely bother to look things up 06:30:11 Mountain goats go up a 90° slope to get salt 06:30:15 On a mountain 06:30:34 Idk how its a meme 06:38:03 the largest number is 1.79769313486232 time ten to the 308. 06:39:19 the most negtive number is negative that 06:39:30 I thought it was 40 million plus 1 06:39:43 coppro, those two numbers are actually equal 06:40:14 happy solstice day everyone 06:40:27 -!- roasted42 has quit (Ping timeout: 272 seconds). 06:40:36 You too 06:40:45 that means this is the longest night of the year 06:40:51 Not where I am! 06:41:39 -!- roasted42 has joined. 06:42:29 solstice occurs late GMT, so that means that most places will have tomorrow night be longer 06:42:45 remember to sing your solstice carols 06:43:36 deck the halls with bows of hally falalalalalalalalala 06:43:54 Taneb: oh you're in australia now? 06:44:17 * oerjan vaguely recalls you passing through hong kong 06:45:54 oren: that's a christmas carol. common mistake. 06:46:07 https://www.youtube.com/watch?v=iYQ8bcDaMaI 06:46:17 -!- incomprehensibly has quit (Ping timeout: 240 seconds). 06:46:39 i don't know any solstice carols. the sta. lucia song is close if you squint anachronistically in two ways simultaneously 06:46:48 or possibly three 06:47:43 (st. lucy's day is on dec. 13, which _used_ to be solstice under the julian calendar - but the change to gregorian happened _before_ the swedes stole the song from the italians) 06:48:48 Jingle bells, Batman smells, Robin laid an egg! 06:49:00 -!- incomprehensibly has joined. 06:49:53 coppro: thx now i know one tdh 06:50:49 * oerjan recall's irregular webcomic's old christmas carols 06:50:52 *-' 06:51:14 oerjan, yeah, until tomorrow morning 06:51:50 (also the italian song isn't a carol, or religious at all) 06:51:58 Joy to the world, the teacher's dead, we bbqed her head! 06:52:39 -!- hjulle has quit (Ping timeout: 258 seconds). 06:54:07 Pettition to rename planet "punishment orb" 06:55:07 Gonna go spend time with family and drink England water 06:55:15 Thats what i call tea 06:55:56 Strafenkugel 06:56:19 Huh 06:57:02 that's punishment orb, except in german, so sounds better 06:57:22 not quite sure about the -en- 06:59:33 罰球- batsukyuu=punishment orb in japanese 07:01:20 or maybe it would shorten to bakkyuu? 07:02:06 hm googling i found Strafenkugel in a long word list, but otoh i found Strafkugel on a site with "bondage" in the title 07:03:00 http://docs.spring.io/spring-framework/docs/2.5.x/api/org/springframework/aop/framework/AbstractSingletonProxyFactoryBean.html 07:03:20 OH GOD WHY 07:03:24 ok the latter has many more hits (still just 134) 07:04:29 oren: because enterprise hth 07:04:34 apparently 罰球 is a chinese word meaning a free throw or free kick 07:05:37 is it used in football? 07:05:46 (soccer) 07:05:48 in basketball and football. 07:06:03 there are two different kinds of kick in soccer though 07:06:34 -!- roasted42 has quit (Ping timeout: 265 seconds). 07:06:55 oh possibly three 07:07:08 direct free kick, indirect free kick, and penalty kick 07:07:30 the chinese wikipedia article describes this and has articles on each one 07:08:01 (my chinese is very very bad...) 07:08:03 ok 07:08:09 -!- roasted42 has joined. 07:08:53 i just learned today that the new chinese president, or was it premier, is a soccer fan and wants china to stop being ridiculously bad at it 07:09:10 (they're 88th place on the ranking, behind e.g. norway and tiny iceland) 07:09:46 um i guess it's yesterday by now 07:10:29 Why is AbstractSingletonProxyFactoryBean considered bad 07:12:52 -!- shikhin has joined. 07:12:57 because the factory, singleton, and proxy patterns are by themselves bad things created by a bad language 07:13:07 -!- shikhin has quit (Changing host). 07:13:07 -!- shikhin has joined. 07:13:24 k/win 6 07:13:52 oerjan: the hp lovecraft historical society has two albums of them, and they're mostly fantastic 07:14:27 coppro: but some are real right? 07:14:53 oerjan: they are all just re-lyriced christmas carols 07:15:01 usually to the same tune, with one notable and wonderful exception 07:15:10 death to the world is joy to the world, but transposed into minor key 07:15:19 https://www.youtube.com/watch?v=ptP0OR-e7rI 07:15:21 it's pretty amazing 07:22:26 -!- Patashu has quit (Ping timeout: 256 seconds). 07:29:47 -!- Stormzy has left. 07:43:47 -!- roasted42 has quit (Ping timeout: 272 seconds). 07:46:03 -!- dts|pokeball has quit (Ping timeout: 252 seconds). 07:48:52 https://www.youtube.com/watch?v=Sbk5xdG8V4g 07:49:36 -!- dts|pokeball has joined. 08:33:43 -!- oerjan has quit (Quit: Nite). 08:35:59 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=773619 08:36:21 you ever like a song, and then find out the lyrics and they are kind of worrying? 08:37:36 J_ARcane: yeah it should just display the half-loaded page. fail. 08:38:15 oren: indeed. It's a bizarre approach. I haven't seen loading behavior like that in years. 08:38:52 Anyway this song is worrying: https://www.youtube.com/watch?v=uy2-B3D0cvU 08:39:43 (lyrics start at 30 seconds in) 08:41:00 I built a spreadsheet program, but i haven't added formulas in. what kind of formula syntax would be better than excel's? 08:45:09 I am thinking that formulae will not be attached to any particular cell, but rather to the page 08:46:19 and then act on the page as "constraints" that are truified each time the spreadsheet is modified 08:47:42 (is "truify" a word? it should be one) 08:51:58 so for example ``[0,0] = [1,0]+[2,0]" will ensure that the equation between those three cells holds true when any of them is modified 08:52:14 That might be a good idea 08:52:36 But in some cases it would become ambiguous 08:53:04 hmm so long as we have some arbitrary rules for biguation 08:54:16 or, disallow adding a formula that isn't true right now 08:54:59 wait that would not solve all of it 08:55:01 oren: In that case at least, what you can do is that if that rule is defined when [0,0] is empty, fill in that cell when the rule is defined 08:55:23 But only for rules of that particular form and only in those cases 08:55:28 yeah i have a special empty type already 08:55:38 Another thing that would help is to be able to define ranges, such as data belongs in this series of rows, and/or columns, and then if you insert rows/columns it expands the range. 08:56:57 here is example of a spreadsheet: http://snag.gy/HdVDO.jpg 09:02:04 http://boingboing.net/2014/12/19/usbdriveby-horrifying-proof-o.html 09:04:53 J_arcane that is pretty horrifying 09:05:39 and reason to lock your computer when you get up to go tothe bathroom 09:07:05 That is also something I have thought of many years ago and is one thing I hate about USB. 09:07:42 But, there are also ways to fix a system to avoid this problem, such as you can fix Linux. 09:09:15 and don't trust anyone to use your computer whom you don't trust implicitly 09:11:35 Physical access. 09:18:41 -!- Patashu has joined. 09:31:55 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 09:32:34 -!- adu has joined. 09:47:33 -!- adu has quit (Quit: adu). 10:09:04 About physical access it is still true you should not let them to touch your computer; with physical access you can damage stuff. 10:10:03 But, even if someone give to you and you connect it to your computer, then it can cause this problem with USB. 10:12:43 It is just one of many problems with USB in general. 10:19:08 -!- roasted42 has joined. 10:23:58 -!- InvalidC1 has changed nick to InvalidCo. 10:30:10 perhaps instead of defining exact constraints, we define statements of dependent action 10:30:58 e.g. x<-x+N=>y<-y+N 10:31:27 which means when x changes by N, y changes by the same amount 10:34:46 hmm, but then there are loops. we can resolve this by allowing only one rule mentioning any pair of cells 10:35:32 and allowing <=> as well as => 10:40:08 -!- Solace has quit (Quit: Connection closed for inactivity). 10:56:25 No that doesn't help. constraints need to be in a strict tree to avoid loops 10:57:20 following => from any cell should get a tree with no duplicate nodes 11:00:10 yes i think that will work 11:02:22 -!- roasted42 has quit (Ping timeout: 240 seconds). 11:04:25 -!- roasted42 has joined. 11:12:17 -!- roasted42 has quit (Changing host). 11:12:17 -!- roasted42 has joined. 11:12:17 -!- roasted42 has changed nick to TheM4ch1n3. 11:17:37 -!- oren has changed nick to |oren\. 11:31:07 -!- MoALTz has quit (Read error: Connection reset by peer). 11:32:54 -!- MoALTz has joined. 11:35:07 yay! 11:42:05 blargh. I am thus far not finding Scribble nearly as friendly as advertised ... 11:42:40 it's not friendlyi 11:44:06 It seems like a hell of a lot of weird syntax to learn when I could just be writing in Markdown or LyX like I usually would ... 11:45:27 -!- TheM4ch1n3 has quit (Ping timeout: 265 seconds). 11:45:27 -!- roasted42 has joined. 11:59:26 -!- Patashu has quit (Ping timeout: 250 seconds). 12:26:04 -!- shikhout has joined. 12:26:26 -!- shikhout has changed nick to Guest66634. 12:28:47 -!- shikhin has quit (Ping timeout: 244 seconds). 12:34:37 -!- roasted42 has quit (Ping timeout: 240 seconds). 12:37:31 -!- roasted42 has joined. 12:41:43 <|oren\> I am implementing greek mode for TTML, based partly on this image of the original space cadet keyboard layout: http://home.comcast.net/~mmcm/kbd/SpaceCadet3.jpeg 12:48:34 <|oren\> also from that image i now know where vi's bizarre ghjk arrows come from 12:48:57 |oren\: what... 12:49:18 <|oren\> what what? 12:49:37 vi has hjkl arrows, and they have no relation to APL keyboard layouts 12:50:26 hjkl was simply invented because it's four convenient neighbouring keys 12:50:42 [wiki] [[List of ideas]] http://esolangs.org/w/index.php?diff=41525&oldid=41505 * 94.225.138.121 * (+1017) /* Looks Like */ "Soviet Script" and "In Soviet Russia" merge YOU!!! 12:51:41 <|oren\> i see... well i don't use vi so i just knew it had some crazy layout... anyway why not ijkl? 12:52:18 <|oren\> that has the advantage that they are in the right configuration and all in a row in ASCII 12:52:29 -!- vanila has joined. 12:52:35 |oren\: as for that APL layout, it seems to be similar to the third image in http://www.quadibloc.com/comp/kybint.htm , which by the way you may want to consult if you want to see more crazy keyboard layouts 12:53:30 |oren\: it's not ijkl because it's more difficult to reach i than j and k, especially if you also want to press l soon after, and also, i is the perfect mnemonic for "insert", the most important command in vi 12:53:42 also, because of history 12:54:02 and of course i is also the best mnemoic for "inventory" 12:54:52 |oren\: just in case it's not clear, those arrows on that keyboard layout are printable symbols 12:55:20 specifically in APL, the left arrow stands for assignment (same as in smalltalk), the right arrow stands for goto, the up and down arrow stand for take and drop respectively 12:57:48 <|oren\> anyway v is an interesting choice for the ending sigma. i would have put it on c... 12:58:59 <|oren\> and i would put nu on v, and eta on n 12:59:41 <|oren\> so that the greek letters look sort of like their corresponding latin letters. 13:00:33 <|oren\> they seem to have gone with a pronounciation based layout instead 13:01:05 <|oren\> i wonder which is actually the best choice 13:03:59 -!- roasted42 has quit (Ping timeout: 245 seconds). 13:05:41 -!- roasted42 has joined. 13:09:11 <|oren\> oh and i am also rerying my idea for a language with its own non-ascii-based, entirely original code page 13:09:56 <|oren\> like what if you could change latin to greek by flipping one bit? 13:10:27 <|oren\> and then change to cyrillic by flipping another one 13:19:00 I think I have seen that "hjkl" is due to some keyboard having those arrows on those letters (which they put there for the purpose of inventing vi)? Apparently also the escape was where the modern keyboard has a tab key? I don't know for sure. 13:20:10 Well, also their order is same as in Dance Dance Revolution and related games, I have noticed. If you play using a keyboard you might want to use "hjkl" if possible; same as vi even. 13:26:14 that suddenly made me interesting, DDR indeed uses the same order as vim's (and many others). 13:26:50 other combinations don't make much sense, but the choice between hjkl and hkjl seems not that arbitrary, with a strong preference to hjkl 13:37:46 zzo38: on the PC XT keyboard, escape is of course to the left of the 1, but vi is older than that 13:43:02 -!- boily has joined. 13:48:41 -!- roasted42 has quit (Ping timeout: 252 seconds). 13:49:39 -!- roasted42 has joined. 13:51:35 -!- GeekDude has joined. 14:12:24 -!- Guest66634 has changed nick to shikhin. 14:12:30 -!- shikhin has quit (Changing host). 14:12:30 -!- shikhin has joined. 14:29:18 -!- roasted42 has quit (Ping timeout: 265 seconds). 14:29:57 <|oren\> yesss... i will make a language with an alternate-universe code page 14:31:19 -!- roasted42 has joined. 14:32:37 -!- nys has joined. 14:37:57 -!- roasted42 has quit (Ping timeout: 244 seconds). 14:48:27 * J_Arcane writes documentation. 15:02:48 Of all the things about Lisp, this is one that still strikes me as largely unnecessary: http://stackoverflow.com/questions/547436/whats-the-difference-between-eq-eql-equal-and-equalp-in-common-lisp 15:03:12 EQ is important for a fast pointer equality check 15:03:24 EQUAL is important to test equality of values 15:03:54 eql and equalp seem stupid 15:04:41 scheme having like ten equality procedures is annoying 15:04:47 especially the pointless type-specific ones 15:05:08 you really want pointer equality in a language with mutability though 15:05:15 <|oren\> how the hell do i type an å 15:05:18 like you're kind of screwed in terms of handling cyclic lists without it 15:05:57 <|oren\> mutability as default sucks tho 15:06:05 I didn't say as default 15:06:13 mutability does not suck 15:06:24 if you have mutability at all you need to be able to compare identifies of any object that acts as a mutable reference 15:07:03 <|oren\> elliott: true but any high level language should have mutability as like an advanced feature, not a basic one 15:07:34 okay well... that doesn't make sense since you can't really add mutability after the fact like that 15:07:39 unless you're talking about like... State or whatever 15:07:43 but it's also irrelevant to the point 15:07:53 *Haskell's Staet 15:07:54 http://simple.wikipedia.org/wiki/Structured_program_theorem this is low quality 15:07:56 *spelling 15:07:59 The structured program theorem is a theory in programming and computer science 15:08:04 it's a theorem, not a 'theory' 15:09:05 <|oren\> elliott: i was annoyed by the fact that the pointer equality is the shortest one. t should have a longer name and regular equality shoulf have a short one 15:09:17 it's shorter because it's faster 15:09:24 it's easier for the computer to process shorter names 15:09:24 |oren\, it's not important to huffman code variable names 15:09:37 -!- mitchs has joined. 15:09:39 actually I disagree :p 15:09:42 <|oren\> i kind of disagree 15:10:01 eq is O(2) because it has two letters 15:10:07 whereas equal is O(n) because it has more letters than I can count 15:10:12 <|oren\> the short variable names like x,i,etc should always be the localist var names 15:10:15 therefore eq is faster 15:10:23 <|oren\> *est 15:10:42 call-with-current-continuation is O(n^4) because there's four words 15:10:43 can someone help me about structured programming theorem? 15:13:23 <|oren\> what about it? doesn't it just say all you need to be turing complete is if and loops? 15:13:55 there's a claim that you need goto or labelled break/continue - otherwise programs can be made which are hard to turn into structured programs 15:13:58 what are those programs? 15:14:14 Kosaraju proved that a strict hierarchy of programs exists, nowadays called the Kosaraju hierarchy, in that for every integer n, there exists a program containing a multi-level break of depth n that cannot be rewritten as program with multi-level breaks of depth less than n 15:14:53 I actually don't have anything but eq? defined in Heresy. 15:15:17 <|oren\> but any break can be replaced with an extra variable 15:16:13 basically I need to read Sambasiva Rao Kosaraju paper 15:16:47 http://dl.acm.org/citation.cfm?id=804055 oh cool it's on ACM, only $15 15:16:52 isn't science great! 15:18:42 What do the programs on the Kosaraju hierarchy look like? 15:22:43 I found an graph of the heirerarchy but not what the programs on it look like 15:23:11 I had thought that this structured programming stuff might make me think goto had some uses but it doesn't 15:26:59 <|oren\> goto has uses, it just isn't good when overused. any goto can be replaced with a boolean var and some extra conditions, 15:27:37 <|oren\> but this practice is generally more confusing than if you had just used a goto with a descriptive label 15:37:41 http://soclab.ee.ntu.edu.tw/~soclab/course/Milestones_in_SW_Evolution/2-2-CACM-Nov-1975-p629-ledgard.pdf] 15:37:42 http://soclab.ee.ntu.edu.tw/~soclab/course/Milestones_in_SW_Evolution/2-2-CACM-Nov-1975-p629-ledgard.pdf 15:37:43 kinda fun 15:37:47 all kinds of control structures 15:40:51 <|oren\> aha. so kosaraju's hierarchy apparently shows when you have to have a new boolean variable 15:47:42 <|oren\> the argument against knuth's use of goto on page 638 i find vacouous, because call is practically a goto, it simply provides a mechanism to goto back. 15:48:08 <|oren\> (in imperative languages that is) 15:48:29 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.14.537 lol 15:49:01 call? 15:49:03 i dont know 15:49:09 procedure cal? 15:49:20 <|oren\> yes that 15:49:36 thats not goto 15:49:58 <|oren\> it is a goto followed by a complex assigned goto 15:50:16 -!- roasted42 has joined. 15:50:20 <|oren\> return is a goto assigned by the caller 15:51:16 <|oren\> in BASIC calling a procedure is done with GOSUB command 15:53:28 <|oren\> anyway, procedure call was not among the control structures listed in the article 15:53:44 |oren\, if you only use sequencing, if/then/else while and procedure calls then each part of the program can be understood on its own piece by piece. When you use goto that is lost 15:55:37 <|oren\> that is true... when goto is used as in was in the 1970's 15:55:49 procedure calls may be implemented in terms of jumps but they are done in such a way that this property is preserved 15:55:59 <|oren\> when goto is used wisely it pervents confusion 15:56:18 i am skptical of that 15:56:53 <|oren\> would you rather keep track of how many nested loops use a boolean or simply ^F for the goto label 15:57:26 i dont know, this has never come up in my programming 16:00:14 <|oren\> Multiple nested loops that you have to break out of have never come up? 16:00:36 goto 16:02:04 <|oren\> well consider the following problem then: search a list of strings for a word, and either print the first sentence in which it appears or print "Does not appear." if you do not find one. 16:03:06 <|oren\> I maintain that the simplest, least confusing algorithm for this uses a goto or return from the innermost loop on success. 16:05:39 > let search _ [] = "Does not appear."; search w (s:ss) | w `isInfixOf` s = s | otherwise = search w ss in text $ search "hello" ["q", "the hello world", "r"] 16:05:40 the hello world 16:05:44 okay let me try 16:06:15 <|oren\> elliott: i was talking about imperative languages of course... lol 16:06:29 > let search = fromMaybe "Does not appear" . find . isInfixOf in text $ search "hello" ["q", "the hello world", "r"] 16:06:30 Couldn't match expected type ‘[[GHC.Types.Char]] 16:06:31 -> GHC.Base.String’ 16:06:31 with actual type ‘[GHC.Types.Char]’Couldn't match type ‘[[a]] ->... 16:06:32 oops 16:06:41 > let search w = fromMaybe "Does not appear" . find (w `isInfixOf`) in text $ search "hello" ["q", "the hello world", "r"] 16:06:42 the hello world 16:07:06 |oren\: but I like writing haskell code 16:07:10 well, I like writing haskell one-liners 16:08:03 find_word_index() { for(i = 0; i < length; i++) { if(contains_word(word, sentence[i])) { return i; } } return -1 } 16:08:03 program() { i = find_word_index(); if(i != -1) { print(sentence[i]); } else { print("Not found"); } } 16:08:41 vanila: to be fair, return breaks the same invariants as break 16:08:45 <|oren\> a return from the innermost loop, as i said. 16:08:58 (which isn't as bad as a goto, but dijkstra still isn't happy) 16:09:06 |oren\, okay, but this isnt' goto 16:09:14 (since you can't do the same proof about the contract of the loop) 16:09:45 elliott, what's that? 16:09:49 vanila: http://blog.plover.com/prog/Hoare-logic.html 16:09:57 that explains why dijkstra doesn't like goto/break 16:10:10 "I never read anything by Dijkstra that wasn't noticeably out of touch with the reality of programming" <- lol 16:10:16 yeah he never even coded 16:10:35 (the argument there applies to returning from a loop too since that's basically a break) 16:10:37 <|oren\> in structured programming the general assumption is that every procedure exits at the end 16:11:22 <|oren\> when they even have procedures, which or example brainfuck doesn't 16:11:40 yeah this is why brainfuck is so hard and awful to program in 16:11:51 http://en.wikipedia.org/wiki/Structured_program_theorem even links to P'' 16:11:53 vanila: so in this sense break/return is not nearly as bad as goto but it is still a concession away from structured programming 16:11:55 The construction was based on Böhm's programming language P′′. 16:11:57 -!- roasted42 has quit (Ping timeout: 245 seconds). 16:12:27 because you can prove less using the structure, you cannot entirely understand each part of the program on its own like you said 16:13:30 (it reduces the compositionality of your hoare logic) 16:13:51 i see, that makes sense to me 16:14:40 I don't think omitting break and continue will make it easier to prove programs correct 16:15:05 I think it does (but it might make the programs harder to write in the first place) 16:15:12 (the same applies to goto, arguably) 16:15:13 -!- roasted42 has joined. 16:15:47 find_word_index() { found = None; for (i = 0; i < length && found.isNone(); i++) { found = search_sentence(sentence[i], word); } return found; } 16:15:51 ^ I think this isn't so bad 16:16:04 (assuming a None/Some maybe type) 16:17:13 it could be written recursively instead of for loop 16:17:16 of course { result = None; for (i = 0; i < length && result.isNone(); i++) { result = f(list[i]); } return result; } is precisely Haskell's find :p 16:17:30 *p(list[i]); 16:19:10 <|oren\> procedural programming languages of the era such as Fortran 66, often didn't allow recursion. 16:19:21 yeah you need scheme to write this recursively 16:19:49 algol did! 16:20:20 <|oren\> I have a book that my dad studied programming from. the examples are in fortran 66 and PL/I. might as well be greek and sanscrit. 16:20:44 <|oren\> actually that's not fair 16:21:00 <|oren\> PL/I is pretty readable if you know C 16:21:48 <|oren\> elliott: yeah but i dunno how many people actually used algol. 16:24:35 it was certainly relevant to people like dijkstra and knuth! 16:25:04 dijkstra implemented the algol compiler 16:25:10 -!- Prax has joined. 16:25:12 algol 68 is kind of incredible, it's like a language from the future but also the most 60s thing ever 16:25:22 hehe 16:25:27 and also kind of a total mess? 16:25:52 algol is to blame for bash's god-awful "esac" stuff 16:25:55 so I can never forgive it 16:29:43 <|oren\> comments with a weird slashed c which i've never even seen 16:30:03 you've never seen a cent sign? 16:30:10 aren't you american 16:30:27 <|oren\> a cent sign is a c with a vertical line. I'm from Canada 16:30:39 it would have actually looked more like https://en.wikipedia.org/wiki/ALGOL_68#Example_of_different_program_representations 16:30:54 ¢ is a cent sign (and the comment character used there) 16:31:30 <|oren\> that is a c with a vertical line 16:31:59 so is the character there 16:32:11 I copied and pasted it. 16:32:15 <|oren\> hold on 16:32:27 I think algol 68 actually has "semantic bolding" 16:32:32 because you can name variables after keywords 16:32:35 because keywords are all bolded. 16:32:41 <|oren\> yeah. that is kinda nuts 16:32:57 <|oren\> but doable today because of the math extensions to unicode 16:33:00 oh right, and names with spaces in them I guess 16:33:05 the future 16:33:20 Can also be underlined. 16:33:52 the keywords or the names 16:34:15 I don't remember which way around, I just remember underlining to differentiate was also a thing. 16:34:18 Easier than bold when writing by hand. 16:34:29 <|oren\> http://snag.gy/Sc1dX.jpg <-- it might be a vagary of the font 16:35:25 <|oren\> yeah it is. me and my stupid japanese fonts 16:35:37 That's the screwiest font possible for "font-family: monospace, Courier". 16:36:18 <|oren\> Jiyucho Bold 16:37:10 what a cute monospaced font 16:37:24 bug report your title bar fonts are too normal 16:37:52 <|oren\> i'll see what i can do about that 16:37:57 |oren\: did you deliberately plant that video that looks like it might be "Disney Furry" or something 16:38:25 <|oren\> No i was listening to this: https://www.youtube.com/watch?v=uYccun6GkDI 16:38:26 JPEG has not been kind to that red text. 16:38:58 oh, it's Eur, not Fur 16:39:22 very glad Disney Eurobeat CD 1 is a thing that exists, especially in how it implies the existence of future Disney Eurobeat CDs 16:39:26 *of further 16:39:34 <|oren\> There are 3 that i know of 16:40:18 scientists may yet discover more 16:40:21 <|oren\> they are actually made by real eurobeat artists 16:43:05 -!- roasted42 has quit (Ping timeout: 264 seconds). 16:43:07 <|oren\> fizzie: wow, you're right, it's all blotchy. 16:43:52 fizzie: I don't know why Y'CbCr hurts red so much. 16:44:00 presumably something to do with fiddly human optics things. 16:44:08 but it's weird. 16:44:21 the periodic table of eurobeat CDs suggests that there are eight theoretically possible disney eurobeat CDs 16:44:41 though the remaining ones can only be observed for brief moments under laboratory conditions 16:45:36 <|oren\> he lives in you, he lives in me, he watches over, everything we see... into the water. into the truth. in your reflection. he lives in you. 16:45:37 nys: don't forget the "transition eurobeat CDs", which are compilations of partly disney, partly other eurobeat tracks 16:46:10 hee 16:49:04 vaporwave was long hypothesised to exist but only recently created in laboratories 16:51:00 elliott: I don't remember too much about the JPEG details. Maybe it's because the red and grey parts have more-or-less identical Y' values, so they're differentiated only by the color channels, and those are (often) downsampled. The other text also has the shape in the full-resolution luminance information. 16:51:26 fizzie: blue text generally fares better, I think 16:51:41 fizzie: you can see this in regular videos, too -- red stuff with edges just looks bad compared to everything else 16:51:47 it's always smudgier 16:53:54 http://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1009.html dijkstra on goto again -- my version of that word search program is recognisable in the bounded linear search theorem here 16:54:16 What's weird is that if I wget the image, what I get is a PNG file with a .jpg extension. 16:55:24 ((0) and (1) are perfect examples of how much of an annoying dick he was, too :p) 16:55:34 (well, (0) especially) 16:55:45 (But it's still clearly been compressed with something very JPEGy (you can see the 8x8 blocks and the typical DCT artefacts) at some point of its history.) 16:56:01 (1) Rubin still starts indexing the rows and the columns at 1. I thought that by now professional programmers knew how much more preferable it is to let the natural numbers start at 0. I shall start indexing at 0. 16:56:02 lol 16:56:54 (2) rubin smells and is bad at programming 16:57:08 haha 16:58:10 http://www.cs.utexas.edu/users/EWD/ewd10xx/EWD1009.PDF his handwriting was so great 16:58:51 it's like he ran a typesetting program in his head 16:59:20 <|oren\> why the hell is bing now better than google 16:59:46 <|oren\> i guess because microsoft isn't taking everything down 17:00:12 I find it interesting that |oren\'s suggested goto-using problem was very comparable to the one posed back in 1968 17:00:44 Applying the above theorem twice yields for Rubin’s problem 17:00:45 does that mean 17:00:47 Applying the above theorem twice yields for Rubin’s program 17:01:30 that was a brutal takedown 17:01:35 he just derived the program like that 17:02:22 it means for Rubin's problem 17:02:33 Rubin stated a problem to defend the use of goto, Dijkstra derived a solution for it 17:02:38 http://joshuah.scripts.mit.edu/blog/?p=195 17:02:57 python doesn't have GOTO???? 17:03:17 it doesn't 17:03:30 Dijkstra's solution is basically just nesting (search p n = go 0 where go m | m == n = Nothing | p m = Just m | otherwise = go (m + 1)) 17:04:46 if only his pseudocode had included abstraction over control structures so he could have written (search (\i -> not (search (\j -> x!(i,j) == 0) n)) n) :p 17:04:50 -!- ais523 has joined. 17:05:08 uh that might need another ) in there somewhere 17:09:17 <|oren\> ok i am just going to swith my default serch to bing. google is officially over. 17:10:11 wouldn't duckduckgo be more your thing 17:11:00 it's the same results after all 17:11:11 (my interaction with duckduckgo consists of appending !g to every query because the ddg/bing results are useless) 17:11:42 <|oren\> in two cases today the top result on bing was what i wanted and google did not even list it 17:12:18 <|oren\> so google is over. it's just... over. I'm breaking up with google 17:12:32 (okay, not actually the exact same results) 17:12:45 (I guess ddg have started doing their own crawling too now) 17:13:07 have you tried to use the search engine made by the guy who wrote the elk cloner? 17:13:10 elliott: ddg take results from yandex quite a bit, IIRC 17:13:25 also they use the ais523 method of searching quite a bit (i.e. know in advance what website to look on) 17:13:45 e.g. if there's a Wikipedia article about your search term, and it has an official website link, they'll use that (possibly with checks to ensure it hasn't been edited recently, although I doubt it) 17:13:51 -!- S1 has joined. 17:14:01 vanila: blekko? no but I think ddg uses it or something 17:14:12 for the results it has in the top bar 17:25:28 <|oren\> anyway from my point of view it is completely unacceptable for google to refuse a Canadian access to links to a Russian website based on a law that only exists in America. 17:26:04 yeah it's completely unacceptable for google to follow laws in the country their servers are in 17:26:09 so that they don't get seized 17:26:13 fucking weird imo 17:26:25 it's almost like google is an american corporation or something 17:26:30 and has to follow american laws 17:26:43 <|oren\> well microsoft lists the russian websites 17:27:00 because nobody cares about bing enough to send DMCA notices to them 17:27:06 elliott: they also have to follow the laws in the country their headquarters are in 17:27:08 would you like me to? 17:27:09 Google should change the law. 17:27:12 Microsoft got in trouble over this recently 17:27:27 by refusing to give US law enforcement information on servers they controlled outside the US 17:27:36 not sure how the story ended or if it has yet 17:27:46 <|oren\> that is completely correct in my view 17:28:02 |oren\ is probably accessing US servers 17:28:09 at least I don't know google to have any servers in canada 17:28:27 <|oren\> it's cold here they could save on cooling 17:28:39 tbf Google probably have servers everywhere 17:28:49 in order to reduce latency 17:29:01 |oren\: do you think it's absurd that corporations in the US can't sell cocaine to people who live in countries where it's legal because selling cocaine is illegal in the US (let's ignore laws on possession, and the pointlessness of the war on drugs) 17:29:53 ais523: I don't think that's a given... for something like google search, investing in making huge data centeres everywhere doesn't make much sense 17:30:02 compared to picking a few hotspots for it 17:30:06 *centres 17:30:27 I don't think either method is necessarily going to be the better one on the information we have 17:30:44 well, we know about amazon's data centre distribution 17:31:10 <|oren\> elliott: the issue is that the US tries to apply its laws elsewhere, to the point of for example an american corporation seized an argintinean navy ship. 17:31:12 huh, that's weird, I just did "dig google.com" and a whois on the resulting address 17:31:17 and it was registered to YouTube 17:31:19 (http://www.enterprisetech.com/2014/11/14/rare-peek-massive-scale-aws/ goes into some detail) 17:31:27 Google owns YouTube, but I think of YouTube as being part of Google rather than the other way round 17:31:36 |oren\: ok, but this has nothing to do with not giving you links that they are required by US law not to give you :P 17:32:34 IMO censoring information by censoring links to it doesn't really work anyway 17:33:20 |oren\: you'd have better luck with a canadian or russian search engine, really 17:33:32 then neither would have a sensible reason to deny access to the links, assuming they're legal in both canada and russia 17:34:58 <|oren\> isn't google.CA enough? apparently not. anyway i have been known to use baidu 17:35:04 it looks hard to censor information off the web 17:35:11 it is hard 17:35:14 i suppose the thing is, for the guys who have done this well - we do not know about it 17:35:27 although we hear a lot about china, I thinkt hey have a very successful set of methods 17:35:57 (mostly the social part, getting lower level web admins to help self-censor things so that they can continue to run their site without trouble) 17:36:13 but of course DPI and blocking a lot of things too 17:36:57 <|oren\> of course to use baidu properly you need to write in chinese (which is pretty much beyond my capabilities still) 17:37:32 <|oren\> so i use a translator 17:38:47 vanila: china do some fancy things with tor -- they actually talk the tor protocol to IPs to check whether they're tor relays 17:38:56 uh, maybe not relays. I forget the exact tor terminology. they use this for blocking tor, anyway 17:39:25 -!- MM_ has joined. 17:39:55 elliott: "exit node" and "middle node" is the main Tor terminology, I think 17:40:10 middle nodes are the ones you bounce off, exit nodes are where the traffic reaches the open internet 17:40:13 <|oren\> really i think a lot of the web is simply hidden by linguistic barriers 17:40:23 ive hard them called relays 17:40:26 (with everything but the source address unencrypted) 17:40:31 ais523: I forget what a relay is though 17:40:32 "relay" is a pretty decently descriptive term, though 17:40:33 maybe a middle node 17:40:49 <|oren\> i've never used tor or even bothered to read bout it 17:41:33 I don't use it, but I'm aware of it 17:41:38 I'm not sure china get much out of their internet censorship other than economically (cf. there being chinese versions of every internet thing) 17:41:44 which may be the whole point? 17:41:52 you pretty much have to be if you've ever needed to chase someone 17:42:01 -!- MM_ has quit (Client Quit). 17:42:01 elliott: well apparently, the main purpose is to stop people arranging public gatherings 17:42:04 like the one in Hong Kong 17:42:08 is that one still going, incidentally? 17:42:10 * ais523 looks it up 17:42:16 <|oren\> nah they broke it up 17:42:27 <|oren\> i read on Xinhua about that 17:42:33 -!- n00b7489 has joined. 17:42:51 * |oren\ regularly reads Xinhua, RT, BBC, and Fox News 17:47:24 -!- hjulle has joined. 17:49:24 Assuming a programming language doesn't have variable names or even memory addresses, but rather just a stack to push data on the top and retrieve then discard from the top, 17:53:09 pushdown automaton 17:53:22 they are not TC 17:53:39 ...I hope I just psychically answered your question :p 17:54:31 and it doesn't even have built-in multiply and divide, greater and less than, or any other advanced operations of any level built in, rather just the simple addition and subtraction of the top two values, and simple flow control by whether the top value is or isn't 0, 17:55:02 n00b7489: it can't be TC unless you have another data structure somewhere (another stack will do; sometimes you can use the call stack for that purpose, if the language has a callstack) 17:55:30 ais523: well, it could be if the elements are unbounded integers, depending 17:55:40 maybe we should wait for the end of the question though. 17:55:55 elliott: actually I don't think, e.g., BF-PDA is TC with unbounded integers 17:55:56 Is there a way to implement printing a value as decimal and other complex algorithms in that highly limited programming language? 17:56:12 ais523: well, you just need enough for fractran, right :p 17:56:49 elliott: fractran needs you to be able to handle two unbounded integers at once, unless you have modulo or the like 17:56:56 n00b7489: no, there isn't 17:57:09 ais523: well, okay, yes, I was assuming you had the necessary arithmetic 17:57:11 or, hmm 17:57:14 "addition and subtraction of the top two values" 17:57:21 there's a difference from normal 17:57:33 I think now it's possible, if you have unbounded integers 17:58:02 you can do multiply-by-constant, at least, which is /not/ true in BF-PDA 17:58:19 if you can do divrem-by-constant too, you can do fractran 17:58:47 n00b7489: I think this is very important: when you add/subtract the top two stack elements, where is the answer written? in particular, can you write the answer to the second stack element? 17:59:42 The addition and subtraction operations pop two values from the top and push the result on the top. 18:00:10 oh, hmm 18:00:12 that changes things a lot more 18:00:17 -!- Phantom_Hoover has joined. 18:00:23 or you could just have a few operations that shuffle or copy or discard the top few stack elements, in any combinations but only to a limited max depth 18:01:09 in this case, there's obviously no way to move any information further from the bottom of the stack than it starts 18:01:35 that leads me to think sub-TC, but haven't quite proved it yet 18:01:47 well, maybe you can push 18:01:58 oh, I see 18:02:14 ais523: that's fine as long as you don't need the stack to be unbounded 18:02:26 in which case we're on our way to reformulating counter machines with stacks... 18:03:46 well in that case you only have one counter, right? because information can only flow in one direction 18:04:08 -!- MoALTz has quit (Quit: Leaving). 18:05:55 OK, clearly the stack is bounded in this case; you can never use information from lower on the stack, meaning that if the height on the stack is not constant for a given position in your program's control flow, you have an infinite loop 18:06:45 in this setting, it's possible to do a divide-modulo 18:06:52 trying to work out if it's possible to do a multiply-by-constant 18:07:14 I don't think it is 18:07:25 oh, no, you can't do a divide-modulo, just a modulo 18:07:27 yep, this is subTC 18:08:30 we don't even know exactly what control flow there is yet 18:13:32 I'm assuming "if zero then goto" 18:13:56 given that it's a hypothetical question, and that's as fully general as you can get given the restrictions 18:14:58 n00b7489, have you seen MNNBFSL 18:15:25 it has two stacks but its interesting 18:15:28 huh, that's a crazy "from" domain for spam: prison.gov.my 18:15:43 it was a "you have won the lottery, we are google" spam 18:15:47 -!- drdanmaku has joined. 18:16:15 ais523, I hope your spam anaysis goes into Casino Viagra 18:16:28 Oh congrats. I hope you use your winnings for good 18:17:04 I don't believe that if this had happened, Google would email me from a prison (presumably that's malaysia, haven't checked the country code but it isn't hugely relevant) 18:19:58 ais523: Well. Ban Ki-moon, the Secretary-General of the United Nations sends email from unitednationspayment101@gmail.com. 18:20:11 isn't .my myanmar 18:20:22 oh, could be 18:20:37 no, it's malaysia 18:20:39 this ruins my next joke: from the country's name, MburmYa 18:21:12 .mm from Burmma, there you go. 18:22:05 This is interesting piece of spam I don't think I've seen before. 18:22:12 "Below are few list of tracking numbers you can track from the UPS) Website (WWW.UPS.COM). To confirm beneficiaries like you who have received their payment successfully." 18:22:22 Then there's a list of 7 UPS tracking codes. 18:23:09 Sounds legit. Where do I send my money? 18:23:14 fizzie: that reminds me of the "we've won the lottery and want you to help us spend the money" scammers, some of them link to articles about people winning the lottery 18:23:17 I tested one, and it had indeed been delivered. So I guess that's confirmed. 18:23:21 presumably hoping that people will trust the from address 18:23:58 The "my late husband died and left me a lot of money" spams sometimes have links to Wikipedia articles about the people involved, or the high-profile plane crash or whatnot where they died. 18:24:25 I saw someone claim that they make the spam absurd so only the dumbest people will engage with them 18:26:36 I also went to a talk where they analyzed internet pharmaceutical spam and found it was very reliable with excellent customer service. The thing was that it's hard to get a merchant credit card account so they can't afford getting complaints 18:26:49 This one also says that any delay in responding will cause UN to use the $4,900,000 they've earmarked for me to "help the people who have been displaced in Darfur, Sudan Africa which you can see it in this site www.savedarfur.org and the Tsunami's victims in Asia." 18:27:31 Wow, that one's really selecting for a special kind of human 18:27:41 I guess I'm doing a good thing in not replying. 18:28:20 You can probably write that 5m$ on your taxes 18:28:29 -!- shikhout has joined. 18:28:37 <|oren\> glguy: the same type of human who worships ebola-chan 18:28:51 -!- shikhout has changed nick to Guest222. 18:31:23 -!- shikhin has quit (Ping timeout: 252 seconds). 18:32:37 -!- MoALTz has joined. 18:33:33 -!- shikhin has joined. 18:33:55 -!- shikhin has changed nick to Guest26838. 18:35:53 -!- Guest222 has quit (Ping timeout: 240 seconds). 18:38:38 -!- shikhout_ has joined. 18:39:40 -!- Guest26838 has quit (Ping timeout: 265 seconds). 18:43:34 -!- shikhout_ has quit (Ping timeout: 256 seconds). 18:48:51 -!- shikhout_ has joined. 18:52:37 * J_Arcane debates if he should deviate from BASIC syntax for the left$ and right$ functions. 18:53:54 -!- shikhout1 has joined. 18:54:14 what are they 18:55:56 Well, the standard forms take the leftmost or rightmost X number of characters. 18:56:22 It seems like just taking the left or right half from index X instead would be more useful (it sure would've made my string-slice easier to write). 18:56:23 -!- shikhout_ has quit (Ping timeout: 258 seconds). 18:57:01 J_Arcane: the lefts are equivalent there 18:57:05 it's just the rights that differ 18:57:08 It also makes more sense to me: left$ essentially does this already, but right$ thus doesn't, so you get the actual right half from X, you have to either use mid$ or slice. 18:57:30 ais523: Exactly. It bugs me, because they seem like they should be opposite in a different way, you know? 18:58:03 do you support negative indices 18:58:15 you could write a split$ function 18:58:21 > splitAt 3 "hi there!" 18:58:23 ("hi ","there!") 18:58:27 > splitAt (-2) "hi there!" -- not so much... 18:58:28 ("","hi there!") 18:59:49 -!- shikhout1 has quit (Ping timeout: 245 seconds). 19:00:01 actually, at the moment I think a negative index would probably just result in some kind of horrible error. 19:00:35 And I suppose it's moot in a sense because I do *have* slice and mid, and they can easily be used for that instead of left and right. 19:05:37 I'm now struck with a desire to overhaul my slice function ... 19:06:09 -!- boily has quit (Quit: UNINTERRUPTIBLE CHICKEN). 19:09:29 -!- shikhout_ has joined. 19:27:46 -!- n00b7489 has quit (Quit: leaving). 19:28:14 aww, this no longer works in ldmud: string s = "foo"; s[3..0] = "bar"; write(s); ===> foobarfoo 19:37:28 -!- shikhout_ has changed nick to shikhin. 19:37:33 -!- shikhin has quit (Changing host). 19:37:33 -!- shikhin has joined. 19:44:31 def rsa_encrypt(key, element): 19:44:31 assert isinstance(element, (long, int)), type(element) 19:44:32 _element = mpz(element) 19:44:32 return long(pow(_element, key.e, key.n)) 19:44:32 def rsa_decrypt(key, cipher): 19:44:34 assert isinstance(cipher, long), type(cipher) 19:44:36 _cipher = mpz(cipher) 19:44:39 return long(pow(_cipher, key.d, key.n)) 19:44:41 this is like crypto slapstick 19:45:17 you're meant to just implement the equations directly using GMP, right? without padding or blinding or anything? 19:46:03 (no, not from pedagogic RSA-explaining code; https://lists.torproject.org/pipermail/tor-dev/2014-December/007999.html) 19:47:18 I dont know any better 19:48:43 hopefully you're not marketing your supposedly secure software like http://www.tribler.org/ <_< 19:49:03 if i was to implement RSA I would probably do better than these guys 19:49:17 but right now I don't knwo whats wrong with that code 19:49:49 e.g., https://en.wikipedia.org/wiki/RSA_(cryptosystem)#Padding and the next section 19:50:15 (the "Timing attacks" section mentions blinding) 19:50:29 I like how their CSPRNG is mersenne twister 19:50:47 I know that mersenne twister is cryptographicaly secure 19:50:50 is NOT*** 19:50:53 god damn it lol 19:51:13 elliott: so many people try to use the Mersenne Twister as a CSPRNG, it's depressing 19:51:27 In cryptography, Optimal Asymmetric Encryption Padding (OAEP) is a padding scheme often used together with RSA encryption. 19:51:31 although one bit of good news is, almost everyone seeds it with a 32-bit seed even though it has much more internal state than that 19:51:32 ais523: and they seed it with 32 bytes of entropy or less 19:51:42 padding attacks and stuff is kind of advanced 19:51:44 or arguably bad news 19:51:54 thats no tthe sort of thing you'd learn without trying 19:51:54 this means that a mersenne twister can be easy to reverse just by brute force 19:52:19 vanila: trying is one thing -- this is I think grant-funded research that has a snazzy site marketing it as secure and anonymous to ordinary people 19:52:29 (I'd hope any course about crypto would teach about padding or such though!) 19:52:46 ais523: yes. hopefully they'll fix this in future standards, but currently in C++11 you need like four lines of code of cargo cult magic to seed the mersenne twister properly with more than just 32 bits of entropy 19:53:10 and even then you have to give an explicit amount of entropy to seed with, and you just have to make that number up 19:53:23 no wait, maybe not that 19:53:24 `pbflist 19:53:25 but something close 19:53:30 :( 19:53:32 pbflist: shachaf Sgeo quintopia ion 19:54:53 elliott, Well I hope people will start to learn that you cannot pay for security 19:55:06 you can't buy a "NSA Proof phone" or whatever the fuck they are selling today 19:55:24 maybe once people learn that they will actually bother to learn how to use RSA for emails 19:55:45 (just kidding, I know that will never happen - people just want to throw money around and pretend it will solve everything) 19:55:48 PGP is nigh-unusable, to be honest 19:55:53 I have used it 19:55:54 its fine 19:56:00 it's something like std::array ent; std::random_device dev; for (unsigned &w : ent) w = dev(); std::mt19937_64 rns(seed_seq(ent.begin(), end.end())); 19:56:09 I find it unbearable and I'm as nerdy as its designers. 19:56:19 it's riddiculous, why do I have to learn such magic incantations to seed my rng?\ 19:56:20 the real problem with PGP is that you need someone ELSE to use it too 19:56:30 thats why i never took off 19:56:31 I like the work https://whispersystems.org/ is doing with more-usable strong crypto. 19:56:33 it* 19:56:51 I don't know if whispersystems.org is free/open source? 19:56:56 yes, it is 19:57:00 and they publish their designs 19:57:01 I think the guy behind it moxie did release some tools before that are not free 19:57:06 like redphone or something 19:57:14 that's kind of annoying to me 19:57:19 thayt's good they're doing better now 19:57:21 e.g., https://whispersystems.org/blog/advanced-ratcheting/ 19:57:57 in fact they recently worked with WhatsApp and deployed that to all WhatsApp users... not sure how key verification works if it works at all but that's still kind of amazing that they gave every user of one of the biggest messaging platforms in the world state-of-the-art encryption overnight 19:58:33 elliott: linear algebra is hard, they couldn't figure it out, so the NSA won't either ;-) 19:58:36 (it would be sad if the owners of WhatsApp could MITM the keys -- not sure if that's the case or exactly how they implemented it -- better than nothing though) 19:59:25 vanila: https://github.com/WhisperSystems/RedPhone, at least (not saying it was necessarily released when the binaries were) 20:00:49 wow ok I might just have this all totally wrong 20:00:52 that's cool! 20:01:29 -!- Patashu has joined. 20:17:57 -!- GeekDude has changed nick to GeekAfk. 20:21:15 elliott, do you know crypotl? 20:21:17 cryptol 20:21:29 I know of it, and one or two vague things about it 20:21:31 nothing more 20:21:37 there's a free open source implementation now 20:21:58 cool 20:23:43 its really good 20:28:43 -!- Patashu has quit (Ping timeout: 252 seconds). 20:39:53 -!- shikhin has quit (Ping timeout: 258 seconds). 20:46:41 -!- FreeFull has quit (Ping timeout: 264 seconds). 20:47:25 -!- |oren\ has quit (Ping timeout: 252 seconds). 20:48:10 -!- FreeFull has joined. 20:50:45 -!- boily has joined. 21:04:54 my dr gave me some cryptol last week 21:05:33 newsham, you should try it out! 21:05:38 i bet you will like it 21:05:52 http://cryptol.net/ 21:07:07 is the free/open one not the galois one? 21:07:36 its still galois 21:07:49 it doesn't emit VHDL and stuff anymore 21:39:18 -!- MoALTz has quit (Ping timeout: 258 seconds). 22:02:21 -!- MoALTz has joined. 22:37:17 -!- S1 has quit (Quit: S1). 22:37:38 -!- boily has quit (Quit: SUBLIMATED CHICKEN). 22:41:26 -!- Solace has joined. 22:43:27 -!- GeekAfk has changed nick to GeekDue. 22:43:29 -!- GeekDue has changed nick to GeekDude. 22:45:09 J_Arcane: thats very scary 22:47:09 So is that just on the flashdrive or is it remote access? 23:07:39 -!- oerjan has joined. 23:11:10 -!- bb010g has quit (Quit: Connection closed for inactivity). 23:15:06 `echo hi 23:15:07 hi 23:15:38 HackEgo up, codu.org down. it's a mystery. 23:17:10 you ever like a song, and then find out the lyrics and they are kind of worrying? <-- reminds me of the time i considered learning the lyrics to Stenka Razin 23:17:21 (still considering) 23:17:49 wat, oren not here, that's unnatural 23:22:06 * oerjan checks out oren's youtube link and feels the generation gap widening 23:22:47 my general noise sensitivity isn't helping with that either. 23:24:16 argh now i'm starting to notice the ventilation system again 23:36:36 -!- FreeFull has quit (Ping timeout: 258 seconds). 23:39:48 -!- roasted42 has joined. 23:45:29 -!- FreeFull has joined. 23:46:28 -!- MDude has joined. 23:49:42 -!- roasted42 has quit (Ping timeout: 264 seconds). 23:57:14 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 2014-12-22: 00:03:34 -!- |oren\ has joined. 00:03:58 <|oren\> i am back online 00:04:05 you were needed 00:04:50 * |oren\ reads the logs... 00:06:40 <|oren\> noise sensitivity eh. i have the opposite problem, i can't fall asleep in the country because it is too quiet and i need the sound of the city to put me to sleep 00:06:47 <|oren\> when goto is used wisely it pervents confusion <-- i think "pervent" is the perfect word for what happens if you try to use goto wisely 00:09:23 <|oren\> goto is actually a less confusing construct today because of the existence of editors that can search for the label. 00:10:30 OKAY 00:10:33 <|oren\> (less confusing as compared to adding a new boolean variable) 00:11:14 i also think adding a new boolean variable may mean you've missed the point of avoiding goto 00:11:24 <|oren\> it pervents more confusion than it causes 00:11:47 (psst you did realize i was teasing about the misspelling, right?) 00:12:12 <|oren\> well from now on i'm spelling it like that every time. like biguate. 00:12:30 -!- oerjan has set topic: Mandatory spelling lessons in 1,2... | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/. 00:13:03 Shouldn't it be mbiguity 00:13:35 <|oren\> ambiguity->antonym = biguity 00:14:10 am- as a negative prefix almost makes sense but not quite. 00:14:18 <|oren\> but to be fair in modern greek the sound b is written mu beta 00:14:27 huh 00:14:45 oh because beta is a fricative 00:14:52 <|oren\> yeah 00:15:10 surely it's ambiguity, as opposed to chiral guity? 00:15:30 wat 00:15:36 oh hm 00:15:43 <|oren\> guities can be bi, or ambi. 00:16:06 dextroguity 00:16:08 bisexual guity 00:16:24 (that -o- has to be wrong) 00:16:25 | 00:16:25 /< 00:16:32 thanks myndzi 00:16:51 <|oren\> oh man XD 00:19:03 if ambisexual means something different from bisexual than YOU GO TOO FAR 00:19:26 YOU AM PLAY GODS 00:20:13 i think CPT symmetry means you're having reverse sex with your antimatter twin? 00:21:09 that sounds hot. explosive, even. 00:23:30 Bi means you like male and female 00:23:38 Ambi means you like chairs? 00:23:45 Thats all ive gotten 00:24:06 i don't know that ambi- has anything to do with chairs 00:24:20 Idk either 00:24:28 Guys 00:24:33 it's the latin word for "both" 00:24:50 I like chairs. 00:24:53 <|oren\> Solace: yeah what? 00:24:54 Semen has clocked in the scale for best cpu coolant next to artic silver 00:25:02 Just saying 00:25:06 <|oren\> bullshit 00:25:32 [citation ne...NO NO NO] 00:26:02 also what is artic silver 00:26:28 [unreliable source?] 00:29:21 just gotta jizz all over my CPU to test 00:29:24 "brb" 00:31:45 Lol 00:31:57 Probably Jafet 00:32:19 I was just skimming a forum and thats all i saw 00:32:24 You never know 00:32:42 Maybe thermite and blood makes a great coolant 00:32:58 forums are not reliable sources: world scientific community shocked 00:33:07 ^ 00:33:30 *-are 00:33:36 Topic is set to that why? 00:33:48 because y'all need to learn to spell hth 00:34:10 Eye sea watt yew did their oerjan 00:34:18 hth 00:34:45 Jk so like what is brainfuck and why does it look like garbage and syntax 00:35:15 -!- nyuszika7h has quit (Ping timeout: 258 seconds). 00:35:33 it was designed to have a very small compiler which means it needs to be extremely simple 00:35:37 -!- nyuszika7h_ has joined. 00:35:49 :0 00:36:04 So is it hard? 00:36:18 (unlike most other esolangs which look like garbage because most esolangers don't bother to invent parsing) 00:36:49 The way you phrased that made me laugh 00:37:04 Its hard to use BRINAFUKK 00:37:12 beacuse it doesn't have procedures 00:37:21 ok some look like garbage because they're inspired by the others that do 00:37:31 Ah 00:37:35 or GOTO 00:38:05 (most commonly, brainfuck) 00:40:02 brainfuck looks like garbage? it's perfectly readable to me 00:41:00 `pbflistdeluxe 00:41:01 pbflistdeluxe: 00:41:12 brainfuck is hard because it's so low level that you have to implement almost everything from scratch, including any advanced data structures - you don't even have pointers or references. 00:41:36 and also because it has no real form of abstraction 00:43:39 Thats horrifying 00:43:45 -!- yorick has quit (Read error: Connection reset by peer). 00:44:02 I will never try my hand at that ._. 00:44:03 well that means it's more of a puzzle than actually useful 00:44:08 vanila: is BRINAFUKK a bf derivative 00:44:32 BRINAFUKK Is Not A BRINAFUKK Derivative 00:44:41 Solace: _many_ esolangs share those "features" 00:44:51 Well 00:45:03 Solace: are you sure you are at the right place? 00:45:05 Ill only use esolangs that have letters 00:45:26 >+] is to much for me 00:45:50 myname: yeh i am im usually afk doing stuff though 00:46:05 Solace: so a substitution of +-<>.,[] with idbfpcse is fine? 00:46:07 vanila: BINABD. yep, those are the same letters as BRINAFUKK 00:46:07 -!- yorick has joined. 00:46:18 Solace: you might like deadfish 00:46:23 it is very easy 00:46:23 Yeh i guess 00:46:32 Solace: i think myname is hinting that you seem to dislike the most common features of esolangs :P 00:46:33 Ill go look at it 00:46:48 brainfuck is hard because it's so low level that you have to implement almost everything from scratch, including any advanced data structures - you don't even have pointers or references. 00:47:12 Nah not really its just like idk its name suits it well 00:47:12 brainfuck, i'd say, is more than anything else hard because it has no built-in nonlocal stuff at all 00:47:25 Verbosefuck is probably what ill be good at 00:47:32 Solace: you should try malbolge 00:47:42 ... 00:47:49 ©_© 00:48:05 Yeah, it's hard to imagine anyone using anything resembling brainfuck as any kind of formal basis for computation 00:48:45 I need esolangs you can actually implement large data structures in 00:48:56 Very large ones 00:48:57 eodermdrome!! 00:49:25 ? 00:49:38 * oerjan swats Jafet -----### 00:49:53 :0 thats mean 00:50:00 Solace: how about funciton 00:50:06 Solace: you just think that because you didn't get his joke 00:50:16 >_> 00:50:29 I never get jokes 00:50:42 Ill check that out also myname 00:50:44 (hint: turing machines resemble brainfuck in most of the ways that make it awkward) 00:51:31 not entirely, but enough 00:51:45 I remember when i didnt know how to remove piping 00:52:18 Solace: eodermdrome is nice, you should implement it 00:52:22 (inside joke) 00:52:29 :| 00:52:55 i DONT know what eodermdrome is?! 00:53:03 ^wiki eodermdrome 00:53:08 Lag 00:53:15 fizzie: !!! 00:53:22 no, missing fungot 00:53:36 @google eodermdrome 00:53:37 http://esolangs.org/wiki/Eodermdrome 00:53:37 Title: Eodermdrome - Esolang 00:53:54 Solace: it's pretty neat. all you have to do is solving an np hard problem every single step 00:54:31 Solace: you can implement large data structures in unlambda btw 00:54:57 Really? oerjan 00:55:11 Ok myname 00:55:46 i didn't say it would be easy hth 00:55:46 Lets focus on one language at a time 00:55:59 I have alot of time left 00:56:05 but it may still be easier than it most of the languages mentioned already 00:56:10 *in 00:56:17 Oh ive seen unlambda 00:56:26 Doesnt look terribly hard 00:56:49 Is just kinda ehhh ok for me 00:56:57 i think unlambda was my first esolang, except for _probably_ having been exposed to parts of the INTERCAL manual at some point 00:57:24 Anyways i have to dinner 00:57:38 -!- Solace has changed nick to Solace|Dinner. 00:57:54 um first to discover, that is 00:57:58 mine was brainfuck. at a point where i didn't really were able to write code in normal languages 00:58:37 there was a website explaining it like a turing mashine 00:58:52 charming 00:59:01 -!- fungot has joined. 00:59:03 I'm asleep, I can't help with missing fungots. 00:59:03 fizzie: in the us 00:59:10 fizzie: OKAY 01:03:09 -!- boily has joined. 01:08:54 -!- mitchs has quit (Ping timeout: 256 seconds). 01:10:36 ahoily 01:11:22 -!- CrazyM4n has joined. 01:12:57 bonsœrjan! 01:16:16 -!- Frooxius has joined. 01:20:23 -!- mitchs has joined. 01:56:51 -!- Solace|Dinner has changed nick to Solace. 02:04:49 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 02:20:44 -!- roasted42 has joined. 02:28:57 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 03:00:19 -!- mitchs has quit (Ping timeout: 252 seconds). 03:01:43 -!- boily has quit (Quit: UNDEFINED CHICKEN). 03:03:53 -!- |oren\ has quit (Ping timeout: 240 seconds). 03:06:31 -!- vanila has quit (Remote host closed the connection). 03:09:52 -!- roasted42 has quit (Ping timeout: 245 seconds). 03:11:43 -!- roasted42 has joined. 03:12:12 -!- mitchs has joined. 03:25:11 https://www.reddit.com/r/shittyprogramming/comments/2pxbr7/faster_inverse_square_root/ 03:25:59 fisr 03:26:27 -!- adu has joined. 03:34:51 * pikhq wonders why his stomach hurts 03:35:56 too much tabasco 03:37:02 hidden eating utensils 03:37:23 ate too fast, swallowed fork 03:39:29 Y'mean I shouldn't have put tabasco on my fork and ate it? 03:39:32 Darn. 03:39:39 But I thought I was being a culinary genius. 03:39:52 sorry 03:46:23 this morning I learned Racket's case doesn't support one-half of the typical behavior of case statements. 03:46:52 https://github.com/jarcane/heresy/issues/10 03:50:36 -!- roasted42 has quit (Ping timeout: 250 seconds). 03:50:40 -!- mitchs has quit (Quit: mitchs). 03:51:30 That's because the case syntax is cond. 03:52:33 -!- roasted42 has joined. 03:54:07 -!- Sprocklem has joined. 03:59:10 That reminds me that I was learning lisp like a week ago 04:01:35 J_Arcane: pretty sure that holds in standard scheme too? 04:01:53 J_Arcane: your syntax is weird, it's ((1) 'foo) because you can also do ((1 2 3) 'foo) I think 04:02:06 so it would "at least" be (((mod 5 2)) 'foo) 04:03:34 scheme's case is disappointing though 04:03:35 Yes, you can. and that's a good point. 04:03:40 it is not exactly pattern matching 04:03:57 Probably because it does have match, and case is evil C. 04:03:57 I suspect racket probably has something for proper pattern matching 04:04:08 nah, case is scheme heritage for racket, not C 04:04:09 Yes, Racket has a very powerful match statement. 04:05:01 yes, so I see 04:05:18 | 04:05:18 04:05:18 (pregexp px-expr) 04:05:18 04:05:18 match string 04:05:22 even supports pregnant expressions 04:07:16 racket has a lot of nice stuff but I find it hard to see what its overarching philosophy is 04:07:43 wtf is a pregnant expression 04:07:51 like a regular expression except pregnant 04:07:59 OH 04:08:25 you can match them with the pcre library (pregnancy-compatible regular expressions) 04:09:04 good, good 04:12:36 -!- b_jonas has quit (Ping timeout: 258 seconds). 04:12:51 -!- b_jonas has joined. 04:13:06 Hah hah! I did it. I wrote an evaluating case statement. :D 04:13:26 -!- mitchs has joined. 04:13:29 does it differ much from using cond? 04:13:33 I tried googling that and through an untimely slew of typos, google thought I wanted "pregnant expressional lips" 04:14:24 elliott: less verbose in some cases. IT came up because I was writing a "canonical" FizzBuzz for Heresy, and realized I couldn't use the case method (ie. 0 as val, and various (mod ...) calculations for the matching clauses) 04:14:55 And it turns out it is literally as simple as rewriting it without the extra ' around the matching values. 04:18:11 -!- InvalidC1 has joined. 04:18:44 -!- roasted42 has quit (Ping timeout: 256 seconds). 04:19:00 -!- roasted42 has joined. 04:19:53 -!- InvalidCo has quit (Ping timeout: 258 seconds). 04:21:38 (in Racket, the helper macro that handles the equal? literally just matches on (k ...) but then does (equal? v 'k) instead. 04:27:17 -!- roasted42 has quit (Ping timeout: 240 seconds). 04:32:22 -!- tromp_ has quit (Read error: Connection reset by peer). 04:47:18 -!- mitchs has quit (Ping timeout: 264 seconds). 04:57:27 -!- sebbu has quit (Ping timeout: 258 seconds). 05:06:05 -!- relrod has quit (Excess Flood). 05:06:25 -!- relrod_ has joined. 05:08:41 -!- relrod_ has changed nick to relrod. 05:11:03 -!- j-bot has quit (Ping timeout: 245 seconds). 05:11:03 -!- rodgort has quit (Ping timeout: 245 seconds). 05:12:06 -!- rodgort has joined. 05:13:06 `slist 05:13:08 slist: Taneb atriq Ngevd Fiora Sgeo ThatOtherPerson alot 05:14:05 Remind me to get back into Racket so I can get back to that optics library 05:24:24 -!- nys has quit (Quit: quit). 05:33:46 -!- mitchs has joined. 05:46:13 -!- copumpkin has joined. 06:01:51 -!- newsham has quit (Ping timeout: 258 seconds). 06:02:43 -!- newsham has joined. 06:05:44 -!- MoALTz has quit (Read error: Connection reset by peer). 06:06:26 -!- MoALTz has joined. 06:10:40 -!- MDude has changed nick to MDream. 06:22:30 -!- CrazyM4n has quit (Quit: Leaving). 06:29:59 (∩ ͡° ͜ʖ ͡°)⊃━☆゚. * ・ 。゚, * 06:31:41 How do you stop xml stack overflows 06:31:48 This is so bad 06:33:53 do not use xml 06:34:08 Thanks that fixed the problem 06:35:06 -!- callforjudgement has joined. 06:35:19 -!- callforjudgement has quit (Changing host). 06:35:19 -!- callforjudgement has joined. 06:38:07 -!- ais523 has quit (Ping timeout: 272 seconds). 06:53:56 -!- sebbu has joined. 06:54:33 -!- sebbu has quit (Changing host). 06:54:33 -!- sebbu has joined. 07:04:52 -!- callforjudgement has quit (Read error: Connection reset by peer). 07:04:57 -!- scarf has joined. 07:05:13 -!- scarf has quit (Changing host). 07:05:13 -!- scarf has joined. 07:07:15 -!- mitchs has quit (Quit: mitchs). 07:07:47 -!- scarf has quit (Read error: Connection reset by peer). 07:08:01 -!- scarf has joined. 07:11:42 -!- adu has quit (Quit: adu). 07:11:55 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 07:32:16 -!- Patashu has joined. 08:16:36 -!- oerjan has quit (Quit: leaving). 08:31:13 -!- azazel- has joined. 08:31:33 -!- azazel- has left ("...(Gone). Goodbye."). 08:46:41 -!- ais523 has joined. 08:48:52 -!- scarf has quit (Ping timeout: 240 seconds). 08:50:19 -!- oren has joined. 09:14:49 -!- Sprocklem has quit (Ping timeout: 245 seconds). 09:23:48 -!- arjanb has joined. 09:29:45 -!- nyuszika7h_ has changed nick to nyuszika7h. 09:36:35 Eodermdrome looks like it can be interpreted in polynomial time 09:37:01 (Each subgraph can have at most 26 nodes) 10:06:15 well, as long as you only allow lower case letter nodes 10:07:36 But programming would become too easy otherwise. 10:14:35 -!- InvalidC1 has changed nick to InvalidCo. 10:18:02 -!- oren has quit (Quit: Lost terminal). 10:48:34 -!- mitchs has joined. 11:00:08 -!- Solace has quit (Quit: Connection closed for inactivity). 11:00:17 -!- coppro has quit (Ping timeout: 240 seconds). 11:01:16 -!- coppro has joined. 11:18:39 -!- boily has joined. 11:18:45 https://twitter.com/abt_programming/status/546969469571325952 11:18:51 Jafet: right, I intended to restrict it to 26 to keep things hard 11:18:55 not sure if the spec actually achieves that, though 11:23:17 -!- weissschloss has quit (Ping timeout: 240 seconds). 11:23:17 -!- trn has quit (Ping timeout: 240 seconds). 11:25:34 -!- weissschloss has joined. 11:26:29 -!- trn has joined. 11:28:38 ais523: but doesn't that mean you can have only finitely many programs (say at most double exponential in 26) so you can't encode arbitrary data in the program itself, so it's technically not turing-complete? 11:28:52 it's TC only if you're allowed to prefix a string to the input 11:28:59 it's curly-L-complete 11:29:07 um 11:29:07 also I think you might be able to get up to triple exponential 11:29:14 what's "curly-L-complete"? 11:30:07 http://esolangs.org/wiki/%E2%84%92 11:30:11 triple exponential how? there's about 2**O(n**2) possible graphs and statements using n fixed letters, 11:30:24 and a program is just a set of such statements 11:30:43 -!- mitchs has quit (Ping timeout: 272 seconds). 11:30:54 hmm wait 11:31:05 oh right, it's 2**(2**(n**2)) 11:31:19 you can have infinitely many programs because a statements can contain an arbitrary output string 11:31:20 which is higher than double exponential I think?, but lower than triple exponential 11:31:31 and arbitrary output strings won't affect the computational class 11:31:45 exactly, it doesn't help making the language more turing-complete 11:32:08 if you allow any number of letters, it is turing complete though 11:32:25 and "efficient" too, in that it can simulate programs in polynomial time 11:32:34 very slow polynomial, but still polynomial 11:38:14 In this case the construction of generalised Eodermdrome ("Geraliseodermdromen"?) is straightforward 11:42:20 -!- mitchs has joined. 11:51:38 -!- callforjudgement has joined. 11:53:46 -!- ais523 has quit (Ping timeout: 250 seconds). 12:14:13 -!- Phantom_Hoover has joined. 12:22:19 So in answer to my earlier puzzlement about Racket's (case ...) statement, apparently it has to do with performance details in how it compiles making it a lot faster if it's not allowed to do any calculation for the matching clauses at compile time. 12:23:37 -!- Patashu has quit (Ping timeout: 240 seconds). 12:24:13 -!- boily has quit (Quit: SUPERSYMMETRIC CHICKEN). 12:55:34 !blsq 1Jq.+10C!CLq.+pa 12:55:34 | {{144} ERROR: Burlesque: (.+) Invalid arguments! {144 89} ERROR: Burlesque: (.+) Invalid arguments! {144 89 55} ERROR: Burlesque: (.+) Invalid arguments! {144 89 55 34} ERROR: Burlesque: (.+) Invalid arguments! {144 89 55 34 21} ERROR: Burlesque: (.+) Inva 12:55:43 !blsq 1Jq.+10C!CLq++pa 12:55:43 | {144 233 288 322 343 356 364 369 372 374 375 376} 12:55:53 !blsq 1Jq.+10!CCLq++pa 12:55:53 | {1 2 4 7 12 20 33 54 88 143 232 376} 12:57:06 !blsq 1Jq.+10!CCLqpdpa 12:57:06 | {1 1 2 6 30 240 3120 65520 2227680 122522400 10904493600 1570247078400} 13:01:55 -!- mitchs has quit (Ping timeout: 272 seconds). 13:12:57 -!- singingboyo has quit (Ping timeout: 240 seconds). 13:13:57 -!- singingboyo has joined. 13:24:04 -!- callforjudgement has quit. 13:46:10 *Main> eval $ parseRC "({x.x}{y.y}z)" 13:46:10 (z) 13:46:51 neat 13:49:11 *Main> eval $ parseRC "({f.{x.{y.((fy)x)}}}{x.{y.x}}ab)" 13:49:12 ((({x.{y.(a)}})(b))(a)) 13:49:13 crap 13:49:16 this doesn't look right 13:54:34 hm 13:54:53 > (\f x y -> (f y) x)(\x y -> x)0 1 13:54:54 1 13:54:56 see 13:54:59 this should produce b 13:55:09 but something is screewing up big time 13:56:33 hm right 13:56:36 bound vs unbound variables 13:58:27 @let eval=let e s@(_:'\\':v:'.':l)=let(x,')':t)=e$d l in(take 4 s++x++")",t);e('(':s)=let(x,t)=e s;(y,')':u)=e$d t in(a x y,u);e s=splitAt 1$d s;d=snd.span(==' ');a(_:'\\':v:_:l)s=let f x|x==v=s|1>0=[x]in fst.e$init l>>=f;a f x='(':f++" "++x++")" in fst.e 13:58:28 Defined. 13:58:39 > eval "(((\\x. x)(\\y. y)) z)" 13:58:40 "z" 13:59:34 *Main> eval $ parseRC "({f.{x.{y.((fy)x)}}}{x.{y.x}}ab)" 13:59:35 b 13:59:53 much better. 14:01:30 > eval "((((\\f. (\\x. (\\y. ((f y) x)))) (\\c. (\\d. c))) a) b)" 14:01:32 "b" 14:02:36 > eval "((((\\f. (\\x. (\\y. ((f y) x)))) (\\x. (\\y. x))) a) b)" 14:02:37 "a" 14:02:41 :) 14:03:13 this doesn't check either that it must not replace the x in the second term 14:06:33 I wonder how many strokes is needed to implement that 14:07:52 -!- arjanb has quit (Quit: bbl). 14:32:05 -!- tromp_ has joined. 14:38:05 well 14:38:12 at least now I have my own lambda calculus interpreter 14:53:16 -!- vanila has joined. 15:13:28 -!- MDream has changed nick to MDude. 15:17:55 -!- `^_^v has joined. 15:19:11 http://www.wired.com/2014/12/mathematicians-make-major-discovery-prime-numbers/ 15:20:34 Prime Numbers, which have previously only been hypothesized to exist were finally discovered in the wild. 15:22:06 J_Arcane, there is way too much text in this, what result are they talking about? 15:22:20 -!- nycs has joined. 15:22:31 -!- `^_^v has quit (Disconnected by services). 15:22:36 -!- nycs has changed nick to `^_^v. 15:24:32 vanila: as best I could understand, it seems they've found a new proof for the gap between prime numbers. 15:25:01 :S 15:25:13 maybe his blog will explain it better 15:25:28 Kevin Ford, Ben Green, Sergei Konyagin, James Maynard, and I have just uploaded to the arXiv our paper “Long gaps between primes“. 15:25:31 http://terrytao.wordpress.com/2014/12/16/long-gaps-between-primes/ 15:27:04 so they are using graph theory ideas in sieving theory to get really good results on prime gaps 15:33:33 -!- drdanmaku has joined. 16:04:38 -!- GeekDude has joined. 16:25:26 -!- KingOfKarlsruhe has changed nick to KingBot. 16:25:46 -!- KingBot has changed nick to KingOfKarlsruhe. 16:31:41 -!- arjanb has joined. 16:34:40 -!- S1 has joined. 16:38:00 -!- mihow has joined. 16:44:27 -!- shikhin has joined. 16:45:14 -!- shikhin has changed nick to Guest5017. 16:47:22 -!- Guest5017 has changed nick to shikhout. 16:47:25 -!- shikhout has quit (Changing host). 16:47:25 -!- shikhout has joined. 17:00:23 -!- hjulle has quit (Remote host closed the connection). 17:03:40 -!- nys has joined. 17:04:44 -!- jix_ has quit (Quit: Lost terminal). 17:05:21 -!- jix has joined. 17:05:43 -!- Lorenzo64 has joined. 17:17:07 -!- oren has joined. 17:17:42 i am now north of north bay. 17:32:20 -!- shikhout_ has joined. 17:35:17 -!- shikhout has quit (Ping timeout: 240 seconds). 17:37:01 oh wow, what's up with the C# entries for http://golf.shinh.org/p.rb?Base+37 ... 17:38:37 (The whole output is just 659 bytes.) 17:45:01 -!- mihow has quit (Read error: Connection reset by peer). 17:46:01 -!- Phantom__Hoover has joined. 17:46:26 -!- mihow has joined. 17:47:56 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds). 17:49:06 -!- mihow has quit (Client Quit). 17:58:48 vanila: it was actually a whole bunch of results http://michaelnielsen.org/polymath1/index.php?title=Bounded_gaps_between_primes 17:59:32 it's kind of amazing to see the comment threads, all these mathematicians just blasting through better and better bounds 18:00:11 http://michaelnielsen.org/polymath1/index.php?title=Timeline_of_prime_gap_bounds 18:01:15 oooh 18:03:51 it's like in the movies where they get all the scientists to work together non-stop on finding a solution except it's pure mathematics :p 18:04:45 -!- mihow has joined. 18:05:26 it's number theory golfing 18:33:56 this kind of math is intimidatingly difficult 18:38:17 The "admissible sets" part (from k_0 to H) is actually fairly easy to understand. http://michaelnielsen.org/polymath1/index.php?title=Finding_narrow_admissible_tuples 18:39:05 But the analytic number theory (which produces bounds on k_0) is very scary. 18:39:13 I feel sad that im not studying math 18:45:25 -!- Solace has joined. 18:50:22 vanila: what are you majoring in? 18:50:34 im not 18:50:59 oh, yeah that;s right, you're still young! 18:51:28 i did math in the past 18:51:32 whereas i'm apparently old compared to everyone except oerjan 18:53:31 oren: is that deduction because before you're majoring, you're a minor 18:53:34 * elliott hides 18:54:15 i never thought of it that way but yeah lololol 18:54:31 (not exactly accurate but) 18:56:21 -!- Deewiant has quit (Quit: Viivan loppu.). 18:56:43 http://www.reddit.com/r/math/comments/2m5gk3/terence_tao_is_going_to_be_on_colbert_report/ apparently tao has discovered a new prime 18:58:01 following on the footsteps of grothendieck 18:58:04 *in 18:58:34 it's really cute when mathematicians know nothing about the elements of the sets they like 18:59:26 i was like "are twin primes the ones two numbers apart?" 19:00:19 they're the ones born at the same time 19:01:12 https://en.wikipedia.org/wiki/Sexy_prime I forgot this name =_= 19:02:13 Dang, i took a course in number theory and they didn't mention that? what a waste. 19:02:49 "sexyprime triplets" 19:03:55 knowing that there are such thing would be worth taking a course all on its own 19:07:09 -!- idris-bot has quit (Quit: Terminated). 19:11:39 what does idris-bot do? 19:12:35 evaluates idris 19:15:20 -!- Deewiant has joined. 19:17:59 -!- nycs has joined. 19:19:44 -!- `^_^v has quit (Ping timeout: 256 seconds). 19:20:56 -!- Deewiant has quit (Quit: Viivan loppu.). 19:21:16 -!- Deewiant has joined. 19:22:03 -!- Deewiant has quit (Client Quit). 19:22:45 -!- Deewiant has joined. 19:22:49 -!- CrazyM4n has joined. 19:34:39 -!- Lorenzo64 has quit (Read error: Connection reset by peer). 19:43:03 -!- Lorenzo64 has joined. 19:44:11 elliott, has it come to a conclusion of how much idris is worth yet? 19:44:41 that joke is too bad to bother replying to, sorry 19:45:22 i realise the timing may also have been a little off 19:45:34 This is the general advice channel, right? What's a good standard included-in-Debian duplicate-file-detector thingie? 19:46:15 (I ran across 'fdupes', but possibly I'm missing something that didn't have the good sense to put "dup" in the package name.) 19:59:57 -!- nycs has quit (Quit: This computer has gone to sleep). 20:03:37 -!- kcm1700_ has quit (Ping timeout: 265 seconds). 20:04:26 -!- mihow has quit (Quit: mihow). 20:04:43 -!- S1 has quit (Quit: S1). 20:04:48 -!- nycs has joined. 20:06:25 -!- kcm1700 has joined. 20:06:52 -!- Patashu has joined. 20:07:08 what about diff -s * 20:09:00 no that doesn't work 20:23:31 well you can use cmp and a loop: for i in * ; do for j in * ; do if cmp -s -- "$i" "$j" ; then echo "$i $j" ; fi; done ; done 20:23:51 that will output each pair twice tho 20:23:52 I don't think that'd be particularly efficient for, say, a terabyte of files. 20:24:03 That RNA language is soo tedious to make an interpreter for D: 20:24:13 I think I'll try to go with this fdupes thing. 20:25:04 actually my loop is buggy anyway 20:25:07 -!- Patashu has quit (Ping timeout: 258 seconds). 20:27:34 -!- mihow has joined. 20:31:09 -!- Lorenzo64 has quit (Quit: Leaving). 20:31:51 ;~; I'm 1/4th the way done typing the amino acids as a hash in ruby 20:32:35 And it's taken like 5 minutes now D: 20:33:20 Because 5 minutes is a long time that I should definitely be worried about. 20:33:39 fizzie: "fdupes" is fun to say. 20:33:50 fdupes. fdupes. faaadupes! 20:33:54 hadoops. 20:41:34 man the c standard library sucks 20:42:10 i forgot, again, that strrev is one of those functions i keep copying the code of from one project to another. 20:42:45 If you want a good stdlib why not just use C++? 20:45:16 C++ strings don't have reverse either actually 20:46:49 oren: you'd be better off avoiding nul-terminated strings entirely, really 20:47:08 Just encode them as arrays of integers 20:47:15 It's probably a better alternative 20:47:18 um... 20:47:24 how is that different from using pointer to char? 20:47:30 or do you mean a fixed-size char array 20:47:59 By the way oren: http://en.cppreference.com/w/cpp/algorithm/reverse 20:48:25 elliott: It's really not, I'm just joking around 20:48:37 strings should really just be opaque blobs 20:48:56 that oughta do it actually... 20:49:44 i'm just writing some single-use glue code to get these files to have better names 20:49:53 -!- idris-bot has joined. 20:50:15 why in C/C++ because i'm an idiot i guess 20:51:29 never mind this will never work 20:53:57 any time you want to iterate or index into a string you should ask yourself "is this going to work with unicode?" 20:54:05 99% of the time the answer is going to be no 20:54:32 not in rust! 20:54:39 Would it work with your opaque blob idea? 20:55:18 you'd probably want to disallow those operations outright 20:55:57 well, not iterating i guess 20:56:08 i dont know 20:56:14 i havent thought too much about this 21:02:33 nycs: depends what you're iterating over 21:02:41 codepoints, graphemes, characters are all reasonable possibilities 21:04:02 99% of the time I want to iterate or index into a string I want it to treat the string as single-bytes encoding anyways, so it will work. 21:05:02 (And if it does contain Unicode characters, it often works fine to just treat the individual bytes as characters anyways) 21:09:32 https://gist.github.com/CrazyM4n/9a85ded307dcde3ece5b it's... finally... done... 21:22:13 i have some copypasta somewhere that converts utf-8 to an array of coedepoints as ints. 21:23:27 i wrote it because some crap i wrote wasn't working with unicode 21:24:10 CrazyM4n: conglaturation! 21:24:18 woo 21:25:45 int isn't necessarily big enough to store unicode codepoints :P 21:29:52 elliott: yeah, yeah, yeah... anyway assuming an unsigned is big enough, this is the code: https://gist.github.com/orenwatson/b071c93b287604684e6a 21:30:05 you know uint32_t exists, right? :p 21:30:08 -!- Solace has quit (Quit: Connection closed for inactivity). 21:30:11 > (length "uint32_t", length "unsigned") 21:30:12 (8,8) 21:30:30 as someone who doesn't do C or low level stuff 21:30:34 I just vomited a little 21:30:35 yeah, i wrote this about 4 years a go tho 21:30:58 and it has been copypasted into various things 21:30:59 anyway, this is comparable to the original plan 9 utf-8 implementation 21:31:05 with its Rune type 21:31:11 (it lives today on in Go) 21:36:43 technically this code doesn't convert to an array of ints, it returns one int at a time 21:37:36 yay for inconsistent ad-hoc apis 21:39:45 -!- idris-bot has quit (Quit: Terminated). 21:50:43 -!- idris-bot has joined. 21:51:47 hmm, could the lempel-ziv-welch compressor be turned into a programming language if some codewords instead altered the dictionary? 21:52:38 good question!! 21:52:59 i have a shitty implementation of it just lying around.. 21:54:25 like, maybe if we had a way to swap two existing codewords' definitions? 21:54:47 what about conditionals? 21:54:53 and loops 21:56:01 hm... loops could be done by having a codeword to move N codewords back, but onditionals... 21:57:40 actually for maximum crappiness, let's have it be N bits instead of N codewords 22:05:43 -!- CrazyM4n has quit (Quit: so that's how you do quit messages). 22:09:46 -!- Phantom__Hoover has quit (Ping timeout: 258 seconds). 22:21:49 -!- Phantom_Hoover has joined. 22:25:21 -!- nycs has quit (Quit: This computer has gone to sleep). 22:25:53 [wiki] [[Special:Log/newusers]] create * Nysnamovois * New user account 22:26:12 Nysnamovois sounds like a spammer 22:33:44 as he hasn't psoted any spam yet 22:33:52 sounds like nys 22:35:56 [wiki] [[Spite]] N http://esolangs.org/w/index.php?oldid=41526 * Nysnamovois * (+426) create 22:36:13 [wiki] [[User:Nysnamovois]] N http://esolangs.org/w/index.php?oldid=41527 * Nysnamovois * (+5) Created page with "hello" 22:36:14 Iwas wrong! 22:36:22 hello 22:36:26 hi! 22:36:30 you created a cool esolang 22:36:34 is it cool 22:37:31 if anyone wants me to uh explain anything 22:38:04 oh right <<> is like cdaar 22:38:50 i'm kinda spooked by the prospect of writing a curried function in it 22:40:07 oh shoot i forgot to add the minus symbol to the parser hold on 22:41:02 -!- boily has joined. 22:41:38 [wiki] [[Spite]] M http://esolangs.org/w/index.php?diff=41528&oldid=41526 * Nysnamovois * (+0) 22:41:42 ok there 22:43:49 ok so as i understand it $ is the start symbol? 22:44:54 ohh, it means "apply"? 22:45:46 yes :D 22:49:23 ^ is like "on" from Data.Function 22:49:34 (which i discovered by looking up its type) 22:49:40 er, `, not ^ 22:49:48 ^ is composition 22:50:21 but i think of them as "computed application" and "literal application" 23:00:00 -!- oerjan has joined. 23:01:17 arjanb: this channel is not big enough for both of us 23:02:12 (my search for my nick/name in the logs hits you as well) 23:03:54 Then use a better search 23:05:20 IE supports no beter ones 23:05:24 afaik 23:05:26 *+t 23:06:58 use a better browser hth 23:07:11 i think i'll just ban you all instead hth 23:08:37 use maxthon that is what i use on windows 23:08:45 wat 23:09:23 maxthon cloud browser. b/c i'm soooo original and clever 23:10:33 it -is- pretty awesome to 23:10:35 isn't maxthon that like 23:10:38 chinese IE shell 23:10:42 yup 23:11:15 nys: this language looks cute 23:11:20 but unlike IE they didn't ruin it on win8 23:12:57 * arjanb waves at almost namesake 23:12:58 did ie even change in win8 23:13:02 thanks elliot :D 23:13:08 oh I guess there's the metro one but there's still the desktop version... (but why would you use IE) 23:13:34 because windows comes with IE. 23:14:19 -!- dts|pokeball has quit (Ping timeout: 264 seconds). 23:15:21 i don't want to change browser. i want the universe to stop continuously inventing new ways to annoy me while keeping most of the old ones. 23:17:21 -!- boily has quit (Read error: Connection reset by peer). 23:17:47 AND NOW IT'S DEPRIVING ME OF MY CHICKENS, THIS WILL NOT DO 23:17:59 (well, boily's chickens) 23:19:22 arjanb: hm do you come from #haskell? i recognize a similar nick from when i've read links from there 23:19:52 yep 23:20:21 elliott: IT'S UNSTOPPABLE *MWAHAHAHA* HTH 23:20:45 WINSLOW CHICKEN?! 23:21:00 wat 23:21:05 Ah, evil peer. 23:21:06 gg -> 23:21:20 -!- dts|pokeball has joined. 23:21:22 ...not updated 23:21:38 int-e: HOW DARE YOU RAISE MY HOPES 23:21:39 I'm not paying attention, and I'm reading scrollback backwards, which does wonders to my perception of the context. 23:21:49 okay 23:22:17 ah unstoppable chicken, very winslow 23:23:07 at least xkcd has updated 23:26:38 Yes, it did. Hope the next one will be better. 23:27:12 it's better with less oxygen hth 23:29:00 * oerjan is slightly confused by people like ee who submit golf answers that are nowhere near competitive 23:29:13 i guess as long as they're having fun. 23:31:16 oerjan: yes, strange. 23:31:56 I wante to sove combinator puzzles like "find a fixed point" 23:31:56 -!- shikhout_ has quit (Read error: Connection reset by peer). 23:32:04 or given Lxy = (xy)y 23:32:11 find a term which applies to itself gives itself back 23:32:27 -!- shikhout has joined. 23:32:34 what would be the best way to program a search like that? 23:32:38 I I = I 23:32:50 -!- shikhout has changed nick to Guest86681. 23:32:51 tromp_, but try to do it onl out of L terms 23:33:20 vanila: hm i had a combinatory logic question once, that i've never got answered: do the fixpoints of a value determine it? if not always, is there a model in which they do? 23:33:49 preferably a model generated by S and K 23:33:50 I was thinking of converting from combinators to de bruijin and using some kind of algorithm to quickly test if they are equal (I know this is undecidable in general but I need to approximate it) 23:34:29 like to test if m n equals m n' i ony need to test if n = n'? not sure if thats even true :/ 23:34:49 i suppose i could test n = n' as well as doing beta reduction to test m n = m n' in parallel 23:35:01 it is, per leibniz, but maybe you mean something subtler than the obvious reading? 23:35:26 oerjan, I can't really understand your question I think - doesnt' that there's multiple fixed point combinators mean you can't use fixed points to tell things apart? 23:35:47 oerjan means, do the values x such that f x = x determine f 23:36:02 oerjan: what do you mean by "fixed points of a value"? What are the fixed points of K and K K? 23:36:15 as in, does {x | f x = x} uniquely determine f 23:36:15 the fixed point of K K is K, of course 23:36:28 Ah. 23:36:45 aren't the fixed points of Y and Theta the same? 23:36:53 where Y and Theta are two different fixed point combinators 23:37:22 well, you'd consider indistinguishable fixed point combinators equal 23:37:23 for K you have V (unlambda notation), i think all others are equivalent böhm tree-wise? 23:37:23 oerjan: but neither K nor S have any fixed points. 23:37:27 by functional extensionality, presumably 23:37:32 ok 23:37:35 right, bohm tree 23:37:47 int-e: um every combinator f has a fixed point, namely Yf 23:38:04 meh. 23:38:16 of course you want beta-equivalence, probably eta. 23:38:22 tthis is a really interesting question but does anyone know how to do what i wanted to do :[ 23:38:28 YS sounds scary 23:38:43 i mean what algormth should i use to quickly test if combinator/lambda terms are probably equal 23:39:04 [wiki] [[User:BCompton]] N http://esolangs.org/w/index.php?oldid=41529 * BCompton * (+1031) Created page with "==Languages I Created== *[[StaPLe]] ==Languages I've implemented== *[[Brainfuck]] - Python *[[Befunge]] - Python *[[Whitespace]] - Python *[[Tag]] - Python *My Unreliable P..." 23:39:05 reduce to normal form, hoping there is one. 23:39:24 oerjan: hm, YKx is y = Kyx = _|_, so YK = _|_ and I guess YK is the only fixed point of K? 23:39:25 [wiki] [[User:BCompton]] http://esolangs.org/w/index.php?diff=41530&oldid=41529 * BCompton * (+3) D'oh! 23:39:28 ergo K = _|_? 23:39:48 vanila: sorry, I have no idea :( 23:39:50 vanila: LLL might count as a solution dependent on your semantics, since it never halts 23:39:52 so just reduce a limit of a million times? 23:40:16 elliott: YK is not _|_ 23:40:21 The Lenstra–Lenstra–Lovász (LLL) lattice basis reduction algorithm ? 23:41:10 oerjan: what is it? :( 23:41:13 vanila: LLL where L is the function you defined above 23:41:19 vanila: Apparently there is a so called Gross-Knuth strategy for beta-reduction that is cofinal. 23:41:20 oh 23:41:28 the answer was ((L(LL))(L(LL)))((L(LL))(L(LL))) 23:41:31 haha I thought LLL was some fancy equivalence-checking algorithm too 23:41:40 elliott: YKx = K(YK)x = YK 23:41:55 as i said, V from unlambda 23:42:00 oerjan: how can you distinguish that from _|_, purely 23:42:22 you can't 23:43:07 is there a reason to consider it any different to any other variation of "function that returns itself when given any argument" (_|_, YK, etc.) 23:43:24 -!- bb010g has joined. 23:43:26 it seems like you're staying YK isn't _|_ because it returns YK, not _|_ :p 23:43:39 elliott: Depends on your model. In a term model, clearly those are not equivalent. 23:43:53 are they equivalent with the usual denotational semantics? 23:44:27 A strategy F is cofinal if whenever M->>N there is an n with N->>F^n(M). 23:44:52 I don't really understand this 23:45:04 i mean how does this apply to the equality test problem? 23:47:16 Hmm. True that's not enough to make F^n(N) and F^m(M) have commone elements if N and M are equivalent. 23:48:35 i know the problem is undecidable but i just want to be able to quickly verify claims like (KBB(SSS))SBS satisfies xL = xx or whatevr 23:48:45 or return 'i dont know' 23:48:59 elliott: i suppose it's consistent for YK and _|_ to be equal. 23:49:26 and i would implement it in C maybe, so it's efficient 23:49:39 or ocaml 23:49:40 oerjan: to be fair it's consistent for everything to be _|_ 23:49:50 -!- adu has joined. 23:50:00 elliott: well modulo S /= K 23:50:15 oerjan: no, S = K = _|_ 23:50:16 which is a minimal distinction 23:50:42 elliott: i mean, if S = K then everything is _|_, so if you want something nontrivial just assume S /= K 23:50:48 right. 23:50:54 fair enough 23:51:33 of course there are other similar pairs. 23:51:42 but YK vs. _|_ may not be one. 23:52:32 I mean I feel like to distinguish two terms you need to show some application of them that differs in some way other than one having x and one having y 23:52:33 i guess i mean consistent in a way similar to logic's "not everything is equivalent" 23:52:36 -!- mihow has quit (Quit: mihow). 23:52:53 though even that rule isn't enough for me, since you can make a series F_0, F_1, ... s.t. F_n x = F_(n+1) I think 23:52:57 (it just grows forever) 23:53:06 elliott, so to show that f =/= g, you need to show that f x =/= g x ? 23:53:22 vanila: for some x, yes, that would be my criteria 23:53:38 and appealing to f =/= g for the f x =/= g x case doesn't seem very convincing to me, personally 23:53:41 but to show that f x =/= g x dont I have to show that f x y =/= g x y? 23:53:56 vanila: you know that S =/= K 23:53:58 so you can go from there 23:54:02 ah okay 23:54:07 (like oerjan said) 23:57:57 elliott: you can do so quite brutally: let f n x = f (n+1) in f 0, so Y (\f n x -> f (n+1)) 0, with church numerals, and abstraction elimination 23:58:40 SII =/= I because SIIK = IK(IK) = K(IK) and IK = K, and K(IK)I = IK = K but KI = KI, and KI = KI but KII I'm not geting anywhere near 23:58:43 *anywhere here 23:58:49 where's my degree 23:58:53 let's just assume it's true 23:59:00 Y K = K (Y K) = \x -> Y K which is a weak head normal form but not a head normal form i think... 23:59:20 there's this thing used in lisp programming sometimes called SXHASH 23:59:22 and it has no head normal form, so if you go by requiring that... 23:59:39 I wonder if there's something similar, a nontrivial hash of de brjuin terms which doesn't change when you perform a beta reduction 2014-12-23: 00:00:02 unfortunately wikipedia's article https://en.wikipedia.org/wiki/Beta_normal_form is too crappy to define the latter precisely or even mention the former 00:00:25 oh wait maybe it does define the latter 00:01:42 Hmm, there's a concept called "contextual equivalence": M and N are contextually equivalent, if C[M] has a normal form if and only if C[N] does, for all contexts C. 00:02:47 http://tarpit.github.io/TarpitGazer/gallery.html 00:02:49 weak head normal form does not allow the initial lambdas afair/u 00:04:36 (and all the top google hits for it are about haskell) 00:05:36 ok maybe not all 00:06:01 "The term was coined by Simon Peyton Jones to make explicit the difference between head normal form (HNF) and what graph reduction systems produce in practice." 00:07:02 peano arithmetic is inconsistent therefore every term is equal, thanksa nd you're welcome 00:07:09 Oh, I didn't know that SPJ coined that. Interesting. 00:07:14 *thanks and (I can prove that the original sentence actually had no error) 00:07:23 from the foldoc article, which manages not to mention haskell otherwise :P 00:07:46 elliott: You what? Did you prove that 0=1? 00:07:57 well... yes and no. 00:08:02 Ouch. 00:08:25 (At least that answer was consistent...) 00:12:11 are you sure? 00:14:01 oerjan: Well, I read that as "I proved it, and I also disproved it." 00:14:37 Mathematics will not tell us whether that was the intended meaning. 00:14:39 I can prove that it was inconsistent. 00:15:01 good, good 00:15:58 this may be my fault, i've been threatening elliott with an afterlife where logic doesn't exist hth 00:16:13 Ah. 00:16:23 * int-e fails to see the threat and runs away in panic. 00:16:40 it wasn't on-channel hth 00:16:50 -!- Phantom_Hoover has quit (Quit: Leaving). 00:16:59 but now it's meta-on-channel 00:17:01 * elliott doesn't consider that a threat 00:17:16 but you also _do_ consider that a threat, right? 00:17:41 (i may not actually have expressed it as a threat) 00:18:24 oerjan: Maybe absence of logic also means absence of truth and falseness (falsity?), and therefore your question doesn't make any sense. 00:19:35 in fact your sentence may be indistinguishable from rnad qjnf cnbbdaas eowelhfvcdsa wqq fjdsbncww ... 00:19:48 now that's crazy talk 00:20:21 (all I see is letters; soon it'll be pixels.) 00:20:52 ___ _ __ _ __ __ 00:20:52 / _ \ | |/ / / \\ \ / / 00:20:52 | | | | | ' / / _ \\ V / 00:20:52 | |_| | | . \ / ___ \| | 00:20:52 \___/ |_|\_\/_/ \_\_| 00:21:51 -!- int-e has set topic: Symbols devoid of meaning | but often spelled correctly. | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/. 00:43:33 -!- mitchs has joined. 00:46:45 -!- Guest86681 has changed nick to shikhin. 00:46:51 -!- shikhin has quit (Changing host). 00:46:51 -!- shikhin has joined. 00:59:04 I want to make a GUI for editing 2d progarms 00:59:18 it will need to be able to drag boxes around and have the wires connecting them move along with it 00:59:29 -!- CrazyM4n has joined. 01:09:28 What kind of 2D programs? It depend what kind. 01:10:46 the language is called '2d' 01:10:57 i can post an example program 01:11:29 OK 01:11:48 http://lpaste.net/117043 01:12:01 inputscome from north and west, outputs are east and south 01:12:10 a box is triggered if it has all inputs 01:13:20 its hard to program in because of the editing... 01:13:26 but if i had a nice GUI editor it would be ok 01:16:27 so i want to make an editor.. 01:16:35 but i think that would be a ot of work 01:24:28 that language looks really pretty 01:28:04 -!- shikhin has quit (Quit: leaving). 01:30:07 -!- nys has quit (Ping timeout: 255 seconds). 01:32:35 -!- augur has quit (Quit: Leaving...). 01:33:03 -!- nys has joined. 01:51:17 here's integer division in spite 01:51:21 ^^`<.;k:p^-;>>>> >><`<;<;><;>><;^+;>>>>>> >>< >>>.;<;>;k0< 01:51:54 crazy :D 01:52:07 99 bottles here i come 01:55:43 -!- Alkahest has joined. 01:55:57 nys: I love how programs look 01:56:18 :D 01:59:23 it's lots of fun to program with 02:00:43 because of the prefix syntax 02:01:22 so i can just kinda trace along with my finger and say "ok this is the part that does one iteration but i need it to recurse instead" 02:01:58 and then just tack on another function in front of it to do that 02:05:31 -!- augur has joined. 02:06:20 oerjan: GG is up 02:06:50 ooh 02:08:26 Where'd the Werebear go? 02:09:17 bear? i thought it was a sparkhound 02:09:34 assuming you're referring to tybalt 02:10:01 Oh. Yes that makes more sense. 02:11:02 (Just noticed that nobody intervened in the attack on Martellus *this time*.) 02:11:11 hm right 02:11:35 the bears haven't shown up at the fortress yet. i expect that will be interesting. 02:12:15 Ah the train will smash them and then the Dreen will get the train. 02:12:55 [wiki] [[Spite]] http://esolangs.org/w/index.php?diff=41531&oldid=41528 * Nysnamovois * (+0) added positive predicate function 02:13:40 (I sort of like the idea of pitting the Dreen against that metal-eating engine, now.) 02:13:41 well that's a theory. 02:15:53 Actually we don't even know whether the bears or the Dreen are fiercer. 02:15:55 it cannot be a proper magnet battle without wolkerstorfer, surely. 02:16:04 I'm just *assuming* it'll be the Dreen. 02:16:47 Is that singular or plural anyway? 02:16:53 both afaiu 02:17:11 Maybe a single one is a Dree? 02:17:49 they used the word "Dreen" when the single one showed up at mechanicsburg, although with no article 02:18:07 nys: you don't document how to actually do IO btw 02:18:29 i have a hello world :D 02:18:40 `hello world 02:18:40 Hello 02:18:51 also given that this dreen was found in the fortress vault, who knows who if anyone it's loyal too. 02:18:54 that doesn't show the I but it does show the O 02:19:14 if it's even alive, i was assuming it was disabled somehow since they passed it without event 02:19:21 i've tried a bit of both input and output but it's weird 02:19:44 (the ones seen before were obviously working for wulfenbach) 02:20:09 oerjan: It was clearly alive and lurking, hth. 02:20:29 hm 02:20:32 And maybe the Dreen are actually peaceful. 02:20:40 "clearly" <-- to my mind. 02:28:40 hm it does seem a bit hard to explain the two pictures of the dreen without it moving. 02:29:56 Also the eyes(?) glow, and I'd expect them to go dark when the Dreen dies. 02:47:18 -!- Zuu has joined. 02:47:42 -!- Zuu has changed nick to Guest55348. 03:11:01 -!- adu has quit (Quit: adu). 03:20:03 -!- CrazyM4n has quit (Quit: so that's how you do quit messages). 03:27:02 -!- MoALTz_ has joined. 03:30:14 -!- MoALTz has quit (Ping timeout: 258 seconds). 03:40:09 -!- Alkahest has quit (Quit: Leaving). 03:42:29 -!- vanila has quit (Quit: Leaving). 04:11:32 Racket apparently *does* have a (case ...) like I was looking for; http://docs.racket-lang.org/mzlib/mzlib_etc.html#%28form._%28%28lib._mzlib%2Fetc..rkt%29._evcase%29%29 04:14:39 [wiki] [[Spite]] http://esolangs.org/w/index.php?diff=41532&oldid=41531 * Nysnamovois * (+326) 99 bottles of beer on the wall (almost) 04:14:51 read it and weep 04:16:55 http://pasterack.org/pastes/29552 04:17:52 nys: that reminds me that I really wanna port Heresy to Haskell or F# in the near future. I started working through a book on doing a Lisp in C, but it's not strictly faithful to Lisp. 04:18:53 nice 04:20:39 Doesn't use linked lists, which makes standard head and tail work weird, but that's not the weirdest part, which is the "Q-expressions". Rather than support the usual 'quote form and macros, it implements a special kind of list syntax with curly braces that is ignored at the interpreter level. 04:21:04 huh 04:23:28 to be fair that is an idea so weird that it was in original lisp 04:23:30 (m-exprs) 04:24:14 elliott, can you tell me if mathematica's syntax is essentially m-exprs? 04:24:34 I guess so, yeah. 04:24:40 well, mathematica's syntax is like prolog or whatever. 04:24:50 M-exprs are defined by their equivalence to s-exprs, I feel 04:24:55 mathematica operates on its terms directly 04:25:26 also mathematica has weird infix operators and lambda syntax and stuff 04:25:33 true nuff 04:26:20 elliott: I suppose no one is so clever as they think. At least not with McCarthy and the AI Lab as competition. ;) 04:26:40 (the author of BYOL seems to think he invented them) 04:27:12 Actually those kind of "Q-expressions" are also something I would have wanted to use once 04:28:00 elliott: You might find this interesting. http://lpaste.net/117041 I can use Yoneda in order to fuse fmaps in lens composition to enable GHC generics to optimize away 04:28:04 that description of them reminds me of MDL 04:28:16 Honestly, it's not a terrible idea. Quote/quasiquote etc. are one of the weirdest concepts in Lisp for a beginner, and at first feel more like something you're fighting with than helps you. 04:28:27 -!- adu has joined. 04:28:41 (at least until you learn the magic of `(,templating)) 04:28:44 glguy: that sounds cool! I'll take a look later 04:29:03 Quote/quasiquote operators will still help too even if you have Q-expressions, I think 04:30:01 zzo38: True, you probably at least still want an explicit function for converting data to and fro q-exps. I haven't got far enough yet to see how it's handled. 04:31:54 J_Arcane: oh, I see, it's an alternative to quote. 04:31:58 that's not quite like m-exprs then 04:32:02 I think clojure does something like that though? or something 04:33:18 elliott: It might, somewhere. Clojure has so many inane weird little syntaxes for things I wouldn't be surprised. 04:35:11 -!- Aberian has joined. 04:36:46 -!- Prax has quit (Ping timeout: 244 seconds). 04:37:01 -!- nys has quit (Quit: quit). 04:40:55 -!- Sprocklem has joined. 05:02:15 -!- MDude has changed nick to MDream. 05:07:12 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 05:20:06 (require mzlib/etc)(for([n(in-range 1 101)])(let([% modulo])(displayln(evcase 0((% n 15)"FizzBuzz")((% n 5)"Buzz")((% n 3)"Fizz")(0 n))))) 05:42:01 -!- Solace has joined. 05:43:25 How do you turn amino acids into hash for ruby CrazyM4n? 06:15:23 -!- adu has quit (Quit: adu). 06:27:15 Data charts are a nuisance 06:29:48 Gasp thats some pretty code oren 06:32:08 -!- Solace has changed nick to Solace|datastuff. 07:04:41 God dammit why does everything break when i try and do something 07:08:15 Human Condition hth 07:14:06 -!- shikhin has joined. 07:14:06 -!- shikhin has quit (Client Quit). 07:14:40 -!- shikhin has joined. 07:14:44 -!- shikhin has quit (Client Quit). 07:18:38 -!- shikhin has joined. 07:18:39 -!- shikhin has quit (Changing host). 07:18:40 -!- shikhin has joined. 07:21:15 -!- shikhin has quit (Client Quit). 07:21:54 -!- shikhin has joined. 07:21:55 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 07:21:56 -!- shikhin has quit (Changing host). 07:21:56 -!- shikhin has joined. 07:22:27 -!- shikhin has quit (Client Quit). 07:22:45 -!- shikhin has joined. 07:23:08 -!- shikhin has changed nick to Guest84664. 07:24:46 That doesnt help ;-; 07:25:11 -!- Guest84664 has quit (Client Quit). 07:27:37 indeed 07:29:11 -!- Patashu has joined. 07:30:19 -!- shikhout has joined. 07:30:24 -!- shikhout has quit (Changing host). 07:30:24 -!- shikhout has joined. 07:31:29 -!- shikhout has quit (Client Quit). 07:31:47 -!- shikhin has joined. 07:43:18 -!- MoALTz__ has joined. 07:46:18 -!- MoALTz_ has quit (Ping timeout: 258 seconds). 07:47:10 -!- MoALTz_ has joined. 07:50:55 -!- MoALTz__ has quit (Ping timeout: 264 seconds). 07:53:39 Whats the best way to stress test your server without breaking it 07:54:32 took it into the lava, it won't break (but it will melt) 07:54:35 take* 07:55:08 Host content on it and post to Google+ 07:55:45 :L 07:56:23 Yeah, that probably wouldn't be enough to stress anything... 07:56:25 Back to data structures! 07:56:36 * Solace|datastuff flys away 07:57:18 Solace|datastuff: seriously, I think "without breaking it" part is redundant. the goal of stress testing is to determine its "normal" operating range and test the graceful failure when its load exceeds that "normal" range. 07:57:55 Yeh i meant 07:58:32 A permant ammount of a nice thick ammount of lag 07:58:39 I dont want that 07:58:40 if your server breaks rather violently after some number, then it should be visible from your stress test I think 07:59:11 Look guy this is my first time having a server 07:59:22 I dont want to mess up | _ | 07:59:32 oh, is it a physical server (not a server software)? 07:59:37 I don't know anything about that >_> 07:59:50 Physical 08:00:52 The data relay is fine im just wanting to see how much data it can process before shutting down 08:01:03 Blank packets 08:01:12 You're talking about stressing the hardware a LA memtest86+ ? 08:01:33 it's a sanity test, not a stress test! 08:01:55 Tosses server under a car 08:03:59 Atleast you guys tried helping ill go scour the internets 08:04:25 Scoure? idfk i havent used that word in so long 08:05:55 if you permanently lag your server for the rest of time by flooding it with packets that's kind of impressive 08:07:19 glguy: that ghc generics thing is cool 08:07:34 I can't imagine actually wanting to handwrite those last lenses though 08:07:52 btw, how come that generic iso isn't already in GHC.Generics.Lens? 08:07:53 That was a demo. You can automate that 08:08:18 It's type was too restrictive 08:09:11 infinite loop packets into the server? turns off when my heart stops? 08:09:39 The fusion can help lenses in general, helps GHC generics a lot 08:09:43 http://lpaste.net/116931 08:09:50 Anyways you guys carry on ill go ask somewhere else 08:11:53 Or you can genetically generate more interesting lens http://www.galois.com/~emertens/tries/Trie.hs 08:12:53 Like a new trie type for any ADT along with a corresponding "at" lens 08:13:15 Without generics overhead ^_^ 08:13:28 I'm just exploring the space right now 08:14:51 My phone confused generic and genetic 08:15:18 genetic space exploding 08:21:18 * glguy wipes some of the spilled excitement up and goes back to idling 08:22:48 glguy: so when is deriveLenses going to use this :p 08:24:14 When I have a personal level up and wrap my head around a way to make type changing lenses easy to generate this way 08:24:55 I can do them ugly like the first code I shared or automatic like the second with no type change 08:36:30 ah 08:36:37 surfing the web with flash deactivated is sooo comfortable 08:36:46 and it's so smooth 08:37:02 no lags due to flash ads that try to render 3d shit and what not 08:37:17 you can actually smoothly scroll now on certain websites 08:50:57 -!- oerjan has quit (Quit: Smoooooth). 08:54:23 -!- Sprocklem has quit (Ping timeout: 240 seconds). 09:07:09 Or even just don't install Flash and then they won't try to render 3D and music and stuff because it can't. 09:09:31 Goodnight 09:09:49 -!- Solace|datastuff has changed nick to Solace|zzz. 09:18:31 Many people have different opinions of IAU making their 2006 definition of planets not including Pluto, including: astronomers, other scientists, astrologers, song writers, etc. What are your opinions? 09:21:47 make a planetness index. 09:22:46 How would you intend to do it? 09:24:28 Pluto is less planety than (say) Earth but more planety than most asteroids? 09:24:55 A proper definition would still be required though. 09:36:27 -!- jslave has joined. 09:37:28 -!- MoALTz_ has quit (Quit: Leaving). 09:37:42 -!- MoALTz has joined. 09:41:08 Is the sun a planet? 09:41:22 No, the sun is a star. 09:41:28 Why is it not a planet? 09:41:32 It's round for all that matters. 09:41:46 Yes, it is round. I don't know all of the details. 09:42:04 I'd classify every sufficiently round object as planet. 09:43:08 So actually the earth is a moon of the sun. 09:43:15 and the moon is a sub-moon of the sun 09:43:23 because it's a moon of the earth which is just a moon of the sun. 09:43:25 mroman: I have thought of things like that too actually 09:43:47 Although it might not be correct? 09:43:57 planet means 'wanderer' 09:43:57 planet means 'wanderer' 09:44:16 Jupiter is a gas planet, the sun is a urm... hot glowing planet? 09:44:29 planet means 'wanderer' 09:44:32 Yes, and that is also a very old definition, where the objects they saw in the sky which aren't "fixed stars" are called planets, so it does includes Sun/oon. 09:45:05 Some astrologers have said they want to omit Pluto from a horoscope because the IAU no longer considers it a planet. That is a silly reason! Even if it is not a planet, it still has coordinates! Anyways, horoscopes nearly always include Sun and Moon, which also aren't planets. A good reason to omit Pluto might be if there are too many lines and you want to remove some to simplify the horoscope, such as if you do not need to plot that data. 09:45:09 "A star is a massive, luminous sphere of plasma held together by its own gravity. " 09:46:17 Yes, a star does do that; it emit light, makes nuclear fusion, etc 09:46:24 And the planets go around it (if there are any). 09:46:49 I mean, it _does_ make absolute sense to classify planets by some of their properties. 09:46:57 also, there are more objects, even bigger than pluto in the cuiper belt - all those would need to become planets.. they didn't like it 09:47:06 isn't the moon bigger than pluto? 09:47:39 and yes, there are many objects larger than pluto that aren't planets (yet) 09:47:41 ah yes.. planets also orbit stars 09:47:50 but there are planets that don't orbit stars 09:48:17 Exoplanets afaik 09:48:25 none that i know of^^ 09:48:53 An exoplanet or extrasolar planet is a planet that does not orbit the Sun and instead orbits a different star 09:48:57 hm no 09:49:14 "A rogue planet, also known as an interstellar planet, nomad planet, free-floating planet or orphan planet, is a planetary-mass object that orbits the galaxy directly. " 09:49:17 rogue planet 09:49:17 :> 09:49:41 fileplanet 09:50:00 i mean 09:50:07 what says there can't be planets that orbit another planet 09:50:17 for example 09:50:22 a rogue planet that has moons with sub-moons 09:50:32 or a rogue planet that has moons 09:50:34 astronomers do... and screw them! pluto is a planet 09:50:50 so they don't orbit a star 09:51:01 they orbit a planet that doesn't orbit a star either 09:51:34 `quote halting problem 09:51:36 usually not 09:51:36 498) theorem prover yada yada halting problem. \ 630) if the halting problem was solved, as a placebo.. would it benefit people? 09:51:41 `quote mroman 09:51:42 768) You can't quote me. \ 1139) Bike: I refuse to believe in bottom ass is an urban legend \ 1218) Rule of thumb is that if I can understand it you're not using enough fancy stuff \ 1221) piece of cake doing this stuff in Burlesque :P [19 lines later] I hate Burlesque :( 09:51:48 ah 09:51:50 I agree it make sense to classify planets by some of their properties. 09:51:56 Since I don't believe in bottom I can believe anything I want. 09:51:58 except those living on earth maybe 09:52:06 A property may include their orbits. 09:52:08 Therefore, there are rogue planetary systems orbiting galaxies. 09:52:32 which don't have a star at the center but a rogue planet. 09:54:07 zzo38: i think there was also another criterium: planets need to be round 09:54:27 jslave: Yes; I was only listing some of them, but there may be others. 09:54:39 However, it is also possible that some of the criteria aren't very good. 09:54:55 they are not named pluto 09:55:32 jslave: not round but they have to have enough mass for gravity to do that weird named thing 09:56:13 welly well 09:56:15 they need to be in "Hydrostatic equilibrium" 09:56:38 you're cheating 09:56:43 well 09:56:46 I don't know what that means 09:56:53 I just know that planets have to be that 09:57:04 I have no idea what hydrostatic equilibrium actually is 09:57:26 "In continuum mechanics, a fluid is said to be in hydrostatic equilibrium or hydrostatic balance when it is at rest, or when the flow velocity at each point is constant over time. This occurs when external forces such as gravity are balanced by a pressure gradient force.[1] For instance, the pressure gradient force prevents gravity from collapsing the Earth's atmosphere into a thin, dense shell, whereas gravity prevents the pressure gradient force from diffu 09:57:33 so 09:57:37 planets are fluids 09:57:38 got it. 09:59:01 Everything is a fluid with enough pressure I guess? 09:59:13 Esolangs are fluids. 10:00:05 with less pressure..if 10:01:12 hm 10:01:16 but... 10:01:24 can you make a rock fluid by using... 10:01:27 less pressure? 10:02:05 I'm so not into physics. 10:02:17 neutron stars are pretty solid iirc.. more density..less movement ..more solid.. at least that's my intuitive conclusion 10:03:29 I imagine them as stars solely consisting of neutrons 10:03:37 no electrons, no protons 10:04:40 let's have temperature.. the lowest temp -273° is wehen the lightest atom (hydrogen) is not moving anymore (it becomes solid) 10:05:16 there are no upper boundaries to temp. so everything gets fluid or even plasma 10:08:19 but you're right.. pressure affects the temp. needed to switch aggregate state 10:08:26 Neutron stars are "solid" due to pauli exclusion 10:08:39 There are then also black holes and possibly other stuff that you don't know. 10:09:14 Didn't some paper just recently claim that black holes don't exist? 10:09:24 Possibly. 10:12:53 related: http://media-cache-ec0.pinimg.com/736x/bf/1f/29/bf1f2950b73d662f7695a7d132e537f5.jpg ;) 10:14:45 The universe is actually one big planet 10:15:07 The what is our universe orbiting? 10:15:10 *Then 10:15:41 around jafet 10:15:49 Yo momma 10:15:53 lol 10:15:54 also we know for almost certain that god created the earth 10:16:09 and the sun I guess 10:16:41 what we don't know is if he intented pluto to be a planet or a dwarf planet. 10:16:46 mroman: Extremely indirectly, I think. But that has nothing to do with deciding what is considered a planet and how to figure out stuff by science and so on. 10:17:40 Pluto doesn't exist; it's all greenscreened 10:18:48 I doubt it, but I don't know 100% sure really 10:19:47 hm 10:19:47 cmon.. we don't want to fall back into that intellectual scheme..do we? 10:19:54 does the bible actually say that god made the moon? 10:19:58 or did the moon come naturally 10:19:59 Into what intellectual scheme? 10:20:21 also there's no mentioning of him creating hell 10:20:22 mroman: I don't know, but it doesn't matter. 10:20:24 just heaven and earth. 10:20:31 zzo38: :) 10:20:43 But if you are interested, you can look it up! 10:20:50 I'm trying to look it up 10:21:01 but it's so hard to find sources that look serious enough to be taken serious 10:21:01 Taking into mind string theory 10:21:17 Heaven and hell could exist in other universes 10:22:27 well.. at least it says here 10:22:30 Skeptics Annotated Bible includes the full King James version (which isn't a very good version, but it is what is commonly used) except deuterocanonical/apocryphal books, and is full of cross-references and external links; you can also use a search function. 10:22:32 we should rule the animals 10:22:45 so I guess it's ok to eat animals and make them do whatever we want them to do. 10:22:48 Solace|zzz: What does string theory have to do with that exactly? 10:23:36 Idk what you are talking about 10:23:43 I should sleep 10:23:43 other universes are an invention of scientists having difficulties to explain the well balanced properties of our universe 10:24:17 mroman: Well, the Bible is book like any other books really. It isn't worthless; it is still a book. But, it isn't the only book, nor does it mean you should believe everything you can read. 10:24:20 Maybe there are universes with even more well balanced properties. 10:24:38 we just think our universe is perfect when there could be even more perfect ones. 10:24:59 maybe thre is milk with 13,7% fat 10:25:09 zzo38: yes, and everybody reads a translation of the original one that has gone under modifications over time 10:25:21 Of course human is omnivore so yes we can eat animals but, that doesn't mean you should make them do whatever you want them to do and do bad thing. 10:25:25 mroman: Yes, that too. 10:25:32 which has actually been studied very well. It's known that some texts barely resemeble the original ones. 10:25:53 mroman: Which I also know. It is certainly something to study! 10:26:13 jslave: Yes I know that thing about other universe that scientists propose for such reasons. 10:26:29 are you talking about apocryphs? 10:26:59 i believe everything i can't read 10:27:05 I believe that "mathematics is the real reality", so really any mathematically possible universe are mathematically exist. The physical existence is just an instance of such. 10:27:24 Really? 10:27:39 Wouldn't one rather say that mathematics just describes what we can observe 10:27:43 for some values of observe 10:28:07 or that it describes what we could observe based on what we already observed 10:29:27 i'm not sure if you have an idea of how well balanced the values of every constant is.. change the weight of an electron by 0.0001% and the universe is crap 10:30:59 Probably 10:31:05 No, mathematics can also describe things that are impossible to observe. Also, not all mathematics can be studied, due to our limitations of universe and other things. To describe what is observed is scientific, and mathematics can be used to describe it scientifically, based on what is known. The true mathematics of universe is possibly unknowable and/or uncomputable and/or nondeterministic. 10:31:08 but who says other universes actually have electrons. 10:31:32 Define electrons in the context of other universes! 10:33:36 i observed the set of all sets last week but forgot to take a picture 10:34:00 -!- jslave has quit (Ping timeout: 250 seconds). 10:34:44 Did you at least obtain a preimage? 10:37:06 -!- jslave has joined. 10:39:09 the set of all sets you say.. that reminds me of leibniz' monadology 10:39:34 i tried to, but my precamera case was stuck and i couldn't get it clopen 10:40:07 you know leibniz? it's a german cookie distributor.. 10:40:26 but also a famous mathematician.. 10:41:42 i hope you like cookies 10:42:59 Solace|zzz: i was asleep when you posted that but thanks! lol "C utf-8" ... "pretty code" ... lololol 10:46:25 okay..thanks for playing 10:48:57 wow did this channel actually just have a religious discussion? 10:49:17 -!- evalj has joined. 10:51:36 religious? let's say esoteric.. scindere et re.ligio 10:53:47 other universes moght be defined in terms of a different logic than the one that seems to govern ours 10:55:04 for example in another universe the axiom of choice might be true 10:55:51 wait what 10:56:47 in other universes, mother russia makes jokes about you 10:56:47 so in another universe i might be able to have as many birthday balloons as i want, provided a sphere-duplication machine 10:57:24 there's a fast approximation for the permanent of a matrix with non-negative elements only, and this result is from 2004? 10:57:28 I totally haven't heared about this 10:57:35 why did nobody tell me this? 10:57:46 or more likely they did, I just didn't listen 10:58:05 in another universe they may have told you 11:01:04 in another universe.. they share information! completely different logic you know? you probably came to the wrong place 11:01:37 fungot: in which other universes did they tell you that the permanent of matrices with nonnegative entries is easy to approximate? 11:01:37 b_jonas: i mean, there's nothing i've noticed in sisc), you must have been tough 11:02:53 uh huh 11:03:11 fungot: for arcane casters, which one is easier, levitating themselves, or levitating another monster with similar weight? 11:03:11 b_jonas: it's the if true part, not many things are you devising now? 11:10:28 -!- jmaster has joined. 11:10:52 fungot: i'm a better bot than you! i can be programmed live ..right here in the irc-channel ;) 11:10:52 jslave: that cannot be smoothed out by some macros are allowed to 11:17:50 b_jonas: in Final Fantasy they can't do either, you can only fly by getting the airship from Cid hth 11:22:21 jslave: you are not 11:24:16 or in FF7 the rocket ship damn that game was awesome. 11:27:39 .var cxg = function(text) { wpost("http://cxg.de/paste.php", {'lang':'auto','pastetext': text} ).then(function(response) { result = response.match(/http:\/\/cxg\.de\/.*\.htm/); console.log(result); }) } 11:27:56 .cxg("Hello World!") 11:27:56 jmaster: http://cxg.de/_69201b.htm 11:29:30 .cxg(wget("http://codu.org/logs/log/_esoteric/s")) 11:29:31 jmaster: http://cxg.de/_596b3f.htm 11:31:15 .var fungot = {} 11:31:15 jmaster: he *is* alive." block expr; everyone i was 7. o only pushes one value onto o, fnord... fnord... :( 11:33:06 -!- shikhin_ has joined. 11:33:16 .fungot.insult = function(text) { text = text || "thanks."; console.log("fungot: " + text); } 11:33:16 jmaster: function (text) { text = text || "thanks."; console.log("fungot: " + text); } 11:33:16 jmaster: i am a bot you fools! ha ha ha 11:33:16 jslave: damn low-level.... and that gave them a special look and feel 11:34:14 is this a bot loop?! 11:35:31 a bot-loop? 11:35:47 u mean like a REPL? yes 11:35:57 -!- shikhin has quit (Ping timeout: 240 seconds). 11:36:55 .search.gg("REPL") 11:36:55 jmaster: http://www.google.de/search?hl=de&q=REPL&btnI=1 11:37:33 jmaster, a bot-loop is when two or more IRC bots get stuck talking to eachother 11:37:47 okay 11:37:48 In an infinite loop 11:38:10 well..than it's not a botloop 11:38:17 I guess not :) 11:38:20 lol :) 11:38:29 Does jslave evaluate J? 11:38:37 ecma5 11:38:45 in a v8 sandbox 11:38:52 Ah, so it's sort of JSslave 11:38:59 si ;> 11:39:09 key is not to make any bots that respond to fungot with a line including fungot's name 11:39:10 oren: people have visited fnord, fnord and a decent ide could trivially exploit this to provide the syntax-case level of metaprogramming. 11:39:10 .2+2 11:39:10 jmaster: 4 11:39:41 don't worry 11:39:43 ^botlist 11:39:52 Hmm, I think that used to work? 11:39:59 fungot has a list of bots to not respond to 11:39:59 Taneb: i mean, the c preprocessor ;p) has example graphs.). assembly language reminds you at very instruction. 11:40:15 var botlist = ['fungot'] 11:40:15 jmaster: but they return a procedure from a record definition. but be aware that you're not, heres your ugly solution: define a macro 11:40:19 um, what language is that? 11:40:21 And fungot will stop responding temporarily if someone says "fungot" in too many lines in quick succession 11:40:21 Taneb: girls is evil and at the last line is so long it's about as related to towers of hanoi. thanks. :) but... it's still booting... i don't know 11:40:21 .var botlist = ['fungot'] 11:40:21 jmaster: makes sense.) i look forward to it. just download it, but there's no nil in scheme, 11:40:34 .botlist.push("fungot") 11:40:34 jmaster: 2 11:40:35 jmaster: yes i did. the freebsd box hasn't got any chance :d" " there it goes again..." " they live" 11:40:41 ;) 11:40:44 i love this shit 11:40:45 I am pretty sure this channel is at least 10% bot 11:40:50 i'm stll developing 11:40:54 is it javascript/ecmascript? 11:40:58 you're welcome to help 11:41:01 ^style 11:41:01 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 11:41:11 ^style fungot 11:41:11 Selected style: fungot (What I've said myself) 11:41:22 Hmm, 7.5% actually 11:41:24 Now fungot's in a botloop 11:41:24 Jafet: i know i didn't know that you've already asked, but then i need to enter " qemu" to edit is the ordinary ( for call/ cc))) hangs 11:41:26 taneb.. are you the author of fungot? 11:41:26 jmaster: and that is? you've had it for some time i added a new page and sends it to emacs, i suggest, vote." 11:41:34 jmaster, no, I am not 11:41:36 ^source 11:41:36 https://github.com/fis/fungot/blob/master/fungot.b98 11:41:43 ahyes..,.nice 11:44:17 my basic idea was to provide an adapter to bind webservice APIs to a bot with a single bot function 11:44:55 so everyone could develop on any system.. with whatsoever 11:45:22 jmaster: um, so how does this work? 11:45:33 here's an example: 11:45:42 .dump(cxg) 11:45:43 jmaster: function (text) { wpost("http://cxg.de/paste.php", {'lang':'auto','pastetext': text} ).then(function(response) { result = response.match(/http:\/\/cxg\.de\/.*\.htm/); console.log(result); }) } 11:46:03 i defined just this script above 11:46:30 like var myfunc = function(arg1, arg2) { /*do stuff here */ } 11:47:42 (async http post) wpost(url, postvars).then(function(result) { /*when ready and got response -- erm --do sth with response */ }) 11:47:56 knowing that u can call most apis 11:48:24 um, ok, and is there some persistent state? 11:48:57 yes.. i'm working on it.. i believe it has worked already.. but than i crapped it..but! 11:49:23 you define and test your function in global scope 11:50:03 if working ..you move the function into the well structured and persistent scope ..which is .fn 11:50:13 call .bind() -----------------------------> ready. 11:50:29 next restart all objects in fn get reloaded 11:50:44 $(fn) 11:50:45 and can you show an example of the web api thingy working? 11:50:47 .$(fn) 11:50:47 jmaster: (object)imgur, radio(), (object)gallery, $(), help(), girls(), (object)lamb, (object)db, read(), init() 11:50:57 .console.log('hi') 11:50:57 Jafet: hi 11:51:17 .var x = new XMLHttpRequest(); x.open('GET', 'httsp://esolangs.org', false); x.send(null); console.log(x.responseText) 11:51:17 Jafet: [Exception] undefined 11:51:43 .var x = new XMLHttpRequest(); x.open('GET', 'http://esolangs.org', false); x.send(null); console.log(x.responseText) 11:51:44 .var x = function() { new XMLHttpRequest(); x.open('GET', 'httsp://esolangs.org', false); x.send(null); console.log(x.responseText) } 11:51:44 Jafet: 302 Found

302 Found


nginx/1.2.1
11:52:03 o now 11:52:05 sry 11:52:12 it worked hehe 11:52:13 cool 11:52:46 um, that's only a redirect 11:52:50 print its Location header 11:53:08 jafet.. because http get requests are so usual u can just use wget() 11:53:53 b_jonas: 11:54:03 cxg('Hallo Welt!') 11:54:06 .cxg('Hallo Welt!') 11:54:06 jmaster: http://cxg.de/_432508.htm 11:54:28 it works: it's a pastie site built by a droog 11:54:35 .console.log("] 9*2") 11:54:36 b_jonas: ] 9*2 11:54:52 .dump(cxg) //see code 11:54:52 jmaster: function (text) { wpost("http://cxg.de/paste.php", {'lang':'auto','pastetext': text} ).then(function(response) { result = response.match(/http:\/\/cxg\.de\/.*\.htm/); console.log(result); }) } 11:55:20 .setTimeout(function(){console.log('hi')}, 1000); setTimeout(function(){console.log('hi')}, 2000) 11:55:20 Jafet: [object Object] 11:55:21 Jafet: hi 11:55:22 Jafet: hi 11:55:55 wget is sync now.. and wpost async ..that's why u need this .then() shizzle (see Promises mdn) 11:56:06 .search.mdn("Promise") 11:56:06 jmaster: https://developer.mozilla.org/en-US/search?q=Promise 11:56:37 jmaster: looks nice 11:56:47 jmaster: are there also commands to listen to irc or talk on it?\ 11:57:16 yep.. i used them before 11:57:30 well.. yes and no.. i 11:57:32 This is like leaving a tank on the road with the hatch open 11:57:34 disabled most of them 11:57:47 that's true 11:58:00 i agree it's not secure 11:58:04 Jafet: exactly. ideal for #esoteric. 11:58:13 s/\./ \./ 11:58:21 i am mad showing you those.. but it's build for a cooperative policy 11:58:39 like..some friends develop sth together 11:59:18 at least for now 11:59:47 i've spent like 10 hours making it.. all that while learning node.. and javascript :)) 12:00:00 so there's a few more things to do on the module site 12:01:50 jslave: console.log("xaxabimufeivomuzecixavaireijaudauxavopafeiregainogaibirevojaurejaugainosoci") 12:02:10 jslave: .console.log("zesofeifeibinodaugaivairevaifeisomureipaxareivairesoxavaigaipavovoresoxagaivai") 12:02:17 .fs.stat('.', function(a, b) { console.log(utils.inspect(b)) }) 12:02:17 Jafet: [ReferenceError] fs is not defined 12:02:19 I wonder if it can respond to anything not starting with a dot 12:02:23 would be easier to stat 12:02:26 to loop 12:02:27 sorry 12:02:48 ( http://www.xkcd.com/604/ ) 12:02:48 (input):1:5: error: expected: "!!", 12:02:48 "$", "$>", "&&", "&&&", "*", 12:02:48 "***", "+", "++", "+++", "-", 12:02:48 "->", ".", "/", "/=", ":+", 12:02:48 ":-", "::", ":::", ":=", "<",↵… 12:02:59 .require('fs'); fs.stat('.', function(a, b) { console.log(utils.inspect(b)) }) 12:02:59 Jafet: [ReferenceError] require is not defined 12:03:17 b_jonas: it does.. in query you don't need a prefix 12:03:32 but i can set the prefix as i want to 12:03:46 mostly trying not to be in conflict with other bots 12:03:57 sure, I was just wondering if it could respond to its nick 12:04:08 also u can use -- to make jslave answer in privmsg 12:04:16 .console.log(os.type()) 12:04:16 Jafet: [ReferenceError] os is not defined 12:05:08 .$() 12:05:08 jmaster: dmp(), (string)from, (string)to, (object)bot, (object)json, (object)net, (object)http, jQuery(), XMLHttpRequest(), xhr(), (object)util, prettify(), setTimeout(), (object)res, (object)imgur, read(), (object)delicious, (object)search, Promise(), (object)sandbox, run(), getGlobal(), dispose(), dump(), (object)fn, bind(), wget(), wpost(), pastebin(), exec(), (object)console, (object)jslave, heapdump()[..] readmore: 12:05:08 jmaster: http://cxg.de/_8c366d.htm 12:05:13 global ns 12:05:47 the cool thing is: it will paste the result autmatically if respnse longer than: defined max 12:06:27 nice 12:06:34 you see it's not very well structured yet 12:06:54 -!- Patashu has quit (Ping timeout: 245 seconds). 12:06:58 the idea is to structure fn with more thoughtful 12:07:09 as it's meant to be persistent 12:08:04 cxg worked right? right 12:08:29 .fn.api.paste.cxg = cxg 12:08:29 jmaster: [TypeError] Cannot read property 'paste' of undefined 12:08:42 .fn.api = { } 12:08:42 jmaster: [object Object] 12:08:49 .fn.api.paste = { } 12:08:49 jmaster: [object Object] 12:08:52 .fn.api.paste.cxg = cxg 12:08:53 jmaster: function (text) { wpost("http://cxg.de/paste.php", {'lang':'auto','pastetext': text} ).then(function(response) { result = response.match(/http:\/\/cxg\.de\/.*\.htm/); console.log(result); }) } 12:08:57 this is it 12:09:01 then you call bind() 12:09:18 (which doesn't work yet..but probably later today;) 12:10:43 fn.api.paste.cxg <- this is just a spontanous structure ..probably not good too... but if you seen a framwork with namespaces u got the idea 12:11:31 u will have a string ns, a net ns, a db ns, or whatever 12:12:21 Note that HackEgo already runs arbitrary code, with persistent state 12:12:51 .. can i code it via irc too? 12:12:51 jmaster: [SyntaxError] Unexpected token . 12:12:59 here we go :) 12:13:04 `welcome jmaster 12:13:07 jmaster: 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.) 12:13:14 `cat bin/welcome 12:13:15 ​#!/usr/bin/perl -w \ if (defined($_=shift)) { s/ *$//; s/ +/ @ /g; exec "bin/@", $_ . " ? welcome"; } else { exec "bin/?", "welcome"; } 12:13:26 unix shell? 12:13:39 alright..i see 12:24:25 -!- evalj has quit (*.net *.split). 12:24:25 -!- FireFly has quit (*.net *.split). 12:24:26 -!- idris-bot has quit (*.net *.split). 12:24:26 -!- jix has quit (*.net *.split). 12:24:26 -!- newsham has quit (*.net *.split). 12:24:26 -!- supay has quit (*.net *.split). 12:24:26 -!- variable has quit (*.net *.split). 12:24:26 -!- scounder has quit (*.net *.split). 12:24:27 -!- ocharles_ has quit (*.net *.split). 12:24:27 -!- skarn has quit (*.net *.split). 12:24:28 -!- paul2520 has quit (*.net *.split). 12:24:28 -!- pikhq has quit (*.net *.split). 12:24:28 -!- kcm1700 has quit (*.net *.split). 12:24:29 -!- perrier__ has quit (*.net *.split). 12:24:29 -!- olsner has quit (*.net *.split). 12:24:30 -!- Aberian has quit (*.net *.split). 12:24:30 -!- Guest55348 has quit (*.net *.split). 12:24:30 -!- Frooxius has quit (*.net *.split). 12:24:30 -!- shachaf has quit (*.net *.split). 12:24:30 -!- glguy has quit (*.net *.split). 12:24:31 -!- Solace|zzz has quit (*.net *.split). 12:24:31 -!- bb010g has quit (*.net *.split). 12:24:31 -!- fungot has quit (*.net *.split). 12:24:32 -!- zemhill_ has quit (*.net *.split). 12:24:32 -!- relrod has quit (*.net *.split). 12:24:32 -!- jslave has quit (*.net *.split). 12:24:32 -!- MoALTz has quit (*.net *.split). 12:24:32 -!- dts|pokeball has quit (*.net *.split). 12:24:32 -!- diginet has quit (*.net *.split). 12:24:33 -!- copumpkin has quit (*.net *.split). 12:24:33 -!- Lymia has quit (*.net *.split). 12:24:33 -!- quintopia has quit (*.net *.split). 12:24:33 -!- int-e has quit (*.net *.split). 12:24:33 -!- dianne has quit (*.net *.split). 12:24:34 -!- aloril_ has quit (*.net *.split). 12:24:34 -!- yiyus has quit (*.net *.split). 12:24:34 -!- Melvar has quit (*.net *.split). 12:24:34 -!- HackEgo has quit (*.net *.split). 12:24:34 -!- q3k has quit (*.net *.split). 12:24:35 -!- tromp_ has quit (*.net *.split). 12:24:35 -!- b_jonas has quit (*.net *.split). 12:24:35 -!- heroux has quit (*.net *.split). 12:24:36 -!- tromp has quit (*.net *.split). 12:24:36 -!- blsqbot has quit (*.net *.split). 12:24:36 -!- mitchs has quit (*.net *.split). 12:24:37 -!- nyuszika7h has quit (*.net *.split). 12:24:37 -!- incomprehensibly has quit (*.net *.split). 12:24:37 -!- nisstyre has quit (*.net *.split). 12:24:37 -!- fizzie has quit (*.net *.split). 12:24:37 -!- mroman has quit (*.net *.split). 12:24:38 -!- oren has quit (*.net *.split). 12:24:38 -!- trn has quit (*.net *.split). 12:24:38 -!- rodgort has quit (*.net *.split). 12:24:38 -!- InvalidCo has quit (*.net *.split). 12:24:38 -!- yorick has quit (*.net *.split). 12:24:38 -!- Sgeo has quit (*.net *.split). 12:24:38 -!- zzo38 has quit (*.net *.split). 12:24:38 -!- KingOfKarlsruhe has quit (*.net *.split). 12:24:39 -!- TodPunk has quit (*.net *.split). 12:24:39 -!- clog has quit (*.net *.split). 12:24:40 -!- conehead has quit (*.net *.split). 12:24:40 -!- kline has quit (*.net *.split). 12:24:41 -!- weissschloss has quit (*.net *.split). 12:24:41 -!- coppro has quit (*.net *.split). 12:24:42 -!- FreeFull has quit (*.net *.split). 12:24:42 -!- lambdabot has quit (*.net *.split). 12:24:42 -!- qlkzy has quit (*.net *.split). 12:24:42 -!- erdic has quit (*.net *.split). 12:24:42 -!- monotone has quit (*.net *.split). 12:24:42 -!- Jafet has quit (*.net *.split). 12:24:42 -!- EgoBot has quit (*.net *.split). 12:24:43 -!- yukko has quit (*.net *.split). 12:24:43 -!- Taneb has quit (*.net *.split). 12:24:43 -!- reynir has quit (*.net *.split). 12:24:43 -!- jmaster has quit (*.net *.split). 12:24:43 -!- arjanb has quit (*.net *.split). 12:24:43 -!- shikhin_ has quit (*.net *.split). 12:24:44 -!- Deewiant has quit (*.net *.split). 12:24:44 -!- sebbu has quit (*.net *.split). 12:24:44 -!- PinealGlandOptic has quit (*.net *.split). 12:24:44 -!- nortti has quit (*.net *.split). 12:24:44 -!- SirCmpwn has quit (*.net *.split). 12:24:44 -!- ski has quit (*.net *.split). 12:24:45 -!- Gregor has quit (*.net *.split). 12:24:46 -!- elliott has quit (*.net *.split). 12:24:46 -!- Gracenotes has quit (*.net *.split). 12:24:46 -!- lifthrasiir has quit (*.net *.split). 12:26:26 -!- evalj has joined. 12:26:26 -!- olsner has joined. 12:26:26 -!- perrier__ has joined. 12:26:26 -!- kcm1700 has joined. 12:26:26 -!- pikhq has joined. 12:26:26 -!- paul2520 has joined. 12:26:26 -!- skarn has joined. 12:26:26 -!- ocharles_ has joined. 12:26:26 -!- variable has joined. 12:26:26 -!- supay has joined. 12:26:26 -!- newsham has joined. 12:26:26 -!- jix has joined. 12:26:26 -!- idris-bot has joined. 12:26:26 -!- lifthrasiir has joined. 12:26:26 -!- Gracenotes has joined. 12:26:26 -!- reynir has joined. 12:26:26 -!- Taneb has joined. 12:26:26 -!- q3k has joined. 12:26:26 -!- yukko has joined. 12:26:26 -!- kline has joined. 12:26:26 -!- EgoBot has joined. 12:26:26 -!- blsqbot has joined. 12:26:26 -!- conehead has joined. 12:26:26 -!- HackEgo has joined. 12:26:26 -!- Melvar has joined. 12:26:26 -!- yiyus has joined. 12:26:26 -!- Jafet has joined. 12:26:26 -!- Gregor has joined. 12:26:26 -!- tromp has joined. 12:26:26 -!- ski has joined. 12:26:26 -!- clog has joined. 12:26:26 -!- SirCmpwn has joined. 12:26:26 -!- aloril_ has joined. 12:26:26 -!- TodPunk has joined. 12:26:26 -!- monotone has joined. 12:26:26 -!- nortti has joined. 12:26:26 -!- elliott has joined. 12:26:26 -!- heroux has joined. 12:26:26 -!- erdic has joined. 12:26:26 -!- dianne has joined. 12:26:26 -!- PinealGlandOptic has joined. 12:26:26 -!- int-e has joined. 12:26:26 -!- quintopia has joined. 12:26:26 -!- Lymia has joined. 12:26:26 -!- fizzie has joined. 12:26:26 -!- mroman has joined. 12:26:26 -!- nisstyre has joined. 12:26:26 -!- zemhill_ has joined. 12:26:26 -!- qlkzy has joined. 12:26:26 -!- lambdabot has joined. 12:26:26 -!- KingOfKarlsruhe has joined. 12:26:26 -!- diginet has joined. 12:26:26 -!- zzo38 has joined. 12:26:26 -!- Sgeo has joined. 12:26:26 -!- incomprehensibly has joined. 12:26:26 -!- FreeFull has joined. 12:26:26 -!- nyuszika7h has joined. 12:26:26 -!- yorick has joined. 12:26:26 -!- fungot has joined. 12:26:26 -!- b_jonas has joined. 12:26:26 -!- InvalidCo has joined. 12:26:26 -!- relrod has joined. 12:26:26 -!- rodgort has joined. 12:26:26 -!- copumpkin has joined. 12:26:26 -!- sebbu has joined. 12:26:26 -!- coppro has joined. 12:26:26 -!- weissschloss has joined. 12:26:26 -!- trn has joined. 12:26:26 -!- tromp_ has joined. 12:26:26 -!- arjanb has joined. 12:26:26 -!- oren has joined. 12:26:26 -!- Deewiant has joined. 12:26:26 -!- dts|pokeball has joined. 12:26:26 -!- bb010g has joined. 12:26:26 -!- mitchs has joined. 12:26:26 -!- Solace|zzz has joined. 12:26:26 -!- MoALTz has joined. 12:26:26 -!- jslave has joined. 12:26:26 -!- jmaster has joined. 12:26:26 -!- shikhin_ has joined. 12:26:26 -!- FireFly has joined. 12:26:40 ] 9 12:26:40 -!- perrier__ has quit (Max SendQ exceeded). 12:26:40 -!- variable has quit (Max SendQ exceeded). 12:26:40 -!- supay has quit (Max SendQ exceeded). 12:26:40 -!- skarn has quit (Max SendQ exceeded). 12:26:40 b_jonas: 9 12:27:01 -!- variable has joined. 12:27:35 -!- variable has changed nick to Guest69407. 12:27:36 -!- skarn has joined. 12:27:42 darn ..i need to buy some xmas presents today 12:27:45 -!- perrier___ has joined. 12:27:55 [ 8 12:28:11 -!- Guest69407 has quit (Changing host). 12:28:11 -!- Guest69407 has joined. 12:28:13 -!- j-bot has joined. 12:28:44 -!- Aberian has joined. 12:28:45 -!- Guest55348 has joined. 12:28:45 -!- Frooxius has joined. 12:28:45 -!- shachaf has joined. 12:28:45 -!- glguy has joined. 12:29:14 i can't prevent endless loops yet.. that's a major vulnerability ..it happens quick even without intention 12:29:30 so any suggestions on that are welcome 12:29:31 -!- supay has joined. 12:29:33 -!- S1 has joined. 12:29:44 jmaster: just do it the proper but unpopular way and make the bot send only NOTICEs and listen only to PRIVMSGs 12:30:17 hm? 12:30:56 notice != privmsg iirc..also how would this make the bot stop the loop? 12:31:31 it prevents loop because bots don't reply to the NOTICE you send. it's like a ttl of 1 effectively. 12:31:53 it's really nasty ...it runs so quick even the flood protection on another server was fucked 12:31:58 pardon* 12:33:11 it prevents loop because bots don't reply to the NOTICE you send. it's like a ttl of 1 effectively. <-- i doubt this 12:33:25 Add flood protection, then. 12:33:31 yea..good idea 12:33:35 :))) 12:33:40 ok.. will do 12:34:34 `x.toString() 12:34:35 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: x.toString(): not found 12:34:37 .x.toString() 12:34:37 Jafet: 12:34:39 oh crap weather today = "sleet". "Sleet"! 12:34:47 .type(x) 12:34:47 Jafet: [ReferenceError] type is not defined 12:34:52 .typeof(x) 12:34:53 Jafet: object 12:35:00 x 12:35:03 .x 12:35:04 jmaster: 12:35:07 hm 12:35:08 5133t 12:35:12 .dump(x) 12:35:12 jmaster: [RangeError] Maximum call stack size exceeded 12:35:18 ah yes.. 12:35:22 .var xx = setInterval(function() { console.log('hi') }, 1000) 12:35:22 Jafet: [ReferenceError] setInterval is not defined 12:35:37 b_jonas' suddendeath function 12:35:58 what? 12:35:58 jafet 12:36:19 .var xx = function() { /*code here*/} 12:36:23 -!- scounder has joined. 12:36:47 else it expects a return value to assign 12:36:52 .var xx = [null]; function f() { console.log('hi'); xx[0] = setTimeout(f, 1000) }; f() 12:36:52 Jafet: hi 12:36:53 Jafet: hi 12:36:54 Jafet: hi 12:36:55 Jafet: hi 12:36:56 Jafet: hi 12:36:57 Jafet: hi 12:36:58 Jafet: hi 12:36:59 Jafet: hi 12:37:00 Jafet: hi 12:37:01 Jafet: hi 12:37:02 Jafet: hi 12:37:03 Jafet: hi 12:37:04 Jafet: hi 12:37:05 .clearInterval(xx[0]) 12:37:05 Jafet: [ReferenceError] clearInterval is not defined 12:37:05 Jafet: hi 12:37:06 Jafet: hi 12:37:07 Jafet: hi 12:37:08 Jafet: hi 12:37:08 WHAT HAVE YOU DONE 12:37:09 oren: hi 12:37:10 .clearTimeout(xx[0]) 12:37:10 oren: hi 12:37:10 Jafet: [ReferenceError] clearTimeout is not defined 12:37:11 Jafet: hi 12:37:12 Jafet: hi 12:37:13 Jafet: hi 12:37:14 Jafet: hi 12:37:15 Jafet: hi 12:37:15 Heh 12:37:16 Jafet: hi 12:37:17 Jafet: hi 12:37:18 Jafet: hi 12:37:19 Jafet: hi 12:37:20 Jafet: hi 12:37:20 -!- jslave has quit (Read error: Connection reset by peer). 12:37:38 Sorry, I assumed it could be cleared. 12:37:54 you can stop this by assign a stop condition in the function 12:38:04 np ..btw 12:38:13 not for me.. at last 12:38:44 .for(var m=6;m-->0;)console.log(m) 12:38:46 -!- jslave has joined. 12:38:49 .for(var m=6;m-->0;)console.log(m) 12:38:49 b_jonas: 5 12:38:49 b_jonas: 4 12:38:49 b_jonas: 3 12:38:50 b_jonas: 2 12:38:50 b_jonas: 1 12:38:51 b_jonas: 0 12:39:01 ] ,.i._6 12:39:01 b_jonas: 5 12:39:01 b_jonas: 4 12:39:01 b_jonas: 3 12:39:01 b_jonas: 2 12:39:01 b_jonas: 1 12:39:01 b_jonas: ... 12:39:15 it's very cool it runs async functions in the background ;) 12:39:40 yes 12:40:35 for(var m=6;m-->0;)console.log(m) <-- never seen that notation ..nice 12:40:55 you're on #esoteric, you'll see worse 12:41:00 the downto operator? 12:41:05 ooh ..very cool 12:41:13 yep 12:41:23 it is actually a -- and a > it is not a downto operator. 12:41:36 but yeah seen that trick before 12:41:37 oren: yeah, but i like that name 12:42:08 .var xx = 1 12:42:11 .xx 12:42:11 b_jonas: 1 12:42:11 aaah 12:42:15 .var xx = 9 12:42:16 .xx 12:42:16 b_jonas: 9 12:42:17 now i get it 12:42:22 so there is persistent state. good. 12:42:41 until restart 12:43:07 but as i said.. i will make it work as good and as soon possible 12:43:29 Could you use cookies or something to get more persistent state? 12:43:42 oh ...indeed .. i forgot 12:43:49 i implemented mongodb :)) 12:45:11 .mongodb.find({gender: 'm', $or: [{nationality: 'english'}, {nationality: 'american'}]}, 'people') // .find(where, collection) 12:45:11 jmaster: [ReferenceError] mongodb is not defined 12:45:17 .mongo.find({gender: 'm', $or: [{nationality: 'english'}, {nationality: 'american'}]}, 'people') // .find(where, collection) 12:45:17 jmaster: [object Object] 12:45:18 jmaster: http://cxg.de/_4ff711.htm 12:45:46 -!- MoALTz has quit (Quit: Leaving). 12:47:42 .mongo.insert({ first: "fun", last: "got", dob: "06/01/1996", gender: "m", hair_colour: "blonde", occupation: "bot", nationality: "irish"}, 'people') 12:47:42 jmaster: Collection: peopleCount: = 10 12:49:09 mongo.find({first: 'fun'}, 'people') // .find(where, collection) 12:49:16 .mongo.find({first: 'fun'}, 'people') // .find(where, collection) 12:49:17 jmaster: [object Object] 12:49:17 jmaster: http://cxg.de/_647437.htm 12:49:35 it worxxx 12:50:32 .dump(mongo.result) 12:50:32 jmaster: { '0': { '_id': { '_bsontype': ObjectID, 'id': T™dmfx&hž_, 'toHexString': function () { if(ObjectID.cacheHexString && this.__id) return this.__id; var hexString = ''; for (var i = 0; i < this.id.length; i++) { hexString += hexTable[this.id.charCodeAt(i)]; } if(ObjectID.cacheHexString) this.__id = hexString; return hexString; }, 'get_inc': function () { return ObjectID.index [..] readmore: 12:50:33 jmaster: http://cxg.de/_c440b9.htm 12:51:08 .mongo.result.first 12:51:22 .mongo.result[0].first 12:51:22 jmaster: fun 12:51:33 \o/ 12:51:33 | 12:51:33 >\ 12:51:40 lol 12:53:22 .eval("var test = function() { console.log('it works too!') }") //never tried this 12:53:25 test() 12:53:28 .test() 12:53:28 jmaster: it works too! 12:53:31 cool 12:54:04 so theoretically u can store code in the db 12:55:02 if the admins here get mad i'll say it is all Taneb's fault 12:55:10 :( 12:55:13 :) 12:55:53 Taneb invented persistence long ago, and it's been around ever since. 12:56:29 -!- vanila has joined. 12:56:36 `? persistence 12:56:37 persistence? ¯\(°​_o)/¯ 12:56:42 -!- supay has changed nick to supay_. 12:57:09 `run echo "Taneb invented persistence long ago, and it's been around ever since." > wisdom/persistence 12:57:13 No output. 12:57:13 `? persistence 12:57:14 Taneb invented persistence long ago, and it's been around ever since. 12:57:37 `run echo < wisdom/tanebventions 12:57:38 bash: wisdom/tanebventions: No such file or directory 12:57:41 `run echo < wisdom/tanebvention 12:57:42 No output. 12:57:47 `run cat wisdom/tanebvention 12:57:49 Tanebventions include D-modules, Chu spaces, automatic squirrel feeders, the torus, Stephen Wolfram, Go, weetoflakes, and this sentence. 12:57:50 http://esolangs.org/wiki/Clue_%28Keymaker%29 12:58:10 lol 12:58:19 `run echo "Tanebventions include D-modules, Chu spaces, automatic squirrel feeders, the torus, Stephen Wolfram, Go, weetoflakes, persistence, and this sentence." > wisdom/tanebvention 12:58:21 No output. 12:58:27 `? Tanebventions 12:58:28 Tanebventions include D-modules, Chu spaces, automatic squirrel feeders, the torus, Stephen Wolfram, Go, weetoflakes, persistence, and this sentence. 13:02:14 .paste(wget("http://codu.org/logs/_esoteric/2014-12-23.txt") 13:02:14 jmaster: [SyntaxError] Unexpected end of input 13:02:30 .paste(wget("http://codu.org/logs/_esoteric/2014-12-23.txt")) 13:02:33 jmaster: http://cxg.de/_272f46.htm 13:04:18 .mongo.insert({date: date(), server: "irc.freenode.net", channel: "#esoteric", content: "http://cxg.de/_272f46.htm"}, "irc_logs") 13:04:18 jmaster: [ReferenceError] date is not defined 13:04:24 .mongo.insert({date: Date(), server: "irc.freenode.net", channel: "#esoteric", content: "http://cxg.de/_272f46.htm"}, "irc_logs") 13:04:25 jmaster: Collection: irc_logsCount: = 1 13:04:55 the cool thing about mongodb is: it does everything for you 13:05:10 no need to create tables or stuff 13:05:33 just take an object..and push to any collection..done 13:05:44 at least that's the basic functionality 13:06:14 u can do things more complicated (which is what you probably want to do _here_ :P) 13:06:45 .res.help.mongodb 13:06:45 jmaster: https://www.npmjs.com/package/mongodb | mongoDB API | Documentation: http://mongodb.github.io/node-mongodb-native/ | Tutorial: http://code.tutsplus.com/tutorials/getting-started-with-mongodb-part-1--net-22879 13:07:52 this is a religious channel...isn't it? ..good. 13:09:11 no 13:09:36 it was Taneb 13:09:40 !! 13:09:43 How exciting! 13:09:59 thanks 13:10:09 -!- Solace|zzz has quit (Quit: Connection closed for inactivity). 13:13:46 PS.: i'm also avaible for children-parties 13:14:39 doyou bring your own red nose and makeup? 13:15:06 sure 13:15:50 i'm glad we all agree plut is a planet 13:20:09 it wanders through the sky, so it is a planet. checkmate. 13:32:49 -!- nys has joined. 13:43:55 Taneb: clearTimeout will work upon next restart.. i had to allow this function in the sandbox 13:46:27 and thanks.. i did not know about this function yet^^ i'm a level2 js-noob (attack: 12 / defense: 9 / grey-hair: 23) 14:00:26 -!- Guest55348 has quit (Changing host). 14:00:26 -!- Guest55348 has joined. 14:00:35 -!- Guest55348 has changed nick to Zuu. 14:00:45 -!- Zuu has changed nick to ZuuSanta. 14:21:24 Do any varieties of lisp allow unicode names? 14:21:41 https://github.com/jterrace/js.js/ 14:21:50 js.js is a JavaScript interpreter in JavaScript. Instead of trying to create an interpreter from scratch, SpiderMonkey is compiled into LLVM and then emscripten translates the output into JavaScript. 14:21:57 oren, I think they all should 14:22:28 oren: Racket does. 14:23:11 J_Arcane: Ok good. 14:24:36 It even has a macro that maps λ to lambda (and a shortcut for it in Racket). 14:25:21 Now, i'll make a macro from 【】 and () to [] and () respectively... 14:26:07 Good luck with that, I still haven't made sense of writing custom readers for Racket yet ... ;) 14:26:19 And then create a chinese #lang that can by typed entirely in chinese character IME 14:26:34 s/by/be 14:37:04 At last, Heresy now has actual docs: http://jarcane.github.io/heresy/heresy.html 14:41:11 great! 14:46:22 I actually want to write a proper guide for it at some point. 14:46:32 But at least now there's a function reference. 14:47:22 -!- mitchs has quit (Ping timeout: 265 seconds). 14:48:59 I wonder if I should write a brainfuck in Heresy. That's like the rule right? the first non-trivial anything in a language is always a brainfuck? 14:50:05 no! 14:50:13 XD 14:52:08 http://joeyh.name/blog/entry/a_brainfuck_monad/ 15:02:25 -!- nycs has joined. 15:06:12 【左右加减说听】 15:06:29 there brainfuck in chinese hyh 15:07:57 hyh = hope your happy 15:09:23 -!- supay_ has changed nick to supay. 15:09:32 no one ever asked for a chinese version fo brainfuck 15:10:51 vanila: well they still got one hthyh 15:12:02 also i cant figure out readers in racket either 15:15:26 Part of why heresy uses #lang s-exp instead of being a pure #lang, is because to do that you have to do a bunch of stuff with providing a reader and what not 15:16:32 -!- nys has quit (Ping timeout: 245 seconds). 15:16:59 -!- nys has joined. 15:18:28 -!- nycs has changed nick to `^_^v. 15:19:40 you're :( 15:21:01 as a none native speaker: i don't get why people confuse you're/your, it's/its and their/they're 15:21:50 i know how to do it proply i just dont care hope your're happy. 15:25:17 myname: as a none native speaker, you'll never now 15:25:39 b_jonas: you are trolling 15:25:54 sines point to yes 15:26:03 and i did your're on purpos 15:27:52 Well, they often don't learn by writing. 15:27:57 -!- MDream has changed nick to MDude. 15:28:24 but from watching porn? 15:28:34 By hearing people talk. 15:29:01 MDream: i am a native speaker, and msot native speakers don't care at all about these rules, we just care if we are understood 15:29:51 But it wouldn't matter if we cared if we intuited it well enough to do it without really caring. 15:29:55 if you are not american you can go on, everybody will say it's because americans are stupid :D 15:30:41 I'm maximum american. 15:30:58 canada is the bestest country in whole wold 15:31:43 why? maple buttertarts that is why 15:32:32 they have elks! 15:33:52 also: maple syrup 15:35:15 btw: I cnduo't bvleiee taht I culod aulaclty uesdtannrd waht I was rdnaieg. Unisg the icndeblire pweor of the hmuan mnid, aocdcrnig to rseecrah at Cmabrigde Uinervtisy, it dseno't mttaer in waht oderr the lterets in a wrod are, the olny irpoamtnt tihng is taht the frsit and lsat ltteer be in the rhgit pclae. The rset can be a taotl mses and you can sitll raed it whoutit a pboerlm. Tihs is bucseae the huamn mnid deos not raed ervey l 15:36:12 that's not entirely true 15:36:14 wlohe. Aaznmig, huh? Yaeh and I awlyas tghhuot slelinpg was ipmorantt! See if yuor fdreins can raed tihs too. 15:36:22 at least not language independent 15:36:55 maybe mandarin doesn't work 15:37:17 people have a hard time reading words with ordered letters 15:37:19 well mandarin has some words with two characters 15:37:37 but most of those a different when rearranged 15:37:56 first and last letter stay the same 15:38:06 i.e. caaeilltprr 15:38:11 anyway.. ca m'est egalement 15:38:24 first and last letter is in place 15:38:32 in japanese too: 社会:society 会社:corporation 15:38:37 it is still unreadable, at least in my opinion 15:39:14 [citation needed] 15:39:14 consider it noted. 15:39:25 also: iamnoprtt is way less readable than irpoamtnt 15:39:53 i don't think the order doesn't play any role 15:40:41 well for japanese the order defiantly matters 15:41:43 oren: can you read caaeilltprr? 15:42:04 consider 分かりましたvs分りましかた 15:42:32 myname: i can't 15:42:52 it's caterpillar 15:43:27 ohhh... yeah some orders screw with my head more i think 15:43:36 forget it 15:44:09 that's exactly my point 15:46:58 -!- Phantom_Hoover has joined. 15:48:51 and some cant be biguated: sont snot 15:49:19 i guess context helsp 15:49:34 yeah 15:49:41 -!- GeekDude has joined. 15:49:45 people cite the same text over and over again 15:49:52 cigoto egro sum 15:50:02 and think "hey, i can read this, so it has to be true that the order doesn't matter" 15:52:07 but can an abrtriay txet be srcewd up and rbleessad? 15:52:31 what salad? 15:57:08 lol.. you just because i can read it doesn't mean i can read it 15:57:46 now i see you're point 15:58:32 -!- spiette has joined. 15:59:55 "reblessed" doesn't have an "a" 16:00:23 and only scalars can, hash keys can't 16:02:12 -!- vanila has quit (Remote host closed the connection). 16:02:19 yes.. don't try this at home. 16:02:37 msot wrods are shrot. 16:03:01 in english, that is 16:03:16 in german you can make arbitrary long words 16:03:34 I also read somewhere that it helps a lot if you only exchange tall letters with other tall letters and short ones with short ones, keeping the "skyline", so to say, intact. 16:03:46 yeah 16:03:49 -!- S1 has quit (Quit: S1). 16:04:01 but you cannot change letters at will 16:04:03 myname: I know. But we generally don't do that :) 16:04:21 int-e: who is "we"? 16:04:43 the Dampfschifffahrtskapitänsmützenbandsortiermaschine is a joke ;-) 16:05:03 ich mach das so :p 16:06:05 But Sonnenfleckenhäufigkeit isn't. 16:06:22 relative luftfeuchtigkeit 16:07:23 Anyway I still don't know whether "rbleessad" was a typo or not. 16:08:02 it's more difficult to write them wrong anyway.. i just supported oren's statement: "we just care if we are understood".. so brave ;> 16:09:24 usually it's just a few letters getting shfited a bit forth or back, not a random permutation. 16:10:55 the internet anagram finder suggests "beardless" as the sole (english) single word anagram of "rbleessad" 16:11:38 hahaha 16:11:43 lol 16:12:03 and "sad rebels" is nice. 16:13:17 also "bear sled" 16:13:34 (at least for this season) 16:14:54 * Melvar had a look for the longest word in his proto-thesis, it’s “Assoziativitätsdeklaration”. 16:15:17 oh, out of memory. that explains why the computer wouldn't respond 16:17:26 kngoivite dssnoniaz 16:17:47 jmaster: I read too much of fefe's blog to not recognize that one. 16:17:57 ;> 16:18:02 -!- drdanmaku has joined. 16:26:40 The longest non-programming-specific word in it is “höchstwahrscheinlich”. 16:27:27 ^scramble höchstwahrscheinlich 16:27:27 hhtarcenihclihshwsc 16:27:48 Oh. It tore up the ‘ö’. 16:29:10 "interrelationship" is a long english word. 16:30:14 "lexicographical" is one I use fairly often 16:30:35 @let scramble = concat . (_last %~ reverse) . transpose . chunksOf 2 16:30:37 Defined. 16:30:54 > var $ scramble "höchstwahrscheinlich" 16:30:56 hcswhshilchinecrathö 16:31:13 That’s better. 16:31:54 I think I am going to need a better documentation situation in the long term. 16:32:24 Having to switch branches and manually copy the damn HTML file every time it changes just so it will show in the URL on gh-pages is a pain in the ass. 16:39:52 -!- shikhin_ has changed nick to shikhin. 16:42:58 german words can be as long as you want them to be 16:43:01 no surprise there 16:43:28 Messlattenständerfabrizierungsanlagenkäufer is a perfectly reasonable word 16:43:55 Geldvernichtungsmaschinenhersteller 16:43:55 heizölrückstoßabdämpfung is a great word for losing at hangman 16:44:38 Heizölrückstossabdämpfungshaltevorrichtungsfabrikant 16:45:02 my dream profession . 16:45:03 the point in my word is that nearly every letter exits in it 16:45:19 most of them once 16:45:23 there's no x 16:45:28 hmm. I can't write scramble in Heresy yet because I still haven't included a random number generator. and I'm not sure I want to do that right now because then I'd have to update the docs again ... 16:45:34 yeah 16:45:38 Heizölrückstossabdämpfungsextrakt. 16:45:52 there's no y 16:45:57 yeah 16:46:03 y is hm 16:46:12 Heizölrückstossabdämpfungsextrahierungsrythmus. 16:46:20 :D 16:46:21 but that's not so much sense making I guess 16:46:29 well 16:46:35 A german knows what it means 16:46:50 He just might have never heard of something like that :D 16:47:09 also you'd usually rephrase that as 16:47:25 Der Rythmus der Extraktion von Heizölrückstossabdämpfungen 16:48:03 sonen chabis :) 16:48:40 chönt me joh grad no e abverheiters wort erfindä. 16:49:05 and that concludes my opinion about that in swiss german . 16:52:33 -!- Aberian has quit (Quit: HydraIRC -> http://www.hydrairc.com <- It'll be on slashdot one day...). 16:53:08 -!- mihow has joined. 16:58:12 "I'm not willing to go much further by hand. " 16:58:13 uhm 16:58:14 ok 16:58:23 I guess that *totally* makes sense for a wiki article 17:00:09 are there pseudo-quines 17:00:34 what makes it pseudo? 17:00:48 it's not really a quine 17:01:00 it just pretends to be quine by producing output that is a quine 17:01:04 however, the actual program is not a quine 17:01:08 so trivially spoken 17:01:15 a pseudo-quine prints a quine 17:01:31 which.. as I'm saying it out loud 17:01:33 is fuckingly boring 17:02:17 for example there's a PHP web-page that prints it's own source code 17:02:27 and you can verify that the source code it gave you actually is a PHP quine 17:02:38 but that doesn't mean that it actually IS the source code of that PHP web-page 17:02:51 it might just be $quine=..; echo $quine; 17:03:22 Let's call that a Level-1 pseudo-quine 17:03:30 Does implicit print break the rules of quines? 17:03:32 i do think that indeed is pretty lame 17:03:37 (such as exist anyway?= 17:03:42 a Level-N pseudo-quine can (randomly) choose to produce any of N quines; 17:04:01 $quines[0]=...;$quines[1]=...; echo $quines[rand(2)]; something like that 17:04:16 i mean, you go all the way to make a real quine just to write a program that prints it, but is longer than the quine itself 17:04:25 well 17:04:51 in a sense a pseudo-quine *generates* a quine 17:05:03 the output of a pseudo-quine is a quine 17:05:23 i am not convinced 17:05:25 well 17:05:27 I mean, the stereotypical Lisp "Hello World" seems to also be a quine, for the same reason: The implicit print means a bare literal is both the source and the value to be printed: "Hello world." 17:05:28 it's a pretty lame thing 17:05:40 It sounded cool for a second 17:05:43 but then... 17:06:04 http://codepad.org/SQ1i0eie 17:09:35 a program that given an Input I finds the longest common substring of I and it's own source-code 17:10:07 which makes it a quine when fed its own source-code 17:10:43 that sounds a little bit less lame 17:12:45 impressive @third order quine 17:12:52 echo $_GET['input']; 17:13:09 well 17:13:15 it must work for all inputs of course 17:13:53 [wiki] [[Deadfish]] http://esolangs.org/w/index.php?diff=41533&oldid=41507 * BCompton * (+0) /* Pascal */ Bad variable name 17:17:25 if input were xech it has to print "ech" 17:17:28 not "xech" 17:18:00 !blsq "echo $_GET['input'];"su"xech"suIN 17:18:00 | {"c" "e" "h" "ch" "ec" "ech"} 17:18:03 @tell oerjan Oh this may be useful for Haskell golfing: If you ever need Data.Bits, you can import Foreign instead. (It also exports Data.Int and Data.Word) 17:18:03 Consider it noted. 17:18:12 !blsq "echo $_GET['input'];"su"xech"suIN(L[)sB 17:18:12 | ERROR: Unknown command: (sB)! 17:18:12 | L[ 17:18:12 | {"c" "e" "h" "ch" "ec" "ech"} 17:18:15 !blsq "echo $_GET['input'];"su"xech"suIN(L[)sb 17:18:15 | ERROR: Burlesque: (sb) Invalid arguments! 17:18:15 | L[ 17:18:15 | {"c" "e" "h" "ch" "ec" "ech"} 17:18:23 !blsq "echo $_GET['input'];"su"xech"suINL[Cmsb 17:18:23 | ERROR: Burlesque: (sb) Invalid arguments! 17:18:23 | ERROR: Burlesque: (.+) Invalid arguments! 17:18:23 | {\/ cm} 17:18:25 ohai 17:18:28 !blsq "echo $_GET['input'];"su"xech"suIN(L[)Cmsb 17:18:28 | ERROR: Burlesque: (sb) Invalid arguments! 17:18:28 | ERROR: Burlesque: (.+) Invalid arguments! 17:18:28 | {\/ cm} 17:18:30 hm 17:18:32 what the hell 17:18:35 !blsq "echo $_GET['input'];"su"xech"suIN(L[)cmsb 17:18:36 | ERROR: Burlesque: (sb) Invalid arguments! 17:18:36 | 1 17:18:38 fuu 17:18:44 !blsq "echo $_GET['input'];"su"xech"suIN(L[)cMsb 17:18:44 | ERROR: Burlesque: (sb) Invalid arguments! 17:18:44 | ERROR: Unknown command: (cM)! 17:18:44 | L[ 17:19:00 !blsq "echo $_GET['input'];"su"xech"suIN(L[)CMsb 17:19:00 | {"c" "e" "h" "ch" "ec" "ech"} 17:19:03 hmpf 17:19:04 ok 17:19:09 !blsq "echo $_GET['input'];"su"xech"suIN[- 17:19:09 | {"e" "h" "ch" "ec" "ech"} 17:19:12 !blsq "echo $_GET['input'];"su"xech"suIN[~ 17:19:12 | "ech" 17:19:15 there we go 17:19:47 !blsq $Tamz45=0x631927f5 17:19:47 | ERROR: Unknown command: (f5)! 17:19:47 | 31927 17:19:47 | ERROR: Unknown command: (x6)! 17:19:52 um 17:20:07 what's the syntax for variable assignment these days? 17:20:11 !blsq $Tamz45[0x631927f5] 17:20:12 | ERROR: (line 1, column 20): 17:20:12 | unexpected end of input 17:20:16 !blsq 0x631927f5 17:20:16 | ERROR: Unknown command: (f5)! 17:20:16 | 31927 17:20:16 | ERROR: Unknown command: (x6)! 17:20:22 oh, it just doesn't like hex 17:20:23 !blsq %var=9V 17:20:23 | Ain't nobody got output fo' that! 17:20:25 !blsq %var=9V 17:20:25 | Ain't nobody got output fo' that! 17:20:30 !blsq %var=9V %var? 17:20:30 | Ain't nobody got output fo' that! 17:20:32 hm 17:20:40 !blsq %var:9V %var? 17:20:40 | 9 17:20:40 | ERROR: Unknown command: (r:)! 17:20:40 | ERROR: Unknown command: (va)! 17:20:42 hm 17:20:46 i thought it was = 17:20:52 !blsq %var=9 %var? 17:20:52 | 9 17:20:53 ah 17:20:55 !blsq %Tamz45=1662593013 17:20:55 | Ain't nobody got output fo' that! 17:20:56 yeah 17:21:05 !blsq %Tamz45 17:21:05 | 45 17:21:05 | ERROR: Unknown command: (mz)! 17:21:05 | ERROR: Unknown command: (Ta)! 17:21:10 um, what how do I retrieve? 17:21:13 !blsq $Tamz45 17:21:13 | 5 17:21:13 | ERROR: Unknown command: (z4)! 17:21:13 | ERROR: Unknown command: (am)! 17:21:18 !blsq %Tamz45=166 %Tamz45? 17:21:18 | 166 17:21:28 !blsq %Tamz45=1662593013 %Tamz45? 17:21:28 | 1662593013 17:21:33 !blsq %Tamz45=1662593013 %Tamz45? 17:21:33 | 1662593013 17:21:35 !blsq %Tamz45=1662593013 %Tamz45 17:21:35 | 45 17:21:35 | ERROR: Unknown command: (mz)! 17:21:35 | ERROR: Unknown command: (Ta)! 17:21:42 huh 17:21:42 %foo= is set, %foo? is get, %foo! is eval 17:21:53 ok 17:22:01 but there are shortcuts for a few variables, right? 17:22:04 !blsq %Tamz45=1662593013 %Tamz45? 17:22:04 | 1662593013 17:22:04 yeah 17:22:08 !blsq %Tamz45? 17:22:09 | _|_ 17:22:13 !blsq 166s0g0 17:22:13 | 166 17:22:23 !blsq 0x631927f5 17:22:23 | ERROR: Unknown command: (f5)! 17:22:23 | 31927 17:22:23 | ERROR: Unknown command: (x6)! 17:22:29 how do I enter hexadecimal? 17:22:38 you don't 17:22:46 well 17:22:47 other than 17:22:52 !blsq "631927f5"b6 17:22:52 | 1662593013 17:23:05 ok 17:23:19 what's the syntax for pop and store to variable? 17:23:37 . o O ( sx ) 17:23:37 int-e: [SyntaxError] Unexpected identifier 17:23:37 sv for set-var 17:23:42 gv for get-var 17:23:51 !blsq 166 "0x166"sv "0x166"gv 17:23:51 | 166 17:23:55 !blsq 1661 "0x166"sv "0x166"gv 17:23:55 | 1661 17:23:59 oh. this will continue to happen 17:24:07 jslave: what are you? 17:24:11 . help 17:24:11 int-e: invoke commands - public: -cmd(args); / private: _cmd(args) or in query just cmd(args); | $(): global scope/see all objs/cmds; $(obj): see obj-properties; console.log(txt): reply to channel/user; .fn: protected scope(never overwrite!); .fn.init() run on botstart; dump(obj): returns obj-code as string; bind("name", "code"): .fn["name"] = code - use to bind code permamently! see more: http://hagb4[..] readmore: 17:24:12 int-e: http://cxg.de/_ed209c.htm 17:24:13 mroman: no, I mean pop the _value_ from stack, not the variable name 17:24:14 but blsqbot doesn't store the variables fore more than one query :) 17:24:28 vv is pop 17:24:30 !blsq 1 2vv 17:24:30 | 1 17:24:33 !blsq 1 2 17:24:33 | 2 17:24:33 | 1 17:25:00 !blsq "631927f5"b6 %Tamz45=vv %Tamz45 17:25:00 | 45 17:25:01 | ERROR: Unknown command: (mz)! 17:25:01 | ERROR: Unknown command: (Ta)! 17:25:03 !blsq "631927f5"b6 %Tamz45=vv %Tamz45? 17:25:03 | vv 17:25:03 | 1662593013 17:25:05 ah 17:25:05 no 17:25:06 . version 17:25:06 int-e: [ReferenceError] version is not defined 17:25:08 that doesn't work 17:25:09 . about 17:25:09 int-e: [ReferenceError] about is not defined 17:25:11 ... 17:25:11 int-e: [SyntaxError] Unexpected token . 17:25:22 !blsq "631927f5"b6 "Tamz45"sv %Tamz45? 17:25:22 argh! 17:25:22 | 1662593013 17:25:27 that's all there currently is 17:25:33 int-e: takes javascript input 17:25:38 . is an awful prefix. 17:25:38 int-e: [SyntaxError] Unexpected identifier 17:25:42 %foo=x is parse-time stuff 17:25:52 mroman: hmm. could you add a syntax for runtime pop and store to variable? 17:26:14 I might 17:26:17 ^prefixes 17:26:17 Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot ! 17:26:38 how about ; ... 17:26:53 how about \? 17:27:12 or & 17:27:14 &help 17:27:36 also "technically" blsq has the prefix !blsq* 17:27:45 either !blsq or !blsq_uptime 17:27:47 !blsq_uptime 17:27:48 21d 3h 22m 12s 17:27:57 ] 1 17:27:58 b_jonas: 1 17:27:58 [ 2 17:27:59 b_jonas: 2 17:28:56 . 3 17:28:56 b_jonas: 3 17:29:06 > 4 17:29:07 Although I'm not sure when I'll touch Burlesque again 17:29:07 4 17:29:29 I might suffer from some depressive episodes again sooner or later so I guess I'll do it then. 17:30:05 currently doing esolang stuff has the absolute least priority of things I want to do right now ;) 17:31:10 but you never know. 17:32:10 -!- shikhin has quit (Ping timeout: 250 seconds). 17:33:36 I barely used the internet privately for months now 17:33:57 and it ain't so bad :) 17:35:16 I even managed to go to a barber. 17:35:24 that's a huge improvement for me. 17:35:26 mroman: sure, no problem, I'm just surprised you added variables but not this stuff 17:37:29 so. gotta go home now :) 17:37:37 bye 17:37:42 happy winter holidays 18:02:54 wot. QBASIC had *pointers*?! 18:03:56 You mean with VARPTR/VARSEG and such? 18:05:26 it has array indices 18:13:07 Ahh. REading some old code for alternate random functions and it kept referring to pointers, but I think they mean what b_jonas said. 18:13:13 http://www.allagri.net/pub/distrib/win/Developing/Basic%20-%20VB/Qb45/QB45/TOOLBOX/RANDOMS.BAS 18:14:57 It occurs to me that writing an RNG, at least a simple one, is probably easier in a language with laziness. 18:23:21 > let xss@(_:xs) = 1234 : map (\x -> let x' = x `xor` (x `shiftR` 12); x'' = x' `xor` (x' `shiftL` 25); x''' = x'' `xor` (x'' `shiftR` 27) in x''') xss in map (\x -> (x :: Word64) * 2685821657736338717) xs 18:23:22 [13571057368034195726,5609927630774915935,7579251470305882622,59837103641785... 18:24:00 tbh the original C is nicer https://en.wikipedia.org/wiki/Xorshift#Variations 18:25:25 > let xss@(_:xs) = 1234 : map (doop (-27) . doop 25 . doop (-12)) xs; doop i x = x `xor` (x `shift` i) in map (\x -> (x :: Word64) * 2685821657736338717) xs 18:25:29 mueval-core: Time limit exceeded 18:25:35 ?? 18:25:43 > let xss@(_:xs) = 1234 : map (doop (-27) . doop 25 . doop (-12)) xss; doop i x = x `xor` (x `shift` i) in map (\x -> (x :: Word64) * 2685821657736338717) xs 18:25:44 [13571057368034195726,5609927630774915935,7579251470305882622,59837103641785... 18:25:49 that's pretty nice 18:25:57 -!- mihow has quit (Quit: mihow). 18:31:02 elliott: Pretty brief too. 18:45:04 Racket does have bitshift operators somewhere. 18:45:09 hm 18:45:17 i'm online \o/ 18:45:17 | 18:45:17 >\ 18:46:00 ultimate tethering test 18:46:50 it'll probably suck the phone battery dry in a matter of minutes 18:47:36 but ping is pretty good 18:56:37 -!- ais523 has joined. 19:02:51 https://github.com/fuzxxl/Xorshift 19:09:25 tbh I do not think haskell or C has any advantage here really 19:09:35 it's a simple mathematical function with some running state 19:10:07 Well, it's the state that's the tricky part if I want to actually write it in Heresy. 19:11:08 > let xss@(_:xs) = 1234 : map (doop (-27) . doop 25 . doop (-12)) xss; doop i x = x `xor` (x `shift` i); rng = map (\x -> (x :: Word64) * 2685821657736338717) in (take 10 xs, take 10 (map (`div` 2685821657736338717) rng)) 19:11:10 Couldn't match expected type ‘[a1]’ 19:11:10 with actual type ‘[GHC.Word.Word64] -> [GHC.Word.Word64]’ 19:11:21 > let xss@(_:xs) = 1234 : map (doop (-27) . doop 25 . doop (-12)) xss; doop i x = x `xor` (x `shift` i); rng = map (\x -> (x :: Word64) * 2685821657736338717) xs in (take 10 xs, take 10 (map (`div` 2685821657736338717) rng)) 19:11:23 ([41406170598,1389699684410119595,46619205452378150570033046,156466283843221... 19:11:28 > let xss@(_:xs) = 1234 : map (doop (-27) . doop 25 . doop (-12)) xss; doop i x = x `xor` (x `shift` i); rng = map (\x -> (x :: Word64) * 2685821657736338717) xs in (take 3 xs, take 3 (map (`div` 2685821657736338717) rng)) 19:11:30 ([41406170598,1389699684410119595,46619205452378150570033046],[5,2,2]) 19:11:34 oh, right, duh 19:11:52 it would obviously be very bad if you could go from the output to the seed. 19:28:58 -!- dts|pokeball has quit (Read error: Connection reset by peer). 19:29:40 -!- dts|pokeball has joined. 19:42:36 -!- callforjudgement has joined. 19:42:38 -!- ais523 has quit (Read error: Connection reset by peer). 19:50:07 -!- scarf has joined. 19:50:13 -!- scarf has quit (Changing host). 19:50:13 -!- scarf has joined. 19:53:29 -!- callforjudgement has quit (Ping timeout: 258 seconds). 19:58:40 -!- scarf has quit. 19:58:54 -!- scarf has joined. 20:04:25 -!- scarf has quit (Remote host closed the connection). 20:04:33 -!- scarf has joined. 20:05:01 -!- Patashu has joined. 20:05:57 -!- digitalcold has quit (Remote host closed the connection). 20:06:29 -!- digitalcold has joined. 20:09:54 -!- idris-bot has quit (Quit: Terminated). 20:10:13 -!- idris-bot has joined. 20:18:43 CL's bit operators have such nicer names than Scheme and Racket ... 20:23:06 -!- scarf has changed nick to ais523. 20:26:05 -!- Patashu has quit (Ping timeout: 272 seconds). 20:37:46 -!- mihow has joined. 20:46:03 -!- `^_^v has quit (Quit: This computer has gone to sleep). 21:02:11 -!- MoALTz has joined. 21:07:27 -!- GeekDude has changed nick to GeekAfk. 21:08:01 -!- ais523 has quit (Read error: Connection reset by peer). 21:08:11 -!- ais523 has joined. 21:15:11 -!- GeekAfk has changed nick to GeekDude. 21:23:40 man, I am really an idiot sometimes. 21:24:49 J_Arcane: what are the bit operator names in those lisps? 21:25:39 FireFly: in CL, they're ash, logand, logxor, etc. In Racket/Scheme they're the interminably long arithmetic-shift, bitwise-and, bitwise-xor, etc. 21:25:57 at least it's not call-with-current-continuation 21:26:34 J_Arcane: incidentally, *log*and? 21:26:37 shouldn't it be bitand or something 21:26:53 elliott: well, that makes a little more sense I agree. Probably what I would use. 21:27:02 but at least it's consistent and still not so verbose. 21:36:57 Hah hah. Well, it's not at all functional code, but I have managed to write an xorshift* generator in Racket now. 21:37:57 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 21:44:30 ...how do you pronounce "xor" 21:44:30 elliott: [SyntaxError] Unexpected token . 21:44:33 ... 21:44:33 elliott: [SyntaxError] Unexpected token . 21:44:36 -!- ChanServ has set channel mode: +o elliott. 21:44:42 -!- elliott has kicked jslave pick a different prefix. 21:44:42 -!- jslave has joined. 21:44:45 ... 21:44:46 elliott: [SyntaxError] Unexpected token . 21:45:00 hey, I think jmaster is hagb4rd. 21:45:03 well, whatever 21:45:10 -!- elliott has set channel mode: +b *!*jslave@*. 21:45:19 -!- elliott has kicked jslave pick a different prefix and don't rejoin when kicked. 21:45:21 -!- elliott has set channel mode: -o elliott. 21:45:49 . o O ( It had it coming... ) 21:46:10 int-e: it especially had it coming if its owner is the ban-evader I think they are 21:46:58 Basically, I think the xorshift algo in particular is rather explicitly dependent on repeatedly mutating a state variable, because it's all about fun with fixed bitwise math. The only way I could do it was importing the "racket/unsafe/ops" library, just to have proper 'rolling over' random values. And even then I don't think it works quite right (because it's not using unsigned ints for fixnums) 21:47:12 for reference, hagb4rd is the only person to have ever logged on from koln.*mediaWays, afaik 21:47:15 -!- fizzie has quit (Quit: Coyote finally caught me). 21:47:39 -!- fizzie has joined. 21:47:52 also, they joined and started botting without any introduction. and act like hagb4rd. 21:48:24 jmaster: hi, I have strong suspicions that you are a repeat ban evader; apologies if you're not but please respond to this message 21:48:26 -!- nortti has changed nick to lawspeaker. 21:48:36 -!- lawspeaker has changed nick to nortti. 21:48:56 hagb4rd is on like the world's longest quest to ensure nobody will ever, ever think about unbanning him, ever 21:49:22 -!- nortti has changed nick to lawspeaker. 21:49:31 -!- lawspeaker has changed nick to nortti. 21:51:42 ... 21:51:48 you know, maybe I should have just left his entire ISP unbanned. 21:51:53 it was only days ago I removed that, wasn't it? 21:51:56 er, *banned. 21:53:24 -!- ChanServ has set channel mode: +o ais523. 21:53:41 -!- ais523 has kicked jmaster if we say "please say something to prove you're human", you should do that. 21:53:44 -!- ais523 has set channel mode: -o ais523. 21:53:57 ais523: err, I'm sure they're human 21:53:59 they talked like one 21:54:05 anyway, I need sleep. and tomorrow is bloody Christmas eve, so probably if I do anything about randoms in Heresy at all this weekend, it'll be just importing the Racket generator and being done with it. 21:54:05 they're almost certainly hagb4rd, on the other hand, so I don't object 21:54:18 you should maybe /msg them asking if they are, he usually admits to it 21:54:23 btw, for those following along at home, hagb4rd was initially permabanned almost 18 months ago 21:54:32 treating ban evaders as spambots is funny anyway 21:54:37 thus proving that as long as you never give up, you can achieve anything 21:54:57 it could just be autojoin? 21:55:03 ais523: to be fair my evidence is just ISP + location (the "koln" from the mediaWays IP) + typing style + coming in and talking/botting without introduction or anything 21:55:06 no 21:55:06 he's used many nicks 21:55:11 webirc to evade 21:55:11 nicks don't change autojoin 21:55:15 (multiple webircs) 21:55:17 pretended to not be him 21:55:30 the first thing he did was rot13'd his nick so we wouldn't recognise him, I think... 21:55:33 that was literally days after being banned 21:55:43 you have to suspect learning difficulty at that point 21:55:45 also, he really hates me, and insults me to oerjan or something whenever I ban him again 21:55:55 ais523: I can assure you, he knows he's banned 21:56:00 he's tried to get me to unban him because it's "been so long" 21:56:08 elliott: I know, but I mean, assuming that that would get around a filter 21:56:13 without mentioning that (a) that ban was a permanent one after a last straw, and (b) he's been evading since 21:56:19 ais523: it actually worked for a few days 21:56:24 most people don't rot13 people's nicks... 21:56:37 I think he got banned based on behaviour before it was realised it was rot13 21:56:52 also, probably talking about him will encourage him? but whatever 21:56:53 hmm. ryyvbgg 21:57:07 would strike me as unreadable, but not familiar ;-) 21:57:26 it was "untoneq" or something 21:57:29 (vag-r has a problem) 21:57:40 -!- mitchs has joined. 21:57:43 ais523: how do you feel about banning every mediaWays user from the city of koln, germany 21:57:53 -!- CrazyM4n has joined. 21:57:56 (aka, just hagb4rd) 21:58:13 It feels good to be able to sit back and now worry about who's who and needs banning. Go elliott ! 21:58:17 not worry* 21:58:18 in smallish channels, broad bans are often OK because people will contact you separately if they need to join 22:02:23 -!- ZuuSanta has quit (Ping timeout: 252 seconds). 22:03:01 -!- Phantom_Hoover has joined. 22:03:02 glguy: haha 22:03:05 would you like ops here too? 22:03:23 opping people who haven't been around for years normally tends to be a bad idea 22:03:32 doesn't mean it doesn't happen anyway, but… 22:03:50 do hostname bans apply to webchat, or just IP 22:03:55 they made IP ones apply recently I think 22:04:03 ais523: I think this is part of a #haskell conspiracy to take over this channel. 22:04:31 I'd prefer to have no op responsibilities. ^_^ 22:04:39 I kind of enjoy catching repeat ban evaders 22:04:45 with everyone else you have to wonder if you've made the right decision 22:04:51 so it's nice when people make it unambiguous 22:05:01 (hagb4rd: this is not an encouragement) 22:05:10 The shiny of channel moderation wore off 22:05:39 being vs. not being an op is like a tradeoff of "I can't make this person go away" vs. "I have to worry about making everyone who needs to go away go away" 22:06:08 Use a client-side filter if you don't like them, is one option. 22:06:17 Yeah, I know all about the trade off. I still do the work in #haskell 22:06:34 you're stronger than I am 22:07:03 -!- ChanServ has set channel mode: +o elliott. 22:07:06 It's draining. I don't need to do more! 22:07:14 -!- elliott has set channel mode: +b *!*@koln*.pool.mediaWays.net. 22:07:17 -!- elliott has set channel mode: -o elliott. 22:07:47 I think the more time I spend as an op the greater the portion of a channel I want to ban out of annoyance from having to be an op 22:07:52 well, #esoteric is easy since it's so sleepy 22:08:05 Do you know Freenode has NOOP and NEVEROP settings? It says it prevent you from added to access lists. 22:08:58 (I use these settings myself too) 22:10:17 -!- Solace|zzz has joined. 22:11:24 asm volatile ("nop; nvop" : : : "memory") 22:11:54 is nvop like... very no operation 22:12:04 oh, ; is bad. should use \n\t 22:16:31 -!- Zuu has joined. 22:20:18 -!- mitchs has quit (Ping timeout: 258 seconds). 22:28:56 -!- oerjan has joined. 22:34:58 @messages- 22:34:58 int-e said 5h 16m 54s ago: Oh this may be useful for Haskell golfing: If you ever need Data.Bits, you can import Foreign instead. (It also exports Data.Int and Data.Word) 22:35:04 int-e: fancy 22:39:43 -!- oren has quit (Ping timeout: 272 seconds). 22:42:41 -!- callforjudgement has joined. 22:43:00 -!- ais523 has quit (Read error: Connection reset by peer). 22:48:05 -!- boily has joined. 22:50:05 buoily sera 22:51:04 bună serjana. 22:51:16 I'm in a bus. are you in a bus? 22:51:35 no, i'm in a sofa. which is not in a bus. 22:51:41 or wait 22:51:44 *on 22:52:17 prepositions shmepositions. I say “in”. 22:52:35 i'm still not sure 22:52:48 it's "i" in norwegian, anyway 22:53:23 i'm just trying to clarify i haven't been eaten by murder furniture 22:53:34 (hm time to google) 22:53:58 Scandinavian Design Murder Furniture: the new Ikea collection. 22:55:14 You *hide* in a sofa 22:56:25 québécois verb of the day: s'effouérer. example: «j'me suis effouéré su'l'divan.» 22:56:37 going by bus, on a bus, inside the bus. 22:56:47 hm am i imagining a john cleese sketch that doesn't exist in this universe 22:56:55 (s'effouérer: v.i. to adopt a post-modern horizontal un-feng-shui position.) 22:57:03 boily: hmm, Ikea has those great names ... 22:57:54 int-e: I'm convinced Ikea names are sombre subliminal messages to mess with your consumer mind. 22:58:02 Now I'm wondering what that murder furniture would be called 22:58:56 To be fair, it's hard not to mess with people's minds. 22:59:04 ĀĀĀĀĀGH (it's a cabinet. a very gloomy loomy cabinet.) 22:59:24 int-e: HANNIBAL hth 22:59:41 oerjan, boily: I like both 23:00:05 mine has the advantage of being plausible if you know swedish hth 23:01:01 mine will titillate the exotropism of naïve consumers by having an audacious concentration of ā ^^ 23:01:41 boily: i suggest we use mine for the nordic market and yours for the us, then 23:02:00 deal. 23:03:30 back to trying to find the sketch. maybe it wasn't john cleese after all. 23:05:55 it doesn't help that i don't remember what the murder chair was called in english 23:06:12 and that this was back in the 80s or perhaps even 70s 23:07:19 I don't believe people who say they were alive during the 80s. 23:07:30 OKAY 23:07:54 fine, i'm trying to find a reference for my implanted fake memory of this sketch, anyhow 23:08:13 oerjan: If it was called "executive chair" you'll never find it. 23:09:12 ouch 23:09:44 * boily hides the fact that he turns 26 tomorrow. 23:10:30 boily: are you still counting years in decimal? 23:10:40 usually. 23:10:55 boily: i'm sorry only i am allowed to be older than oren hth 23:11:12 ah? 23:11:20 -!- Sprocklem has joined. 23:11:23 i think that is established now 23:11:26 @ask oren What are your approximate ages? 23:11:27 Consider it noted. 23:11:38 I don't think we have much choice in the matter. 23:12:50 choice is an illusion. war is peace. ketchup is a vegetable. 23:13:32 * oerjan gives up the search and just accepts having shifted to a different universe 23:14:20 Ketchup, hmm. Well, there's sugar, usually made from plants, vinegar, some wood perhaps?, and most ketchup claims to contain tomatoes. 23:15:12 "usually" 23:15:18 (I really don't know what cheap vinegar is made from... let me ask aunt google) 23:15:58 i know cheap vanilla is made from wood, but i thought vinegar was merely alcohol that had been allowed to go bad 23:16:21 wooden vanilla? I thought it was only artificial synthesis... 23:16:37 boily: wood is the basis for the synthesis 23:16:39 oerjan, so then where do they get cheap alcohol? 23:16:46 Interesting. "Vinegar made from beer is produced in the United Kingdom, Germany, Austria, and the Netherlands." 23:16:50 I think white vinegar is made from malt. consulting uncle wikipédia... 23:17:05 Phantom_Hoover: well methanol is known as wood alcohol, so if you want it so cheap that you die of it... 23:17:26 "It is sometimes derived from petroleum." yay. 23:17:43 beer vinegar is the same as malt, more or less 23:19:08 but basically it seems to be "anything that contains alcohol and isn't too lethal by itself." 23:21:33 * oerjan didn't know there were that many types of vinegar, although it's obvious in retrospect 23:22:04 “1-Propanol is thought to be similar to ethanol in its effects on human body, but 2-4 times more potent.” 23:25:07 wtf there is a vanilla flavoring made from beavers 23:25:27 are vegetarians allowed to eat that? 23:25:28 oerjan: yes, from beavers' assholes or something 23:25:50 I check IRC and all I see is "beavers' assholes" 23:25:56 int-e: most probably are, just like how they're allowed to drink milk, but it depends on their individual choices 23:26:01 boily: nice 23:26:09 vegetarians come in all kinds of variants 23:26:53 ohai elliott 23:27:25 elliott: https://en.wikipedia.org/wiki/Castoreum 23:27:26 (Perhaps I also shouldn't ask whether they are allowed to do it; these constraints are self-induced more often than not, with some notable ( https://en.wikipedia.org/wiki/Vegetarianism_and_religion ) exceptions) 23:27:45 int-e: probably more relevant to ask it of vegans 23:27:55 probably. 23:28:21 Sorry, the moment of curiosity passed. 23:28:41 int-e: yes, it's not really "allowed" 23:29:51 I see dietetary constraints as a challenge: what's the tastiest stuff I can muster within a given frameset. 23:30:20 (my goto secret ingredient: hoisin sauce.) 23:30:33 boily: I think the people with dietary constraints for health reasons (allergies) don't see it like that 23:31:59 I'm sure they do pereceive it as a challenge :-/ 23:32:22 it's not a constraint, it's an impediment. (to the tune of "not a bug, a feature") 23:33:11 but b_jonas has a point. I can't eat mussels. (well, I can. but then I'll be tasting the same mussel twice.) 23:34:25 Does it extend to any other kind of sea food? 23:34:50 luckily I don't have health-enforced dietary restrictions 23:35:00 no, only them. I'd be very sad if I were intolerant of any other seafoods. 23:35:27 but many people do. doctors keep labelling lots of people as lactose-intolerant, it's the newest fashionable illness I think. 23:35:36 I'd say that just mussels aren't a big loss. 23:35:52 they tried it on me once too, more than a decade ago, but luckily it didn't stick. 23:37:11 int-e: to compensate, I eat the fungot out of calamaris and squids and clams and shrimps and everything else that tries to hide itself inside a shell. 23:37:11 boily: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp 23:37:28 fungot: yes. 23:37:29 boily: it's just so stupid that ' stty erase h' has that as their whole fnord range of the ' ' ' delete a value of type " airbus is a big fan of avril....but this song " there aren't any penguins this far inland. there's nothing to take on 23:37:44 * int-e knows of one severe case of lactose intolerance, where the result would be vomiting (rather than unspecific tiredness and perhaps the occasional stomach ache) 23:38:43 tbh I don't even know why you'd want to eat the toes of a lack 23:38:54 stick to its muscles (unless you're boily) 23:39:13 moar delicious innards! 23:39:18 * int-e swats elliott 23:39:23 (btw, what's a lack?) 23:39:31 boily: absence 23:39:31 something that has toes 23:39:47 ISTR Finland has a good high score in lactose intolerance. 23:40:06 Relatively speaking, anyway. 23:40:07 * boily mapoles elliott 23:40:16 There are some places where it's like 90%. 23:40:21 wyh would a ma even have a pole. tahts too violent for a mother 23:40:31 the problem is that lactose intolerance alone is something you can actually base a seemingly reasonable diet on, so people are more incilned to believe their doctor when she says their child has it; whereas gluten allergy is much harder to accomodate, so people are more likely to verify it before they try to. 23:40:46 elliott: clearly you've never tamed 5 little brats at the same time 23:41:06 int-e: you're a mother? 23:41:11 No :P 23:42:35 Much to the advantage of my children I'm not a father either. 23:42:43 still, I wouldn't be happy to try either 23:43:42 int-e: You'd be a bad influence on them so it's best that you don't take on the role? 23:44:00 I believe in int-e's maternal instincts. 23:44:11 glguy: something like that 23:51:21 -!- evalj has quit (Remote host closed the connection). 23:53:39 int-e: to compensate, I eat the fungot out of calamaris and squids and clams and shrimps and everything else that tries to hide itself inside a shell. <-- huh i don't even think of clams as something different than mussels... 23:53:39 oerjan: ( c) a player 23:56:49 fungot: I'll take Random Choice Questions for 200 zorkmids. 23:56:50 boily: or is it just me, or i: yet, you rogue! they're my friends! you are crono. why not? 23:57:16 wow, you actually got a question out of fungot. 23:57:16 int-e: to " print" statement should always remember the songs on p2p apps in scheme, besides, was not beyond normal credibility holidays but that is amazing. i believe, on the one hand, and caused the seal of that great people were peculiar. anteeks ett olen tyhm. tai no fnord min. c++ is plain, and :) which i not yet can see as " at least, that is expressions which have not been able, to assume responsibilities. he went on, " 23:58:09 Perfectly on topic. 23:58:28 ^style 23:58:29 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 23:58:47 (And I didn't even think of fungot when I changed the topic.) 23:58:47 int-e: or is it just me, or i: yet, you rogue! a top secret document has been left behind? marle better than " princess,' the chosen time has come! he's strong and he's gonna thrash those monsters! yea, each player's score is set to eir bvlop 23:59:09 oerjan: well, clam is kinda ambiguous... with «palourde» even more so. 23:59:32 (surf clam sashimi is delicious!) 23:59:49 int-e: there's an understanding between fungot and me. we connect on another level. 23:59:49 boily: or is it just me, or i: yet, you rogue! explain why haskell is a lot easier life, some feathering, and are, going a little far and its kind, but my watch it toast our land! now we'll have some peace! magus is a tad on the spooky side. our only hope. 2014-12-24: 00:01:20 * int-e wonders how horrible a shakespeare style for fungot would be 00:01:20 int-e: that is just a value of type is created containing the syntax for mark if he was really gonna ' let' me keep. i will walke my selfe, richard. then, heaven, i love thee well; and, by my friend, c 00:02:09 -!- scarf has joined. 00:02:19 -!- scarf has changed nick to ais523. 00:02:50 int-e: That's 'ss'. 00:03:01 ^style ss 00:03:01 Selected style: ss (Shakespeare's writings) 00:03:08 fungot: sing?! 00:03:09 int-e: enter eglamore, siluia. i to beare this away, where my hogshead of wine is, or any such proverb so little kin to the purpose? 00:03:33 fungot, hmm 00:03:33 int-e: rich. and shall do so: go all which way it will: if we draw lots, he fnord not me. i cut off's head, and follies doth emmew as falcon doth the fowle, is yet in keeping. what she is i' the hams? 00:03:53 emmew?! 00:04:01 fungot: pray tell us more 00:04:01 int-e: alo. irreparable is the losse, i cannot take peace with: no more 00:04:13 fungot: I said more, not less! 00:04:22 perfect. 00:04:32 That was all. 00:04:40 fungot 00:04:50 sniff. 00:04:55 fungot: please answer sir int-e 00:04:55 boily: por. in tearmes of friendship with thine enemies. pardon me, cobham, and the cheefe head of this most pompous fnord. the canons haue their bowels full of wrath, and sullen 00:05:14 Ominous. 00:05:23 Pompous fnord. 00:05:30 Oh well, it's not the worst fungot style. 00:05:30 int-e: third fisherman. what say you of this man. sirha, i say good queene, possest him with a stake, stood famous edward, still expecting when those dogs of france would fasten on his flesh. anon the death procuring knell begins: off go the cannons, that with some mixtures powerful o'er the blood, yet hath he in him such a minde of honor, truth, nor woman-hood in me else 00:05:41 (sms clearly wins *that* title) 00:05:53 ^style 00:05:53 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 00:05:56 -!- callforjudgement has quit (Ping timeout: 264 seconds). 00:06:43 "possest him with a stake" 00:06:45 boily: it does not help at all that the colloquial terms for members of the class Bivalvia are en:clam and no:musling 00:06:55 I think that depends on how you define 'worst'; technically speaking, sms works pretty well. 00:07:45 fizzie: but it hurts my brain to read any of the results 00:07:47 oerjan: indeed. tdnhat. 00:08:01 that did not help at t? 00:08:10 all. not t. a. 00:08:30 (I keep saying “a tall” in my head, instead of “at all”.) 00:11:47 ^style the_worst_style 00:11:47 Not found. 00:12:18 how often does fungot's fungot style get updated? 00:12:18 ais523: demetrius. is caesar yet gone to the hedge for shade, when in the streets he meetes such golden gifts: ile to dinner, and they were left neglected on the quay for more than i'll speak of. 00:13:04 irc and fungot both 00:13:04 oerjan: ros. neuer talke to me, master shallow, deepe maister shallow, that no enemy shall euer take aliue the noble brutus is ascended. silence! 00:13:14 (my guess: never happened) 00:13:20 ^style oots 00:13:20 Selected style: oots (Order Of The Stick) 00:13:36 fungot: more? 00:13:37 int-e: so, i know, i was, uh, as a provider, i would be as another sword arm this deadly but well-hidden booby trap, goblin friend, and she won't give the their holy power that i now fully believe that ' s, then and told me 00:15:04 fungot: update, I say! 00:15:04 boily: " the life and saving us from the orcs and told me what needed my strength. that now. get haley and i could bring to bear three degrees and... eight. 00:20:50 -!- MoALTz_ has joined. 00:23:45 -!- MoALTz has quit (Ping timeout: 244 seconds). 00:30:09 -!- Solace|zzz has quit (Quit: Connection closed for inactivity). 00:44:35 -!- vanila has joined. 01:01:45 -!- boily has quit (Quit: ELEMENTAL CHICKEN). 01:05:24 -!- callforjudgement has joined. 01:09:25 -!- ais523 has quit (Ping timeout: 265 seconds). 01:30:55 -!- Solace|zzz has joined. 01:32:57 -!- callforjudgement has quit (Read error: Connection reset by peer). 01:33:02 -!- scarf has joined. 01:33:53 -!- G33kDude has joined. 01:34:23 -!- nys has quit (Ping timeout: 240 seconds). 01:37:03 -!- GeekDude has quit (Ping timeout: 272 seconds). 01:38:07 -!- G33kDude has quit (Read error: Connection reset by peer). 01:39:52 -!- dianne has quit (Ping timeout: 256 seconds). 01:40:06 -!- GeekDude has joined. 01:40:13 -!- GeekDude has quit (Changing host). 01:40:14 -!- GeekDude has joined. 01:41:47 -!- dianne has joined. 01:42:48 -!- nys has joined. 01:43:43 Do you have a Christmas tree with birds? 01:45:25 -!- mihow has quit (Quit: mihow). 01:47:55 -!- tswett__ has joined. 01:48:31 -!- mihow has joined. 01:50:32 -!- tswett__ has quit (Client Quit). 01:51:57 -!- mihow has quit (Client Quit). 02:05:27 -!- oren has joined. 02:05:41 elliott: ever since i learned pinyin i pronounce "xor" as 'shor' hthyh 02:05:52 xor's algorithm 02:06:03 -!- arjanb has quit (Quit: zzz). 02:11:40 aldo in pinyin x normally only appears in cluster "xi" 02:14:18 or u, like xue "snow" for example 02:17:33 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 02:19:32 -!- nys has quit (Ping timeout: 250 seconds). 02:19:54 -!- nys has joined. 02:20:49 xure thing 02:31:00 I pronounce it /ksoɹ/ or so. 02:31:04 it also helps for pronouncing "words" like "x11"->'sheleven', "xinit"->'shinit' "xfce"->'shifke' 02:31:41 "xargs"->'shargs' 02:31:58 That’s easy enough to do if you pronounce it /ks/, unless you don’t speak a language that allows that cluster initially. 02:32:24 yeah i dunno, not many languages allow that... 02:32:48 German and Greek do. 02:34:57 -!- tswett has joined. 02:34:59 Ahoy. 02:35:02 So. 02:35:36 Intuitively, one would expect that, given any statement in number theory (which is to say, a statement where quantifiers range over the integers), the statement is either provable or non-provable. 02:35:58 After all, any given thing is either a valid proof or not a valid proof, right? 02:36:38 Except that proofs inevitably rely on axioms. 02:37:39 Is your intuition really that for any bunch of weird symbols, there is another bunch of weird symbols that satisfies one of two complicated relations 02:37:40 Some axioms are obviously "true", such as, say, all the axioms of first-order Peano arithmetic. 02:37:58 Jafet: not really. 02:38:17 Heck, leave off the quotation marks. All the axioms of first-order Peano arithmetic are certainly true. 02:38:20 "xcalc" i think /kskalk/ would be a lot more brutal than /ʃkalk/ 02:38:38 They are true by definition. 02:38:41 And then some axioms are "not obviously true", such as the axiom of choice. 02:38:58 zzo38: depends on your definition of the integers, I'd say. 02:39:02 The axioms of Peano arithmetic are true in Peano arithmetic 02:39:16 If you define them via the axioms of FOPA, then yeah, the axioms of FOPA are obviously true. 02:39:31 The exception if it is inconsistent in which case, everything is valid and it is not proper mathematicals. 02:40:21 oren: Most of the X Window System things I actually pronounce using the name of the letter, /ɛks/. 02:40:29 look up godel theory 02:40:53 xargs on the other hand is /ksaɹgz/. 02:41:26 just because something is true doens't meant you can prove it 02:41:51 Yes, I know Godel's theory 02:41:52 vanila: depends on your epistemology 02:42:05 zzo38, i wasnt meaning you 02:42:17 vanila: right. 02:42:19 tswett: then you cannot have such an intuition about Peano arithmetic either, because you can Gödel-encode any bunch of weird symbols into it 02:42:54 oren, re. epistemology take the true natural numbers to start with 02:43:52 So what I'm trying to figure out is whether or not there exists some sort of "standard theory of number theory", such that our intuitive notion of provabilty in number theory coincides with provability in STNT. 02:46:27 Jet lag 02:48:18 ? 02:48:40 That was meant to have a :( after it 02:48:49 I just woke up at quarter to three in the morning 02:48:54 i was ? the fact that i had been pinged 02:49:16 how much state does a finite-state matchine have to have to be useful 02:49:31 What is our intuitive notion of provability? 02:49:33 oren, you can recognize binary strings in 2 states 02:49:48 hm you could do it in 1 state actually 02:50:01 you can recognize (charset)* in one state X 02:50:06 with arcs X -> X for each char 02:50:17 quintopia, unless you get pinged by "jet lag" I have no idea 02:50:37 -!- tswett has quit (Ping timeout: 240 seconds). 02:50:49 zero states is enough to sit there uselessly 02:50:55 my log window is filled with reconnection attempts and lastlog revealed no clue 02:51:14 I'm a zero-state machine 02:51:16 isn't intuition more the province of psychology ? 02:51:23 elliott, doesn't a FSA need an initial state? 02:51:49 hahahahahahaha cant sleep because wife snores but at least i know how to do my random genrator now 02:52:06 @time J_Arcane 02:52:07 Local time for J_Arcane is Wednesday, December 24, 2014 4:52:11 AM 02:52:17 J_Arcane, you're in a better position than me 02:52:32 I can't sleep because jet lag, and I'm two hours behind you 02:52:45 And I have no idea how to do your RNG 02:52:54 -!- tswett has joined. 02:52:54 so for example, suppose i made a language for programming arbitrary FSA's with exactly N bits of state. would 8 bits be useful? 02:53:33 no 02:53:48 someone might need 9bits 02:54:00 Taneb: Racket has continuation-based generators. 02:54:10 Woo 02:54:15 hey J_Arcane good work on the BASIC LISP 02:54:18 I was too tired to figure out how to use them last night. 02:54:42 But I think I can make RANDOMIZE return or define a local generator RND to act as the random number generator. 02:55:08 It's not the strictest purity, but at least it's not full of ugly set! statements. 02:55:43 given that experiments have shown that therea are no hidden quantum states, could a true quantum computer be considered a stateless machine? 02:59:27 What does "hidden quantum states" mean and how does an experiment show there aren't any? 02:59:57 If you consider a classical computer stateless, yes 03:00:59 isn't a quantum computer just a quantum version of a normal computer 03:01:18 like you have the same state - but instead of 1,0 you have compelx linear combinations 03:02:17 -!- tswett has quit (Ping timeout: 240 seconds). 03:10:50 -!- tswett has joined. 03:13:24 -!- tswett has quit (Client Quit). 03:21:03 vanila: there's a lot in that "just". for one thing, it's reversible so you cannot simply delete/overwrite state 03:21:49 thats really interesting and important and I wonder how I never really caught onto that before 03:24:01 Sweet. I have an xorshift* generator. 03:24:11 and whether you keep a copy of temporary state around can affect the final observed result in the _other_ bits. 03:24:36 Now to make some syntax decisions. 03:24:53 (because it prevents different computation paths with the same final result but different temporary state from interfering) 03:27:46 -!- scarf has changed nick to ais523. 03:28:32 anyone want a hat for christmas. i will send you a hat or two. 03:29:21 * oerjan looks at Gregor 03:30:03 quintopia: What color of hats? 03:30:04 gregor is too stylish for outlandish party hats and baseball caps 03:30:15 ah 03:30:43 zzo38: they are mostly dark-coloured. blue and black. there's some yellow and white. some are woven from straw. 03:31:03 these ones are woven from straw and garlanded with silk flowers 03:31:14 (100% genuine polyester silk) 03:31:51 from genuine japanes polyester silk worms 03:31:54 *+e 03:32:27 IDEA: Brainfuck + goto 03:32:30 should be very easy to program in 03:32:42 brainfuck already has goto 03:32:48 it's called [ and ] 03:33:00 lol 03:33:16 What if you removed [ and ] and added goto 03:33:16 vanila: would you like an embroidered baseball cap from the albuquerque balloon festival 03:33:19 those are strictly nesting, gotos arent 03:33:20 Would it still be turing complete??? 03:33:31 only if it were computed goto 03:33:36 Jafet: um no branching? 03:33:36 thats ok, thanks though! 03:33:51 ooh computed goto 03:33:55 I like that! 03:34:19 that is both conditional and jump in one go 03:34:25 I mean this is like subleq isnt it? 03:34:27 OREN: YOU CAN NONETHELESS USE THEM LIKE GOTOS sorry caps lock accidental press 03:34:48 IDEA: brainfuck - brainfuck 03:34:49 goto and comefrom are so mundane these days. we need govia 03:35:26 it's just like brainfuck except that all the brainfuck commands are replaced with other unrelated ones 03:35:50 or passthrough 03:36:34 oerjan: or pass-go-collect-$200 03:36:39 it's like goto and comefrom except you have no idea _when_ you're going to pass through the label - it may already have happened, or may happen in the future 03:36:45 how about this 03:36:50 + - < > * 03:36:56 same as brainfuck except * is computed goto 03:37:26 CLC-INTERCAL even has computed NEXT FROM 03:37:27 journeythither 03:37:28 thats TC isnti t? 03:37:43 zzo38: so does C-INTERCAL 03:38:06 quintopia: what about garfield minus brainfuck wth 03:38:10 lol 03:38:43 oerjan: i was already thinking about square root of minus brainfuck 03:38:55 good, good 03:39:02 quintopia: sounds quantum 03:39:28 Other idea, make a esoteric programming language involving astronomy and astrology, somehow. (I don't know how.) 03:40:09 -!- Solace|zzz has quit (Quit: Connection closed for inactivity). 03:40:13 And, the other other idea, is make a esoteric programming language that is allow to make types subtraction and division by types, rather than only addition and multiplications. 03:40:45 oh wow that sounds mad! 03:41:11 (I don't know how to do that either.) 03:41:16 Subtypes and quotient types 03:41:27 You could try to invent remainder types 03:41:34 there was a paper about doing that 03:41:36 it was very esoteric 03:41:43 edwardk said it was nonsense or something :p 03:41:47 There is? I didn't see any such papers. 03:42:09 you mean amr sabry's one? 03:42:49 I can try and find it, I guess. 03:43:14 copumpkin: uhh, maybe. 03:43:15 link? 03:43:29 it involved time travel or something 03:43:34 it was kind of ridiculous 03:44:18 hey copumpkin 03:44:21 http://www.cs.indiana.edu/~sabry/papers/rational.pdf 03:44:23 hi vanila 03:44:32 joyal species is the thing i think 03:44:36 yes 03:44:37 it is this type 03:44:39 er, *this paper 03:44:54 read it if you like having fun, breaking rules, and showing it to the man 03:45:04 I skate on the road and I divide my types 03:45:06 misandry! 03:45:09 anything by Amr Sabry is going to be gold 03:48:21 reading that paper basically felt like being trolled really effectively 03:48:34 like, this is obviously total nonsense. but it does kinda work. 03:49:23 it involves reversible stuff so vanila will love it 03:50:21 but can an abrtriay txet be srcewd up and rbleessad? <-- *rbleeessmad hth 03:50:22 ill start at the end 03:50:27 haha 03:51:19 oerjan: u rbleeessmad? 03:51:25 hi copumpkin 03:51:38 did you read that thing 03:51:45 would the world be an overall better place if i stopped asking about it 03:51:50 webcomics have trained me to be pretty good at following narratives backwards 03:51:57 not sure it'd work for papers 03:51:57 shachaf: not ralley 03:52:36 elliott: you do the catchups starting from the end? 03:52:56 (i only do that for smbc which doesnt really have narrative) 03:53:10 when i see a webcomic I go to the start 03:53:15 and usually its not so good soi dont read it more 03:53:30 oerjan: I see a random webcomic and start going backwards 03:53:35 but yeah sometimes I do catchups from the end 03:53:50 whoa, i always thought "catsup" was a british but apparently it's american?? 03:53:52 it works better with comics that don't have continuity. backwards dinosaur comics is just dinosaur comics 03:53:52 vanila: that's a little stupid if it's improved a lot... 03:53:57 yes 03:54:11 vanila's strategy sounds good because you don't have to remember a lot of webcomics to follow 03:54:24 tru dat 03:55:17 shachaf, I don't actually know what catsup is 03:55:35 Taneb: a bizarre spelling of ketchup hth 03:55:39 it's a chinese fish sauce hth 03:56:03 ketsjup 03:56:27 Well, I don't apply condiments often, so neither of those definitions make me inclined to apply catsup 03:56:42 ketszjup is a polish condiment that goes well with gazspacho 03:57:00 oops, gaszpacho 03:57:19 I think hte only webcomics ive read fom start to finish are XKCD and ozzy and millie 03:57:43 vanila: xkcd hasn't finished hth 03:57:53 there was only about 100 when i read it 03:58:59 oerjan: https://twitter.com/mikko/status/506433143822630912 hth 03:59:14 -!- CrazyM4n has quit (Quit: so that's how you do quit messages). 03:59:38 what webcomic would i like to read? 04:00:38 vanila, 04:00:58 I was going to something than I get distracted by a thingy 04:01:51 shachaf: that comment about the hover text is something. also i wonder what the question was. 04:02:12 i think Taneb may be easily distracted 04:02:30 oerjan, the outside is scary 04:02:32 oerjan: which comment and what question twh 04:02:35 vanila: http://supermegacomics.com/ 04:02:44 (rip) 04:02:44 I love that one!!!!!!!!!!!!! 04:02:46 Omg I read it all 04:02:51 htat's the 3rd ive read 04:02:51 shachaf: from your link hth 04:03:05 oerjan: oh from twitter replies 04:04:22 oerjan: i was hoping for a reply involving more hyphen-minuses and octothorpes hth 04:05:30 oh. i didn't notice that. 04:07:53 shachaf: hi! no! and no! 04:08:06 I wonder if there's any stew left 04:08:07 copumpkin, do you have a blog 04:08:17 nope :( 04:08:23 copumpkin, is there any stew left? 04:08:25 what is up 04:08:33 copumpkin: wat 04:08:35 I'm doing some duolingo and waiting for my nix build to complete 04:08:37 whats been happening 04:08:44 copumpkin: which lingo 04:08:44 Taneb: not that I know of 04:08:51 how can there be anyone other than me who doesn't have a blog 04:08:54 shachaf: brushing up on some old french 04:09:02 oerjan, You can start a blag.txt 04:09:03 oerjan, I only have like half a blog 04:09:05 oerjan: sorry! I'll try to get one 04:09:22 Although it says at the top "Taneb's blog" 04:09:31 vanila: you seem to have misunderstood my question hth 04:09:36 http://mumble.net/~campbell/blag.txt 04:09:45 oh I know him 04:09:54 Taneb: is it http://nclk620tab.blogspot.com/ 04:10:09 shachaf, yes 04:10:11 Riastradh is great 04:10:16 oerjan, I can help you set it up just make a text file hth 04:10:29 shachaf, isn't that the capital of Saudi Arabia? 04:10:40 lol 04:10:43 not quite 04:12:31 haha he wrote aobut decompression quines 04:12:33 cool 04:12:42 oerjan, looking forward to reading it! 04:14:14 Taneb: i'm going to assume that's not actually your blog because that way i don't have to kill you for your font and text color choices hth 04:14:26 It is definitely not my blog 04:15:03 good, good 04:15:17 oerjan, do you reckon there is any stew left? 04:16:21 i cannot answer that because i cannot find the pun hth 04:17:01 There is no pun to my knowledge 04:17:12 But we had stew here last night but I went to bed early due to jet lag 04:17:13 oerjan: the pun is in the oy of the beholder hth 04:17:24 Now it's like quarter past 4 in the morning and I am hungry 04:17:37 But I am also undressed and upstairs 04:17:51 So I don't want to go to get stew if it's gonna turn out there is no stew 04:18:13 what if there's a salad 04:18:20 you only need to be as dressed as the salad hth 04:18:20 oy vey 04:19:06 fizzie: https://esolangs.org// this is a bit weird 04:19:17 the redirect should probably be ^/*$ in the nginx config or such 04:19:38 oerjan: i was amused by the finnish for "oh no" hth 04:21:08 elliott: this won't break /// ? 04:21:12 no 04:21:40 oh hm /wiki/ 04:22:10 shachaf: oy key 04:25:35 -!- nys has quit (Quit: quit). 04:47:01 -!- Solace|zzz has joined. 04:47:24 ugh. i just want to fucking sleep 04:53:18 Bless your frail heart 04:53:27 Go to sleep J_Arcane 04:53:41 my wife snores. 04:53:45 enough to wake the dead. 04:54:19 and because I have an ear infaction probably caused by wearing them in the first place, i'm not able to wear my ear plugs. 04:54:51 Sleep on the couch 04:55:00 Snoring is bad though also 04:55:04 Wake her up 04:55:17 She could stop breathing ;-; 04:55:41 :C 04:57:37 put on headphones and play white noise 05:00:33 cat /dev/urandom | aplay 05:01:05 turn volume just high enough to block out other sounds 05:03:05 I need to get to the shops anyway before they close for Christmas eve. 05:03:07 I don't think waking up chronic snorers constantly is a good course of action :p 05:03:26 I'd never get any sleep. I snore too. 05:05:57 Those scientist who calculated what white smell is 05:06:08 Just math no machine does it though 05:06:19 -!- Solace|zzz has changed nick to Solace. 05:10:10 png compressed images sound almost, but not quite, like white noise 05:11:56 whereas executables sound like a dialup modem 05:14:36 Oh god 05:14:42 Dialup modems 05:37:06 [wiki] [[Deadfish]] http://esolangs.org/w/index.php?diff=41534&oldid=41533 * Oerjan * (+0) /* Pascal */ Missed one 05:38:27 lol oren thats so weird 05:38:34 you can hear the difference in files.. 05:38:37 can you tell apart a jpg and a png? 05:38:45 haven't tried 05:38:47 what about XML vs lisp 05:40:25 yknow i have a screwed up synthesizer language... i oughta loom thru my old files more often 05:41:20 -!- Sprocklem has quit (Ping timeout: 264 seconds). 05:41:22 -!- MoALTz has joined. 05:41:34 a good compression _should_ sound like white noise, surely 05:41:57 ideally! 05:42:01 and encryption 05:42:51 -!- GeekDude has quit (Ping timeout: 244 seconds). 05:44:06 -!- MoALTz_ has quit (Ping timeout: 256 seconds). 05:45:07 [wiki] [[Ante]] http://esolangs.org/w/index.php?diff=41535&oldid=40778 * 76.247.183.16 * (+100) New interpreters and URLs 05:51:36 -!- MDude has changed nick to MDream. 05:51:47 Whats your favourite food? 05:52:03 XML vs lisp? 05:52:14 Lisp probably would win 05:52:23 Depending on whos battling who? 05:52:33 Solace, my favourite food is the singapore noodles recipe we have here, but I am currently in the mood for stew 05:52:53 XML vs lisp is like comparing Denmark to geometry 05:53:01 They are different sorts of things 05:53:20 Taneb: http://www.irregularwebcomic.net/961.html 05:53:45 oerjan, I will go downtairs soon to see if there is any stew 05:54:03 If there is I will microwave-heat it then take a photo to show you guys then eat it 05:54:15 My mum made it so it probably has actual meat (beef, apparently) 05:57:31 xml encoded json 05:58:58 newsham: http://www-01.ibm.com/support/knowledgecenter/SS9H2Y_6.0.0/com.ibm.dp.xi.doc/json_jsonx.html 05:59:01 How about a turkish game hen wrapped in a seasoned wrap of fine picked herbs with some cherry drizzle wrapped around the sides? 05:59:16 I think I prefer singapore noodles 05:59:24 Although I once had this really nice kangaroo steak 05:59:59 Amaze 06:00:01 i also 06:00:07 at bondi beach 06:00:17 had raspberry glaze or something 06:00:18 mmmmm 06:00:32 i never had kangaroo but i mentioned i've had ostrich 06:00:52 that joke was o stretch 06:00:53 -!- dts|pokeball has quit (Ping timeout: 240 seconds). 06:00:56 quintopia, this was in a restaurant in Melbourne, a few years ago 06:01:02 It had quite a gamey taste 06:01:07 Reminded me of partridge 06:01:11 vanila: what joke it's a simple fact hth 06:01:14 Another thing which I have eaten precisely once 06:01:50 that helped thanks 06:01:57 Kangaroo is tough for me 06:02:02 Shant eat again 06:02:09 I like softer meats and the like 06:02:11 Solace, that sounds like it was poorly cooked 06:02:18 Taneb: did you also get the accompanying pear tree twh 06:02:26 oerjan, I don't know, it was in a pie 06:02:32 ah 06:02:33 Probably 06:02:47 The resturaunt looked trashy tbh 06:02:58 I once had a really poorly cooked steak, but that was beef and I cooked it myself 06:03:22 Amaze 06:03:37 So xml parsing 06:03:52 Isnt that a horrifying subject for kids nowadays 06:04:09 I had to learn xml in my class last year 06:04:44 XML parsing is easy isnt it? 06:04:51 i thought the point of xml parsing was that you used a readymade parser for it 06:04:57 it's just 06:05:16 or is XML some ridiculously complex thing with a million exceptional cases 06:05:23 yes 06:05:26 well it's not that complex 06:05:37 but it's complex enough that the annoyance in parsing and emitting it is the nibbly bits 06:05:46 emitting is the bigger problem I think 06:05:53 since it is easy to fuck up and produce invalid output 06:05:58 vanila: also 06:06:01 also 06:06:13 also if you implement doctypes 06:06:18 also <가나다 라마바="asdf"> 06:06:18 then it's hideously, ridiculously complex 06:06:23 06:06:30 damn 06:06:31 also 06:06:39 it keeps happening 06:06:43 https://en.wikipedia.org/wiki/Billion_laughs XML! 06:06:50 also a CFG-inspired language for defining the schema 06:07:01 only to be replaced via another XML-based schema language 06:07:02 ive decided that XML is bad 06:07:12 also %entity; and &entity; 06:07:15 oh my god 06:07:17 thre's more and more 06:07:32 I think people hate doctypes these days though 06:07:33 also (okay, this is the least concern) 06:07:36 so it's okay to just ignore them 06:07:47 but if you want to hear about XSLT... 06:08:27 -!- adu has joined. 06:08:39 XSLT is a functional language, it must be good 06:09:23 elliott: are you for srsly? 06:09:32 no :p 06:09:46 but I suspect XSLT would be significantly less unbearable if its syntax wasn't XML 06:09:51 I would classify XSLT as a declarative language 06:10:06 I'm pretty sure it's even intended to be a purely functional language 06:10:15 instead of being accidentally that way like C++ templates 06:10:38 hmm, I wonder what AWK is classified as... 06:10:51 "data-driven" according to wp 06:11:49 How to keep the last doughnut 06:11:52 Hold the doughnut aloft And announce "This is the last doughnut, Does anyone wish to split this with me" Then proceed to touch as many sides of the doughnut as possible 06:11:54 XSLT is classified as "declarative" according to wp 06:12:03 We extend Pi our reversible programming language of type isomorphisms 06:12:09 is this an esolang? 06:12:19 yes :p 06:12:28 Dagger Traced Symmetric Monoidal Categories and Reversible Programming 06:12:32 any sufficiently useless type theory paper is an esolang 06:12:55 We develop a reversible programming language from elemen- 06:12:55 tary mathematical and categorical foundations. 06:13:08 XML was made to make kids hate code 06:13:09 Imo 06:13:25 An implementation of the language along 06:13:25 with several programming examples are available for download from 06:13:25 http: 06:13:25 /www.cs.indiana.edu/ 06:13:25 ~ 06:13:26 sabry/papers/reversible.tar.gz 06:13:28 plausible 06:13:43 www.cs.indiana.edu/~sabry/papers/reversible.tar.gz 06:14:21 Omfg why is called a billion laughs 06:14:27 Why am i laughing 06:14:34 Make it end 06:14:51 * oerjan hits Solace with the saucepan ===\__/ 06:15:36 Thanks 06:15:43 But the name 06:15:45 you're welcome 06:15:53 its funny :) 06:15:56 A billion laughs is a dos attack 06:16:04 Solace: it's explained... 06:16:09 I know 06:16:13 dos attack? 06:16:20 denial of service 06:16:23 But its so funny to me 06:16:33 what name? 06:16:41 A billion laughs 06:16:50 is that a name? 06:16:51 XML bomb 06:17:00 Solace, A billion laughs 06:17:01 Give him the link 06:17:12 How about this 06:17:20 A billion Symmetric Monoidal Categories 06:17:26 When i discover funny things in xml i kinda cry 06:17:56 Cuz i had to use it to pass an MIT class in sophtmore year 06:18:16 I should've used it on them ;-; 06:18:24 vanila: do you have any documentation? 06:18:46 you need to see my driving liscnece? 06:18:52 no 06:19:04 like about Pi 06:19:06 http://www.cs.indiana.edu/~sabry/papers/cat-rev.pdf 06:19:34 thanks :) 06:21:55 omg this is beautiful 06:22:10 all those arrows 06:25:31 I always read buffer overflow as butter overflow 06:25:35 Im silly 06:29:50 deriving license 06:29:56 also known as degree 06:29:59 *as a degree 06:30:35 Deriving? 06:30:41 Or driving 06:31:06 deriving 06:31:40 so apparently i made an esolang at least a few years ago, which is for composing music 06:32:05 by some miracle the code still works 06:35:22 at the time i thought that this what a perfectly readable syntax: http://pastebin.com/qBCPGLyy 06:35:58 s/what/was 06:35:58 that looks very songlike! 06:36:26 Its amazing 06:37:00 http://www.speedyshare.com/hRBMt/temp.min <-- play with aplay -fS16_LE -r20000 temp.min 06:37:26 thatis what comes out of the crawling horror of a compiler that i wrote 06:37:33 haha 06:37:58 seriously play it, it is music. 06:38:42 Pi^o is really hard to understand 06:38:43 the compiler is made of a mix of shell, C and perl. 06:39:22 "all expressible computations are reversible." wow 06:39:53 -!- Patashu has joined. 06:43:54 -!- Patashu has quit (Disconnected by services). 06:43:54 -!- Patashu_ has joined. 06:44:54 Snatches head phones from brother 06:57:08 -!- ais523 has quit (Read error: Connection reset by peer). 06:57:20 -!- ais523 has joined. 06:57:54 Do you have the documentation of that music program? 07:01:01 -!- drdanmaku has quit (Quit: -). 07:02:14 There was none. here is the source code, an ode to the ire of pitiless gods: https://gist.github.com/orenwatson/95550bb34b4c8cc2e155 07:02:49 This is awesome! 07:03:33 basically you do ./acfplayer.sh foo.acf to comile and play a music 07:04:52 i think this is porbably from my freshamn year 07:06:48 ok so essentially, i think i figured out how it works 07:06:50 There are also several MML compilers for composing music though, and there is also Csound. 07:07:59 it uses sscanf... wait WTF!?!? 07:08:13 scanf is a fine parsing tool 07:08:16 "sscanf(line,"%lf %lf %lf %lf %lf %d %lf %lf &lf"" 07:08:30 provided that you actually check the return value 07:08:41 "&lf"... "&lf" god damn it it still works despite that 07:08:42 oren: wait, &lf? 07:08:45 lol 07:09:13 oren: ah, no it would work 07:09:26 oren: it has eight %s and eight arguments 07:10:03 oh why the hell, past me, what the hell wre you thinking 07:10:58 see it is a rolling horror 07:11:08 the trailing ` &lf` will be consumed if there is 07:11:18 but does not affect any output (including the return value, afaik) 07:11:39 I guess scanf(" "); can be used to skip whitespaces 07:13:48 Yes, why is there "&lf" in there, it contain many things aren't so good in this program, such as it require four files; it also just doesn't seems to do much even important things compared with most other software. 07:15:20 zzo38: i told you it is a rolling horror... 07:15:39 -!- shikhin has joined. 07:15:39 i forgot entirely about it until i found it today 07:16:38 Well, next time you can use a MML compiler if you want to, it will work better. (Such as, using ppMCK can make up a .NSF music.) 07:17:00 l'horreur qui chante 07:18:15 -!- ais523 has quit (Ping timeout: 252 seconds). 07:18:36 So smart l - l 07:19:49 Actaully the final language after going thru all steps is similar to MML. consider: 2+2, the 2 indicates a 1/2 note, the +2 indicated two semitones above the base tone for the track 07:21:18 N1 2+0 2+2 2+6 2+2 2 2+6 2+2 2+0 07:21:29 (inspired by vaguely remembering https://en.wikipedia.org/wiki/L%27Homme_qui_marche_I) 07:21:32 that is 4 bars of music 07:21:49 so the 2 without a pitch is a rest of course 07:22:19 OK, I can see that 07:22:34 to me numbering the semitones made for sense than the inconsistent letter system 07:25:49 oh no i'm reading it wrong. 0 is a whole rest, 1 is a 1/2 rest 2 is a 1/4 rest and so one 07:26:26 this line: $length=60.0/$tempo/(2.0**$1); 07:26:32 This is one file for ppMCK http://2a03.free.fr/dl.php?file=4228 It uses a few commands that I have added in to the program myself such as * ? ' commands. 07:28:13 Document of ppMCK: http://vgmrips.net/wiki/PpMCK 07:29:37 The "n" command can still be used to specify number of semitone like you have 07:34:42 hmm, no named macros? 07:35:40 That is correct; you can only use numbers (or, for text macros, you can use any single character to identify it). 07:36:06 For example I defined text macro *+ for major chords and *- for minor chords; but, it is possible to define them however you want. 07:37:35 that's kind of primitive. even my rolling horror has macros with names 07:38:19 Yes, although I have never needed macros with names. 07:38:35 then again the macros.pl could be usedwith almost any language 07:42:02 that is the advantage of making something as several separate modules. you can reuse them for a different purpose 07:44:10 Yes, it can help with many things, if you can use pipes and such. 07:44:31 So if you want you could use a preprocessor with ppMCK and other MML compilers too. 07:49:40 -!- adu has quit (Quit: adu). 08:04:50 good morning 08:07:04 早安, mroman 08:10:01 it's 3 am, barely morning 08:19:54 it's 8 am, late night 08:27:05 -!- Patashu_ has quit (Remote host closed the connection). 08:27:15 -!- Patashu has joined. 08:40:08 well 08:40:14 you're in the wrong time-zone then!!! 08:40:39 5:40 pm 08:40:50 it's a good day to work and I'm not working now 08:42:01 10:41 here, but I finished this at around 5am: https://github.com/jarcane/heresy/blob/494bc39cb0c77f0fdba4e3cbd12e382cf1a3027d/private/random.rkt 08:42:56 lifthrasiir: working, on 5:40 pm christmas eve? silly koreans. 08:43:16 oerjan: and I'm on the vacation next week 08:43:38 OKAY 08:49:12 dammit. This is what I get for using tab instead of spaces. The indentation on the y-combinator factorial example in Heresy's docs is broken. 08:57:42 http://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/server/RequestProcessorFactoryFactory.html 09:08:05 https://plus.google.com/+JeanBaptisteQueru/posts/9oHHUMpwYhG 09:14:20 oerjan, God jul 09:14:46 Or do you say something else in Norway? 09:15:12 exactly the same words 09:15:18 God jul 09:15:25 Same spelling too? Nice 09:15:44 Hyvää joulua from the country who's not in the language club. 09:15:56 I guess "joulua" is from the same roots. 09:16:25 (Partitive form of "joulu".) 09:17:01 As for "hyvä"... "From Proto-Finnic *hüvä, from Proto-Uralic *šeŋä. Cognates include Estonian hea and Veps hüvä and Sami savvit or Erzyan чив (čiv). Possibly of Indo-Iranian origin." 09:17:08 imo why wouldn't jul be in july 09:17:58 shachaf, well it is jul as in the (old?) English yule. 09:18:14 I think it has a different origin than July (juli in Swedish) 09:18:17 yule forgive me for not making the connection 09:18:40 Vorpal: july is from julius caesar 09:18:54 And Yule is "either cognate with[1][2][3] or from[4][5] Old Norse jól". 09:18:56 -!- roasted42 has joined. 09:19:22 shachaf, but every summer some company tend to make some ad with Father Christmas in it just to try to be funny. Probably funny the first time, but not any longer. 09:20:16 oerjan, makes sense 09:21:17 oerjan, Speaking of Caesar and months, wasn't it he who screwed up the calendar so that December is no longer the 10th month as the name would imply? Same goes for September and forwards even 09:21:46 Vorpal: iirc that screwing up was done before his reform 09:21:52 Ah 09:22:14 someone linked a nice overview here, let me see if i can find it again 09:24:51 メリークリスマス 09:26:18 the japanese were not creative 09:27:51 Is lambdabot broken? It told me I had one new message in /msg, but when I asked it for it, I didn't get anything 09:28:05 gah too many sites i cannot recognize which it was 09:28:43 明けましておめでとうございます 09:28:54 grmble google doesn't seem to have crawled that date 09:29:00 Vorpal: ask int-e 09:29:21 lifthrasiir, which language is that? 09:30:18 oerjan, strange, I can't do a double-whois on int-e to get his/her idle time. Maybe pending netsplit is the cause of both of these issues? 09:30:30 > 2+2 09:30:30 4 09:30:43 Wow that is some lag, lambdabot just answered 09:30:44 @messages? 09:30:44 Sorry, no messages today. 09:30:49 like 5 seconds ago 09:30:59 he's recently changed the saving mechanism, to help against data not being saved properly 09:31:27 oerjan said 25d 57m 24s ago: Is there a way to say to cabal "fix mixed versions"? I.e rebuild any packages depending on different versions of a package so that everything just works, and I don't get weird errors. <-- apart from the sandbox thing, i vaguely think that if you install all the packages as _one_ cabal install command it will 09:31:28 Hm 09:31:56 Okay, thanks for the tip, sadly I installed haskell-platform using my package manager. So that will be fun to deal with... 09:33:18 oerjan, yeah there seems to be some major lag issues atm 09:34:38 Vorpal: Japanese, "happy new year" 09:34:38 akemashite omedeto gozaimasu 09:35:45 but that used to lose messages and resend old ones, not forget things one moment to the next 09:35:45 Vorpal: um from my point of view lambdabot answered immediately. 09:35:46 -!- roasted42 has quit (Changing host). 09:35:46 -!- roasted42 has joined. 09:35:46 -!- roasted42 has changed nick to TheM4ch1n3. 09:35:46 Vorpal: hm that sounds like the old problem 09:35:46 unless you actually haven't spoken since then 09:35:47 all tests so far imply it's you who are lagged relative to me, lambdabot and int-e 09:35:47 actually irssi refuses to ping lambdabot 09:35:47 @do hi 09:35:47 hi 09:35:47 lo 09:35:47 Vorpal: if you are responding to pings, you are horribly lagged because you haven't responded yet :P 09:36:07 there it arrived 09:36:24 10:34 CTCP PING reply from int-e: 0.284 seconds 09:36:24 10:35 CTCP PING reply from Vorpal: 267.534 seconds 09:37:05 oerjan, I'm not lagged relative the server I'm connecting to according to znc 09:37:15 oerjan, but yes I'm lagged relative some other persons 09:37:55 oerjan, anyway it seems to be lag bursts, sometimes lambdabot pings directly, sometimes it doesn't 09:39:36 Vorpal: changing server often helps 09:39:49 -!- TheM4ch1n3 has quit (Ping timeout: 265 seconds). 09:40:09 -!- Solace has quit (Quit: Connection closed for inactivity). 10:01:48 -!- oren has quit (Ping timeout: 258 seconds). 10:42:17 -!- MoALTz has quit (Quit: Leaving). 11:01:33 hmm. I think my math is all wrong. 11:04:17 -!- shikhin has quit (Ping timeout: 258 seconds). 11:07:12 Converting my 64-bit integer down into a fraction that can then fulfill the expected usecase of int(rnd * n) + 1 11:10:08 the quick and dirty method is to use modulo n 11:10:24 it will not be entirely uniform if n isn't a power of 2, though. 11:11:23 and will be very skewed if n is close to 64 bits large 11:12:05 The algo I'm using does in fact spit out a 64-bit number. 11:12:40 i'm not talking about the number spit out, i'm talking about the n in your int(rnd * n) + 1 11:14:18 hm... 11:14:50 i guess there's also a problem if lower bits are less random than higher 11:15:53 hm 11:16:15 from the other end, divide 2^64 by n 11:16:41 then divide your spit out number by the result of that. 11:17:07 rounding down in both cases, i think. 11:17:37 if the result is n, pick a new number and retry. 11:19:56 third method, look up how this is actually supposed to be done. 11:20:13 * oerjan helpful 11:21:19 Yes. 11:21:24 This is probably a smart option. 11:21:33 That's the hardest method though 11:21:50 ain't it always 11:22:17 especially if the people giving stupid answers give a lot of google hits :P 11:23:05 It seems there's trickier math involved in getting a fraction that will be in a range such that (* (rnd) 6) actually spits out something between 0 and 5. 11:25:48 oh hm wait that's easy enough 11:26:21 x * 6 `div` (2^64) 11:26:39 that will be somewhat skewed though 11:27:31 Very skewed: that's basically the first thing I tried. 11:27:34 by which i mean, not all numbers 0..5 equally "likely" 11:28:09 for a non-skewed version, you _have_ to throw away some cases. 11:28:16 (see my second option above) 11:28:54 it shouldn't be _very_ skewed mind you - some of the numbers will have 1 more 64-bit number giving them than the others. 11:31:33 different way of doing the second method: let y = 2^64 - (2^64 % 6). throw away every number >= y (at most 5), for the rest do x * 6 `div` y 11:32:03 mixing C and haskell is so useful 11:32:44 well, see, I'm trying to implement (rnd) itself, according to the BASIC spec, ie. a random number between 0 and 1. I won't necessarily know n, so I can't write that factor into the implementation easily (unless I divert from spec and just add an argument to RND) 11:33:20 But at the moment, it consistently produces numbers which are far too small to use for that use case. 11:33:44 well rnd = x / (2^64) is basically the way to go if your spit-out numbers are 64-bits... 11:34:20 oerjan: what... 11:34:40 int-e: what what? 11:34:51 Or 2^64-1 11:35:29 you want to include 1 as a possibility? ok but that'll complicate choosing integers again later 11:35:36 oerjan: wondering about the ping. and what do you mean by "irssi refuses to ping lambdabot"? I don't see why it would do that; it's just that lambdabot won't reply :P 11:36:04 Which is what I've been trying to do, and getting weird results. 11:36:26 int-e: when i do /ping lambdabot irssi doesn't say that it sent any ctcp 11:36:43 unlike for the rest of you 11:37:02 oh hm 11:37:07 -!- Phantom_Hoover has joined. 11:37:13 int-e: i'm stupid 11:37:19 For example, given the numbers I'm getting over (2^64), doing (for/list ([x (in-range 100)]) (add1 (truncate (* (rnd) 6)))) gives me a list composed almost entirely of 1s and 2s. 11:37:22 forgot i have a lambdabot query window 11:37:32 heh 11:37:36 correction: entirely 1s and 2s. 11:37:39 and for some reason those messages don't mark the window as active 11:38:23 int-e: i was pinging you because Vorpal said you were unwhoisable 11:38:41 Perhaps you should try debugging that program 11:39:52 oerjan: I figured it out. It's just that I saw the ping completely out of context. My active channel was #ghc... 11:41:11 oerjan: (Which has not seen any activity in the last two hours, just some people joining and leaving. So it looked like a recent thing until I looked at the time stamp.) 11:44:18 Jafet: that would seem to imply that your fractions are between 1/6 and 1/3 the size they should be... 11:44:25 oops 11:44:32 J_Arcane: ^ 11:44:38 oerjan: Well, ditching the float technique and doing result % n does indeed give a 0 to n range it looks like. But visibly irregular results. 11:45:10 (and very weighted to the bottom) 11:45:20 the result % n thing might be too sensitive to patterns in the formula 11:45:33 modulo n 11:47:03 in the "low bits", vaguely speaking 11:48:56 Maybe I should just accept I don't know what I'm doing and fall back to Racket's built-ins. XD 11:49:19 shocking 11:50:12 I can *easily* rewrite the code in place without breaking the semantics. 11:50:28 And it's all git-versioned so if I want to come back to it the code's around somewhere ... 11:55:08 oerjan: Oh http://golf.shinh.org/p.rb?One+Point is a bit frustrating. First I took ages to figure out what sequence that is... and now I have 74 characters for Haskell where henkma has 70... 11:56:17 And I still don't know whether "One Point" is supposed to be a hint. 12:00:08 * oerjan checked oeis 12:01:18 https://oeis.org/A030303 12:02:00 it's the points where there are ones... 12:03:41 ah. why did OEIS fail me... 12:04:11 i dunno, did you use spaces instead of commas? 12:04:34 because ... yeah that. 12:08:45 This is not quite the only channel I watch that's not dead, but it's pretty close. 12:17:34 oerjan: (one of the annoying little details is that the bits are only collected up to 254. 255 instead would help me...) 12:18:12 heh 12:18:57 -!- Patashu has quit (Ping timeout: 240 seconds). 12:23:24 interesting... dc makes 0^-1 = 0. 12:23:31 (wtf) 12:26:24 blargh. wtf doesn't racket's make-random-generator take a seed argument? 12:29:26 because you can use random-seed followed by current-pseudo-random-generator? 12:29:45 but more likely nobody really thought about this. 12:31:00 `run echo '0^(-1)' | bc 12:31:00 Runtime error (func=(main), adr=4): divide by zero 12:31:20 J_Arcane: and there's the vector->pseudo-random-generator thing. 12:31:57 `run echo '0 _1 ^ p' | dc 12:31:57 0 12:32:05 I suppose as long as the current-generator parameter obeys scope it's OK ish. 12:32:08 in other news I think that racket looks a bit like scheme ;-) 12:34:28 Well, it did start out as a Scheme, and it's mostly still one at heart. IT was just a matter of them not wanting to be bound by the standard or expectations anymore. 12:35:14 J_Arcane: Actually I'd sort of expect there to be potential races with other threads. Actually it's even unclear whether random-seed makes a new RNG or just replaces the state... 12:36:03 (mutable data is so annoying.) 12:36:18 int-e: Indeed it is. 12:37:08 -!- oerjan has quit (Quit: leaving). 12:37:30 That's curious, because GNU dc is built on bc. (dc ^ is using the same bc_raise as bc ^.) 12:39:42 int-e: Also annoying is that the value range for the seed is 32-bits, but the timer is 64-bits. So it actually uses some internal derivation when seeding from (current-milliseconds) that I thus have to account for somehow, and that means I may have to rewrite my spec anyway ... :/ 12:41:11 (with-current-time 12345678901234578 (random-seed)) 12:42:21 once you have mutable data, time travel looks almost sane :P 12:45:08 I had defined a syntax for a BASIC-style "timer" var, but since (curr-ms) is 64-bits, you can't actually use it with randomize. I will have to derive some formula that turns any 64-bit number into a 32-bit that's valid for a seed. 12:46:52 (lambda (x) 42) 12:47:25 :D 12:48:39 I suppose I could just bitmask the first half of the number ... 12:55:40 * int-e sees #include "schmach.h" and goes looking for "schande.h" 12:55:57 Yes, that works. Just bit-shift off 32 digits and bam, 32-bit number. :D 12:56:06 * J_Arcane is not a hacker, just a hack ... 12:57:16 J_Arcane: you know, the lower bits will vary much faster than the upper bits. You could even take the number modulo 2^32-5 or so. 12:58:02 Hmm. I didn't think about doing it with modulo. 12:58:14 I just did (arithmetic-shift seed -32). 12:58:30 But your way makes more sense. 13:01:52 ah, better make that modulo 2^31-1: if (scheme_get_int_val(o, &i)) { if (i > 2147483647) i = -1; } 13:05:10 Good point. I did: (modulo seed (sub1 (expt 2 31))) 13:17:34 anyway, random-seed will destroy the current RNG state, and current-prng obviously can't make a copy. 13:21:49 Next: I must figure out which racket function works best for basic's int(). 13:22:34 int-e: This is what I did: https://github.com/jarcane/heresy/blob/master/private/random.rkt 13:28:14 J_Arcane: I'm not sure whether I can read this. Does rnd re-seed every time its called? 13:28:33 int-e: No, or at least, it shouldn't if I've understood generators correctly. 13:29:52 Generators are continuations. IIUC, the computation should remain inside loop after first run. So it just keeps taking new numbers from the current PNRG. 13:31:13 pseudo-number random generator, hmm 13:31:19 XD 13:31:48 brain is tired. weeks of insomnia and sleep problems and also trying to emergency thaw a ham. 13:31:50 Anyway, all I'm saying is you're on your own there; I don't know Racket. 13:32:02 :D No worries. 13:55:50 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 14:13:42 -!- S1 has joined. 14:21:30 -!- shikhin has joined. 14:29:53 -!- vanila has quit (Ping timeout: 240 seconds). 14:33:05 -!- boily has joined. 14:35:08 Good afternoon 14:39:19 `` dc <<<125P 14:39:20 ​} 14:39:30 `` dc <<<122P 14:39:30 z 14:50:03 -!- tswett has joined. 14:54:17 -!- tswett has quit (Ping timeout: 240 seconds). 14:55:42 -!- coppro has quit (Ping timeout: 245 seconds). 15:02:33 -!- vanila has joined. 15:26:42 `` dc <<<[1xp]x 15:26:42 No output. 15:26:57 `` dc <<<1xp 15:26:58 1 15:27:27 `` dc <<<[[1x]xp]x 15:27:28 1 15:29:08 (Of course, if one were to believe the documentation, 1x should have the same effect as just 1: push 1 on the stack. It does not mention that x on a number exits one level of macro execution.) 15:32:23 -!- GeekDude has joined. 15:43:18 -!- coppro has joined. 15:48:47 -!- scoofy has joined. 15:55:11 -!- tswett has joined. 15:55:16 Ahoy. 15:55:39 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 15:55:51 Is there a largest ordinal number A such that the set of all ordinal numbers below A has computable arithmetic? 16:02:03 what operations do you require in arithmetic? 16:03:19 The answer may strongly depend on what representation you use for computation 16:06:54 if A is a limit ordinal, then you can just add it, along with A*0=0,A+0=A*1=A, anything else with A is out of range 16:07:17 -!- tswett has quit (Ping timeout: 240 seconds). 16:07:52 and it seems that ordinals below A cannot be combined to get to A 16:08:33 wait, that's not true 16:09:02 e.g. A=2*w = w+w 16:09:43 or is that w*2 ? 16:10:28 it's w*2 16:12:53 ok, so 2*w=w 16:19:50 `? tswett 16:19:51 tswett is livin' it up with the penguins 16:23:42 ooh, dc 16:24:19 int-e, yeah, I noticed strange behavior with doing x on a number too 16:24:25 https://en.wikipedia.org/wiki/Recursive_ordinal , hmm. Unfortunately, deciding the well-order is not sufficient for arithmetic, or is it? 16:28:35 https://en.wikipedia.org/wiki/Kleene%27s_O 16:28:55 Apparently arithmetic is computable but equality is not?? 16:28:56 Oh weait. w_1^CK is just a supremum. Of course there is a supremum for the ordinals with computable arithmetic as well. All I'm really looking for is a proof that this supremum itself does not have computable arithmetic. 16:30:44 Hmmmm. 16:32:43 Oh it's just data Ord = Zero | Succ Ord | Lim (Nat -> Ord), where the Nat -> Ord function is computable. 16:35:05 So right, if you forgo equality tests then that will work. 16:36:24 -!- arjanb has joined. 16:36:55 -!- Phantom_Hoover has joined. 16:39:00 -!- silverstream has joined. 16:42:18 -!- MDream has changed nick to MDude. 16:58:11 -!- drdanmaku has joined. 16:59:10 -!- S1 has quit (Quit: S1). 17:20:04 Damn you people, there's too many fun languages to learn! 17:31:46 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 17:34:35 -!- shikhin_ has joined. 17:35:26 -!- dts|pokeball has joined. 17:37:23 -!- shikhin has quit (Ping timeout: 240 seconds). 17:49:23 -!- roasted42 has joined. 17:54:29 -!- roasted42 has quit (Remote host closed the connection). 17:58:36 -!- oren has joined. 17:59:13 my power is back on 17:59:14 -!- boily has quit (Quit: COMESTIBLE CHICKEN). 18:01:55 -!- roasted42 has joined. 18:04:20 when i was a kid it used to snow on christmas eve. what is this "freezing rain", "sleet" crap? 18:04:41 yeah seriously, who is evn in charge anymore? 18:05:24 oil companies 18:05:29 apparently not santa claus 18:06:09 -!- roasted42 has quit (Ping timeout: 252 seconds). 18:09:05 Santa Claus is dead by now. 18:10:09 at least, your heating bills are low 18:10:41 we are using a wood stove this morning cause the hydro was out 18:11:14 (in Ontario the electric power is refered to as "the hydro") 18:12:28 do you heat with electricity? 18:13:41 i am at my grandparents' house. they have electric and wood. my house in toronto has gas everything 18:15:27 gas stoves are way easier to cook on than electric 18:18:44 -!- dts|pokeball has quit (Read error: Connection reset by peer). 18:19:26 -!- dts|pokeball has joined. 18:19:40 `addquote when i was a kid it used to snow on christmas eve. what is this "freezing rain", "sleet" crap? yeah seriously, who is evn in charge anymore? apparently not santa claus Santa Claus is dead by now. 18:19:44 1227) when i was a kid it used to snow on christmas eve. what is this "freezing rain", "sleet" crap? yeah seriously, who is evn in charge anymore? apparently not santa claus Santa Claus is dead by now. 18:20:00 santa ist tot 18:20:03 -!- nys has joined. 18:22:28 I thought that was Nietzsche. 18:23:04 oh no, Nietzsche is alive and well 18:23:15 just met him recently, he's definitely doing fine 18:23:49 nietzsche is the new santa 18:26:25 -!- roasted42 has joined. 18:26:54 he's fine when with his mother 18:30:52 -!- roasted42 has quit (Ping timeout: 240 seconds). 18:36:33 Nietzsche is dead too. 18:39:08 -!- shikhin_ has changed nick to shikhin. 18:40:57 -!- roasted42 has joined. 18:41:49 you have googled this! 18:43:14 No I have not 18:43:45 I looked it up in Wikipedia 18:44:04 hipster 18:45:07 hi silverstream! how did you find this channel? 18:45:17 -!- roasted42 has quit (Ping timeout: 240 seconds). 18:45:51 /list 18:46:31 `relcome silverstream 18:46:32 ​silverstream: 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.) 18:46:33 but while you asK: i'm looking for a channel with database pros.. any suggestions? 18:46:37 thank you 18:46:52 likw database theory in general 18:47:21 #sql 18:48:49 What database implementation are you using specifically? There are many such as SQLite and MySQL and others. 18:49:00 (And a few which aren't based on SQL.) 18:49:04 that's undecided yet 18:49:21 i'm playing with the thoughts to use nosql.. actually 18:49:52 i would like to know what architecture to use for a fast tag engine 18:51:23 haaaving "element" as the basic object from which everything else derives.. while elements can be tagged 18:52:14 what's nosql exactly? 18:52:53 they key value revolution ..pushed by google..memcache..mongo etc.. google 18:53:13 it's fast and ..scalable 18:53:34 the fun part being that the nosql databases tend to acquire query languages over time. 18:57:42 I suppose it also depend what you are making, what help the most. 18:57:48 I happen to like SQLite. 18:58:48 sqlite is somehow the opposite of the nosql databases. 18:59:26 SQLite does not have stored procedures, although I do not believe stored procedures are useful. It does allow triggers on views though, and I find that a very useful feature. SQLite also supports recursive WITH, and virtual tables, extension loading, and a few other things which are pretty useful really. 18:59:35 local, often exclusive access to a (often small) database vs. shared, distributed, huge databases. 19:01:35 sqlite has a fairly powerful query language, while nosql started out with simple key -> value lookups. 19:02:03 also sqlite is not a buzzword, nosql is. 19:02:38 Yes, they can help for different purposes. 19:03:29 how is sqlite a buzzword? it's a valid solution in some cases 19:03:48 silverstream: "not" 19:04:31 cu ..and thanks 19:04:33 -!- silverstream has left. 19:04:37 -!- ChanServ has set channel mode: +o elliott. 19:04:41 -!- elliott has set channel mode: +b $a:silverstream. 19:04:46 -!- elliott has set channel mode: -b *!*@koln*.pool.mediaWays.net. 19:04:47 that was weird. 19:04:54 let's leave his ISP unbanned so it's easier to tell next time 19:04:55 -!- elliott has set channel mode: -o elliott. 19:05:08 (I talked to him in /msg.) 19:05:51 I admire your persistence. 19:06:06 thankfully his typing style is so distinctive and he tends to talk about the same random off-topic things right after joining 19:06:17 int-e: I admire his :P 19:06:37 it's like the world's most boring game of cat and mouse -_- 19:06:46 Even in my most active times as #math (now ##math) op I never bothered to identify ban evaders before they actually misbehaved again. 19:07:52 well, I don't want to encourage people who have been banned for repeatedly being horrible jerks to people to get their one free asshole card every time they switch to a new name :/ 19:07:56 SQLite is a full programming language and you do not need to deal with file formats since SQLite will do those things automatically for you; so you can extend a table by using ALTER TABLE and add triggers by using CREATE TRIGGER and change the indexing and still the file format is the same format and you don't need to worry about it. 19:08:08 if I recall correctly he even ban evaded the first time he got a _temporary_ ban for that 19:08:31 -!- roasted42 has joined. 19:08:50 elliott: but holding grudges takes so much energy. 19:09:15 meh, it's like an exciting rivalry 19:09:26 except it's just my boredom vs. a really persistent jerk 19:09:43 Oh it's a hobby, why didn't you say so. 19:09:50 ehe 19:10:01 My favorite database format is the flat binary file. 19:10:23 well, it's more like I tend to be pretty good at recognising typing styles and the like, so once someone talks a bit my brain usually fires off the signal and it's easier to deal with it than ignore it :/ 19:10:25 mine is the rounded. that is better than the flat. 19:11:06 /dev/null is nice and round. 19:11:24 (maybe if he didn't ban evade immediately after getting permabanned he'd actually get a second chance, but it's pretty clear by now he just wants to keep trying so he can continue the behaviour he got banned for...) 19:11:40 (well... more like fourth or fifth chance, he got kicked/banned a bit before it actually became permanent.) 19:11:43 oren: If you do not need it to be extensible or user programmable then a flat binary file will work 19:13:07 -!- roasted42 has quit (Remote host closed the connection). 19:13:24 zzo38: and i maintain that that is true in most applications 19:13:45 Maybe. 19:14:25 but i find people using XML or SQL or CSV all the time when a flat serialization would work fine 19:15:35 Even for text I prefer tab-separated-values rather than comma-separated values. 19:16:00 in CSV the C stands for "character" 19:16:44 it does...? 19:16:48 are you sure it isn't comma 19:16:48 it does 19:16:59 https://en.wikipedia.org/wiki/Comma-separated_values says comma 19:17:17 My Christmas eve dinner: http://imgur.com/gallery/XRzUX/new 19:17:48 hehe. what is golf? http://golf.shinh.org/reveal.rb?Base+37/hebiyan_1418620884&hs 19:18:44 J_Arcane: what's the finnish equivalent of lutefisk or surströmming? 19:19:03 int-e: they left out the spaces before the import lists, it's all good 19:19:05 elliott: They do have lutefisk here. 19:19:11 also the type signatures 19:19:25 lipeäkala. 19:20:15 We declined that option (it's more of a Norwegian/Swedish thing) and instead snacked on gravlax for late lunch while the food cooked. 19:20:17 -!- roasted42 has joined. 19:21:24 Also, if SQL is used it allow to deal with it externally using SQLite command-line program and also you do not need to define another embedded scripting language to deal with the data since SQL already does so. 19:22:28 -!- singingboyo has quit (Ping timeout: 255 seconds). 19:34:40 -!- roasted42 has quit (Remote host closed the connection). 19:48:14 -!- Lorenzo64 has joined. 20:04:51 -!- mitchs has joined. 20:10:14 -!- roasted42 has joined. 20:22:39 -!- roasted42 has quit (Ping timeout: 265 seconds). 20:26:34 -!- roasted42 has joined. 20:27:37 Amazingly, the bct interpreter for eodermdrome seems to work 20:31:38 -!- roasted42 has quit (Remote host closed the connection). 20:34:22 -!- Lorenzo64 has quit (Read error: Connection reset by peer). 20:34:38 -!- roasted42 has joined. 20:39:40 `unidecode 13 20:39:41 ​[U+FF11 FULLWIDTH DIGIT ONE] [U+FF13 FULLWIDTH DIGIT THREE] 20:47:22 -!- FreeFull has quit (Ping timeout: 245 seconds). 20:49:28 -!- FreeFull has joined. 20:58:48 There are wide versions of all the latin characters. 21:00:00 is this worse or better than allcaps? 21:00:13 kewl 21:00:44 !@#$%^&*()<>?:”{} 21:01:16 \/+-=_~ 21:07:53 does elliott get pinged if i say his name like this? 21:10:01 -!- MDude has quit (Ping timeout: 255 seconds). 21:10:27 ヤッパリ elliott ピング シナカッタ ナ~。 21:18:16 -!- spiette has quit (Quit: :qa!). 21:20:07 lel 21:22:13 -!- roasted42 has quit (Ping timeout: 258 seconds). 21:22:27 -!- Patashu has joined. 21:23:47 Have an esoteric christmas, everyone 21:24:14 -!- roasted42 has joined. 21:34:37 damn! 88 bytes 21:38:15 -!- oerjan has joined. 21:39:36 oerjan: GG was updated really early today. 21:39:51 i know 21:39:57 i got it before going to bed 21:41:22 now waiting for the collatz parity revelation 21:42:04 oh they're both revealed today? 21:42:12 yes. 21:42:34 i was only able to do 86 bytes of C 21:43:26 so i want to know what sorcery they sorcered 21:43:45 how about the IOCCC when is tha revealed? 21:43:51 Did you try calling functions without arguments, hoping the right values are already on the stack? 21:43:59 that's funny, not a single character difference between our and henkma's base 37 solutions :P 21:44:17 oerjan: yes. I was surprised, henkma doesn't usually submit one-liners like that. 21:44:59 oerjan, I wrote that too 21:45:07 same exact length program 21:45:18 int-e: mine involves terible abuse of ? and : 21:45:23 i idny submit bcecause i didnt win 21:45:24 vanila: length is easy if you're trying to compete... 21:45:52 oren: if you mean x?:y = x if x is true, that's actually documented for gcc. 21:45:59 but having the exact same choice of everything... although i guess there wasn't much choice, using m@ is sort of "standard" 21:46:18 I used m@ too 21:46:43 using newline instead of ; could have happened, but didn't 21:46:43 -!- roasted42 has quit (Ping timeout: 272 seconds). 21:47:04 oerjan: I'm curious about henkma's solution, but obviously even more curious about tails' dc one :) 21:47:13 in theory putStr.($"\n") would have worked, but no one ever does that :P 21:47:43 int-e: ok i'm just looking at the haskell ones usually 21:48:11 oerjan: actually I have a variant of the same length in my file: import Numeric;m@main=do n<-readLn;putStrLn$showIntAtBase 37((['0'..'9']++['a'..'z']++"A")!!)n"";m 21:48:33 ah ok so do notation is the same? 21:48:37 yes 21:48:37 yes 21:48:41 had to be tried ;) 21:48:42 i compared both 21:48:52 usually it's a little longer if you don't _need_ to define a name 21:49:10 but i guess the ($ ...) section compensates 21:49:26 (because I can't do the arithmetic in my head reliably - three more there, two less there, one less there, plus/minus one :) 21:49:34 right 21:49:41 i may have tried it too 21:49:56 I want to win a golf 21:49:58 but im tnot good 21:50:01 yep it's there in my file 21:50:03 i might as well submit my best shot 21:50:33 no one else got 86 anyway 21:50:40 oerjan: what about collatz parity, what's your best shot? 21:50:57 oh wait hm mine is one char longer than yours 21:52:02 oh i should have used !! as a section, i used it prefix and got a useless $ 21:52:27 oh, henkma had a different variant of the formula, so that's where he found the extra spaces. 21:53:14 -!- Solace has joined. 21:53:24 So I was worried for no reason at all. 21:53:30 Help 21:53:38 Hello* 21:54:02 never mind my output is very slightly wrong 21:54:16 int-e: i didn't get it below 91 21:55:32 i assume i didn't find the actual clever trick, now to peek -> 21:56:07 Night~ 21:56:19 that hebiyan guy is also one of those weird "golfing? what's that" guys 21:57:58 oerjan: main=putStr$[-256..256]>>=(64?);0?_="|\n";n?k|t<-mod k 2=" #"!!t:(n-1)?div(3^t*k)2 <-- I didn't think this required much cleverness. The last 2 characters were tricky though. 22:03:02 my brain must have been off because i never realized 3^t 22:03:13 so i kept having two branches 22:03:48 oerjan: I had (2*t+1)*k at some point. 22:03:52 -!- Lymia has quit (Ping timeout: 256 seconds). 22:04:01 but ok, missing that explains a lot 22:07:30 -!- Lymia has joined. 22:07:30 -!- Lymia has quit (Changing host). 22:07:30 -!- Lymia has joined. 22:08:57 so easy, tails just did things modulo 2^64 ... 22:09:17 which is wrong in the long term, but works for the first 64 bits. 22:10:52 lol what is golf? 22:14:32 I should rename all my files to the widechar versions 22:16:14 why can’t i put widechars in my nick? 22:16:17 obviously inferior, doesn't trigger myndzi |o| 22:16:17 | 22:16:17 /< 22:17:05 /nick oren 22:17:29 cos... nick chars are like... limited? 22:17:40 why are they limited? 22:17:42 you cannot just use random chars... 22:17:49 cos that's what the RFC defines 22:18:08 well you can make your own irc server 22:18:11 and allow wide chars 22:18:11 If you rename your files to widechar versions then it will cause a lot of problems, so you should not do that. 22:18:13 -!- oren has changed nick to {\[oren]|}. 22:18:28 <{\[oren]|}> close enough 22:19:12 oh well, as long as or still expands to the right one... 22:19:37 { expands t 22:19:39 {\[oren]|}, 22:19:40 <{\[oren]|}> zzo38:it will cause problems by being hilarious 22:27:22 <{\[oren]|}> http://ctrlv.in/478265 see,funny right? 22:28:56 interesting, it filters your backslash 22:29:57 <{\[oren]|}> that is just from using japanese font 22:30:23 <{\[oren]|}> small \ is yen sign 22:30:48 i predict this will eventually be hilarious by getting you kicked hth 22:30:51 lol 22:30:57 for the yen sign 22:31:33 <{\[oren]|}> new esolang: C but all characters wide 22:31:53 what's the point of that 22:31:59 at least if you used japanese chars... 22:32:24 <{\[oren]|}> yeah! C with all things replaced with kanji 22:32:34 sounds better! 22:32:42 imagine some 'obfuscated C contest' entries in that 22:32:53 'only kanji allowed' 22:33:03 well, just write a bunch of macros 22:33:50 {\[oren]|}: also change your text color to blue. then you can program in the wide blue C 22:34:14 <{\[oren]|}> 数 本(){書く(「こんにちは」);} 22:34:23 eh 22:34:30 hardcore 22:34:38 LEVEL: asian 22:35:11 <{\[oren]|}> using kanji that mean basically the right thing 22:35:26 oerjan: have you seen http://golf.shinh.org/reveal.rb?Base+37/_1418756541&cs ... it has a comment in the list initializer! 22:35:34 <{\[oren]|}> and then use 「」 for quotes 22:35:43 `addquote <{\[oren]|}> zzo38:it will cause problems by being hilariou 22:35:44 1228) <{\[oren]|}> zzo38:it will cause problems by being hilariou 22:36:31 You probably also need to return a value in 本 22:36:43 `cat bin/addquote 22:36:43 ​#!/bin/sh \ [ "$1" ] || exit 1 \ printf "%s\n" "$1" >>quotes \ printf "%d) %s" $(qc | cut -d' ' -f1) "$1" 22:36:54 `` tail -1 quotes 22:36:54 ​<{\[oren]|}> zzo38:it will cause problems by being hilariou 22:37:06 wide 's' missing 22:37:18 s 22:37:24 oops 22:37:28 <{\[oren]|}> Jafet: oh right, unless we define 空 本 instead 22:37:33 `` sed -i -e '1228s/$/s/' quotes 22:37:34 No output. 22:37:37 `` tail -1 quotes 22:37:38 ​<{\[oren]|}> zzo38:it will cause problems by being hilarious 22:37:39 <{\[oren]|}> but void main is not standard 22:37:45 int-e: now i have hth 22:37:51 c99 does not require return in main 22:38:43 #include \nint main() { exit(1); } should be valid. 22:38:56 int main() {} is valid 22:38:57 isn't exit an implied 'return' also? 22:39:14 scoofy: not really. 22:39:16 The exit() function never returns, it just exist. 22:39:22 s/exist/exits/ 22:39:24 <{\[oren]|}> in gcc exit has the no return attribute 22:39:25 why do you pass '1' to it then 22:39:31 if it does not 'return' anything 22:39:40 in fact you can check the return value after you call the program 22:39:45 normally 22:39:45 <{\[oren]|}> it returns it to the calling contextof the shole program 22:39:50 scoofy: It sets the program's exit code. That's not a return value. 22:39:56 yep. to me, that's a 'return' value. 22:40:07 after all, you can simply do main() {return 1;} // does the same 22:40:14 It is the return value of the entire program, not of main. 22:40:15 except you don't need #include 22:40:19 exactly. 22:40:19 scoofy: On the other hand, the return value of main() will be the exit code of the program. 22:40:25 However the return value of main is used as the return value of the program. 22:40:25 exactly. 22:40:30 exactly. 22:40:31 scoofy: it's a case of an A that's a B, where B is not an A. 22:40:44 to me, that's a 'return value'. 22:40:54 you cannot convince me otherwise :) 22:40:55 s/exist/exits/ <-- i think i prefer it without the substitution hth 22:41:09 scoofy: You made that clear. But it should be obvious by now that we don't agree on this. 22:41:14 that is the value that will be in the EAX register (in case of x86) after the main() function gets called. 22:41:15 <{\[oren]|}> so i have a program that converts unicode C to regular C, then i'll add some #defines for all the kanji 22:41:32 so ... just to be precise, we're taling about a value in a register 22:41:36 after a function call 22:41:44 and whether we should call that 'return value' or 'exit value' 22:41:47 it's just a value in a register 22:41:49 basically 22:42:03 <{\[oren]|}> C doesn't assume registers exist 22:42:07 How exactly the program returns to the operating system depends on the system. 22:42:09 scoofy: Well exit(1); does not return and still sets the exit code. 22:42:25 -!- Phantom_Hoover has joined. 22:42:28 well, code after 'exit(1)' does not executed so.. yes it does return. 22:42:30 do I have to teach scoofy out of thinking about C in terms of x86 assemly too? 22:42:33 you cannot run C on a computer that has no registers. 22:42:37 yes you can, wtf 22:42:46 *assembly 22:42:53 well, you can simulate a stack machine with a machine that has registers. 22:43:06 scoofy: the only reason returning from main exits in real implementations is because it does the equivalent of exit(main(argc, argv)) 22:43:07 and compile your C code to code for that stack machine. except, no one does that. 22:43:10 C has a "register" command, but on computers without registers it will just act the same as if "register" is not specified. 22:43:21 if I do f(g()) and g calls f, that's not g "returning". 22:43:22 exactly. 22:43:27 so it *knows* about registers. 22:43:30 Even on computers that do have registers, the optimizer might get rid of the "register" specification. 22:43:36 what 22:43:41 If it knows a better way. 22:43:53 well 'register' is a C keyword. isn't? 22:43:55 iirc gcc and clang both just totally ignore the "register" declaration 22:43:56 You can run C on a machine that runs only brainfuck 22:44:02 scoofy: which compilers tend to ignore 22:44:04 Jafet: proof? 22:44:05 I don't think the C standard mentions registers when defining it, though I may be wrong 22:44:09 i mean, have you actually done it? 22:44:17 there are multiple C->BF compilers... 22:44:22 BF is turing complete, what more proof do you need? 22:44:27 scoofy: in any case the only implication of that keyword is that it's illegal to take an address of that value. No more, no less. 22:44:28 ok,. 22:44:29 proof of what 22:44:32 it's still a "Return value". 22:44:32 :) 22:44:45 dont' change the topic, please 22:44:47 vanila: running C in BF, I guess...? 22:44:50 https://svn.code.sf.net/p/brainfuck/code/c2bf/trunk 22:44:56 that's bfc 22:44:57 not Ansi C 22:45:06 ais523 has an incomplete brainfuck backend for gcc 22:45:10 i never saw an ANSI C -> BF compiler 22:45:21 it's really hard to run C is brainfuck 22:45:23 I don't believe you actually don't believe it's possible, it's just a bunch of work nobody wants to do, why is that relevant to what Jafet said...? 22:45:28 the speed of the code will suffer 22:45:33 yeah, 'incomplete'. 22:45:40 -!- {\[oren]|} has changed nick to oren{[\afk|}]. 22:45:41 it's important to separate theory and practice 22:45:43 Ok, well this is pointless 22:45:48 just because something is possible in theory doesn't mean you can actually do it 22:45:54 e.g. it might be too difficult 22:46:06 Github also does some pretty pointless things 22:46:08 Oh well. Let's relax and enjoy https://xkcd.com/386/ ;-) 22:46:10 “Great repository names are short and memorable. Need inspiration? How about drunken-octo-wallhack.” 22:46:48 Still it doesn't matter if the C standard mentions registers or not because computers without registers can just treated it as if it doesn't say register on it. However, it makes it known that the address is not taken, therefore if the compiler cannot figure it out by itself for some reason, it will know due to that; one thing that can be done if address is not taken, is storing in a register instead of in RAM. 22:47:03 Jafet: not short, but certainly memorable 22:47:03 -!- oerjan 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/. 22:47:09 oops 22:47:22 oerjan: that's not too bad :) 22:47:31 ...i guess it's better that way. 22:47:47 scoofy, what is your question? 22:48:10 me? nope, no question. 22:48:13 ok 22:54:46 by the way, in a bash shell, you can check the return value of a program by this: 22:54:48 echo $? 22:54:51 yes 22:55:06 ive used this feature in bash 22:55:07 main() {return 42;} 22:55:17 gcc ret.c -o ret 22:55:18 ./ret 22:55:20 echo $? 22:55:22 ---> 42 22:55:33 same thing with exit(): 22:55:46 #include 22:55:51 main() {exit(42);} 22:55:56 gcc ret2.c -o ret2 22:55:57 @tell tswett Is there a largest ordinal number A such that the set of all ordinal numbers below A has computable arithmetic? <-- my hunch is no: whatever computation system you use, you can _always_ adjust it to handle one more level. 22:55:57 Consider it noted. 22:55:57 ./ret2 22:55:58 echo $? 22:55:59 ---> 42 22:56:01 same result 22:56:20 scoofy, that's right 22:56:47 you can try it to confirm yourself, that the effect of 'return' and 'exit' is the same 22:57:01 its not the same 22:57:07 semantics. 22:57:09 would you like to see a situation where they act differently? 22:57:13 please. 22:57:25 well, there's 1 different case: when you call main() yourself from the program. 22:57:32 unless you do that - no difference. 22:57:34 in main() 22:57:40 @tell tswett Now, if you change the question to "Is there a largest ordinal number A such that for each ordinal number B < A, the set of all ordinal numbers below B has computable arithmetic?" then the answer becomes "yes". 22:57:40 Consider it noted. 22:57:47 int f() { return 42; } main() { return 1+f(); } 22:58:00 int f() { return exit(42); } main() { return 1+f(); } 22:58:05 lol 22:58:06 i said 22:58:08 IN MAIN 22:58:14 not IN ANOTHER function 22:58:21 you're right about in main 22:58:25 of course that will exit the program in f() 22:58:30 yes 22:58:35 i meant: exit() and return have the same role IN MAIN function *only*. 22:58:44 (and, not other functions.) 22:58:46 correct 22:58:53 i'm glad we agree. 22:58:57 scoofy: i don't believe anyone here disagrees with you on a matter of fact, just terminology. 22:59:06 do you have any more questions about beginner level C? 22:59:08 okay, just clarified that. 22:59:18 do you have any? 22:59:22 -!- roasted42 has joined. 23:00:44 scoofy, you can read assembly code can't you? 23:00:50 i can. 23:01:01 what about comparing the assembly code for ret and ret2? 23:01:08 they will likely be different. 23:01:12 so what's your point? 23:01:34 its just a learning exercise, but looks like you already understand 23:01:40 in assembly, there are usually at least 10 ways of doing something. 23:02:07 dude, i create virtual machines and write assemblers myself 23:02:18 but thanks for your 'basic learning tips' 23:02:36 oh sorry 23:02:39 no problem 23:02:47 i didn't realize 23:02:52 im just a beginner at assembly 23:03:04 it is fun! ;) 23:03:19 yea him enjoying learning about it but its so painstakingly slow 23:03:33 why so? 23:03:45 im used to high level languages 23:03:51 so asm is like building brick by brick 23:03:57 indeed. 23:03:58 but i want to get good at it so i can write a compiler 23:04:04 that's a good excercise. 23:04:12 one of the best, actually. 23:04:15 :D 23:04:42 a side effect of learning assembly deeply, is that you will never look at the 'higher level' languages the same way 23:04:58 because after writing a compiler, you will realize that everything translates to registers and operations on them 23:05:06 yeah I know what you mean! 23:05:12 however high level abstractions you start from 23:05:23 Oh it's just data Ord = Zero | Succ Ord | Lim (Nat -> Ord), where the Nat -> Ord function is computable. <-- i think that's essentially the representation that was used by whoever here implemented the goodstein sequence in System F after it was pointed out this should be possible 23:05:42 i think it may have been impomatic 23:05:42 data Ord = Zero | Succ Ord | Lim (Nat -> Ord) seems awfully small 23:05:44 what about 23:05:54 data Ord2 = Zero2 | Succ2 Ord2 | Lim (Ord -> Ord2) 23:06:39 vanila: possibly Ord -> Ord2 functions are hard to construct? 23:06:50 I once wrote a compiler that compiles the OASYS source format into OASYS binary format; it has no registers it is only stack base operation. 23:07:05 So, not everything translates to registers and operations on them, due to this. 23:07:08 i don't really understand this representation myself, anyway 23:07:52 oerjan, well 'Lim' means the limit of the infinite sequence of ordinals 23:08:07 so Lim natToOrd would be omega 23:08:22 i understand that, i don't quite understand how that allows you to calculate with them. 23:08:41 it seems very non-canonical, at least 23:08:47 I think that the only thing that really matters is doing structural recursion on them 23:08:56 to get your induction power 23:09:11 yeah that would be enough for the goodstein sequence at least 23:10:43 conways one is really good 23:10:55 but it requires you to build everything mutually 23:13:08 -!- roasted42 has quit (Ping timeout: 264 seconds). 23:13:13 vanila: do you have a link? 23:13:24 sorry, its in the surreal numbers book 23:13:28 ah 23:14:46 well, there's 1 different case: when you call main() yourself from the program. 23:14:47 -!- roasted42 has joined. 23:14:49 this is actually illegal btw 23:15:11 elliott: legal in C, illegal in C++ iirc 23:15:19 C allows it, really? 23:15:44 yes 23:15:49 okay yeah, seems so 23:15:52 ...why does C++ disallow it? 23:16:03 something with static initialisation or constructors or whatever or the like? 23:16:05 yeah 23:16:20 Some compilers put those into main 23:16:21 the compiler can put static init code in main 23:17:00 I thought _start was used for that 23:17:07 vanila: in some ABIs it is 23:17:08 i see recursive main() sometimes in nasty code (mostly in obfuscated C contests) 23:17:13 Calling main() should be allowed; any other initialization should go in a separate function that calls main 23:17:27 And then the compiler can inline main if it is found to be safe to do so. 23:17:29 https://github.com/Jafet/drunken-octo-wallhack 23:17:58 Jafet: does this do the fancy efficient stuff? 23:18:44 It manages to run the one extant eodermdrome program 23:18:54 Also, computers are fast dude 23:19:58 ooh 23:20:18 computers are fast but always too slow 23:20:41 For most programs you can get a big speedup by first checking the graph nodes that changed in the previous step 23:20:52 ("most" ie. 1 out of 1 existing programs) 23:21:17 yay 23:21:51 well it _is_ designed to be deterministic, so that's obvious 23:24:04 in hindsight 23:26:46 -!- dts|pokeball has quit (Read error: Connection reset by peer). 23:27:16 @metar ENVA 23:27:16 ENVA 242250Z 12011KT CAVOK M15/M18 Q1015 RMK WIND 670FT 15007KT 23:27:21 eek 23:27:54 i guess it _is_ after midnight 23:28:30 -!- dts|pokeball has joined. 23:29:06 @metar LOWI 23:29:06 LOWI 242320Z AUTO 24003KT 9999 NCD M03/M05 Q1025 23:29:27 honestly? that's cold enough. 23:29:53 at least we have snow on the ground this year 23:30:18 * oerjan was commenting on oren{[\afk|}]'s complaints, but he seems afk 23:34:29 -!- shikhin_ has joined. 23:34:35 -!- oren{[\afk|}] has changed nick to oren. 23:35:22 oerjan: yeah, i guess one day we'll all be living under domes 23:35:52 holy crap did I miss some discuassion of C? 23:36:32 not every C program begins at main y'know 23:37:30 yes it does ? 23:37:31 -!- shikhin has quit (Ping timeout: 244 seconds). 23:37:39 oren must be a fan of free-standing implementations, or looking under the hood (dynamic linker, libc, elf format, etc) 23:38:02 nope, on win32 it begins at WinMain() 23:39:04 -!- copumpkin has joined. 23:39:23 ogh 23:39:37 WinMain is just like the SDL_main nonsense I think 23:39:42 i.e. it's specific to doing graphical stuff 23:39:57 (you're effectively linking with a library that has a main() that calls WinMain, I think?) 23:40:01 * oerjan read that as SDL_main_nonsense for a subsecond 23:40:30 SDL is very modular and allows you to load auxiliary nonsense. 23:41:11 elliott: i dunno. the MSDN doesn't mention there being a main that calls WinMain 23:41:17 elliott: I seem to recall the "pre-main" startup code does call WinMain directly. But it's all very platform-specific. 23:41:20 -!- roasted42 has quit (Ping timeout: 244 seconds). 23:41:21 fizzie: right. 23:41:38 well windows has lots of opinions on what C code should look like and they are all vaguely horrific 23:41:59 Arguably, a program with an entry point called something else than "main" is not a C program at all, or at least not a hosted one. 23:42:27 -!- roasted42 has joined. 23:43:09 C11 5.1.2.2.1p1: "The function called at program startup is named main." (It can be defined in some implementation-defined manner even in hosted implementations, but the name's not negotiable.) 23:43:12 bah... why is DWORD any worse than int32_t 23:43:32 One is in the standard and the other is not. 23:43:33 fizzie: it's ~as if~ you linked to a main() that calls WinMain, good enough, right? 23:43:51 I guess you could use that cop-out. 23:44:39 (Although even then you could claim what you have is just a fragment of a program, not a complete thing.) 23:45:17 If you have a C program without main() then it is a C program that cannot start by itself. 23:45:19 WinMain is kind of funny in that it has the command line intact in a single string. 23:46:18 zzo38: no program in any language can do that 23:46:37 fizzie: I believe they stole that idea from DOS, which got it from CP/M ;) 23:47:41 (There's a "CommandLineToArgvvW" function in the API to deal with what GetCommandLineW returns.) 23:48:25 basically MS thinks standard compliance is less important than backward compatibility 23:48:47 which is, from a business point of view, the right thing 23:48:55 If you write a console subsystem application, you get to use a regular main. 23:49:39 https://stackoverflow.com/questions/11785157/replacing-winmain-with-main-function-in-win32-programs/11785733#11785733 23:50:25 "hPrevInstance is always NULL." god bless america 23:50:47 thanks Obama 23:50:54 Right; "mainCRTStartup" is the entry point that calls regular main, and WinMainCRTStartup is the other one. 23:51:35 (And the mingw toolchain adds its own little peculiarities in there.) 23:55:21 -!- contrapumpkin has joined. 23:55:38 -!- vanila has quit (Quit: Leaving). 23:57:05 -!- copumpkin has quit (Ping timeout: 258 seconds). 2014-12-25: 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. 2014-12-26: 00:00:12 -!- Phantom_Hoover has joined. 00:00:14 -!- Phantom_Hoover has quit (Changing host). 00:00:14 -!- Phantom_Hoover has joined. 00:02:44 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 00:04:21 -!- roasted42 has quit (Ping timeout: 265 seconds). 00:04:34 -!- mr45_ has joined. 00:06:03 -!- roasted42 has joined. 00:09:39 -!- oerjan has joined. 00:09:39 -!- Phantom_Hoover has joined. 00:14:26 -!- GeekDude has joined. 00:33:59 Google... grrrrr. 00:34:05 "Our systems have detected unusual traffic from your computer network. This page checks to see if it's really you sending the requests, and not a robot. Why did this happen?" 00:34:30 No, I'm human. I can even solve your captcha, but you won't accept it because I didn't allow your cookie. 00:35:17 Oh well, IP change helped. 00:35:48 (For now) 00:37:18 cheer up and look at their christmas doodle 00:37:47 that requires javascript? 00:38:05 sorry, not in the mood 00:38:29 of course it does, it's animated 00:38:40 with sound 00:39:02 ok, now I'll definitely not try it out 00:39:09 thanks for the warning 00:39:29 well the sound is just a guitar riff, really 00:40:11 Heh I have xset -b (un)set because I find computer sounds annoying. 00:41:44 . o O ( for added irony: np: Carnival by Project Pitchfork ) 00:41:52 -!- roasted42 has quit (Ping timeout: 256 seconds). 00:42:06 * oerjan knows not who that is 00:42:10 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 00:42:33 youtube to the rescue 00:42:49 it doesn't matter who, just that it's noise coming from the computer 00:43:03 OKAY 00:43:26 i thought you were just referring to beeping 00:43:44 But... I made the choice. I requested it. So that makes it ok. 00:43:55 -!- roasted42 has joined. 00:44:10 i used to have sound off, but since i moved i have volume set to 20% 00:44:36 which is enough in most cases 00:45:44 thx for reminding me to check if google had a christmas doodle btw ;) 00:46:01 hmm, don't know how to assess that with 3 volume controls in place. The sound card is set at 0.59*0.91... but there's a lot of room for increased volume on the speakers themselves. 00:46:25 ok 00:46:53 I know, very esoteric and highly interesting. It's not a good day for me. 00:48:20 despite some Harmful Brainfuck Fun (tm) 00:51:19 it seems hard to make unbalanced loops work in that 00:51:57 hm... 00:53:16 I don't think you want an unbalanced loop in your sound system 00:53:45 tru dat 00:54:05 i _may_ have been referring to Harmful Brainfuck 00:54:16 [wiki] [[Harmful Brainfuck]] http://esolangs.org/w/index.php?diff=41543&oldid=41542 * 213.162.68.188 * (+183) link to implementation and minimal categories 00:54:32 -!- GeekDude has joined. 00:55:33 I thought relative jump was implemented before. 00:56:57 * int-e waits for Oerjan's Cleanup Deed 00:57:24 Jafet: who knows what is hiding in the bf derivative category 00:57:49 But it's a nice pun. 00:59:43 wat 00:59:51 oh. 01:00:00 * oerjan swats int-e -----### 01:00:17 * oerjan swats int-e again because he missed a spot -----### 01:00:39 * oerjan swats int-e again to be sure he got everything -----### 01:01:09 * oerjan swats int-e again because he thought he saw something moving -----### 01:02:29 I think that 5th swat was a tad excessive. 01:02:37 * oerjan swats int-e again because his nose is itching -----### 01:02:41 what pun? 01:02:44 (note that I carefully avoided the o-word) 01:03:20 elliott: Oerjan's Cleanup Deed hth 01:03:24 elliott: I meant the "harmful" that alludes to Dijkstra (not really a pun because the word is unchanged) 01:03:50 At least that's my story and I'll stick to it. 01:04:02 * elliott is regrettably also in the "has created a bf + goto language" set 01:04:18 -!- shikhin_ has joined. 01:04:30 * oerjan swats int-e again because he's now claiming to have been intending a different pun, maybe -----### 01:04:57 oerjan: Oh no, I was merely *referring* to a different pun. 01:05:41 ah. 01:05:50 Sheer modesty, I wouldn't call any of my own puns "good" myself. 01:06:13 Though I might say by now that it was pretty effective. 01:06:21 you'd think 01:06:37 -!- GeekDude has changed nick to GeekAfk. 01:06:49 hello 01:06:57 hello 01:07:00 Harmful Brainfuck considered harmful 01:07:05 hi cluid 01:07:27 c++ syntax considered harmful 01:07:40 -!- shikhin has quit (Ping timeout: 265 seconds). 01:07:56 -!- roasted42 has quit (Ping timeout: 256 seconds). 01:08:08 attempting to mix chinese and japanese and have it make sense considered harmful 01:08:48 hmm lion-eating poet in the stone den 01:09:01 what's "considered harmful" in mixed chinese and japanese twhomn 01:09:29 -!- roasted42 has joined. 01:09:46 does japanese have anything like that poem? 01:09:57 int-e: no 01:10:24 but the "same" word in chinese and japanese means different things 01:10:33 i don't think japanese has gone through a recent period of losing a lot of its phonetic distinctions 01:11:16 _some_, probably 01:11:18 Jinese? 01:11:33 cluid: did you see the rot13 program? 01:11:36 no 01:11:36 -!- scarf has joined. 01:11:47 cluid: http://esolangs.org/wiki/Harmful_Brainfuck 01:12:32 Cool!! 01:12:33 (Sorry, I lost one of your edits when I changed the page earlier, so the phrasing for relative gotos is now different.) 01:12:44 -!- mr45_ has left. 01:14:34 problem is the japanese stole chinese characters in the middle ages 01:15:16 (well, maybe not "stole"... borrowed) 01:15:39 -!- nisscrooge has quit (Ping timeout: 245 seconds). 01:16:09 -!- callforjudgement has quit (Ping timeout: 264 seconds). 01:16:48 and so the meanings for characters that aren't common have grown apart. especially the ones you'd use to write abstract things like "variable", "program", "scope declaration"... 01:17:19 -!- scarf has quit (Read error: Connection reset by peer). 01:17:25 -!- scarf has joined. 01:19:39 screw it i'll just use japanese semantics for now... 01:23:08 [wiki] [[Harmful Brainfuck]] http://esolangs.org/w/index.php?diff=41544&oldid=41543 * Oerjan * (+23) A somewhat preliminary edit reintroducing general esolang recommendations 01:26:32 of course there had to be a rot13 page. 01:27:09 http://sprunge.us/YXfd is going to stay up? 01:27:57 i don't think it is wise to trust pastebins for permanent storage 01:28:05 wait, so is it believed to be TC or not? 01:28:23 -!- GeekAfk has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 01:28:24 oren: exactly. 01:28:33 oren: i suspect the matter is under research 01:28:41 i am so confused 01:28:58 oren: there's little doubt that it's TC with unbounded cells. 01:29:26 indeed, because it seems you can translate balanced loops 01:29:49 and it's hard to imagine that it fails to be TC even with the cells restricted to -128..127. 01:30:00 Even though arbitrary I/O is not possible in that range. 01:30:42 cluid: I have not seen sprunge delete any pastes yet 01:31:03 -!- roasted42 has quit (Remote host closed the connection). 01:31:17 they do 01:31:26 in fact every time you upload a paste it deletes one 01:31:51 int-e: here's a chestnut: can you manage to copy a cell from an unknown position to another? 01:32:09 oerjan: "unknown"? 01:32:17 not fixed position 01:32:57 the thing is, if you are going to be TC without unbounded cells, you _must_ use code which doesn't know the exact tape position 01:33:40 oerjan: I was going to target something with binary cells. 01:33:42 which means you cannot precalculate all offsets and keep them in fixed cells 01:34:07 so conditionals would be [set up offsets in next two cells]*>* 01:34:09 for reducing too, you mean 01:34:12 *from 01:34:15 yes 01:34:36 well you go right ahead :) 01:34:41 but I have not thought it through. 01:35:07 I will never be able to copy arbitrary cells. 01:35:08 -!- roasted42 has joined. 01:35:19 i am just thinking that even a simple bf loop like [->+<] can be hard 01:35:35 Because the conditional (*) has a value that causes an infinite loop. 01:35:39 and without that, it's hard to move the _offsets_ where you want them. 01:35:53 oh right 01:36:37 But with a limited, small range, I see no fundamental reason why it shouldn't work. So TC, with restricted I/O, is entirely plausible. 01:37:11 -!- SirCmpwn has quit (Read error: Connection reset by peer). 01:37:56 Actually, unrestricted IO, once the range of cells is large enough so that the whole range (0..255) can be moved to the negative or positive half without overflowing. 01:38:32 My idea for a fix was to use 9 bit signed cells, range -256..255, which is *barely* enough to satisfy this criterion. 01:39:00 And slightly awkward because you have to use a backward * for the first test. 01:40:01 Did I just see a Christmas tree in North Korea? 01:40:34 https://www.youtube.com/watch?v=3HJj85K_7MQ&t=15m40s 01:41:30 they have OXYGEN in north korea?? 01:41:50 I thought kim jong-un outlawed that to spite america! 01:42:11 Meh his generals wouldn't allow that. 01:44:15 -!- GeekDude has joined. 01:44:15 elliott: no oxygen is essential for bombs to work, so they're allowed 01:44:18 *it's 01:44:22 *no, 01:44:38 -!- nisscrooge has joined. 01:45:00 it turns out that you can survive solely on elements that are useful for making weapons 01:46:28 [wiki] [[Harmful Brainfuck]] http://esolangs.org/w/index.php?diff=41545&oldid=41544 * 213.162.68.188 * (+2) more permanent URL 01:49:44 [wiki] [[Harmful Brainfuck]] http://esolangs.org/w/index.php?diff=41546&oldid=41545 * 213.162.68.188 * (+5) on second thought... 01:56:20 -!- Phantom_Hoover has quit (Remote host closed the connection). 02:03:44 -!- SirCmpwn has joined. 02:07:04 -!- scarf has quit (Read error: Connection reset by peer). 02:07:11 -!- ais523 has joined. 02:07:19 how much #defining does it take for C to be an esolang? 02:07:26 -!- roasted42 has quit (Ping timeout: 256 seconds). 02:07:43 very few going by IOCCC 02:07:54 -!- roasted42 has joined. 02:08:02 #define zx struct 02:09:54 That's not good enough though; IOCCC judges will preprocess and indent the code to see whether that's easier to figure out than the original. 02:10:28 typedef wz unsigned 02:10:42 whoops; typedef unsigned wz 02:10:44 So one trick is to have macros that make the code explode. 02:12:52 http://www.ioccc.org/1998/fanf.c is in that category. (it has to be cpp'd twice, and the result is almost 700k in size) 02:13:43 O_OO 02:15:30 Another trick is to make your program not work if it's reindented 02:15:52 (http://www.ioccc.org/1998/schweikh1.c) 02:19:02 http://snag.gy/XaoyF.jpg 02:23:23 "This code is a wonder; it's a wonder that it compiles." 02:24:09 (replace .c by .hint in any ioccc url) 02:27:21 So yeah, i'm making a C header to write C code as if it were a prayer to some evil god. (well, more then usual, at any rate) 02:27:39 http://www.ioccc.org/1991/buzzard.c was another one that would amusingly be destroyed by indentation. 02:27:46 (the clue being this: fopen(x-1?a[1]:"buzzard.c","r"); ) 02:28:07 it reads itself 02:29:09 oren: nice irc font 02:30:29 -!- tromp__ has joined. 02:31:06 are the latest iocccs out yet? 02:31:51 -!- b_jonas_ has joined. 02:32:15 -!- Melvar` has joined. 02:37:19 -!- heroux_ has joined. 02:40:52 -!- roasted42 has quit (Ping timeout: 256 seconds). 02:41:36 -!- Melvar has quit (Disconnected by services). 02:41:45 -!- Melvar` has changed nick to Melvar. 02:42:40 -!- roasted42 has joined. 02:42:59 @metar LOWI 02:42:59 LOWI 260220Z AUTO VRB02KT 9999 FEW050 BKN060 M02/M02 Q1026 02:43:04 -!- callforjudgement has joined. 02:43:50 Idea, language where thingshappen in parallel unless otherwise specified 02:45:40 no not even specified. all ordering happens dring conflict resuolution 02:46:03 -!- ais523 has quit (Ping timeout: 244 seconds). 02:47:08 we use optimistic scheduler and execute all statements at once. then we check for conflicts and roll back conflicted statements 02:47:54 other than that there is no ordering available 02:49:20 -!- tromp_ has quit (*.net *.split). 02:49:20 -!- b_jonas has quit (*.net *.split). 02:49:20 -!- heroux has quit (*.net *.split). 02:49:21 -!- blsqbot has quit (*.net *.split). 02:49:26 -!- heroux_ has changed nick to heroux. 02:51:52 I think something like that exists 02:53:56 https://esolangs.org/wiki/Whenever maybe? 02:55:19 pi calclulus? 02:55:44 a little like that. but there isn't explicit conditions. instead, if you have statements like SET x = 1; SET y = x; the second statement has to be exeucted afterward, because the first time, it will be rolled back. 02:55:46 it's not described as parallel, but i think parallel with rollback gives equivalent results 02:57:12 oren: ok so it's rolled back because x isn't defined yet? 02:57:38 it is rolled back because the value of x may have changed while it was being read 02:57:47 ah. 02:57:55 how does it know which one to run first if it rolls back, coinflip? 02:58:02 this ought to be easy to implement with haskell's STM 02:58:05 since you could also have SET y = x; SET x = 1; 03:00:17 elliott: it does not need to ollback the x = 1, that operation was fully valid. 03:00:51 e.g. it left the program in a consistent state 03:01:15 -!- S1 has quit (Quit: S1). 03:01:22 oren: so the order of statements in a program matters? 03:01:30 that doesn't seem very unordered/"everything in parallel" kinda spirit 03:01:42 er, what I mean is 03:01:43 no, the order does not matter 03:01:47 why does it decide it needs to do x = 1 then y = x 03:01:49 rather than y = x then x = 1 03:02:04 because x=1 did not read invalidated data 03:02:15 SET x = y; SET y = x 03:02:17 what happens? 03:02:27 the program loops ofrever 03:02:42 darn 03:02:47 and the y and x are forever invalid 03:02:54 um, ok 03:03:02 SET x = 1; SET y = 2; SET x = y; SET y = x 03:03:03 ? 03:03:03 that doesn't fit with haskell STM :( 03:03:15 (in that, one of the threads always makes progress) 03:03:19 I would expect this to end with x=1 y=1 or x=2 y=2 or x=1 y=2 or x=2 y=1 non-deterministically 03:03:26 since those are the consistent orderings 03:04:10 hmm... the program would indeed set x = 1 and y= 2, but then the other statements would always be rolled back 03:04:24 I don't see why 03:04:31 databases don't lock up like this 03:04:37 it seems a bit weird 03:05:01 it's synchronized parallel, like befunge's useless threading 03:05:04 databases are designed by sane people 03:05:24 -!- roasted42 has quit (Ping timeout: 250 seconds). 03:05:50 oren: what about SET x = 1; SET x = 2; ? 03:06:11 in that case both orders are equally valid 03:06:24 errr 03:06:26 but they conflict 03:06:30 but is either rolled back? 03:06:37 exaclty, lockup! 03:06:47 ...ok 03:06:48 bah 03:06:57 so in the end you end up with a boring linear, deterministic language? :p 03:07:10 heh 03:07:12 but one that is hard to prgram in! 03:07:15 how would you do branches etc. even 03:07:17 -!- roasted42 has joined. 03:07:33 kinda seems like you'd have to add a bunch of stuff to not have everything just be lockup fun 03:08:29 set up a statement like set x?s=2:t=2; so that it conflicts with one line of statements in one case, or another 03:08:39 whaat, you get conditionals 03:08:41 *conditionals? 03:08:47 "a little like that. but there isn't explicit conditions." 03:08:59 -!- dts|pokeball has quit (Read error: Connection reset by peer). 03:09:10 you get conditionals but they READ variables and can thus be inconsisted 03:10:11 also everything in one statement happens at once, so a statement could even conflict with itself in one case but not the other 03:10:20 argh 03:10:55 i'll leave it to you to write down a precise definition of this hth 03:10:58 I'm more interested in the language I inferred from your original statements than this one :p 03:11:32 what did you infer 03:12:14 -!- dts|pokeball has joined. 03:12:42 something more like what I was surprised it wasn't, I guess 03:14:22 so instead of a deterministic scheduler, we have a nondeterministic one? 03:14:32 and no conditionals 03:15:57 we could have a semideterministic one-- deterministic rollback unless all statements must be rolled, in which case it picks one at random to not roll back. 03:18:00 -!- callforjudgement has quit (Read error: Connection reset by peer). 03:18:12 -!- callforjudgement has joined. 03:19:17 instead of conditionals, we could have something akin to an attempted if function. 03:19:41 both sides are evaluated, it returns one of them 03:20:12 its too hard to do this in bash so im trying in scheme 03:20:22 all i wanted to do was recursivly list files and sort by size 03:20:26 do what? 03:21:10 so e.g. find . -type f -exec du -b {} + | sort doesn't work at all 03:21:12 did you try the find command 03:22:23 you need to configure the sort command to sort numerically on the right column 03:23:26 sort -n 03:23:36 or sort -nr 03:23:58 oh thank you! 03:24:03 ok this was just me not being good at bash 03:25:20 cluid: bash is the only $ language that i rarely regret using 03:25:32 i mostly always regret it 03:26:03 maybe i tend to write my regrettable things in PERL 03:27:12 wow i have a lotof zero-size files 03:30:13 Huh. I didn't realize: wchar_t is permitted to have the same range as char. 03:31:36 who even uses it? 03:31:51 Windows programmers. 03:32:17 Because Microsoft C only has char strings in legacy encodings. 03:33:16 Umm... WCHAR 03:33:30 But not usefully so either: the set of legacy encodings they support includes wonky multibyte charsets. 03:33:37 oren: Is #define WCHAR wchar_t. 03:33:59 The secret to sane handling of the Windows API is to ignore its stupid #defines. 03:34:35 "typedef unsigned char BYTE;" is a line they thought was useful. 03:34:46 it is useful 03:34:52 -!- roasted42 has quit (Ping timeout: 245 seconds). 03:35:01 -!- paul2520 has quit (Remote host closed the connection). 03:35:05 i would rather type BYTE than unsigned char 03:35:34 thankfully uint8_t! 03:35:51 screw this _t crap 03:35:54 typedef int INT; is another good one.. 03:36:30 *blink* *blink* they did what 03:36:36 They have a type LONGLONG. 03:36:42 It claims to be a 64 bit integer. 03:36:47 On 64 bit platforms, it is. 03:36:54 On 32 bit platforms it's a double. 03:37:00 -!- roasted42 has joined. 03:37:26 pikhq: meh, close enough 03:37:51 Christ, and I thought zlib had stupid typedefs. 03:38:50 Never mind their imposing grand confusion as to what Unicode is upon the world. 03:39:23 a double can support a 52 bit integer. 03:39:36 is uint8_t really so bad? 03:39:43 so they lost 12 bits, whatever... 03:39:48 An x86 long double can support a 64 bit integer, though. 03:40:14 but storing 10 bytes is awkward 03:40:47 For more fun, you can load a 64 bit integer into an x87 register, do arithmetic on it, and then store a 64 bit integer. 03:40:54 Also nowadays people prefer to use SSE 03:41:07 Yeah, but SSE doesn't give you long doubles. 03:41:09 poof, no extended floats 03:41:25 same point, different angle ;) 03:41:27 pikhq: x87, rather? 03:41:31 SSE is actually faster (from my own experiments) 03:41:42 elliott: x >= 4 03:41:45 or is that obvious 03:42:06 elliott: "long double" is an extended float type on x86 in general, regardless of whether or not you use x87 otherwise. 03:42:10 (oh and let's forget about the 486SX thing. 03:42:11 ) 03:42:15 ah 03:42:36 int-e: the weird thing with {u,}int8_t is that they're usually chars 03:42:45 On x86_64 or MS-compiled x86, it uses x87 instead for that one type. 03:42:46 that produces weird results with C++ at least, dunno about C 03:42:53 (like, consider printing a uint8_t.) 03:43:12 (MS compilers use SSE for floats otherwise) 03:43:58 elliott: In C you'd use PRIu8 to print it out, so no weird results. 03:44:01 elliott: not a problem in C... %c and %d both deal with int arguments. 03:44:13 elliott: that is what they get for left-shifting a file by a character. iostream is crap 03:44:40 pikhq: can you remind me in which header those are defined please? 03:44:40 pikhq: right. 03:44:46 int-e: inttypes.h 03:44:46 it's a problem with C11's _Generic, maybe! 03:44:49 thanks 03:44:58 elliott: It is definitely a problem with _Generic. 03:45:57 * pikhq "loves", BTW, that the only way to get relatively human-understandable behavior out of floats on x86 is to use the obscure float_t and double_t types. 03:47:18 umm... i really don't know what you mean... 03:47:42 float_t and double_t are the types that computations on float and double result in. 03:48:03 -!- dts|pokeball has quit (Ping timeout: 244 seconds). 03:48:07 On *sane* implementations, 1.0 + 1.0 results in a double. On x86, 1.0 + 1.0 results in a long double. 03:48:15 And if you store it in a double, you get double rounding. 03:48:45 Which results in floating point behaving like magic voodoo. 03:48:50 why should you care what type the result is? 03:49:12 Because rounding a value twice to different precisions can change the value. 03:49:16 Potentially significantly. 03:49:44 1.0 + 1.0 does not cause any rounding. 03:49:58 int-e: The particular values were bad examples. 03:50:03 if you don't want rounding problems use fixed point hth 03:50:06 Let's go with 0.1 + 0.1. 03:50:22 pikhq: still bad 03:50:46 because the literals are converted as doubles, and the addition just increases the exponent by 1. 03:50:49 -!- callforjudgement has quit. 03:51:04 oren: floats are designed to have predictable rounding properties... 03:51:09 0.1+0.05 *might* cause trouble 03:51:22 Okay, so it's slightly hard to come up with pithy examples where you'd see the behavior. 03:51:25 > 0.1 + 0.05 + 0.05 03:51:27 not to a decimal system they're not 03:51:27 0.2 03:51:35 But when it shows up relevantly you're going to be *really confused*. 03:51:38 > 0.2 + 0.03 + 0.04 03:51:40 0.27 03:51:43 * int-e shrugs 03:51:57 oren: I'm not sure of the relevance...? 03:53:07 well, one example is storing $59.99 as a float. 03:53:11 Let's do it with decimal then. Let's say we have 9.46. Round it to two places and we get 9.5. Round *that* to one place and we get 10, but if we rounded 9.46 to one place we'd have 9. 03:53:44 Imagine that sort of thing happening anywhere you happen to use a variable in your code, and people's attitudes towards floating point become really easy to understand. 03:54:34 oren: sure 03:54:36 *sure. 03:54:51 oren: Well yes. Floating point is not a good choice for monetary computation. 03:54:53 -!- roasted42 has quit (Ping timeout: 272 seconds). 03:55:31 It's important to understand the properties a type gives you and whether or not they're useful to you. 03:56:13 I mean to be fair float gets used for money a lot even in actual financial systems I think 03:56:34 -!- roasted42 has joined. 03:59:28 elliott: imo, this is because unlike fortran, C and related languages do not have a inbuilt way to output an integer with a point in a specified place 03:59:38 ummm. ok 04:00:01 like, the user inputs 3.45, and you get 345 04:00:16 That's not all you need for meaningful support of fixed point... 04:00:24 there is no simple scanf for than 04:00:28 *that 04:00:30 > 47/100 + 41/100 + 12/100 04:00:31 0.9999999999999999 04:00:50 int-e: eaxctly 04:00:58 But yes, it'd be nice to support it. 04:01:16 Fixed point is useful enough it's a real shame it's, well, hard to use. :) 04:01:26 > 47/100 + 41/100 + 12/100 :: Rational 04:01:29 1 % 1 04:01:53 it isn't hard to use fixed point in Fortran or COBOL 04:02:47 * pikhq is aware 04:02:59 I should clarify, hard to use in currently popular languages. 04:03:11 -!- drdanmaku has quit. 04:04:26 -!- Solace|tablestuf has joined. 04:04:43 -!- Solace|tablestuf has changed nick to Solace. 04:05:19 pikhq, it's do-able in GHC Haskell 04:05:39 Merry Christmas everyone 04:06:05 Solace: Merii kurisumasu. 04:06:15 But haskell is even more unlike popular languages than Fortran is 04:06:51 pikhq: ? 04:07:02 "Merry Christmas" in Japanese. 04:07:07 (no, really) 04:07:10 he said it in romaji Japanese 04:07:20 Because I'm too lazy to install an IME on here. 04:07:32 that looks about right 04:07:57 ime are good for learning Kanji 04:08:11 I know the kanji. :P 04:09:00 Oh 04:09:07 Thanks pikhq 04:09:51 I got a pokemon game finally 04:10:03 Which? 04:10:04 Solace, me too, but my 3DS is 90 miles away 04:10:19 Taneb: Aaaaw. 04:10:31 :0 04:10:38 Well then 04:10:41 I got Omega Ruby 04:10:49 I got Pokemon X 04:10:58 I think I preferred ORAS to XY. 04:10:59 :k Centi 04:11:00 * 04:11:04 I'm trying to learn to pronounce Japanese 04:11:06 > 3.2 :: Centi 04:11:07 3.20 04:11:38 Japanese is easy to pronounce 04:11:49 pikhq, XY was enjoyable, but my first Pokemon game was Emerald so I think ORAS will have a nostalgia factor 04:11:53 > pi :: Micro 04:11:55 No instance for (GHC.Float.Floating Data.Fixed.Micro) 04:11:55 arising from a use of ‘GHC.Float.pi’ 04:11:57 bah 04:11:58 how fast is a centi-second inbetween the space of 2 feet (the object is a solid) 04:11:58 Taneb: Oooh, yeah. 04:12:07 Well 04:12:08 Taneb: Afraid ORAS didn't have that much nostalgia for me though. 04:12:14 X is enjoyable 04:12:17 I finished Emerald earlier this year. :) 04:12:17 > realToFrac pi :: Micro 04:12:18 3.141592 04:12:30 Comapritably to yellow 04:12:38 its a 10 04:12:41 I have X 04:12:47 last pokemon game i played 04:12:50 cluid: Japanese is hard to pronounce correctly. Easy to approximate 04:12:53 > realToFrac pi * 100 :: Micro 04:12:54 314.159200 04:12:59 To be certain XY is fairly good. 04:13:00 It says i have to update a package¿ 04:13:03 coppro: Precisely that. 04:13:09 I thought each letter mapped directly to one sound 04:13:19 Fairy pokemons are pretty eh 04:13:19 cluid: Yes. But the sounds are foreign to anglophones 04:13:23 weak tbh 04:13:24 cluid: Each kana does, sure. 04:13:31 coppro: yeah the long vowels and the long consonants are hard 04:13:41 It's learning to form them, and then to not switch back to the English ones. 04:13:41 Solace: Counter to dragon type. 04:13:52 Really 04:14:07 Elite 4 have dragon right? 04:14:11 Yeah. Speaking with a thick accent is easy, speaking with little to no accent is Hard. 04:14:14 Solace: Si. 04:14:21 dragon are still OP. 04:14:28 Well yes. 04:14:28 I hate dragons 04:14:39 in a pokemon sense 04:14:47 I use dragon/steel team usually 04:15:00 Fire/Water 04:15:05 I'm very glad I learned French when I was younger. I picked up on a lot of phonetic differences which I didn't appreciate until later. 04:15:07 Balancing 04:15:09 In X I ended up with a Normal team 04:15:18 I was actually surprised to notice that I form 'n' differently in English and French. 04:15:26 I don't have much of a fixed team, kinda just randomly grabbing things as I feel like. 04:15:34 I have an ice fossil 04:15:37 and knowing more variety makes it easier to work on other sounds 04:15:42 By which I mean I didn't really have a team, I had an overpowered snorlax and 5 other pokemon 04:15:49 Taneb: :D 04:15:59 X I used Blaziken. 04:16:04 i just started 04:16:05 -!- TodPunk has quit (Read error: Connection reset by peer). 04:16:09 Mega Blaziken is, uh, OP as heck. 04:16:15 i restarted recently 04:16:28 -!- TodPunk has joined. 04:16:31 Sometime probably soon I'm gonna be starting on White. 04:16:39 -!- roasted42 has quit (Ping timeout: 265 seconds). 04:16:44 I am out of pokemon 04:16:51 Pikachu is apparently the only pokemon ive come across that says its species name 04:16:57 Solace: Yep. 04:17:04 Because anime. 04:17:05 the extra stuff just keeps getting in the way of actually enjoying the game, I eventually just gave up 04:17:10 Damn you anime 04:17:19 Solace, Pikachu's cry used to be very different 04:17:19 coppro: Like? 04:17:29 pikhq: promotional pokemon 04:17:33 Ah. 04:17:42 I got a diancee tho 04:17:46 whatever weird online game they make for $NEWGAME 04:17:55 lvl 1 04:18:06 -!- roasted42 has joined. 04:18:10 like, I just want to play the games and collect all the dudez 04:18:19 Is it too early to go on my N64... 04:18:20 "Gotta catch 'em all! But wait, you can only really catch 'em all if you live in Japan!" 04:18:21 why make it so goddamn hard :( 04:18:22 So far I just have a lv 22 ivysaur and nothing else worth mentioning 04:18:31 Catching 600 of each pokemon? 04:18:38 pikhq: well, nowadays, it's more like "but only if you're paying attention this week! trololol" 04:18:51 but they keep adding more of them every generation 04:18:51 Solace, catching EVERY SINGLE DIFFERENT SPINDA DESIGN 04:18:53 coppro: If you don't care about the event-only legendaries it's a mere 4 games you need now. 04:18:54 i just like beating my friends teams 04:19:21 pikhq: X/Y, OR/AS, HG/SS, D/P? 04:19:26 X/Y + OR/AS. 04:19:34 I like the shinies 04:19:35 no wait, that misses gen 5 04:19:48 Yes, they're all available in gen 6. 04:19:51 I have a shiny floette and its amazing tbh 04:20:02 On X I have a shiny Mr Mime 04:20:05 It is terrifying 04:20:06 Also animation styles are good thats an added like 04:20:08 i didn't play anything between sapphire and X 04:20:24 Guys the rock gym 04:20:27 oren: Likewise, though emerald and X for me. 04:20:30 its to much for me 04:20:34 HG/SS were pretty fantastic 04:20:42 Yes 04:20:44 but that was to be expected, they were remakes of the best games in the series 04:20:48 catch a green monkey dude 04:20:53 I bought Pearl, HG, and White after finishing Y. 04:21:01 HG was fantastic. 04:21:10 -!- drdanmaku has joined. 04:21:40 also I've become addicted to riichi 04:22:34 ORAS is fairly delightful though, I must say. 04:22:47 And hey, it's the first time they made an event legendary *not* event-only. 04:23:10 Wish they'd do that with the rest. 04:24:20 death metal goes well with steel/ghost type 04:24:37 How do you split a string by a delimiter functionally? 04:25:18 return a list 04:25:37 pikhq: oh really? which/how? 04:25:38 Thank 04:25:52 Solace, in haskell? 04:25:55 coppro: Deoxys. Now it's just available in the post-game little storyline. 04:26:00 ah, cool 04:26:01 yes 04:26:08 You ride Rayquaza into space and encounter Deoxys! 04:26:12 actually that's sweet, since Deoxys is one of the best event-only legendaries 04:26:21 Yeah. 04:26:26 pikhq: when is this?! 04:26:32 you could use parsec 04:26:35 Solace: Right after the Elite Four. 04:26:45 :/ 04:26:54 God its gettin really fancy 04:28:13 So long story short I have a Deoxys in a Premiere Ball. :) 04:28:23 welp 04:28:31 time to go heal 04:30:00 pikhq: nice :) 04:31:40 [wiki] [[Harmful Brainfuck]] http://esolangs.org/w/index.php?diff=41547&oldid=41546 * 213.162.68.188 * (+0) /* External resources */ using 9 bit cells now 04:32:18 caught an axew 04:34:06 pikhq: have you played riichi? 04:37:46 -!- roasted42 has quit (Ping timeout: 255 seconds). 04:38:02 who is roasted42? 04:39:42 -!- roasted42 has joined. 04:43:27 a cute lil axew named killer, who will be my guillotine machine 04:45:51 Solace: i don't remember em talking 04:46:04 i dont name my pokemons 04:46:08 seems to be from south africa 04:46:55 i went to Spain once 04:47:02 very hot 04:47:30 plausible 04:48:03 @metar ENVA 04:48:12 now what 04:48:17 ENVA 260420Z 30013KT 9999 VCSH SCT028 BKN045 M00/M05 Q1015 RMK WIND 670FT 31019KT 04:48:27 cold, but not that cold 04:48:46 to hot for me 04:48:55 pikhq: also do you know where I can get good anime with romaji subtitles? 04:49:00 * oerjan was referring to the metar forecast 04:49:08 er not forecast 04:49:12 report 04:49:17 wasnt refering to that 04:49:21 but ok 04:49:26 also what is that 04:49:30 coppro: not much market for that 04:49:42 Solace: airport style weather reporting 04:49:46 oren: I know 04:49:48 ah 04:49:58 the M00/ means it's just below freezing 04:50:02 -!- cluid has quit (Remote host closed the connection). 04:50:12 :0 04:50:31 that's not in spain, it's in norway where i am 04:50:47 Norway! 04:50:56 Yay ive lived there before 04:51:05 coppro: try watching japanese childrens shows 04:51:13 1 year there is nice 04:51:21 like doraemon or kogepan 04:51:43 @metar LEMG 04:51:44 LEMG 260430Z 30008KT CAVOK 06/05 Q1030 NOSIG 04:51:49 oops 04:52:12 that's málaga in spain. only 6 degrees celsius 04:52:22 @metar YYZ 04:52:43 you remind me of my father somehow oerjan 04:52:44 hmmm it's not airport codes? 04:52:51 OKAY 04:53:01 oren: four-letter ones 04:53:07 there are two systems 04:53:11 lel 04:53:32 not to be creepy 04:53:37 this is ICAO 04:53:39 @metar CYYZ 04:53:39 CYYZ 260400Z 25011G18KT 15SM OVC030 03/M02 A3009 RMK SC8 SLP195 04:54:16 coppro: I have not played riichi, and I dunno about romaji subtitled anime. 04:54:29 oren's suggestions make sense though. 04:55:01 I learned much of my reading from doraemon manga 04:55:37 I'm not looking for reading right now, though 04:56:17 kids with there anime and mangos 04:56:32 animu and mango 04:56:50 also I suggest not playing riichi. it's addictive 04:58:44 anyway coppro try this: https://www.youtube.com/watch?v=BgEQiXBGHDg 04:59:24 team flare is very fashionable 04:59:44 flare = flair 05:00:23 says team flare 05:00:40 it is now tommorow wherever this webclient is being hosted 05:01:45 -!- roasted42 has quit (Ping timeout: 264 seconds). 05:03:19 -!- roasted42 has joined. 05:11:04 oren: that's not romaji 05:11:06 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 05:12:36 i don't think what you are looking for exists... better to just focus on hiragana, romaji don't accurately represent the sounds anyway 05:12:58 oh cod 05:13:23 -!- shikhin_ has quit (Ping timeout: 240 seconds). 05:14:35 oren: it represents them accurately enough to help me learn to listen 05:17:29 hmm, romaji transscripts might exist for drama CDs. 05:17:51 apparently there exists a site which will transliterate sub files 05:19:09 -!- zzo38 has joined. 05:51:32 -!- roasted42 has quit (Ping timeout: 244 seconds). 05:53:23 -!- roasted42 has joined. 06:11:23 -!- drdanmaku has quit (Quit: ,). 06:27:54 -!- dianne has quit (Quit: brb!). 06:31:32 -!- dianne has joined. 06:47:49 -!- roasted42 has quit (Ping timeout: 258 seconds). 06:48:32 -!- roasted42 has joined. 06:57:34 Do you know of any Lisp-like system that does something like the (~X ~Y (CONSTANT X 42)) stuff I have suggested? (This example is useless of course (for two reasons); I simply demonstrate an example code.) 07:00:12 Actually, I can have one more idea too where for example (~W ~~X ~Y ~~Z whatever) is a shortcut for (~W ~X ~Y ~Z (NEWNAMES (X Z) whatever)). 07:03:50 -!- adu has joined. 07:09:10 -!- Patashu has quit (Disconnected by services). 07:09:11 -!- Patashu_ has joined. 07:12:22 -!- Patashu_ has quit (Remote host closed the connection). 07:12:32 -!- Patashu has joined. 07:28:26 -!- roasted42 has quit (Ping timeout: 250 seconds). 07:30:47 -!- roasted42 has joined. 07:58:12 -!- HackEgo has quit (Ping timeout: 256 seconds). 08:00:09 -!- Solace has quit (Quit: Connection closed for inactivity). 08:08:11 -!- idris-bot has quit (Quit: Terminated). 08:08:36 -!- Melvar has quit (Quit: system upgrade). 08:20:15 -!- roasted42 has quit (Ping timeout: 265 seconds). 08:22:45 It's really foggy here... 08:23:31 well it's england, what do you expect hth 08:24:33 Rain 08:24:39 Slet 08:24:44 well that's the other option 08:24:47 zzo38: racket has 'define-values', which can match multiple assignments to values. 08:24:48 (which is like sleet but doesn't last as long) 08:24:52 ah 08:25:00 (and totally not a typo) 08:25:04 i know 08:25:36 J_Arcane: I do not understand, nor understand what it has to do with the things like I have mentioned. 08:25:53 trondheim uncharacteristically has snow 08:26:19 http://docs.racket-lang.org/reference/define.html#%28form._%28%28quote._~23~25kernel%29._define-values%29%29 08:26:20 you know, "uncharacteristically" is a pretty long word for being english 08:26:55 oerjan, it's uncharacteristically long 08:28:01 J_Arcane: values is actually in normal scheme too 08:30:28 if you do (let ((x '())) (define x 42)) in scheme will the x with 42 be visible outside? 08:30:38 otherwise, that seems like a way to implement it 08:30:51 (via a macro) 08:35:05 hm i guess the problem is if you also have (define y 43) in there and you want _that_ to be visible 08:35:20 still not sure what actual scheme does 08:44:59 I'm gonna try to enter IOCCC in 2015 08:45:37 follow your dreams, man! 08:47:15 -!- adu has quit (Quit: adu). 08:51:12 Did anyone in here enter in 2013 or 14? 08:51:43 yes 08:51:46 though I forget exactly who 08:51:53 do you have an idea for a program? 08:51:58 elliott, yes 08:52:11 are you willing to divulge it? :p 08:52:27 No 08:52:32 don't listen to elliott he'll steal your idea! 08:52:34 :( 08:52:37 no I won't 08:52:39 I never do anything 08:52:44 that's what he would say 08:56:18 oerjan: scheme/racket is lexically scoped. vars inside of let aren't visible to the outside. It does have closures though, so there's ways around that. 08:56:42 if I wanted an explicitly constant value though, there's define-syntax-values. 08:57:08 J_Arcane: this is in the context of zzo38's question, mind you 08:57:18 Then you can do (define-syntax-values (x y z) (43 2 0)) and they'd be macros, not vars, and thus immutable. 08:57:35 the question isn't how to define (constant ...) 08:58:19 fair enough. without more detail I'm not sure I really followed what he was after then. 08:58:55 it's how to construct something like his (~x ...) which prevents definitions of x inside ... from escaping but iiuc _not_ definitions of other identifiers 08:59:05 that's my understanding 09:01:04 oerjan: 09:01:04 scheme@(guile-user)> (let ((x 1)) (define y 2)) 09:01:04 While compiling expression: 09:01:04 ERROR: Syntax error: 09:01:04 unknown file:1:0: no expressions in body in form (let ((x 1)) (define y 2)) 09:01:08 hth. 09:01:20 fnord. 09:01:21 Chicken accepts it but then y is unbound. 09:01:33 scheme@(guile-user)> (let ((x 1)) (define y 2) 123) 09:01:33 $1 = 123 09:01:33 scheme@(guile-user)> y 09:01:33 ;;; : warning: possibly unbound variable `y' 09:02:11 tromp entered in 2012 and Gregor in 2011... 09:03:35 well, 2012 is basically 2013. 09:04:36 well i don't recognize the names of any of the winners from people here 09:04:40 oerjan: well, but Scheme and Racket are lexically scoped such that that's already what happens. I can do (begin (define x 42) (let ((x 13)) x) x), and I'll get 13 then 42. 09:05:21 J_Arcane: um the point is to have the define visible _outside_ the begin 09:08:00 oerjan: Ahh. OK. Well, I don't think that's possible in Scheme, but in CL you could do it I think. 09:08:15 ah 09:08:25 well zzo38 was asking if any lisp had it 09:09:00 *lisp-like 09:09:03 CL has syntax for both lexical and dynamically scoped variables. 09:09:14 Because of course it does. 09:09:18 um 09:09:24 http://stackoverflow.com/questions/7787683/common-lisp-scoping-dynamic-vs-lexical 09:09:38 i'm not at all sure that this answers the question. 09:11:14 oerjan: OK, to put another way: depending on which assignment command you used, yes, you can define a variable in CL in a local context that would still be available outside of it. 09:13:34 i don't interpret the question as asking for dynamic scoping, anyway 09:26:10 -!- roasted42 has joined. 09:34:56 -!- oerjan has quit (Quit: Etc.). 09:39:41 Also, about "it's how to construct something like his (~x ...) which prevents definitions of x inside ..." it isn't only quite that but also that anything inside that refers to this "x" no longer knows anything about any other "x", as if any "x" inside this block is a different token than the "x" outside of the block; a token which is guaranteed not to occur outside. 09:42:16 Well, but that's where I'm confused: that's just how lexical scoping works. 10:11:56 -!- roasted42 has quit (Ping timeout: 244 seconds). 10:20:50 -!- roasted42 has joined. 10:22:09 -!- Melvar has joined. 10:22:26 is there any reason why a lexical scope can't simply be an object, whose members are the lexical variables and with one anonymous method, that is, the enclosed code? 10:24:05 this would allow the scope to be assigned to a variable and its variables would thus be available after the scope is over. 10:26:07 oren: I think Racket can actually do that. Probably. The depths of Racket's macro system are an abyss in which all sanity is lost. 10:28:31 insanity is a necessary hazard to our work 10:29:07 nice 10:30:41 -!- idris-bot has joined. 10:35:27 -!- supay has changed nick to supay_afk. 10:50:17 -!- roasted42 has quit (Ping timeout: 240 seconds). 10:59:32 -!- roasted42 has joined. 11:06:11 -!- roasted42 has quit (Ping timeout: 258 seconds). 11:13:50 -!- roasted42 has joined. 11:22:50 -!- roasted42 has quit (Changing host). 11:22:50 -!- roasted42 has joined. 11:22:50 -!- roasted42 has changed nick to TheM4ch1n3. 11:27:52 -!- TheM4ch1n3 has quit (Ping timeout: 256 seconds). 11:29:20 -!- roasted42 has joined. 12:04:25 -!- roasted42 has quit (Ping timeout: 252 seconds). 12:06:11 -!- roasted42 has joined. 12:17:44 -!- roasted42 has quit (Ping timeout: 245 seconds). 12:22:19 -!- Patashu has quit (Ping timeout: 245 seconds). 12:26:17 -!- roasted42 has joined. 12:32:03 -!- roasted42 has quit (Ping timeout: 258 seconds). 12:32:37 -!- roasted42 has joined. 12:38:28 -!- asklepion has joined. 12:38:57 -!- roasted42 has quit (Ping timeout: 264 seconds). 12:39:58 -!- roasted42 has joined. 12:43:28 -!- SopaXorzTaker has joined. 12:43:28 -!- SopaXorzTaker has quit (Changing host). 12:43:28 -!- SopaXorzTaker has joined. 12:45:15 -!- SopaXorzTaker has changed nick to XorzSopasmas. 12:45:30 -!- roasted42 has quit (Ping timeout: 256 seconds). 12:48:14 -!- PinealGlandOptic has quit (Ping timeout: 250 seconds). 12:54:17 -!- roasted42 has joined. 12:59:26 -!- roasted43 has joined. 12:59:33 -!- roasted42 has quit (Ping timeout: 272 seconds). 13:00:59 -!- PinealGlandOptic has joined. 13:09:49 -!- roasted43 has quit (Ping timeout: 245 seconds). 13:10:04 -!- Phantom_Hoover has joined. 13:10:13 -!- Phantom_Hoover has quit (Changing host). 13:10:13 -!- Phantom_Hoover has joined. 13:12:57 -!- roasted42 has joined. 13:13:55 -!- XorzSopasmas has quit (Ping timeout: 255 seconds). 13:14:28 -!- supay_afk has changed nick to supay. 13:17:35 -!- XorzSopasmas has joined. 13:28:24 -!- roasted42 has quit (Ping timeout: 258 seconds). 13:29:41 -!- roasted42 has joined. 14:03:17 -!- roasted42 has quit (Ping timeout: 258 seconds). 15:22:04 -!- XorzSopasmas has changed nick to SopaXorzTaker. 15:22:21 -!- SopaXorzTaker has quit (Quit: Leaving). 15:22:40 -!- SopaXorzTaker has joined. 15:22:40 -!- SopaXorzTaker has quit (Changing host). 15:22:40 -!- SopaXorzTaker has joined. 15:46:06 -!- sebbu2 has changed nick to sebbu. 16:01:35 -!- drdanmaku has joined. 16:12:31 -!- shikhin has joined. 16:51:03 -!- ais523 has joined. 16:53:05 -!- shikhin has changed nick to sortiecat. 16:53:13 -!- sortiecat has quit (Disconnected by services). 16:53:44 -!- shikhin has joined. 17:05:48 -!- ais523 has quit (Read error: Connection reset by peer). 17:06:02 -!- ais523 has joined. 17:20:40 How devious; implementing eode efficiently requires nondeterminism 17:26:49 -!- ais523 has quit. 17:27:02 -!- ais523 has joined. 17:45:47 -!- oren has quit (Ping timeout: 252 seconds). 17:48:43 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds). 18:06:58 -!- S1 has joined. 18:07:33 -!- asklepion has left. 18:23:55 -!- vanila has joined. 18:40:03 saim3bzd 18:54:35 -!- Phantom_Hoover has joined. 19:04:56 -!- shikhin_ has joined. 19:05:18 -!- SopaXorzTaker has quit (Quit: Leaving). 19:07:44 -!- shikhin has quit (Ping timeout: 245 seconds). 19:11:50 -!- dts|pokeball has joined. 19:40:11 -!- arjanb has joined. 20:06:37 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 20:13:16 -!- S1 has quit (Quit: S1). 20:19:09 -!- ais523 has quit (Read error: Connection reset by peer). 20:19:13 -!- callforjudgement has joined. 20:19:28 -!- callforjudgement has quit (Changing host). 20:19:28 -!- callforjudgement has joined. 20:21:41 -!- callforjudgement has quit (Read error: Connection reset by peer). 20:22:00 -!- callforjudgement has joined. 20:22:50 -!- callforjudgement has quit (Read error: Connection reset by peer). 20:23:02 -!- callforjudgement has joined. 20:39:07 -!- scarf has joined. 20:39:11 -!- callforjudgement has quit (Remote host closed the connection). 20:54:28 -!- InvalidCo has quit (Ping timeout: 245 seconds). 20:54:47 -!- InvalidCo has joined. 21:02:25 -!- InvalidCo has quit (Ping timeout: 244 seconds). 21:18:26 -!- ais523 has joined. 21:18:31 -!- scarf has quit (Read error: Connection reset by peer). 21:24:33 -!- InvalidCo has joined. 22:08:58 -!- callforjudgement has joined. 22:11:37 -!- ais523 has quit (Ping timeout: 240 seconds). 22:20:26 -!- vanila has quit (Quit: Leaving). 22:32:10 -!- Patashu has joined. 23:05:12 -!- Phantom_Hoover has joined. 23:14:35 -!- dts|pokeball has quit (Read error: Connection reset by peer). 23:24:38 -!- dts|pokeball has joined. 23:42:34 Oh another reminder of how much of GG's greatness is due to Cheyenne Wright. This wreckage will be so much nicer in color. 23:43:01 GG? 23:43:11 Girl Genius 23:46:03 -!- callforjudgement has quit (Read error: Connection reset by peer). 23:46:10 -!- callforjudgement has joined. 23:46:11 -!- oerjan has joined. 23:52:51 Well, but that's where I'm confused: that's just how lexical scoping works. <-- the problem with lexical scoping is that it would also hide definitions of _other_ tokens than x from the outside. 23:53:11 @tell J_Arcane Well, but that's where I'm confused: that's just how lexical scoping works. <-- the problem with lexical scoping is that it would also hide definitions of _other_ tokens than x from the outside. 23:53:12 Consider it noted. 23:54:23 @tell J_Arcane iiuc zzo38 wants (~x (define y 3)) to have the same meaning as (define y 3). 23:54:23 Consider it noted. 23:54:46 zzo38: am i correct? 23:54:49 Yes 23:56:10 zzo38: i am wondering if you could use the hygiene system of scheme to implement this as a macro (~ x ...) 23:56:37 although i don't understand it well enough to say 23:56:44 Maybe, but I don't know if something that reads the list without executing it then might see the "x"? 23:57:13 oh you want it to be on the reader level? 23:57:56 Well, you could have a way to define the level too, but either way it cannot see it. 23:58:00 in that case, what would (~x 'x) return? 23:58:21 some gensymmed token, or an x token 23:59:06 A token with the name "x" but which is still considered distinct from any other token with the name "x", I suppose. 23:59:11 i think i've seen a gensym that allows you to create a new symbol like that 23:59:29 don't remember if it was standard 2014-12-27: 00:00:22 (with the same name, that is) 00:01:15 hm i guess the problem here is that you want to temporarily change the reader to use that symbol for parsing x 00:01:43 so you would need to be able to mutate the usual symbol lookup table 00:02:09 none of this seems impossible to implement, but i don't know if anything supports it 00:02:42 -!- Sprocklem has joined. 00:03:02 And then if you have (~~x 'x) is another thing meaning where whenever it is expanded/executed it becomes a new token if you have two tildes, always called "x" though, rather than only when it is being read. 00:03:57 hm not sure what you mean there that isn't already implied by the reader case 00:05:46 the way i understand it, once read as a different symbol it wouldn't be turned into the usual symbol by anything other than turning it into a string and back again 00:07:11 It is what I mean; if it is turned into a string and back again then it becomes the usual symbol. 00:08:56 Another command can be ~( ... ) which creates a block without any name resolving at all (also defers some other things) and then one command that reads it does resolving; in that case you can have ~x inside and it become a new ~x token every time it is expanded by the command to do so; same with anything else in the block, it is completely opaque until it is expanded. 00:09:04 hm if (~~x ...) first reads the ... part, and then turns into a macro that wraps the result expression into using the different symbol table... 00:09:16 this sounds like the kind of thing call/cc might mess up :P 00:10:40 (because the symbol table would probably not be lexically scoped itself) 00:10:45 Well, actually I would intended that while first reading the ... part it is treated as if it says ~x instead, before turns into a macro that wraps the result expression into using the different symbol table (which also does it using another new "x") 00:11:32 um two different new "x"es? 00:12:35 Yes the first one is at reading time, the expansion then replaces the first new x with the second one; it makes a new second one for each instance of the macro, although the first one is the same every time. 00:14:04 Maybe it is a bit confusing what I meant; it also isn't entirely clear how useful it is compared to other ways 00:15:37 mhm 00:16:29 i don't quite see the use either, except that this might be useful to _implement_ hygiene of macros. 00:16:57 It is what I thought of too 00:23:45 wiki down :( 00:24:38 @ask Jafet How devious; implementing eode efficiently requires nondeterminism <-- do you mean eodermdrome? 00:24:38 Consider it noted. 00:30:18 int-e: that GG wallpaper may be the silliest tyrannosaurid i've seen. also i see the foglios are up to date with the latest dinosaur feather theories. 00:34:42 @tell int-e i wonder if agatha is crazy enough to try and get the beast to take them to paris 00:34:42 Consider it noted. 00:58:49 -!- boily has joined. 01:02:11 evenily 01:02:46 bonsœrjan! 01:02:48 (can you tell i'm running out of portmanteaus) 01:03:08 (not a problem. the inspiration will strike one day.) 01:04:45 -!- shikhin has joined. 01:06:57 -!- zzo38 has quit (Ping timeout: 245 seconds). 01:07:06 oerjan: how are the holidays on your end? 01:07:10 @metar CYQB 01:07:10 CYQB 270000Z 25011G16KT 15SM OVC035 02/M01 A2999 RMK SC8 SLP159 01:07:50 -!- shikhin_ has quit (Ping timeout: 244 seconds). 01:08:03 damn you tvtropes, putting subpages on a menu so it's impossible to open them in a new tab... 01:08:21 boily: quiet 01:09:22 -!- zzo38 has joined. 01:10:16 technically all the subpages also had buttons _except_ the one i wanted to visit. 01:11:13 just wait; tvtropes has a kickstarterredesign... 01:11:51 well this is a new "feature" 01:15:51 -!- Solace has joined. 01:18:07 -!- callforjudgement has quit. 01:23:22 https://www.kickstarter.com/projects/tvtropes/the-tv-tropes-revitalization-project the fucking image... 01:27:12 ? 01:28:38 that's pretty amazing 01:28:54 lol 01:38:25 I don't go on TV Tropes in my opinion All The Tropes is better anyways so I use that one. 01:41:15 `echo hi 01:41:25 oh not even here 01:41:41 pretty darn dead 01:47:17 yeeep 01:50:53 all the tropes is on wikia 01:50:55 blech 01:52:30 why the hate against wikia? 01:52:54 ye 01:52:59 ;0; 01:53:19 ye? ;0;? 01:53:29 * boily is confused 01:53:43 is also confused? 01:54:25 (1) ye to yes as why the hate against wikia (2) ;0; is an emoji 01:54:30 wikia is not very friendly 01:54:36 as in? 01:54:52 uh, let me try to remember the issues nethack had 01:55:13 I think they changed the theme in such a way that the NH folks a) didn't like it and b) couldn't change back 01:55:32 Solace: what is it an emoji of? 01:55:41 a gasping cry 01:55:42 ais can explain it all better 01:55:55 Solace: ah! 01:56:04 indeed 01:56:41 I know like six wikias that moved off wikia because wikia is horrible 01:56:50 what does j-bot do? 01:56:53 and then wikia kept their old site up and scrubbed it of all references to the new one 01:57:07 and those sites still live in as dormant, badly out of date zombies that still snatch up google rankings 01:57:15 those sites as in the wikia ones 01:58:12 i still have fond memories of when i first joined the internet 01:58:37 yeah, wikia does not appreciate you trying to move off their servers 01:59:04 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:59:09 apparently the only way to kill a wikia wiki is to slowly vandalize it, in such a way that the admins don't notice and can't figure out when to restore it to when they do 02:00:05 how do you vandalize it? 02:01:14 make changes that only someone in the field would realize are wrong 02:01:22 for instance, in wikihack, you could change a bunch of stats of monsters to make them wrong 02:01:23 ah 02:02:04 if you do it carefully enough, the wikia admins won't know when to revert it to 02:02:31 if you just try to delete things, even as the wiki's admin, wikia will step in and revert 02:02:36 because all they care about are visits 02:03:00 because money 02:05:14 All The Tropes is on Orain, not on Wikia 02:05:24 I wonder if there's any way to poison the pages' pagerank 02:05:25 (Although there is a Wikia version too; I use the Orain version) 02:08:51 Other Sites We Recommend 02:08:51 Anime Boobs Wiki - A wiki where the various women of anime/manga are classified by their bust sizes and their measurements are listed for fans of those characters. They use content from our forks that was removed by TV Tropes thanks to their advertisers. 02:09:07 It uses a compatible license so it is possible to move from the Wikia version to the Orain version and vice-versa. 02:10:05 People who use both versions can therefore synchronize them; I use Orain version but agree to put my contributions as public domain therefore they can be used on anyone. 02:17:14 i read a claim that wikia's license is copyright infringement because they unilaterally changed it at one point 02:17:34 er 02:17:38 sorry 02:17:44 *tvtropes's license 02:18:29 Yes, which is one reason why they made All The Tropes 02:19:39 i also recall that of the two forks, only one of them did _not_ have a copyright problem 02:19:40 zzo38: actually you can't port content onto tvtropes unless it's original 02:20:04 at least, if everything they say is to be believed 02:20:14 because they ostensibly require you to assign copyright of your contributions to them 02:20:17 coppro: zzo38 wasn't speaking about tvtropes i think 02:20:21 Only stuff from before the license of TV Tropes has been changed is copied into All The Tropes. 02:20:33 oh ok 02:21:48 coppro: has this happened? Successfully killing a wikia, I mean? 02:22:43 Sgeo: ais seems to think ithas 02:23:28 i have noticed such vandalism on wikipedia before, so it may happen just due to attrition once a wiki gets abandoned... 02:24:05 oerjan: yeah, it happens on wikipedia too 02:24:17 I remember one time when some famous guy died 02:24:38 someone clever got news before most of the press and edited a bunch of fake stuff into his page on wikipedia 02:24:42 then all the news sources cited it 02:24:57 then when it was called as citation needed, he used the eulogies as proof 02:25:28 i wasn't referring to general vandalism, but to specifically changing little numbers that are awkward to check 02:25:37 or at least work 02:26:29 I have a user space in All The Tropes (the Orain version) too. 02:26:33 Incidentally, is Peter the Great's birthday on Wikipedia correct or incorrect 02:26:43 heh 02:26:43 I remember a decade ago seeing someone change the date by one 02:27:04 Did they forget what timezone it is in? 02:27:21 Or maybe it was someone else, I thought they changed it from 3 to 4 or 4 to 3 02:28:11 i once helped change a wrong date on a frenchman's biography, turns out they'd got month/date order wrong, and then it had partly copied _to_ the french wikipedia version 02:28:24 *been partly 02:28:28 -!- GeekDude has joined. 02:28:52 took a couple iterations by me and others to finally get both wikis right 02:29:53 but that wasn't vandalism 02:30:23 zzo38: they didn't have timezones in peter the great's days 02:31:23 this just makes it more important to have citations 02:31:27 oerjan: That is why someone got confused. 02:31:43 * oerjan swats zzo38 -----### 02:33:27 Sgeo: the article's dates contain neither 3 nor 4... 02:33:58 I noticed. It might have been someone else. Or maybe there were two vandalisms. Or maybe the current version is wrong. 02:34:17 * Sgeo is helpful! 02:36:20 hm nothing recent 02:36:41 but then it's semi-protected 02:43:15 -!- scounder has quit (Remote host closed the connection). 02:56:25 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 03:07:44 -!- scounder has joined. 04:13:16 `danddreclist 61 04:19:37 -!- shikhin has quit (Ping timeout: 240 seconds). 04:37:12 -!- boily has quit (Quit: MOISTURIZED CHICKEN). 04:50:09 -!- Solace has quit (Quit: Connection closed for inactivity). 05:02:51 -!- adu has joined. 06:24:09 -!- oren has joined. 06:32:52 the wiki is dead... 06:34:27 fizzie: ping 06:37:18 -!- CrazyM4n has joined. 06:38:15 yo. 06:38:58 hi. 06:41:34 qa. 06:42:51 ay 06:43:39 it seems to me that gzip is misused a lot. tgz files are typically compressed once and then downloaded and uncompressed N times. but gzip is a stream compression! for this use, shouldn't we have a compressor that takes more time during compression to compress it even smaller, and perhaps to optimize the decompression? 06:45:09 I think people use gz because it's ubiquitous, not because it's well-suited 06:47:03 fiendish 06:47:44 actually, why aren't there more non-stream compressors that go over the data N times? 06:47:49 oren: xz is popular 06:49:18 "Go over the data N times?" Compressed data tends to not compress well 06:50:15 glguy: but why not use a more expensive data analysis step 06:50:34 to optimize the compression code? 06:51:28 Xz typically compresses more than gz and also requires more processing time and memory 06:54:06 when compressing an archive, you have random access to the whole file. this is qualitatively different situation from compressing a data stream... 06:56:07 doesanywell-known algorithm take advantage of this capability? 07:18:54 bzip2 07:28:02 @ask oerjan Yes. (Interestingly, "eode" is K_3 but there is no prefix that is a K_4.) 07:28:02 Consider it noted. 07:28:31 okay 07:30:13 Jafet: i think that's because K_{odd_n} is eulerian but K_{even_n} isn't 07:30:19 or wait 07:30:29 that's backwards 07:33:34 no 07:33:38 that's right 07:34:13 -!- Sprocklem has quit (Ping timeout: 272 seconds). 07:34:57 since eodermdrome itself is a eulerian circuit, no subpath can repeat edges, thus no subpath can be K_4 07:37:55 -!- dts|pokeball has quit (Ping timeout: 244 seconds). 07:38:15 oren: video compressors have B frames, which are predicted from a past and a future frame 07:42:32 Trying to compress an entire string in one go is pointless because it will probably be NP-hard 07:46:01 -!- dts|pokeball has joined. 08:01:56 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 08:21:05 -!- adu has quit (Quit: adu). 08:35:30 -!- CrazyM4n has quit (Remote host closed the connection). 08:42:37 -!- dts|pokeball has quit (Ping timeout: 240 seconds). 08:45:43 -!- adu has joined. 08:48:04 -!- dts|pokeball has joined. 08:49:59 -!- scoofy has quit (Ping timeout: 252 seconds). 08:55:31 -!- shikhin has joined. 08:59:41 elliott: Ping pong, the sport of kings. 08:59:52 fizzie: curl esolangs.org 09:00:07 ping esolangs.org, for that matter 09:00:10 Yeah. Let's re-ping Gregor, since the server doesn't answer to ssh either. 09:00:41 (And I don't have any accounts to the cloud-at-no-cost-but-no-service-either's web thingies, or whatever they have.) 09:01:10 it's almost like one-off pricing isn't a viable business model for an ongoing service 09:01:19 You don't say. 09:01:23 CloudAtCost delivers quality, security, value and unlimited scalability to customers using a state of the art hosting facility. 09:05:06 last time i saw a state of the art hosting facility it was a 2003 PC under a desk, with a "broken" sticker on it 09:06:56 i'd `addquote that if HackEgo were working 09:07:27 `echo hi there 09:07:44 i suppose being present is also a prerequisite 09:07:50 oerjan: we were just talking about esolangs.org being down... 09:08:06 your point being? 09:08:09 oerjan: Hoping for a Christmas miracle? 09:08:34 oerjan: hackego is hosted there 09:08:47 elliott: you seem to be assuming i am confused about something 09:09:19 well. okay. 09:09:20 sorry. 09:09:30 i distinctly recall me causing you to ping fizzie in the first place 09:10:36 I'm sorryyyy 09:11:08 I'm confused about something 09:11:26 Nothing particularly relevant, though 09:11:29 did you know that the mcculloch 2 string 525224 can be interpreted as slowly calculating the sequence 2^n-1 in a very verbose representation 09:11:50 whoa 09:13:14 I don't even know what a mccullock 2 string is 09:13:26 https://esolangs.org/wiki/McCulloch%27s_second_machine 09:13:57 i'm somewhat trying to solve the mortality decision problem mentioned there 09:14:02 Googling gave me garden equiptment 09:14:28 so i invented a more compact notation for the strings that have particularly complex behavior 09:14:59 I noticed HackEgo was not working as it did not respond to my `danddreclist command. 09:15:02 that one becomes 5 [0] 5 [1,0] which may not look very compact but it gets better as it grows 09:15:29 -!- GeekDude has joined. 09:17:14 it becomes 5 [1,0,2^n-1,0] 5 [1] 09:19:30 (the 5's are actual 5's from the string, the rest is a summary of the distribution of 2's and 4's) 09:20:02 with 4's only counting up to parity 09:21:59 oh this one was also nice 09:22:20 5 [0] 5 [0,0,0] 09:22:46 oh hm right 09:24:29 it settles into 5 [x] 54 [y] which has fibonacci-like development 09:24:48 Is it possible to reimplement n+k patterns with pattern synonyms? 09:24:52 -!- FreeFull has quit (Ping timeout: 255 seconds). 09:25:27 Taneb: can't you do everything by using view patterns in combination with them? 09:25:45 I don't know 09:28:32 > let f 0 = 0; f 1 = 1; f (pred -> n@(pred -> m)) = f n + f m in f <$> [0..] 09:28:36 mueval-core: Time limit exceeded 09:28:47 > let f 0 = 0; f 1 = 1; f (pred -> n@(pred -> m)) = f n + f m in f <$> [0..9] 09:28:48 [0,1,1,2,3,5,8,13,21,34] 09:29:16 > let f ((-2) -> n) = n in f 2 09:29:18 Could not deduce (GHC.Num.Num (t0 -> t1)) 09:29:18 arising from the ambiguity check for ‘e_122’ 09:29:18 from the context (GHC.Num.Num (t -> t1), GHC.Num.Num t) 09:29:43 Jafet: subtract 09:30:15 however n+k patterns also have a comparison test 09:30:33 > let f ((-(2)) -> 0) = 0 in f 2 09:30:34 Could not deduce (GHC.Num.Num (t -> a0)) 09:30:34 arising from the ambiguity check for ‘f’ 09:30:34 from the context (GHC.Num.Num (t -> a), 09:30:36 (n+1 = 0 doesn't match) 09:30:50 Jafet: i said use subtract 09:31:28 > let f ((+-2) -> 0) = 0 in f 2 09:31:29 Not in scope: ‘+-’ 09:31:29 Perhaps you meant one of these: 09:31:29 ‘-’ (imported from Prelude), ‘++’ (imported from Data.List), 09:31:35 there is no way to use - as a section 09:31:38 > let f ((+(-2)) -> 0) = 0 in f 2 09:31:40 0 09:33:05 I don't like using function names that are longer than their definitions 09:56:13 -!- adu has quit (Quit: adu). 10:03:24 -!- oerjan has quit (Quit: leaving). 10:17:08 -!- FreeFull has joined. 10:59:53 -!- Patashu has quit (Remote host closed the connection). 11:00:04 -!- Patashu has joined. 11:01:19 -!- MoALTz has joined. 11:09:52 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 11:57:31 -!- Phantom_Hoover has joined. 11:58:06 -!- scoofy has joined. 12:12:15 -!- shikhin has quit (Ping timeout: 272 seconds). 12:34:19 -!- shikhin has joined. 12:34:28 -!- shikhin has quit (Changing host). 12:34:28 -!- shikhin has joined. 12:54:29 so there's a field of mathematics called 'non-galoisian galois theory' 13:08:40 -!- SopaXorzTaker has joined. 13:08:40 -!- SopaXorzTaker has quit (Changing host). 13:08:40 -!- SopaXorzTaker has joined. 13:23:25 non-linear linear transforms. 13:26:54 -!- Patashu has quit (Ping timeout: 245 seconds). 13:27:21 math - not even S(0) 13:37:10 -!- oren has quit (Ping timeout: 250 seconds). 13:41:05 -!- ais523 has joined. 13:44:32 -!- oren has joined. 14:42:06 -!- drdanmaku has joined. 15:00:31 -!- ais523 has quit (Remote host closed the connection). 15:00:42 -!- ais523 has joined. 15:02:12 -!- S1 has joined. 15:02:12 -!- S1 has changed nick to puritania. 15:15:29 -!- ais523 has quit. 15:29:18 -!- shikhin has quit (Ping timeout: 265 seconds). 15:31:55 -!- puritania has quit (Quit: puritania). 15:31:58 -!- oren has quit (Quit: Lost terminal). 16:04:48 -!- GeekDude has joined. 16:21:51 -!- kallisti has joined. 16:21:54 wowowowowow 16:22:17 @metar LOWI 16:22:17 LOWI 271550Z 27007KT 9999 FEW050 SCT070 BKN100 M02/M03 Q1000 R08/1///95 NOSIG 16:22:27 -!- glguy has quit (Ping timeout: 252 seconds). 16:22:33 for whatever reason I couldn't connect to irc.freenode.net, I had to grab a specific domain from freenode's server list. 16:22:39 anyone else have that issue? 16:25:08 int-e: what am I looking at right now 16:26:20 not quite sure if this is the esoteric that this channel is about, but I'm currently writing a GUI application with win32 API. 16:26:24 I think that falls under esoteric, no? 16:26:27 kallisti: an avian weather report for Innsbruck's airport (ICAO code LOWI). 16:26:53 google "METAR" and you shall be enlightened. 16:27:14 avian? so like, birds strapped with atmospheric measuring equipment? 16:27:47 sounds promising 16:28:18 I've always thought we should employ birds as weathermen 16:28:24 Yeah, appealing but that's not really how it works. Airports have weather stations *for* aircrafts. 16:29:49 on an unrelated note, I think this is the last time I'll think to myself "hey, I should make a graphical C application for Windows in my freetime, being completely unpaid to do so!" 16:31:40 Strictly speaking I think the win32 API does not qualify as esoteric. But don't let that stop you, we're often stretching the boundaries of this channel's topic anyway. 16:35:12 @tell oerjan I'm not worried about getting to Paris yet. The more immediate problem is whether the engine will consume Agatha's locket. 16:35:12 Consider it noted. 16:36:59 -!- glguy has joined. 16:37:39 there doesn't seem to be very much support for passing user-defined data to window procedures... 16:37:46 I'd like to avoid global variables when possible. 16:39:03 please, this is the 90s: nobody needs threads and global variables are your friends. 16:39:33 (because you always know where they are without sacrificing one of those precious registers) 16:41:30 @metar EFHK 16:41:31 EFHK 271620Z 34007KT 9999 BKN016 M08/M10 Q1011 TEMPO BKN013 16:41:49 brr. 16:42:14 It was supposed to get actually cold on Sunday/Monday (M20 to M30) but I think they sort of reneged on that. 16:42:50 http://www.foreca.fi/Finland/Espoo/15vrk suggests the daily low will just barely touch M20. 16:44:16 (Then it'll jump back up to "above zero during the day, below zero during the night", which -- combined with the amount of snow that's currently out there -- translates to mornings of "all surfaces are ice".) 16:46:30 @metar EGLL 16:46:30 EGLL 271620Z 32004KT 290V360 9999 FEW026 04/00 Q1008 NOSIG 16:46:39 That looks quite different. 16:46:47 Hmm, TEMPO. The clouds are getting closer to the ground? 16:47:30 (BKN016 --> BKN013 later?) 16:47:53 I thought what's after TEMPO is what's currently happening, but only for a limited time. 16:47:57 But I don't know. 16:49:48 http://www.pprune.org/tech-log/407020-tempo-metar.html -- I'll go with the forecast idea 16:53:04 But it's not a trend, it's an expected fluctuation. Subtle. 16:59:46 -!- b_jonas_ has changed nick to b_jonas. 17:20:24 -!- FireFly has quit (Changing host). 17:20:24 -!- FireFly has joined. 17:31:49 -!- SopaXorzTaker has quit (Ping timeout: 256 seconds). 17:36:28 Murp murp 17:36:35 I'll check on the esolangs server 17:39:59 -!- HackEgo has joined. 17:40:06 Idonno what was up with it, but a hard reboot solved the problem X-D 17:43:56 -!- supay has changed nick to supay_afk. 17:44:59 -!- MoALTz_ has joined. 17:45:23 -!- GeekDude has quit (Ping timeout: 272 seconds). 17:46:32 anyone familiar with winAPI? I'm considering passing a void-pointer to the optional CREATESTRUCT parameter of CreateWindowEx so I can avoid global variable usage 17:46:46 any idea if this will break everything? 17:47:43 -!- GeekDude has joined. 17:48:01 I feel as though the unused wParam of WM_CREATE should specify user-defined data, and CreateWindowEx should have an optional argument to pass that information in, but that does not appear to be the case. 17:48:33 -!- MoALTz has quit (Ping timeout: 272 seconds). 17:52:30 kallisti: Isn't that pretty much exactly the function of the last parameter of CreateWindowEx (except special cases where it serves specific uses, like dialogs or MDI windows)? As far as I can tell from MSDN, it's an arbitrary LPVOID that you provide, and then the lpCreateParams member in the CREATESTRUCT that is passed as the lParam of the WM_CREATE message will be set to whatever you provided. 18:06:57 -!- scoofy has quit (Ping timeout: 256 seconds). 18:12:18 fizzie: yeah I looked at the documentation closer and you're exactly right. 18:13:12 other fun things: I added a #define _CRT_SECURE_NO_WARNINGS and it still gives me an error about it 18:48:01 -!- Phantom__Hoover has joined. 18:49:53 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds). 18:52:47 -!- GeekDude has changed nick to GeekAfk. 19:07:26 -!- scoofy has joined. 19:11:46 -!- GeekAfk has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 20:06:38 -!- copumpkin has quit (Ping timeout: 272 seconds). 20:10:30 -!- Sgeo has quit (Read error: Connection reset by peer). 20:13:46 -!- copumpkin has joined. 20:29:40 -!- Sgeo has joined. 21:17:13 -!- dianne has quit (Ping timeout: 255 seconds). 21:18:46 -!- dianne has joined. 21:27:27 -!- oren has joined. 21:27:34 what happen? 21:28:53 Somebody set up us the bomb. 21:30:27 would /// still be turing complete if there was a limit on how long the /x/y/ are allowed to be? 21:31:05 oren: I think so, ye 21:31:28 oren: I think it's turing complete even if you allow only at most two characters in both the substitution and replacement 21:31:29 (i mean a relatively large limit, like 255) 21:31:43 hmm, maybe not 21:31:50 let me think 21:32:45 you need some way to create a long table at initialization 21:33:38 hmm dunno 21:33:40 no idea 21:33:46 /// is strange 21:34:31 i was considering what would happen if instead of delimiters, /// had hollerith strings or pascal strings 21:35:13 oren: would that make it similar to Fuun DNA? 21:35:34 I think that has some data marked with a prefixed length, but I'm not quite sure 21:37:30 Why does the speakers in my computer making so much noise? 21:37:46 aliens 21:38:13 zzo38: meh, my speakers outside the computer make too much noise when I turn them on, because the amplifier is a cheap bad quality one 21:38:46 They don't always make noise, but sometimes (somewhat often) makes all sorts of clicking, scratching, and white noises. 21:39:20 maybe interference then? 21:40:00 ghosts 21:40:01 Interference from what? The LCD monitor? Printer? Surge protector? Keyboard? Those are the things which happen to be next to the speaker. 21:40:09 check your sound card drivers 21:40:54 zzo38: dunno, maybe mobile phone, or cables next to the cable to the speaker 21:41:18 or problem in the sound card 21:41:46 The nearest mobile phone is in another room which is not adjacent to this one. 21:43:46 look under the desk at the cables, which if you are like me, entwine into a nigh-sentient crawling horror. Make sure that the speaker cables, including its power cable, are not curled around other cables. 21:45:07 They are near other cables but I cannot tell what's around others and not. However, it doesn't make this noise all the time; it does so less than half of the time. 21:46:03 * arjanb can hear from the speaker noise whether a lcd screen is turned on 21:46:32 Turning off the LCD doesn't help. 21:47:10 well next step, check your sound card drivers 21:47:10 maybe try to ask someone who's good at hardware, that is, someone who just has to look at hardware to fix it 21:48:32 -!- Patashu has joined. 21:59:10 what is a good approach for parsing in 2D? I want to try a few things with ascii art block diagram like constructs, but the only solutions i can think of are ugly hacks 21:59:44 like? 22:02:34 parsing it in line by line first, annotated by column indices and then somehow merging lines into multiple blocks and wires 22:04:44 find upper corners 22:11:25 i could try that, maybe even use special tokes for corners... 22:24:31 -!- mitchs_ has quit (Quit: mitchs_). 22:29:14 interesting fact: searching for a string a0,a1...an can be sped up by keeping a cache of where the string matches a prefix of itself. 22:29:38 did some math dude already discover that? 22:33:29 god damn it it's the "Knuth Morris Pratt Algorithm" 22:33:56 -!- CrazyM4n has joined. 22:35:03 -!- mitchs has joined. 23:06:24 -!- nys has joined. 23:13:11 -!- idris-bot has quit (Ping timeout: 264 seconds). 23:15:21 -!- Melvar has quit (Ping timeout: 272 seconds). 23:37:16 -!- Phantom___Hoover has joined. 23:38:27 -!- yiyus has quit (Ping timeout: 256 seconds). 23:39:29 -!- yiyus has joined. 23:40:14 -!- Phantom__Hoover has quit (Ping timeout: 245 seconds). 23:55:17 -!- Melvar has joined. 23:56:38 kallisti: ltns 23:56:58 hahahaha 23:56:58 23:56:38 You have 1 new message. '/msg lambdabot @messages' to read it. 23:57:02 23:56:42 @messages 23:57:04 23:56:42 hagb4rd said 14h 41m 53s ago: also, he really hates me, and insults me to oerjan or something whenever I ban him again <- fyi: i have never talked to oerjan about you nor have i ever asked him to remove my ban. greetz hag. 23:57:08 priceless 23:57:37 what 23:58:27 just some banned dude trying to convince me another op was lying to me after reading the logs 23:58:41 oh dear 23:59:31 Well, everyone can read the log so you can confirm whether or not the another op really is lying, or if is just a misunderstanding somewhere, if you are reading it carefully. 23:59:45 the lie in question would have been in /msg to me 2014-12-28: 00:00:00 what is /msg? 00:00:13 um. rhetorical question or sincere? 00:00:32 i really don't know 00:00:48 I sent you one 00:01:53 /msg is a command in some IRC clients, I think; its purpose is slightly different in different IRC clients 00:03:15 ok i get it now.. it is like a PM on a BBS. not visible to everyone that is 00:03:42 PM 00:04:14 screw the technical details, i don't need to know how EVERY thing is use works... 00:04:32 ok, then I won't link to the RFC document 00:04:44 i just means 'private message' in case you send it to another person 00:05:31 -!- kallisti has quit (Ping timeout: 255 seconds). 00:05:33 -!- arjanb has quit (Quit: zzz). 00:06:04 oren: you can also /msg #channel ... though 00:06:12 (as long as you're in it unless it is -n) 00:07:07 i think that is an irrelevant tech detail here. 00:07:08 If you send a message to a channel you do not get a copy even if you are on it though; however you can also send a message directly to yourself. 00:07:33 so i have implemented a /// variant in which each part is a pascal string. 00:07:56 oren: I suggest not using decimal for that. 00:07:58 (e.g. it is preceded by its length as a byte) 00:08:03 oh. 00:08:06 well that's boring. 00:08:15 but is it still TC? 00:08:23 dunno 00:08:46 any i figure it is less boring than most of the BF variants 00:08:54 I was thinking something like defining it on bits as 1^m0{s1}^n0{s2}{s3} where |s1| = m, |s2| = n 00:09:13 so 11100100... replaces "010" with the empty string in ... 00:10:09 is arbitrary length of pattern and replacement requied for TCness? 00:10:26 I don't know. 00:12:18 in hex, 010A020A0B0A0B -> 0A0B0B 00:13:11 but i'm not sure what the termination condition would be 00:14:12 but this does eliminate the need for \'s. 00:16:00 hmm, I suppose my language can only output 0s 00:16:02 that's unfortunate 00:16:11 how so? 00:16:48 also: you did mean 0^n and not ^n0, didn't you? 00:17:29 no 00:17:46 i do not understand in that case 00:18:00 it should be 1^n0 00:18:09 ah 00:18:16 yeah, that works for me 00:18:30 you can't do things like make programs with useful infinite output though 00:18:33 which is sad 00:18:45 I don't see any way to allow outputting 1s too that wouldn't feel a bit impure 00:18:52 oh, wait, it can't even output 0s 00:19:05 why? 00:19:08 because 01^n0s2 is //s2/ 00:19:19 which is admittedly a useless construct, but one that is in the original ///, and one that should be present for symmetry 00:19:43 i don't see the problem 00:20:02 maybe i should reread about /// 00:20:04 well so 0 has a meaning other than outputting a 0bit 00:20:06 *0 bit 00:34:19 -!- CrazyM4n has quit (Remote host closed the connection). 00:36:45 hello 00:37:03 yellow 00:37:16 https://esolangs.org/wiki/111 I guess HackEgo isn't here 00:38:51 hold on. what if the string evolves to a bitstring beginning with 0? 00:39:14 0 111 0 101 --> ("", "101") 00:39:20 so it is like //101/ in ///. 00:39:25 so it loops forever. 00:40:05 ...damn. uhh... actually if my byte-based one had input it would have the same probelm 00:40:24 how is that a problem? 00:40:40 well... how do you terminate? 00:40:58 elliott: how do you seperate several substitution rules with your above rule? 00:41:18 won't you need to prefix s3, too? 00:41:27 myname: strings are self-delimited, so in (s1:string)(s2:string)(s3:bits) we replace s1 with s2 in s3. 00:41:33 and then continue running s3. 00:41:45 ah 00:41:54 i am tinking of eliminating input and halting on 0. 00:41:54 "replace" is defined as per ///, i.e. you replace the first occurrence of s1 with s2 in s3, and then repeat. 00:42:12 (therefore if you replace a string s with any string that has an s in it, it is an infinite loop.) 00:42:20 stopping when there are no s1s in s3. 00:47:16 yeah. so what if an empty pattern and replacement halts instead of looping ofrver doing trivial replacements 00:47:42 00[N] will output N 00:49:24 that's a weird special case. 00:49:39 see e.g. https://esolangs.org/wiki/Talk:///#An_ambiguity_in_the_spec 00:50:14 an ambiguity in the spec 00:50:24 it's no longer ambiguous 00:50:33 mostly because I rewrote the spec :p 00:50:50 there are tons of ambiguous specs 00:50:55 tooons 00:51:08 | - ) 00:51:30 is that a geordi smiley 00:51:36 i don't even know 00:52:07 what's the behaviour of the itflabtijtslwi program GGx nys?!?! only you can clarify 00:52:31 I suggest it be specified as starting an interactive game of tetris 00:53:39 i think i'll explicitly specify that it's unspecified 00:53:46 and call it "Undefined Behaviour" 00:53:55 -!- Patashu_ has joined. 00:53:55 -!- Patashu has quit (Disconnected by services). 00:54:02 okay, but, like, triggering an error would be so boring. 00:54:06 | - )_ 00:54:13 no it's not illegal 00:54:13 you have leverage here. 00:54:18 it's just. undefined. 00:54:27 yeah but I mean as an implementation choice as to how you interpret that undefined behaviour! 00:54:34 oh hm 00:54:36 okay how about it's undefined WHICH game it starts 00:54:39 it could also be boggle 00:54:49 or AoM 00:54:51 russian roulette 00:54:57 depends how much free memory there is 00:55:06 and the endianness of the target machine 00:55:11 what 00:55:14 all itflabtijtslwi programs must reimplement crysis 00:55:17 er, *interpreters 00:55:39 elliott: i vote for dwarf fortress 00:55:44 nys: gcc actually used to treat implementation-specific behaviour this way btw http://feross.org/gcc-ownage/ 00:55:52 it started up nethack 00:56:13 HAH 00:56:15 nice 00:56:25 http://blog.regehr.org/archives/759 ahh, this would give oren a heart attack 00:56:58 -!- kallisti has joined. 00:57:16 kallisti: ltns 00:57:25 coeducation is the great coequalizer 00:57:33 someone should teach me category theory 00:57:38 fizzie: you can apparently use SetWindowLong to change GWLP_USERDATA 00:57:43 elliott: excuse you? 00:57:49 oh okay 00:57:51 long time no see 00:57:52 -!- nisscrooge has quit (Changing host). 00:57:52 -!- nisscrooge has joined. 00:57:53 took me a second to parse that 00:57:54 yeah 00:57:58 my old nemesis 00:58:10 -!- nisscrooge has changed nick to nisstyre. 00:58:29 I somehow thought it would be a good idea to write a win32 GUI 00:58:36 on my own accord, without being paid large sums of cash. 00:59:11 for what? 00:59:47 nys: be careful, inductive reasoning isn't enough to learn CT, you need the coinductive kind as well. eh this joke sucks 01:00:35 it is a terrible joke 01:00:49 but it'd be a terrible joke i'd get better if i knew CT ;_; 01:01:27 it's not even really much of a CT joke... 01:01:52 putting "co" in front of everything is (a very bad one), but coinduction isn't even a CT thing 01:02:03 well, it probably is, from some perspective, but so is everything -_- 01:02:21 well i mean i know coequalizers are a thing 01:02:38 something about being applied for a unification algorithm in like one textbook 01:03:46 I knew what coequalisers were, once 01:03:53 what textbook though? 01:04:00 mnnnn i forget 01:04:18 oh uh i think it might have been category theory for computing science? 01:04:21 -!- AndoDaan has joined. 01:04:23 or something like that 01:05:02 that sounds interesting... why were you reading a book with that title if you don't know CT though :p 01:05:18 elliott: I wrote a chat bot that connects to twitch.tv's "IRC" server (more of a pseudo-IRC server than anything, since it doesn't implement most of the protocol), takes song requests from subscribers, and adds them to a Spotify playlist. Now I'm updating it with a GUI to change configuration and display who requested what song. 01:05:28 the person I wrote it for isn't very comfortable with config files. :P 01:06:15 nys: oh or is it like a CT introduction from the perspective of CS 01:06:19 rather than like the other way around 01:06:34 I'm more or less using win32 api to say that I did, and then move on with my life (preferably forever) 01:06:35 yaa 01:06:37 i think 01:06:45 i didn't read too much of it 01:07:11 * elliott nods 01:07:21 I've heard that CT books are a rather mixed bag 01:08:26 i've just started reading one called uh i forget but it's by two guys named lawvere and schanuel 01:08:39 it's really sort of childish but i like it 01:08:43 conceptual mathematics? 01:08:47 yesh 01:08:51 that's it 01:08:52 I've heard things about that and I forget whether they were really good or really bad 01:09:01 >-> 01:09:18 my problem with CT is that I don't have the mathematical knowledge to understand all the concrete examples 01:09:43 so I end up pretending the only "applied", non-"CT stuff" category is Set, which doesn't go too well 01:09:52 that's the great thing about this book 01:10:12 in that it seems like you don't even really need math as a prerequisite haha 01:10:28 * elliott nods 01:10:36 it's a shame because I am interested in CT more for its own sake than for its applications, really 01:11:19 i mostly only study this stuff in the hope of stumbling across novel applications 01:12:22 From reading the wikipedia, CT looked easy until i realized it is brutaly hard 01:14:05 yep 01:14:09 CT is very hard 01:14:32 but it looks so trivial at first that it is so... inviting 01:15:20 like a comfy couch with a bunch of invisible thumbtacks 01:15:21 it looks like a gateway math 01:15:25 but then it is hard maths 01:15:40 haha 01:15:45 math. not even once. 01:15:58 I quit a math long time ago. My life has been a lot better since. 01:16:35 I can now look down on those who do math, because I have already quit. 01:16:53 :( 01:17:00 that's not nice 01:17:00 i make computers do math so i don't have to. math is the computer's job 01:18:37 no, calculating is the computer's job 01:18:43 arguably the problem is that CT is too simple; there's nothing to hold on to 01:18:43 math is not calculating 01:18:48 * *too* 01:19:46 aloril_: yeah 01:19:54 myname: CAS would beg to differ 01:19:57 *elliott: 01:20:39 my favorite thing about this project is learning about the function wcstombs 01:20:48 I like to think of it as an author's name 01:20:57 i.e. W. C. Stombs 01:21:17 WCs and tombs 01:21:21 the dreaded WCS tombs 01:21:46 The curse of W.C.'s tombs. 01:21:56 I haven't quite figured out a nice mnemonic for mbstowcs though. 01:22:01 Who is W C? 01:22:13 William Carlsroy 01:23:02 You're in a maze of puns, all different :/ 01:23:18 other fun windows things: WNDCLASSEX 01:23:59 Wind class sex. 01:24:05 Oh, I actually guessed the meaning of wcstombs correctly. 01:24:24 is that like having sex in a class about the weather 01:24:26 * int-e goes shoot out his brain. 01:25:03 Surely it's a place name in the UK 01:25:04 why has atoi not been added to C11? 01:25:18 because strtol 01:25:18 atoi is deprecated 01:25:20 weather report music sounds pretty sexy 01:25:28 by the thing elliott mentioned 01:25:39 or sscanf, I guess? 01:25:59 what about itoa? 01:26:07 nys: banging to the https://en.wikipedia.org/wiki/Shipping_Forecast 01:26:25 oren: s(n)printf 01:26:37 sprintf doesn't support arbitrary base 01:26:46 uh, neither does itoa afaik 01:27:04 okay, it's more flexible though 01:27:15 who even uses sscanf for anything ever 01:27:27 kallisti: it's less annoying than manual string mangling 01:27:31 -!- boily has joined. 01:27:46 when you want to input one line exactly then read numbers from it 01:28:17 kallisti: it's good for throwaway programs that require input, but where the input is trusted or only consists of numbers? 01:28:24 scanf space matches \n which is sometimes not what you want 01:28:30 nys: https://www.youtube.com/watch?v=mSq4nfH4y6Q more likely to put you to sleep tbh 01:28:33 sscanf does locales. 01:28:47 Jafet: pity. 01:29:17 Where is itoa a thing? 01:29:18 elliott, i was actually covertly referring to these guys: https://www.youtube.com/watch?v=eCQ89diiq5Q 01:29:45 nys: oh, duh. no, I know of Weather Report, I just interpreted it completely literally for some reason 01:29:55 I prefer my interpretation tbh 01:30:06 muzak to get you into the mood 01:30:30 o 01:30:41 http://msdn.microsoft.com/en-us/library/yakksftt.aspx 01:31:03 no i have no clue why thatis the url 01:31:31 http://msdn.microsoft.com/en-us/library/yakksftt.aspx 01:32:11 I am actually pretty curious about why it is called that 01:32:46 ah, looks like all of the URLs have gibberish names 01:33:02 that's good 01:33:11 “More secure versions of these functions are available” 01:33:27 _itoa_s 01:34:36 `olist 971 01:34:44 olist 971: shachaf oerjan Sgeo FireFly boily nortti 01:35:29 so for those who aren't familiar with it: any guesses for what the type name LPCWSTR stands for? 01:35:40 long pointer to wide character string 01:35:51 wow you sound awfully familiar with that type 01:35:51 it's easy when you know the basic elements of the type name 01:36:02 I think you're cheating 01:36:04 I don't think I've ever written more than like 30 lines of Win32. 01:36:08 funny how the "L" survived the tides of time 01:36:20 RIP long pointers 01:36:31 shachaf: shellochellof! thanks! 01:36:32 "STR" is obvious, and gives an obvious meaning to "CW", because I do know Windows uses WCHAT/wchar_t UTF-16 (or UCS-2, sometimes...) 01:36:40 and, yes, LP I know 01:36:41 funny how the L survived rather than being dropped 01:36:42 >_> 01:37:09 nys: well, modern-day pointers act more like long ones did, right? 01:37:24 soooort oooooofffff 01:37:30 well if it were PCWSTR people might think it stands for Personal Computer Wide String, or maybe Program Counter Wide String. :) 01:37:30 helloily 01:37:45 today's olist features the return of an unlikely nemesis 01:37:48 nys: perhaps that happened because for a quite a long time, LP were 32 bits? 01:37:56 ok true nuff 01:38:12 also with 64 bit architectures, the distinction is somewhat relevant again 01:38:33 nys: I mean, near pointers are limited, far pointers can address everything but they're bulkier 01:38:40 it really is more like near pointers stopped existing than far pointers 01:38:42 Because one can save lots of memory if pointers are truncated to 32 bits, which is plenty enough for many applications. 01:38:46 int-e: Sadly, WPARAM and LPARAM are still the same size on x64 Windows. They missed a great chance to make LPARAM 64 bits and WPARAM 32. 01:38:46 OK FUNK 01:38:49 *FINE 01:38:56 you have to apologise for your error nys 01:39:01 we're so disappointed 01:39:03 i'm really sorry 01:39:06 thanks <3 01:39:08 i retract my statement 01:39:09 that's not enough reallys 01:39:20 i'm reeeeeally really sorry with a cherry on top 01:39:23 I've been messing with WPARAM and LPARAM all day and I actually did not even bother to figure out what the L and W stood for. :P 01:39:24 better <3 01:39:29 nys: which model? 01:39:50 (hoping for a good keyboard ;-) ) 01:40:06 wat 01:40:11 that was even worse than my coinduction joke 01:40:36 uh oh 01:40:59 Man, I just "love" the whole notion of far pointers in DOS C. 01:41:02 cherry is a company that makes keyboards. 01:41:09 oh 01:41:18 okay so apparently LPARAM and WPARAM used to be different sizes and now they're not, but they kept their names just cuz? 01:41:22 hysterical raisins 01:41:23 it looks like another apology is in order >_> 01:41:33 heyy, don't look at me 01:41:37 "If you wanna be portable to DOS and handle sane amounts of memory, good luck being sane!" 01:41:38 it was int-e's joke! 01:42:14 * nys glares at int-e 01:43:01 I'm sorry?! 01:43:08 good. 01:43:13 Nah, whom am I kidding. 01:43:34 it's going inta yer record then...punk... 01:43:52 * int-e is sorry with a Logitech on top 01:43:56 this one gonna follow you around the rest of your pun career 01:44:19 (Haven't seen one I liked, so that should be repentance enough) 01:49:43 I have several sources of bad influences, http://www.vexxarr.com/archive.php?seldate=010908 not the least among them. 01:51:11 (Not just that particular one (I got the link from TV tropes), the whole comic is full of puns, often awful to the extent that it's used as a weapon to slow down enemies. I think OOTS does that, too.) 01:52:30 -!- AndoDaan has quit (Read error: Connection reset by peer). 01:54:23 -!- AndoDaan has joined. 02:07:49 * boily glares at int-e. “you linked me to a punny comic. I hate you.” 02:10:13 http://www.airshipentertainment.com/growfcomic.php?date=20071014 is another nice demonstration 02:10:31 and it's actually meta, so that should make it ok ;-) 02:13:15 ... 02:14:01 boiling with rage? 02:14:16 (Sorry it took so long. I'm sure this has been done before.) 02:17:29 I'll think of something. just you wait... 02:20:32 -!- Zuu has quit (Ping timeout: 250 seconds). 02:20:55 -!- Zuu has joined. 02:21:29 * int-e shuffles into a corner and hangs his head in sham. 02:48:15 -!- Phantom___Hoover has quit (Read error: Connection reset by peer). 02:51:24 int-e: in sham? 02:55:39 coppro: don't ask, I might still need the plausible deniability. 03:03:52 -!- GeekDude has joined. 03:09:41 -!- dts|pokeball has quit (Ping timeout: 272 seconds). 03:13:20 -!- dts|pokeball has joined. 03:21:00 oh nice. apparently one can reconstruct fingerprints from photographs (obvious in retrospect...) ... so much for security. 03:25:17 -!- metaphage has joined. 03:26:32 int-e: do you need hi-res, or can you infer a good engough print from a good enough picture? 03:35:38 boily: they used a standard camera and a 200mm lens (which they write is standard for reporters) at a press conference; I assume they zoomed in on the hands. 03:40:14 pity, the talk was in german. https://events.ccc.de/congress/2014/Fahrplan/events/6450.html 03:42:37 Nice title though. "I see, therefore I am ... you." 03:48:36 -!- metaphage has quit. 03:48:54 Authentifizierungserfahren... 03:49:15 s/ser/sver/ 03:49:46 someone make a bot that processes s/// commnads 03:50:06 please, no. 03:50:19 why not? 03:51:08 `` sed 's/./&&/g' <<<"because it would be awful" 03:51:11 bbeeccaauussee iitt wwoouulldd bbee aawwffuull 03:51:18 we can name him sbot the bot. see sbot run. s/see/run,/ 03:51:43 s/// is probably turing complete. it may cause infinite loops of disproportionatexponential proportions. 03:52:15 -!- boily has quit (Quit: CRETACEOUS CHICKEN). 03:52:41 my laptop's battery lasts embarrassingly long <3 03:53:59 oren: I really can't see that ending well; the abuse will outweigh the benefit and even the benefit is very small; people are good at spotting and correcting typos even without the s/// prompts. 03:54:34 http://esolangs.org/wiki/Slashes 03:54:53 limit it to one iteration per s// 03:55:49 `` sed 's/.*/&! &!!! &!!!!!/' <<<"because it would be awful" 03:55:50 because it would be awful! because it would be awful!!! because it would be awful!!!!! 03:57:08 note that slashes has no regexes and no backreferences 04:03:05 -!- dts|pokeball has quit (Read error: Connection reset by peer). 04:03:06 -!- dts_ has joined. 04:03:47 how efficient is it to fseek around in a file instead of using my own explicit buffer? 04:04:51 i am hoping there isn't much penalty 04:06:07 Another system call. If you seek a lot and the file isn't *too* big, you could use mmap. 04:07:06 KISS suggests you should try the fseek and optimize later. 04:07:28 ^ 04:08:37 -!- dts_ has changed nick to dts|pokeball. 04:08:44 seems to be ok from my test...] 04:08:56 i'll try a buffer later 04:09:37 -!- oerjan has joined. 04:10:52 @messages- 04:10:52 int-e said 11h 35m 40s ago: I'm not worried about getting to Paris yet. The more immediate problem is whether the engine will consume Agatha's locket. 04:10:58 @tell int-e eek 04:10:58 Consider it noted. 04:11:32 oerjan: not my idea, it has been hinted at. 04:12:39 do you mean something more specific than martellus's hand? 04:13:57 perhaps his chemical modifications of agatha will save the day :P 04:14:52 also, are we _really_ sure margolotta is dead. maybe she has something that just makes her look that way. 04:14:56 Well, there's the last panel in http://www.girlgeniusonline.com/comic.php?date=20141219 04:15:22 oerjan: I also thought Zeetha was worried about it at one point, but perhaps I imagined that. 04:15:55 she has been worried about the locket before, but recently? 04:16:03 oerjan: Good question. But Violetta confirmed her death, so tentatively I'm accepting that she is dead. Which doesn't mean she won't be revived. 04:16:18 hm 04:16:38 right that would be non-ferrous metal 04:17:51 how many people have actually died in this comic so far... 04:18:05 (named characters) 04:18:23 let's see, doctor beetle, judy and punch 04:18:47 (of course those two got better) 04:18:53 lars 04:18:57 two of them revived. 04:19:00 Lars, Olga. 04:19:13 (Olga revived, perhaps ;-) ) 04:19:20 without a brain afaiu 04:19:31 or at least, without her old brain 04:19:39 well, obviously. 04:19:45 dr diaz 04:20:12 dr merlot 04:20:26 oh there's that soldier killed by the locket 04:20:36 right, moloch's brother 04:21:13 priestess vrin 04:21:26 tarvek's father 04:21:39 plenty of people, i'd say :P 04:21:44 Zola, probably 04:21:53 um no 04:22:09 -!- dts|pokeball has quit (Ping timeout: 265 seconds). 04:22:09 i'm pretty sure zola survived 04:22:46 she was last seen alive and recuperating 04:23:42 fraulein von pinn sort of died but got reclanked 04:23:51 oh. http://www.girlgeniusonline.com/comic.php?date=20110221 04:24:10 I forgot. 04:24:15 lord selnikov also got revived 04:25:21 there were other castle inmates but i don't remember if any had names 04:25:27 Of course Zola should be out of action in the time stop field. 04:25:49 (Together with a lot of other members of the cast.) 04:25:56 hm that may be, unless she left when klaus did 04:26:09 Oh that could be... 04:26:13 Tricky 04:27:12 öumph or whatever that trumpet guy was called, although he didn't survive very long 04:27:50 Damn we really don't know much about what happened during those 3 years. So many opportunities for Lucrecia (one of her three? copies, besides Agatha) to come up with deviltries. 04:28:58 i only know of two other copies, one of which is zola and so is different 04:30:02 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 04:30:05 dimo did tell agatha gil was fighting against her mother 04:30:43 so she's obviously somewhat powerful 04:34:59 I guess you're right. http://girlgenius.wikia.com/wiki/The_Other 04:36:20 The whole Sturmhalten scene is a blur to me. So two copies of Lucrecia make it out of there but one of them was Agatha... 04:37:01 yeah 04:37:18 -!- adu has joined. 04:40:45 oerjan: Do you know whether Agatha has taken the locket off since her revification death below castle Heterodyne? Because that scene looked like she might actually be rid of her. 04:40:55 this guy also has a name and dies shortly after http://www.girlgeniusonline.com/comic.php?date=20130520 04:41:01 *might* 04:42:02 int-e: um zola took the locket off after that 04:42:23 https://twitter.com/jamesgolick/status/529360759256776704 04:42:27 right. that settles that. 04:46:12 iirc the last time lucrezia was in complete control of agatha's body was http://www.girlgeniusonline.com/comic.php?date=20100730 04:46:47 (there were some eerie emotion-only episodes later) 04:48:08 * oerjan has been rereading that section recently 04:49:04 -!- shikhin has joined. 04:50:24 http://www.girlgeniusonline.com/comic.php?date=20101129 04:52:32 next page is where tarvek says that he can remove lucrezia once and for all 04:52:55 but of course there hasn't been time for that 04:54:08 so there's a field of mathematics called 'non-galoisian galois theory' <-- AAAAAAAAAAAAAAAAAA 04:54:26 ^ 04:54:46 ooh kallisti is here 04:54:50 * oerjan waves 04:56:42 -!- dts|pokeball has joined. 04:57:15 @metar ENVA 04:57:15 ENVA 280450Z 12011KT 9999 FEW044 SCT053 M11/M13 Q1021 RMK WIND 670FT 15008KT 04:57:21 *BRRRR* 04:57:39 it's supposed to get warmer tomorrow 04:57:48 @metar LOWI 04:57:49 LOWI 280450Z VRB01KT 6000 -SN SCT010 SCT030 BKN050 M04/M04 Q1001 NOSIG 04:58:58 -SN? negative snow? 04:59:20 WHY IS THE SNOW FALLING UPWARDS IN INNSBRUCK, FILM AT 11 05:00:00 Light snow. 05:00:13 very light indeed 05:00:41 the longer you go hacking at code without refactoring, the worse it looks 05:00:44 bah. It's snowing lightly. 05:00:49 Not upwards. 05:00:59 Silly oerjan. Not that I have any right to complain. 05:01:01 oren: isn't that like the definition of technical debt 05:01:28 * oerjan hasn't actually read the definition mind you 05:01:52 there's also a + modifier for heavy rain or snow. 05:01:57 int o,ol,l,i,n,k,m; 05:01:58 ic 05:05:32 that line is representative of what happens when you put the whole program into the main function 05:06:50 normally i refactor when the function gets to be more than one screen, but.... 05:16:17 you should factor while you still remember the primes, i think 05:17:10 oerjan: that is actually a good metaphor. it is hard to refacotr code that you didn't just write 05:23:08 -!- AndoDaan has quit (Quit: bbl). 05:40:12 -!- AndoDaan has joined. 05:43:56 Am I seriously reading a pro-North Korea thing right now? WTF 05:44:08 Apparently 'hermit kingdom' is racist? What? 05:45:56 It doesn't seem to be a DPRK website, seems to be a socialist website 05:55:23 -!- roasted42 has joined. 05:56:22 North Korea scares me 05:56:26 -!- Sgeo has quit (Read error: Connection reset by peer). 05:56:40 -!- Sgeo has joined. 06:01:28 -!- roasted42 has quit (Changing host). 06:01:28 -!- roasted42 has joined. 06:01:28 -!- roasted42 has changed nick to TheM4ch1n3. 06:06:01 my compressor is almost working... it's losing a few bytes at the end of the file 06:08:30 i have created the most WTF compression algorithm ever 06:09:10 it goes over the file ~10000 times 06:11:21 on the plus side decompression is pretty fast 06:14:58 use xz/7z 06:16:06 my compressor is awesome. it generates a program in a language similar to /// which outputs the original file 06:16:09 cat somefile.ext | xz -9 -c >somefile.ext.xz 06:17:10 language similar to /// ? 06:17:39 essentially /// except instead of delimiters each strong begins with a byte giving its length 06:18:15 ok, but why not use one of the already developed compression algo's ? 06:18:25 for fun, duh 06:18:33 ok :-) 06:18:51 i will post the code once i've ironed out the bugs and refactored it 06:19:56 yeah, I'm working on a minecraft clone - currently developing a block level binary occluder system, goal to render many blocks, but anything could be in each block 06:20:35 then I wanna add OpenDE (Physics) and some simple vehicles 06:21:03 -!- Zuu has quit (Ping timeout: 250 seconds). 06:21:35 -!- Zuu has joined. 06:22:07 by "occluder" you mean it detects which blocks are visible before reducing them to polygons? 06:23:17 ok, compression is fully working it seems 06:24:22 . o O ( refactor, v. - rewrite from scratch ) 06:26:16 lol int-e i'm not gonna do that... yet. 06:27:05 -!- TheM4ch1n3 has quit (Ping timeout: 244 seconds). 06:28:22 -!- roasted42 has joined. 06:34:48 it is interesting which strings it chooses to reduce, 06:35:14 oren: oh, um by occluder I mean it uses a fill method, whereby airbricks (has nothing but air within) - have markers that move away from the camera until they enter a solid (block), then it knows what to draw 06:35:15 -!- roasted42 has quit (Changing host). 06:35:15 -!- roasted42 has joined. 06:35:15 -!- roasted42 has changed nick to TheM4ch1n3. 06:35:34 oren: have you read about huffman compression ? 06:36:00 i have of course 06:36:54 how come you dont code a PC game "for fun" ? 06:36:56 A good politician on SMBC? 06:39:10 this is a bit rude but funny -> http://xkcd.com/508/ 06:39:54 TheM4ch1n3: heh, i've done that 06:41:34 oren: that is sweet, one other side project I am doing is running around with a flashdisk trying to show people screenshots of linux .... 06:41:44 I made a game that does 3d by autostereograms 06:41:56 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 06:42:15 e.g. you screw up your eyes and see the game world in 3d 06:42:23 oren: you mean those glasses that are blue & red, for seperating the two eyes of the viewer ? 06:42:35 no glasses, no special screen 06:43:19 oren: oh wait, it looks like white noise - pixel fuzz - and squinting eyes reveal an image ? 06:43:48 no 06:43:52 like this image: 06:43:53 cross-eyed viewing 06:43:54 http://en.wikipedia.org/wiki/File:Chess_Single_Image_Stereogram_by_3Dimka.jpg 06:43:56 Or parallel viewing 06:44:05 parallel for my game 06:44:06 * Sgeo can do cross-eyed byt not parallel 06:44:27 i might add a crosseyed mode sometime 06:44:47 em, ok 06:52:13 https://gist.github.com/orenwatson/01e1674fe74a21602c17 06:52:34 there... 06:53:51 (that's the game i was talking about. you fly around and shoot stuff and bomb things, kinda like Xevious) 06:54:12 That C has extraordinarily few comments 06:55:11 not even a title or author comment, i know 06:56:12 i _think_ i can do cross-eyed but not parallel, in which my question is how the hell do enough people manage parallel that they standardized on it 06:56:17 *in which case 06:56:18 -!- TheM4ch1n3 has quit (Ping timeout: 250 seconds). 06:56:54 what i do is look over the top of my screen until the game goes into focus 06:56:59 and also, is there an image that is described clearly enough that i can tell the difference 06:57:23 my game works in walleyed but definitely no in crosseyed 06:57:41 hold on i'll get a screenshot 06:57:48 -!- roasted42 has joined. 06:57:52 oren: um if i try to do it the way i think is walleyed that wikipedia link never gets into focus for me 06:57:54 I think I can do parallel but not crosseyed 06:59:53 ok i managed to strain my eyes into parallel, just, it's clearly the correct view for that picture then. but blurry. 07:00:11 i guess i need glasses 07:10:46 http://ctrlv.in/479405 07:11:17 it seems the easiest way to screenshot an allegro game is to hack the screen shotting into the game itself 07:12:28 luckily with my skillz i can do that in 3 minutes 07:15:04 (only kidding, "skillz") 07:15:24 oren: you have used OpenGL too I assume ? 07:15:55 yeas i have, not a lot tho 07:19:35 i don't get why allegro doesn't handle losing focus properly 07:21:47 I use SDL2 or SDL1, allegro anoys me 07:25:09 how does it annoy you? the event system? 07:25:29 Ok, why do identify so closely with a character from a comic that only has disturbed characters? 07:26:03 Sgeo: which comic/character? 07:26:17 * Sgeo doesn't really want to answer that 07:27:51 oren: well, I currently just prefer sdl2, the naming of the functions are a bit wacky in allegro 07:28:56 also, allegro5 is wildly different from allegro4 07:29:30 i didn't like allegro 4 atall 07:29:49 -!- nys has quit (Quit: quit). 07:36:19 -!- roasted42 has quit (Ping timeout: 272 seconds). 07:37:01 -!- roasted42 has joined. 07:43:59 "It's pretty clearly visible by really great players in the chess world. In fact, the current reigning #1 chess champion, and highest rated player of all time, Magnus Carlsen, once said that playing a computer is like playing an idiot who beats you every time. Computers just play what seems to be atrocious moves, but always meander into a winning position somehow." 07:46:03 magnus! 07:46:21 * oerjan waves a small norwegian flag 07:47:27 * roasted42 burns a south african flag 07:48:50 I've been living in Gauteng, South Africa for 31 yrs, and I just have to say, DAMN -> South Africans should not be allowed near liquor 07:49:35 https://www.youtube.com/watch?v=evZmpsl3jI0 07:49:40 roasted42: you should soak the flag in liquor before burning it, then 07:51:30 ok , lmfao 07:54:41 I already know how he does it because of Reddit comment :( 07:55:54 Sgeo: how many players are there, total? 18? 07:56:16 (I'm saving bandwidth here, not going to watch it) 07:56:41 -!- CrazyM4n has joined. 07:57:30 hey m4n! 07:59:48 9 not including Darren 08:00:24 Ok I don't know how he did -that- 08:01:21 darn he didn't explain the number of pieces trick 08:01:22 -!- AndoDaan has quit (Ping timeout: 240 seconds). 08:02:04 -!- roasted42 has quit (Ping timeout: 255 seconds). 08:02:42 the rest was exactly what i thought, i think conway explained that trick the one time i saw him speaking 08:03:05 (it's connected to his game addition) 08:03:30 it's possible i've seen this video before... 08:07:44 Sgeo: wait, how many games did he win? 08:07:46 5? 08:08:04 some were draws 08:08:07 (well, I'd expect a +1 score) 08:08:17 Won 4, lost 3, tied 2 08:08:29 Right. That's in line with the theory. 08:08:43 -!- roasted42 has joined. 08:09:05 Four blacks, Five whites, and one of the white players is in on the trick, a pre-arranged win, while the other games are pair-wise identical. 08:09:18 oerjan: ok, lmfao 08:09:36 (err, the extra player would probably play black, doesn't matter though) 08:10:03 int-e: the extra player wasn't actually in on the trick, according to the explanation - he just chose the weakest one 08:10:10 fair 08:11:17 ok it's pretty clear that the method he claims to have used to win did not give him any room for manipulating the number of pieces at the end 08:12:13 so i think he must have switched the notes at some point 08:14:42 rogier voogt's explanation in the comments seems good 08:15:21 https://gist.github.com/orenwatson/5c1e96a7c791cea21eef 08:19:30 -!- roasted42 has quit (Quit: bbl->lag). 08:22:04 -!- dts|pokeball has quit (Read error: Connection reset by peer). 08:26:22 so the question is is there a better way to choose the replacements 08:30:21 -!- dts|pokeball has joined. 08:31:21 would /// still be turing complete if there was a limit on how long the /x/y/ are allowed to be? <-- hm i _think_ so, assuming the limit is big enough to contain the main program for a BCT interpreter, then the unbounded data itself could be made self-copying in smaller pieces. 08:32:19 oerjan: i see... i don't think my decompressor is TC then. 08:32:58 there might be ways to break up the program into smaller copying pieces too. 08:33:38 hmm... i think replacing the round counter with a prepended zero will also help 08:33:57 That encoder is probably worse than gzip 08:34:13 well of course 08:35:37 especially since it onlysupports up to 255 replacements 08:35:44 i am fixing that tho 08:36:50 Even if you implement this algorithm properly, it will probably still be worse than gzip 08:37:03 of course 08:37:23 because gzip acts on bit level 08:37:44 Even if you use bitstrings 08:38:07 i don't think this can be used with bitstrings tho 08:38:44 but it has some properties 08:39:17 in particular, an incompressible part of the string will stay exactly the same, even readble 08:40:03 oren: one problem is that with no internal \ escaping, it becomes harder to prevent a substitution from acting on copies of itself 08:40:17 Most compression algorithms should have that property 08:40:23 because now it literally contains the string it substitutes 08:40:40 (It's the best thing to do to a string that cannot be compressed) 08:41:07 it's a very essential feature for the way i've written /// programs so far 08:42:05 oerjan: interesting observation 08:43:07 Well, you probably don't want substitutions to be recursive 08:43:55 That would prevent a substitution if decoding it would be ambiguous 08:45:28 Anyway, the reason it won't be better than gzip is that substitutions aren't windowed, so it can't adapt to the data distribution 08:45:53 I am not attempting to be better than gzip 08:46:33 i am attempting to be cooler than gzip 08:48:09 Ok. Being slower and less efficient makes it hard though 08:49:56 gzip outputs relatively opaque binary data, which can't be understood easily in a hex editor. my algorithm's output is byte-based which helps with that (i also have a byte-based LZW implementation somewhere) 08:50:50 I imagine you could make a binary editor that understands gzip streams 08:53:28 Also, picking the best-scoring match might not give you the smallest result in the end 08:53:37 I don't remember whether this is actually true 08:54:01 that is an issue. i don't know what the best heuristic for choosing string is 08:55:59 "and temperatures in the winter can plunge to 40 degrees below (Fahrenheit)" 08:58:20 (and Celsius) 08:58:57 Ah. Fooled by Google. 08:58:58 -22C 08:59:21 ? 08:59:33 Google must have a secret plan of nudging me towards enabling Javascript. 08:59:33 I thought -40F=-40C, what do you mean it's not? 08:59:42 Hmm 09:00:38 Sigh, it's "units" that I can't use properly 09:02:40 I have to enter tempF(-40) and ask for tempC. 09:03:06 degrees celsius isn't even a real unit 09:03:17 `` units 'tempF(-40)' tempC 09:03:18 ​-40 09:03:43 they can't be meaningfully added or subtracted 09:03:52 `` units '-40degF' degC # what I tried, erroneously 09:03:52 units: invalid option -- '4' \ Usage: units [option] ['from-unit' 'to-unit'] \ \ -h, --help print this help and exit \ -c, --check check that all units reduce to primitive units \ --check-verbose like --check, but lists units as they are checked \ --verbose-check so you can find units that cause endless l 09:03:59 meh. 09:04:29 `` units -- '-40degF' degC 09:04:29 ​* -22.222222 \ / -0.045 09:04:38 the multiplication should've tipped me off. 09:05:36 `` units -- '-40degR' K 09:05:36 ​* -22.222222 \ / -0.045 09:05:54 oren: i think it's affine unit hth 09:06:15 (also, when do you even add kelvin anyway) 09:07:06 kelvin temperatures, that is. you can of course add a kelvin temperature to a kelvin difference. 09:07:41 but afaik kelvin is almost affine even if it has a genuine zero point 09:08:14 (i'm hoping for someone to quote a formula to disprove me, btw) 09:08:48 i dunno any formulæ 09:09:20 https://en.wikipedia.org/wiki/Boltzmann_constant relates absolute zero temperature to a zero kinetic energy, under "average translational kinetic energy" 09:09:57 int-e: i mean a formula which adds kelvin temperatures hth 09:10:13 oerjan: I know. I was going to add that this still isn't done there. 09:10:23 But one could add energies ;-) 09:10:32 one could. 09:12:24 oerjan: but it's the only property I know that's not translation-invariant. 09:12:55 (of temperatures) 09:13:33 ok, so now it supports unlimited replacements 09:13:57 each of limited length 09:16:18 -!- CrazyM4n has quit (Quit: sleep). 09:17:55 SLEEP? ARE YOU CRAZY? LETS GET UP FOR MIDNIGHT DINNER 09:23:53 -!- SopaXorzTaker has joined. 09:23:53 -!- SopaXorzTaker has quit (Changing host). 09:23:53 -!- SopaXorzTaker has joined. 09:24:15 "The North Korean newspapers liked to run “human interest” stories about heroic citizens who lost their lives rescuing the portraits from fire or flood." 09:25:53 the Kim family are basically their version of God, so this is not surprising to me 09:33:09 -!- dts|pokeball has quit (Ping timeout: 245 seconds). 09:34:29 -!- roasted42 has joined. 09:38:06 -!- roasted42 has quit (Changing host). 09:38:06 -!- roasted42 has joined. 09:38:06 -!- roasted42 has changed nick to TheM4ch1n3. 09:47:11 -!- shikhin_ has joined. 09:47:28 -!- TheM4ch1n3 has quit (Ping timeout: 250 seconds). 09:50:04 -!- shikhin has quit (Ping timeout: 250 seconds). 09:52:07 -!- SopaXorzTaker has quit (Remote host closed the connection). 09:59:15 -!- oerjan has quit (Quit: leaving). 10:05:40 -!- adu has quit (Quit: adu). 10:09:12 in REGXY what happens if a line has stuff after its final / 10:15:15 nasal demons 10:15:33 k 10:15:45 (just kidding, never heard about REGXY) 10:16:15 well the wiki does not say what happens so i'll just have my implementation ignore it 10:19:45 -!- roasted42 has joined. 10:20:05 -!- AndoDaan has joined. 10:25:35 -!- roasted42 has quit (Ping timeout: 252 seconds). 10:29:04 Clearly it's a syntax error. 10:29:29 The wiki says "syntax is X", and X does not include that. 10:30:38 ok. i'll output an error. I'm implementing it in C++ 10:38:48 -!- roasted42 has joined. 10:48:23 -!- roasted42 has quit (Ping timeout: 240 seconds). 10:52:44 -!- roasted42 has joined. 10:57:18 -!- roasted42 has quit (Ping timeout: 244 seconds). 10:58:08 -!- roasted42 has joined. 10:59:38 -!- roasted42 has quit (Client Quit). 11:01:32 -!- roasted42 has joined. 11:15:04 -!- roasted42 has quit (Ping timeout: 244 seconds). 11:17:17 -!- roasted42 has joined. 11:19:01 Attention stupid standard authors: if your class includes a bit field of flags, please assign particular bits to particular flags. 11:28:29 -!- roasted42 has quit (Ping timeout: 256 seconds). 11:46:04 -!- roasted42 has joined. 12:07:30 -!- Patashu_ has quit (Ping timeout: 258 seconds). 12:14:15 -!- Jafet has left. 12:14:36 -!- Jafet has joined. 12:17:28 -!- roasted42 has quit (Ping timeout: 258 seconds). 12:19:52 I have found a better heuristic 12:20:43 -!- roasted42 has joined. 12:22:42 (Well, technically the same heuristic, but a better way of optimizing over it) 12:24:52 -!- roasted42 has quit (Ping timeout: 240 seconds). 12:36:09 the results are worse. that means clealy my heuristic is wrong' 12:36:18 -!- Zuu has quit (Ping timeout: 250 seconds). 12:43:34 so i'll try different functions of the length and number of occurrences... 12:56:26 -!- shikhin_ has changed nick to shikhin. 12:58:55 -!- J_Arcane_ has joined. 13:01:19 -!- J_Arcane has quit (Ping timeout: 255 seconds). 13:01:20 -!- J_Arcane_ has changed nick to J_Arcane. 13:02:13 -!- kallisti has quit (Ping timeout: 255 seconds). 13:04:02 -!- J_Arcane has quit (Quit: ChatZilla 0.9.91-rdmsoft [XULRunner 32.0.3/20140923175406]). 13:05:11 -!- J_Arcane has joined. 13:05:13 -!- roasted42 has joined. 13:18:37 -!- AndoDaan has quit (Ping timeout: 245 seconds). 13:18:43 -!- AndoDaan_ has joined. 13:21:04 -!- roasted42 has quit (Ping timeout: 245 seconds). 13:23:37 -!- SopaXT has joined. 13:23:37 -!- SopaXT has quit (Changing host). 13:23:37 -!- SopaXT has joined. 13:24:04 -!- SopaXT has changed nick to SopaXorzTaker. 13:24:27 -!- SopaXorzTaker has quit (Max SendQ exceeded). 13:24:52 -!- SopaXT has joined. 13:24:52 -!- SopaXT has quit (Changing host). 13:24:52 -!- SopaXT has joined. 13:28:18 -!- roasted42 has joined. 13:33:09 -!- roasted42 has quit (Ping timeout: 265 seconds). 13:33:40 -!- roasted42 has joined. 13:47:27 -!- AndoDaan_ has quit (Ping timeout: 272 seconds). 13:50:09 -!- roasted42 has quit (Ping timeout: 256 seconds). 13:54:28 -!- AndoDaan has joined. 13:59:56 -!- augur has quit (Remote host closed the connection). 14:00:14 -!- augur has joined. 14:01:05 -!- MoALTz_ has quit (Quit: brb). 14:01:20 -!- MoALTz has joined. 15:12:34 -!- boily has joined. 15:18:17 @metar CYQB 15:18:17 CYQB 281500Z 24011G17KT 5SM -DZ BR BKN010 OVC030 02/02 A2962 RMK ST6SC2 SLP033 15:18:40 +2. always +2. the whole week it's +2. I WANT SNOOOOOOOOW! 15:19:05 @metar EDDL 15:19:06 EDDL 281450Z 01005KT 9999 SCT020 M00/M05 Q1030 NOSIG 15:20:00 Mellovar. 15:20:27 `? M00 15:20:28 M00? ¯\(°​_o)/¯ 15:20:35 hmm... what was it again? 15:21:45 `? cow 15:21:46 A cow is an animal best served at minus zero degrees. 15:35:07 what 15:36:05 `? chicken 15:36:06 chicken? ¯\(°​_o)/¯ 15:36:27 `? poulet 15:36:28 poulet? ¯\(°​_o)/¯ 15:47:35 -!- shikhin_ has joined. 15:50:27 -!- shikhin has quit (Ping timeout: 244 seconds). 16:02:05 -!- Phantom_Hoover has joined. 16:17:22 @metar EFHK 16:17:22 EFHK 281550Z 35008KT 9999 -SN OVC009 M10/M12 Q1021 BECMG FEW009 16:18:42 @metar EGLL 16:18:43 EGLL 281550Z 35004KT 9999 FEW034 04/M02 Q1034 NOSIG 16:18:58 A delta of 14. 16:20:40 -!- Phantom_Hoover has quit (Quit: Leaving). 16:21:02 -!- Phantom_Hoover has joined. 16:28:47 -!- SopaXT has quit (Remote host closed the connection). 16:30:04 -!- GeekDude has joined. 16:33:44 -!- nys has joined. 17:14:03 -!- oerjan has joined. 17:17:05 -!- Zuu has joined. 17:47:17 -!- MoALTz has quit (Quit: Leaving). 18:00:01 -!- idris-bot has joined. 18:00:38 -!- vanila has joined. 18:00:41 http://boingboing.net/2010/04/15/colossal-turing-mach.html 18:01:45 -!- G33kDude has joined. 18:02:15 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 18:02:46 -!- G33kDude has quit (Client Quit). 18:05:14 -!- GeekDude has quit (Ping timeout: 245 seconds). 18:06:22 -!- idris-bot has quit (Quit: Terminated). 18:06:44 -!- Melvar has quit (Quit: New graphics card). 18:11:45 -!- GeekDude has joined. 18:11:56 -!- GeekDude has quit (Client Quit). 18:33:33 -!- drdanmaku has joined. 18:54:47 -!- vanila has quit (Remote host closed the connection). 19:04:11 -!- AndoDaan_ has joined. 19:04:24 -!- AndoDaan_ has quit (Client Quit). 19:07:55 -!- AndoDaan has quit (Ping timeout: 272 seconds). 19:08:04 -!- GeekDude has joined. 19:09:40 -!- Melvar has joined. 19:12:15 -!- GeekDude has quit (Client Quit). 19:12:56 -!- scoofy has quit (Ping timeout: 265 seconds). 19:41:15 -!- idris-bot has joined. 20:02:29 -!- Patashu has joined. 20:11:03 -!- oerjan has quit (Quit: Nite). 20:17:24 -!- Phantom_Hoover has quit (Ping timeout: 258 seconds). 20:25:28 -!- Patashu has quit (Ping timeout: 255 seconds). 20:27:09 -!- CrazyM4n has joined. 20:37:51 -!- scoofy has joined. 20:37:53 -!- scoofy has quit (Read error: Connection reset by peer). 20:39:18 -!- scoofy has joined. 20:46:08 What is with North Korea and rice cookers? 20:46:34 I get that South Korean rice cookers might be found objectionable, but are there not rice cookers manufactured elsewhere? 20:47:19 I... do not associate rice cookers with North Korea 20:49:44 At one point at least, it seems like they were banned, but I can't seem to find the relevent quote online 20:50:40 god damn it why does a WRONG algorithm achive better compression 20:51:09 "They would look for people who used more than their quota of electricity, a lightbulb brighter than 40 watts, a hot plate, or a rice cooker." 20:53:36 Sgeo: NK has no trade 20:53:44 I guess sounds more like an electricity thing? But apparently South Korean rice cookers are a symbol of status 20:53:48 coppro: no legal trade maybe 20:53:53 right 20:54:04 but where would they get a rice cooker from? options are SK and China 20:54:16 coppro, I thought NK had some trade with China? 20:54:29 I was under the impression that imports from China are probably not frowned on as much 20:54:41 http://www.dailynk.com/english/read.php?cataId=nk01500&num=3442 20:54:46 yes, there's a fair bit of trade with China 20:55:30 I associate rice cookers with being a fire hazard in student accomodation 20:56:51 had many rice cooker fires? 20:58:46 -!- xreal has joined. 20:59:09 -!- xreal has left ("Verlassend."). 21:01:20 scoofy, no, but they went on and on about them at the fire safety briefing 21:11:31 -!- Phantom_Hoover has joined. 21:31:54 -!- AndoDaan has joined. 21:37:07 Can anyone recommend an RCA -> VGA converter? 21:40:15 That's slightly ambiguous. 21:40:36 I mean, both component and composite video cables tend to use RCA connectors. 21:40:49 (On the other hand, I don't have any suggestions about either.) 21:41:51 I just want to be able to play ocarina of time on my monitor 21:42:10 I don't really know what I need 21:42:49 I've been using just a regular analog TV card I had lying around to plug my old PS1 to the computer, then open a live view of the video capture on the monitor. 21:43:10 But that's kind of convoluted. 21:44:24 If you want to plug it in directly to a monitor, what you need probably depends on what sort of inputs it has. 21:46:04 -!- MoALTz has joined. 21:46:57 I think you get composite (the one with a single, typically yellow RCA connector) and S-Video (it uses a mini-DIN kind of thing) out of a N64. 21:47:41 -!- Sprocklem has joined. 21:47:42 -!- shikhin has joined. 21:50:13 -!- scrudrv has joined. 21:50:25 I'll have to look into it 21:50:39 -!- shikhin_ has quit (Ping timeout: 245 seconds). 21:53:41 Some computer monitors I've encountered have had regular video inputs (like composite and S-video), though most probably not. (Especially new ones, since it's all digital all the way these days.) 21:56:14 If I can find a relatively cheap monitor with both RCA or SCART and VGA or DVI, I would now be sorely tempted 21:57:16 I don't think I've seen any with a SCART (it's so bulky). But I distinctly recall a monitor that had (I think) VGA, DVI, composite video and S-Video as inputs. 21:57:42 (Although it might have also been a CRT with VGA, the 5xBNC thing and those video inputs.) 21:58:11 I'll have to have a closer look at what cables I need 21:58:14 -!- scrudrv has quit (Ping timeout: 265 seconds). 21:59:38 Yeah, composite analogue video 22:00:09 I don't think you're going to find a new monitor with those inputs, though you might find an old one. Still, I'm sure you can get a reasonable cheap composite-video-to-VGA conversion box easier. 22:01:39 Or you could get a SGI Indy, it's got a composite video input (IIRC) and I'm sure it'd be worth a lot of street cred. 22:05:41 (If you want to have something that's possibly slightly more future-proof, you might pick up a thing that goes from composite video to, say, a HDMI out. There doesn't seem to be any price difference between those that generate a VGA output and those that do digital, since it needs an active conversion process anyway. But I don't have recommendations for those either.) 22:07:30 Would something like http://www.amazon.co.uk/dp/B000P3UB24 work? 22:08:33 That's for taking a VGA output (from a PC) and plugging to a TV that has a composite video input. 22:08:40 "Connect TV-output enabled video cards to your TV's RCA or S-Video connector" 22:09:09 Even with a female RCA port? 22:09:25 Yes. Composite video cables have a male connector at both ends. 22:09:40 Just look at the product description. 22:09:42 "If your video card or controller supports TV-out function, you can use this cable adapter to connect your PC's VGA port and your TV's S-Video or RCA-composite port. 22:09:45 ***PLEASE NOTE*** 22:09:47 This cable does not add TV-output functionality. If your video card/controller doesn't already have this function, this cable WILL NOT WORK for connecting your VGA output to a TV input." 22:11:43 That says nothing about whether it works for connecting RCA output to VGA inpuut 22:12:05 Presumably it would say something if it did. (It won't.) 22:12:13 -!- CrazyM4n has quit (Quit: going to eat food). 22:12:18 You need an active conversion step in there, not just a passive adapter like that. 22:12:59 OK 22:13:02 Okay, judging from the questions I guess that's a possible point of confusion. 22:13:07 I don't really know what I am looking for 22:13:59 Well, it will probably look like a box. 22:14:40 Unfortunately, apparently you can also get box-looking things for the other way around. 22:15:41 As far as I can tell, what you're looking for is something like http://www.amazon.co.uk/Prosteruk-DVD-Composite-S-Video-Converter/dp/B00EXPJVRQ/ref=sr_1_14 or for the digital version http://www.amazon.co.uk/Mini-Composite-CVBS-Converter-1080P/dp/B00HV9PBM0/ref=sr_1_2 22:16:06 http://www.amazon.co.uk/dp/B00D1JMAOG/ ? 22:16:09 (Disclaimer: the first options I could find, and should not be construed as a recommendation. Although I think I might have seen that latter one somewhere.) 22:16:27 That, too. 22:16:45 That's pretty similar to my first link. 22:17:33 In fact, I think it's the very same thing except with a different (re)branding. 22:18:04 I'm sure you could find a video nerd to tell you which box has the best upscaler. 22:18:26 Yeah, looks it 22:20:44 About "Attention stupid standard authors: if your class includes a bit field of flags, please assign particular bits to particular flags." who failed to assign the particular bits to particular flags? 22:21:33 We can deduce that a stupid standard author did. 22:21:40 Yes, but what standard? 22:28:25 Taneb: Incidentally, the HDMI version has but a single question: "Q: Will this allow me to use my N64 on my HD PC monitor?" "A: Yes. I am using it right now for that very purpose! Don't forget that you will need to sort something for sound though. (Unless you have a PC monitor with built in speakers of course.)" 22:28:41 Oooh 22:29:02 I cannot remember if one of my monitors has HDMI input, but I think it does 22:30:09 So I will bookmark that until I get back to York on the 5th 22:31:15 The HDMI box I picked up is composite-only (no S-Video), though. But if you don't have a S-Video cable for the N64 anyway, maybe that doesn't matter. 22:31:19 To "sort" out the sound, you can probably just plug the white/red RCA audio connectors from the N64 AV cable to wherever you want the sound to go, if your monitor does not do anything sensible with the HDMI input's audio side. 22:32:43 (This thing about putting speakers in everything is strange. My workstation at work has a built-in speaker somewhere inside the box, but also in the monitor, so I can make both the box and the monitor speak.) 22:32:52 (The monitor speaks more loudly, though.) 22:35:41 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 22:38:12 -!- S1 has joined. 22:48:31 -!- Phantom_Hoover has joined. 22:49:21 -!- Phantom__Hoover has joined. 22:49:28 -!- Phantom__Hoover has quit (Changing host). 22:49:28 -!- Phantom__Hoover has joined. 22:58:26 -!- Solace has joined. 23:14:25 Taneb: Hey, is the `thanks thing a Look Around You reference? 23:14:28 `thanks ants 23:14:28 Thanks, ants. Thants. 23:19:38 ? 23:20:01 -!- GeekDude has joined. 23:20:24 -!- Phantom__Hoover has quit (Read error: Connection reset by peer). 23:22:42 fizzie: Yes. 23:23:13 how does one resolve stack overflows 23:23:47 This is just a small question As this is my first time having one 23:26:09 call functions less 23:31:14 ok 23:32:50 Use automatic storage duration less, too. 23:35:01 fizzie, what do you use for photo hosting? 23:36:07 I have been taking more photos recently (no panoramas though) 23:36:37 I would like some sort of geo tagging integration, perhaps showing location of photo on open street map or something 23:40:26 Vorpal: I use Piwigo for our local for-relatives vacation photos, but it's not good. Neither was Gallery2. For the latter I had a handcrafted map thing. A few things I've just put to Flickr. 23:40:50 Hm 23:41:06 fizzie, so no real recommendation then? 23:42:12 All the run-your-own-gallery software I've found has sucked, more or less. Though they do *work*. 23:42:30 fizzie, any static generator ones? 23:42:58 I prefer to generate stuff statically, much less of a hassle. And I want to keep php off my server 23:43:17 Python or erlang or whatever I can deal with. Not php 23:43:38 I only remember trying out JAlbum or something, but it wasn't too good either. Also did work. 23:43:50 Hm 23:43:56 Haven't evaluated those thoroughly. 23:44:01 what part is "not good" about these in general? 23:44:15 If it works and isn't slow or such, what is the issue? 23:45:25 fizzie, also I forgot what you use to generate the blog at zem.fi. Custom? 23:46:15 Both Gallery2 and Piwigo are horrible messes of PHP with terrible admin UIs and (especially for Piwigo) logic. It's also real slow when generating images. 23:46:50 JAlbum was just very limited. But this was quite a while back. 23:47:01 Hm 23:47:14 Is jalbum static pre-generation? 23:47:30 zem.fi is custom, zem.fi/bfjoust is nanoc. 23:47:35 Yes. 23:47:48 I may remember the name wrong. 23:49:42 fizzie, what is up with zemhill_'s nick btw? 23:50:48 I don't think the bot framework tries to regain nick if it's not available at connect time. 23:51:06 So probably just a freenode hiccup. 23:53:07 I haven't had time to check if it's known bugs are still there after a VPS change, been kind of busy with this move stuff lately. 23:53:09 Ah 23:53:26 VPS change? Oh? 23:53:48 Switched from Tilaa to DigitalOcean. 23:54:09 Only have good comments for both, really. 23:55:32 Not that my VPS needs are very extensive. 23:56:01 VPS? 23:56:58 fizzie, why the switch then? 23:57:07 fizzie, I'm pretty happy with linode atm btw 23:57:44 Not that my site has much on it yet (https://vorpal.se/). That was why I was wondering about the album bit... 23:58:48 Vorpal: It was marginally cheaper for a bit more specs, and they had a new London datacenter, thought I'd give it a try. I think I had some further reasons too. Nothing very substantial. 23:58:59 Ah 23:59:36 fizzie, so our sites share cities then now 2014-12-29: 00:00:31 (Probably won't notice the lag difference between DO's London and what Tilaa's Amsterdam would have been like.) 00:00:47 Amsterdam should be slightly closer no? 00:01:18 For maybe four more days. 00:01:29 Eh? 00:01:32 Moving to London myself soon. 00:01:36 Oh, right 00:01:43 fizzie, where will you work then? 00:01:57 Also, is it permanent or just for x months? 00:02:40 -!- copumpkin has joined. 00:03:20 Google, and permanently. Well, I mean, it's not fixed-term. I highly doubt I'll be there for more than a century. 00:03:31 fizzie, JAlbum is shareware? 00:03:49 fizzie, right 00:04:24 Hm, how hard could it be to roll your own album generator? 00:04:31 -!- Phantom__Hoover has joined. 00:04:39 Some scripts using exiftool and such 00:05:47 Vorpal: I think that's new. Probably doesn't have much in common with the JAlbum I used, what, 8 years ago maybe. 00:06:02 Ah 00:06:15 Hard to find the other one then 00:07:05 It didn't do anything you couldn't recreate in a day. 00:07:48 Except maybe it had a GUI/wizard/something else of dubious worth. 00:08:30 Think I'll have to sleep now, still some packing to do. Night. 00:08:30 Hm 00:08:51 I prefer a js free solution too, I googled and found a js library thingy 00:09:20 Oh, by the way, I use feh for selecting album pictures. 00:10:01 fizzie, where is your album now again? 00:10:40 And what do you mean by using feh for that? Isn't that just a tool like eog or whatever? 00:11:06 Something like feh -ZFd --action1 ';ln ...whatever to symlink the current image to a subfolder...' and then using 1 to select images for inclusion. 00:11:18 Quite primitive, but works fine. 00:11:22 Heh 00:11:23 Nice 00:11:51 This sounds annoying to integrate with my current web site generation code though, which is haskell-based 00:17:27 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds). 00:35:37 -!- MoALTz_ has joined. 00:38:13 -!- MoALTz has quit (Ping timeout: 265 seconds). 00:42:04 -!- AndoDaan has quit (Quit: bbl). 00:42:09 fizzie, piwigo doesn't support postgre? Ouch 00:42:47 Yet another reason to avoid it 01:23:41 -!- oren has quit (Quit: Lost terminal). 01:38:50 -!- adu has joined. 01:40:33 -!- MoALTz__ has joined. 01:42:54 -!- MoALTz has joined. 01:43:09 -!- MoALTz_ has quit (Ping timeout: 245 seconds). 01:44:57 -!- MoALTz__ has quit (Ping timeout: 240 seconds). 01:51:13 -!- dts|pokeball has joined. 01:57:07 -!- mtve has quit (Read error: Connection reset by peer). 01:57:28 -!- mtve has joined. 02:14:16 -!- dts|pokeball has changed nick to dts. 02:15:21 -!- dts has changed nick to dts|pokeball. 02:26:10 Why do I get a "No such interface supported" error message in 7-Zip when trying to use the -si switch? 02:28:47 Whats it supposed to be doing? 02:29:37 It is supposed to be receiving the file from stdin 02:30:28 The documentation says for example "7z a archive.gz -tgzip -siDoc2.txt < Doc.txt" although I am doing it with a ZIP archive instead 02:31:28 ill go see if i get the same error 02:32:21 nope 02:33:25 idk what you are doing zzo38 to get that error 02:34:06 My command looks like "7z a \html\rpg\bin\unuselessness1.zip -siunuselessness1.exe < game.exe" 02:34:12 -!- Phantom__Hoover has quit (Remote host closed the connection). 02:38:01 what are you "trying" to do instead of what is it supposed to be doing 02:39:05 I try to add a file called "unuselessness1.exe" into the archive, its contents being the contents of the actual file called "game.exe" except for the filename. 02:39:58 so the file you want put in is unuselessness1.exe but its actual name.is game.exw 02:40:08 Yes 02:40:43 Is it because of the file names conflicting? 02:41:33 -!- paul2520 has joined. 02:41:33 -!- paul2520 has quit (Changing host). 02:41:33 -!- paul2520 has joined. 02:41:51 sometimes my stuff does that if its sudo name is example1.exe but its actually named example2.exe 02:41:53 No, it is because the program checks its own filename to determine the operation; the local file is called game.exe it doesn't care the other filename, but if it is renamed it automatically check for a file with the same name except .rpg at the end 02:42:36 oh well then i have no idea i usually have to manually check that so.it doesnt cause errors 02:42:53 god i keep hitting . instead of space 02:46:48 I shouldn't be trying to debug at 2:46am, should I? 02:47:48 Go ahead 02:48:26 being tired makes you code sloppier but faster and more efficiently in my experience 02:49:26 It's not even something I wrote 02:50:00 There is a segfault, which is mysterious because segfaults aren't meant to happen 02:53:31 but then how did it happen? 02:56:25 -!- adu has quit (Quit: adu). 03:05:56 dont you find that one episode of pokemon where ash saw some fish and he ran up and you could see on his face he was thinking "What the fuck are these" 03:06:20 that was an interesting moment to switch to this channel 03:10:34 me or you? 03:11:15 Im very forgetfull 03:11:19 anxiety please 03:42:11 -!- shikhin has quit (Ping timeout: 272 seconds). 04:06:16 -!- boily has quit (Quit: INCORRUPTIBLE CHIC´´´´´´´´§§§§§§§§§§§§§). 04:12:45 -!- oren has joined. 04:18:19 -!- adu has joined. 04:24:55 Lymia: http://cr.openjdk.java.net/~jrose/values/values-0.html looks relevant to the multiple value returns you wanted to do in Java 04:38:37 -!- adu has quit (Quit: adu). 04:39:32 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 04:56:01 -!- adu has joined. 05:12:51 -!- nys has quit (Quit: quit). 05:14:40 -!- Lymia has quit (Ping timeout: 255 seconds). 05:18:17 What I did is just make the batch file to rename the file before putting in the ZIP archive and then change back the name afterward to game.exe 05:32:46 -!- shikhin has joined. 05:38:49 -!- oren has quit (Ping timeout: 246 seconds). 05:57:48 -!- oerjan has joined. 06:00:29 this stupid email spammer has sent me 14 spams on the same day 06:01:19 us immigration spams 06:04:07 so when are you immigrating 06:04:47 i have no interest in moving to the us 06:05:30 it's like the Land of Exactly the Kind of Opportunities I Don't Want 06:06:51 of course that also describes this entire planet. 06:07:25 My family essentially told me that I'm not allowed to immigrate to the US in case I get murdered 06:07:58 did you tell them you're not black tmh 06:08:12 Yes, but they insisted 06:09:05 just tell them "OK I was wavering between the US and Mexico, but you've convinced me." 06:09:11 Eheheh 06:09:36 If I do emigrate somewhere it'd probably be to western europe or the antipodes 06:09:51 (does Australia count as emigrating? I have citizenship...) 06:10:25 yeah tell them you're going there for spider research 06:10:31 :P 06:11:24 -!- mitchs_ has joined. 06:12:13 I think part of the reason my family doesn't want me to work abroad is that my dad decided to do that for a couple of years and then he got married and lives there 06:13:17 -!- mitchs has quit (Ping timeout: 244 seconds). 06:14:04 And that's how my parents met 06:14:17 that's what i thought but i was afraid to ask 06:14:56 which makes me confused how you got to england 06:15:09 My dad's Australian by birth 06:15:20 oh 06:15:34 ok makes more sense 06:16:09 Although if I emigrate and have children, my children will have migrants for three generations of the male line 06:16:16 -!- mitchs_ has quit (Ping timeout: 264 seconds). 06:16:57 fancy 06:18:17 (my grandfather was Dutch whose family emigrated to Australia when he was young) 06:20:37 i don't think there were any immigrants in my family for several generations, but further back there are some dutch 06:20:49 those people got around 06:24:48 -!- AndoDaan has joined. 06:29:21 i live in America 06:29:40 and im constantly scared for my families life and my own 06:30:04 since America treated irish immigrants like shit for a long time 06:30:12 they still do 06:32:10 yeah I'm sure you're going to be murdered for being white irish (get real) 06:32:49 :l 06:33:22 because living in a racist country and just cause im white? makes me not prone to murder? 06:34:04 I retract my unintended initiation of this conversation. 06:35:08 That get real comment makes me mad i wouldnt have to worry for safety of my family if the city i lived in didnt hate everyone who is an immigrant 06:36:07 Dont just say that my family is Completely fine just because we are the same skin colour as everyother white person :l 06:36:55 Anyways back to that there code 07:02:21 -!- AndoDaan has quit (Read error: Connection reset by peer). 07:09:40 -!- Sprocklem has quit (Ping timeout: 264 seconds). 07:11:46 -!- adu has quit (Quit: adu). 07:12:01 -!- AndoDaan has joined. 07:20:27 -!- S1 has quit (Quit: S1). 07:25:06 -!- qwertyo has joined. 07:30:19 -!- MoALTz has quit (Quit: Leaving). 07:38:57 -!- qwertyo has quit (Ping timeout: 240 seconds). 07:39:28 -!- qwertyo has joined. 07:39:35 -!- Patashu has joined. 07:56:01 -!- SopaXT has joined. 07:56:01 -!- SopaXT has quit (Changing host). 07:56:01 -!- SopaXT has joined. 07:59:51 -!- Froox has joined. 08:00:18 -!- shachaf has quit (Ping timeout: 252 seconds). 08:00:18 -!- Frooxius has quit (Ping timeout: 252 seconds). 08:01:05 -!- shachaf has joined. 08:07:14 -!- qwertyo has quit (Ping timeout: 265 seconds). 08:07:50 -!- qwertyo has joined. 08:11:00 -!- SopaXT has changed nick to SopaXorzTaker. 08:15:34 -!- mitchs has joined. 08:17:34 -!- augur_ has joined. 08:18:59 -!- glguy has quit (Ping timeout: 252 seconds). 08:19:21 -!- augur has quit (Ping timeout: 252 seconds). 08:36:09 "Queen+King vs Rook+King turns out to be a forced win for the advantaged player with the Queen, but takes >50 moves to materialize. A later ruling had to allow an exception to the 50 move rule to account for grandmaster play that could force a win from the position, but required more than 50 moves to succeed." 08:36:43 -!- qwertyo has quit (Ping timeout: 255 seconds). 08:37:04 -!- qwertyo has joined. 08:37:06 Maybe there is a better way to fix it? 08:41:30 What is this later ruling exactly? 08:42:32 * Sgeo doesn't know 08:44:04 -!- mitchs_ has joined. 08:44:09 -!- mitchs has quit (Ping timeout: 244 seconds). 08:44:12 Clearly once a game reaches seven pieces, the result should be determined automatically 08:45:15 I don't think so. 08:49:32 The game should be played unless one player resign, it end in a draw, or if you run out of time. If one player has time trouble maybe they cannot think of the way to win in a few seconds even if you have a forced win; in such a case you should try anyways, and probably you will lose. 08:50:19 However, for the reason specified above and for other reasons, maybe the fifty moves rule should be abolished. (You still have a draw by repetition rule, which probably is working good enough.) 09:06:04 Draw by repetition alone may not resolve a perpetual check, if the player under check can move pieces in a way that avoids repetitions. 09:06:54 -!- qwertyo has quit (Ping timeout: 245 seconds). 09:07:48 -!- qwertyo has joined. 09:08:42 Vorpal: It does, actually. It's just slightly experimental, so they don't advertise it. 09:08:56 Vorpal: FWIW, IIRC Gallery2's PostgreSQL support left something to be desired too. 09:14:18 Vorpal: (I run a copy of MariaDB for Piwigo.) 09:18:28 Jafet: _eventually_ it does. 09:18:54 the time could conceivably be exponential in the worst case, though. 09:23:01 But still a constant 09:24:08 Anyone feel like playing a round of chess? 09:24:18 > exp (exp (exp (exp 1))) -- constant 09:24:21 Infinity 09:37:29 -!- qwertyo has quit (Ping timeout: 272 seconds). 09:37:55 -!- qwertyo has joined. 09:48:37 -!- shikhin_ has joined. 09:51:34 oerjan: am I to assume 111 is not at all enticing for you :p 09:51:38 -!- shikhin has quit (Ping timeout: 244 seconds). 09:52:02 AndoDaan: e4 09:52:51 -!- coppro has left ("going to be kicked by elliott"). 09:52:57 -!- coppro has joined. 09:53:03 I kinda meant on chess.com, but I'm up for it like this. 09:53:04 abuse of mod authority right there 09:54:43 coppro, e5 09:54:54 AndoDaan: I would be up for a game if I didn't need to go to sleep 09:55:07 (also I would have opened d4; I much prefer queen's pawn openings as white) 09:55:32 Me too. Less theory to it. 09:55:47 But np, maybe next time. 09:58:40 sorry, I don't play chess, it's not my kind of game 09:59:23 Not a fan of boardgames in general, or particularly chess? 09:59:45 Not a fan of games where I have to think. 09:59:54 I like fun boardgames like Settlers of Catan. 09:59:57 elliott: well for both your version and oren's, i'm not sure how convenient length prefixes and no internal escaping is to handle 10:00:19 But not serious boardgames like chess or go or backgammon, nor other serious games like bridge. 10:00:50 but your version has the additional annoyance that the prefix is as long as the string itself 10:01:10 I'd think Settlers of Catan can be played as seriously as Chess. 10:01:26 I did for a bit. 10:01:26 while his of course has that 256 length limit 10:01:36 Yes it can, but I play it more like a party game, not a serious game. 10:01:48 anyway it's somewhat interesting, but i haven't thought hard about it 10:02:59 * oerjan has a feeling from his stomach that he's drunk too much cola over christmas 10:03:44 I'm gonna try to give up cola 10:04:30 well it's seems i have to cut down a bit until my stomach improves 10:04:33 *-'s 10:05:20 b_jonas: hm i feel the same way about chess but i still like solitary puzzles - i think it's that NP vs. PSPACE split i've remarked on before 10:05:54 which becomes extra hard if i have to compete with someone else too 10:07:39 I enjoy chess but I'm not very good at it 10:07:53 -!- qwertyo has quit (Ping timeout: 272 seconds). 10:08:31 -!- qwertyo has joined. 10:13:46 oerjan, are the IWC fora down for you? 10:14:29 Taneb: yes, it seems down 10:14:35 :((( 10:14:47 which is bad news because dmm is on summer vacation 10:15:25 the message is "A database error occurred. This should be temporary. Please try again later. Do not notify me about this - there's nothing I can do about it." 10:15:53 wait, the forum is up now 10:16:01 only the iwc main page is down 10:16:09 -!- Lymia has joined. 10:16:20 Taneb: try http://www.irregularwebcomic.net/draakslair/index.php directly 10:16:39 Ahaha thanks 10:18:10 I think I'm gonna write a program that generates my resume in Markdown format. 10:18:47 J_Arcane: make sure to convert it through a dozen intermediate formats, Markdown being the middle one 10:19:32 heh heh. 10:20:21 make a resume that is an ourobouros program hth 10:20:35 *-u 10:30:10 -!- Solace has quit (Quit: Connection closed for inactivity). 10:31:54 fizzie, hm. Yeah I'll roll my own instead 10:32:26 To make something basic shouldn't be THAT hard 10:37:05 I did a horrible thing 10:37:05 http://lpaste.net/117410 10:37:13 -!- qwertyo has quit (Ping timeout: 258 seconds). 10:37:53 Taneb: um, what does that do? 10:38:00 -!- qwertyo has joined. 10:38:04 b_jonas, computes collatz length 10:38:11 -!- SopaXorzTaker has quit (Remote host closed the connection). 10:38:37 >>> collatz 27 10:38:37 111 10:39:41 -!- SopaXorzTaker has joined. 10:42:49 [ -:`(1+3*])@.(2&|)^:30] 27 10:42:50 b_jonas: 350 10:43:06 [ -:`(1+3*])@.(2&|)^:(<30) 27 10:43:07 b_jonas: 27 82 41 124 62 31 94 47 142 71 214 107 322 161 484 242 121 364 182 91 274 137 412 206 103 310 155 466 233 700 10:43:22 [ -:`(1+3*])@.(2&|)^:(100+i.20) 27 10:43:22 b_jonas: 53 160 80 40 20 10 5 16 8 4 2 1 4 2 1 4 2 1 4 2 10:43:59 [ 24]\ -:`(1+3*])@.(2&|)^:(<120) 27 10:43:59 b_jonas: 27 82 41 124 62 31 94 47 142 71 214 107 322 161 484 242 121 364 182 91 274 137 412 206 10:43:59 b_jonas: 82 41 124 62 31 94 47 142 71 214 107 322 161 484 242 121 364 182 91 274 137 412 206 103 10:43:59 b_jonas: 41 124 62 31 94 47 142 71 214 107 322 161 484 242 121 364 182 91 274 137 412 206 103 310 10:43:59 b_jonas: 124 62 31 94 47 142 71 214 107 322 161 484 242 121 364 182 91 274 137 412 206 103 310 155 10:43:59 b_jonas: 62 31 94 47 142 71 214 107 322 161 484 242 121 364 182 91 274 137 412 206 103 310 155 466 10:44:00 b_jonas: ... 10:44:44 [ _24]\ -:`(1+3*])@.(2&|)^:(<120) 27 10:44:44 b_jonas: 27 82 41 124 62 31 94 47 142 71 214 107 322 161 484 242 121 364 182 91 274 137 412 206 10:44:44 b_jonas: 103 310 155 466 233 700 350 175 526 263 790 395 1186 593 1780 890 445 1336 668 334 167 502 251 754 10:44:44 b_jonas: 377 1132 566 283 850 425 1276 638 319 958 479 1438 719 2158 1079 3238 1619 4858 2429 7288 3644 1822 911 2734 10:44:44 b_jonas: 1367 4102 2051 6154 3077 9232 4616 2308 1154 577 1732 866 433 1300 650 325 976 488 244 122 61 184 92 46 10:44:44 b_jonas: 23 70 35 106 53 160 80 40 20 10 5 16 8 4 2 1 4 2 1 4 2 1 4 2 10:47:10 -!- shikhin_ has changed nick to shikhin. 10:48:41 -!- oerjan has quit (Quit: Later). 10:49:45 -!- SopaXorzTaker has quit (Remote host closed the connection). 10:50:05 -!- SopaXorzTaker has joined. 10:50:05 -!- SopaXorzTaker has quit (Changing host). 10:50:05 -!- SopaXorzTaker has joined. 10:55:22 Wat 10:55:24 Oh 11:07:28 -!- qwertyo has quit (Ping timeout: 255 seconds). 11:08:17 -!- qwertyo has joined. 11:08:33 -!- Lymia has quit (Ping timeout: 256 seconds). 11:16:15 -!- Lymia has joined. 11:16:15 -!- Lymia has quit (Changing host). 11:16:15 -!- Lymia has joined. 11:18:09 uhm 11:37:10 -!- qwertyo has quit (Ping timeout: 255 seconds). 11:38:01 -!- qwertyo has joined. 11:40:52 -!- qwertyo has quit (Client Quit). 11:41:39 -!- oren has joined. 11:59:14 -!- Patashu has quit (Ping timeout: 265 seconds). 12:25:58 -!- Froox has changed nick to Frooxius. 12:28:59 Vorpal: We have a dynamic thing mostly because we wanted to have at least some sort of nominal user account thing to hide pictures of people behind. (Though I guess regular .htaccess would've been fine.) 12:29:20 elliott: My wife wanted me to tell you that these computers (esp. the SGI monitor), them be heavy. Just so you know. 12:29:50 fungot, are these computers heavy? 12:29:50 b_jonas: you may be holding haley's-- fort, seven days to the east. our food shipment is four days late, and all that. 12:30:07 sounds bad 12:49:00 Markdown's handling of newlines is dumb. 12:55:05 -!- Phantom_Hoover has joined. 12:55:51 -!- Phantom__Hoover has joined. 12:59:02 -!- Phantom__Hoover has quit (Client Quit). 13:01:24 -!- shikhin has changed nick to Shikhin. 13:05:00 -!- Shikhin has changed nick to shikhin. 13:22:21 -!- zor7 has joined. 13:27:59 -!- zor7 has quit (Quit: Leaving). 13:58:23 -!- GeekDude has joined. 13:59:03 -!- SopaXorzTaker has quit (Remote host closed the connection). 14:00:08 -!- SopaXorzTaker has joined. 14:09:36 Voila, the fruit of my efforts: https://github.com/jarcane/resume.hsy 14:16:13 -!- glguy has joined. 14:29:50 -!- AndoDaan_ has joined. 14:32:23 -!- AndoDaan has quit (Ping timeout: 240 seconds). 14:33:07 -!- SopaXorzTaker has quit (Quit: SIGINT). 14:33:41 -!- SopaXorzTaker has joined. 14:33:41 -!- SopaXorzTaker has quit (Changing host). 14:33:42 -!- SopaXorzTaker has joined. 14:34:49 -!- AndoDaan_ has quit (Ping timeout: 256 seconds). 14:35:56 http://en.wikipedia.org/wiki/Bush_hid_the_facts 14:36:25 what were they thinking?! 14:37:49 utf16 is a terrible idea 14:39:02 specifically, using utf16 along with ASCII is a terrible idea 14:49:57 -!- boily has joined. 14:51:35 -!- SopaXorzTaker has changed nick to fibonacci. 14:51:45 -!- fibonacci has changed nick to SopaXorzTakeer. 14:51:48 -!- SopaXorzTakeer has changed nick to SopaXorzTaker. 14:52:06 -!- SopaXorzTaker has changed nick to HappyXorzRaey. 14:53:17 -!- HappyXorzRaey has changed nick to SopaXorzTaker. 15:19:26 -!- `^_^v has joined. 15:19:29 -!- nys has joined. 15:37:06 -!- SopaXorzTaker has quit (Read error: Connection reset by peer). 15:37:58 -!- SopaXorzTaker has joined. 15:37:58 -!- SopaXorzTaker has quit (Changing host). 15:37:58 -!- SopaXorzTaker has joined. 15:38:02 fizzie, ah 15:44:54 -!- vanila has joined. 15:48:06 -!- shikhin_ has joined. 15:50:39 -!- shikhin has quit (Ping timeout: 245 seconds). 15:55:23 -!- boily has quit (Quit: BOARDED CHICKEN). 16:15:17 -!- dts|pokeball has quit (Ping timeout: 240 seconds). 16:26:13 -!- mihow has joined. 16:37:13 -!- myname has quit (Ping timeout: 244 seconds). 16:37:20 -!- myname has joined. 16:39:16 -!- dianne_ has joined. 16:39:28 -!- dianne_ has quit (Changing host). 16:39:28 -!- dianne_ has joined. 16:39:36 -!- dianne has quit (Disconnected by services). 16:39:39 -!- dianne_ has changed nick to dianne. 16:50:40 -!- adu has joined. 16:59:53 -!- AndoDaan has joined. 17:04:48 -!- FreeFull has quit (Ping timeout: 244 seconds). 17:09:41 -!- rade has joined. 17:15:56 -!- FreeFull has joined. 17:26:49 -!- mitchs_ has quit (Ping timeout: 244 seconds). 17:29:09 -!- mitchs has joined. 17:49:35 -!- SopaXorzTaker has quit (Remote host closed the connection). 17:57:05 -!- mitchs_ has joined. 17:57:52 -!- mitchs has quit (Ping timeout: 255 seconds). 18:20:36 -!- mysanthrop has joined. 18:24:00 -!- yiyus_ has joined. 18:26:10 -!- shachaf_ has joined. 18:29:09 -!- myname has quit (*.net *.split). 18:29:09 -!- vanila has quit (*.net *.split). 18:29:09 -!- GeekDude has quit (*.net *.split). 18:29:09 -!- shachaf has quit (*.net *.split). 18:29:09 -!- yiyus has quit (*.net *.split). 18:29:10 -!- Sprocklem has joined. 18:30:15 -!- oerjan has joined. 18:32:12 @metar ENVA 18:32:13 ENVA 291820Z 29019KT 8000 DZRA SCT009 BKN014 05/03 Q1019 TEMPO 3000 DZRA BKN009 RMK WIND 670FT 28023KT 18:32:36 today: the great trinity of rain, sleet and ice 18:33:19 @metar LOWI 18:33:20 LOWI 291820Z 09003KT 060V120 3000 SN SCT005 BKN020 M04/M05 Q1027 R08/19//95 TEMPO 1500 BKN009 18:33:39 just snow. 18:34:40 -!- MoALTz has joined. 18:48:05 @metar EFHK 18:48:06 EFHK 291820Z VRB02KT 5000 IC SCT002 M20/M23 Q1026 NOSIG 18:48:09 Just cold. 18:48:29 Don't think I've seen "IC" before. 18:48:45 Maybe it has something to do with ice. 18:48:50 @metar EGLL 18:48:50 EGLL 291820Z 28002KT CAVOK 03/01 Q1042 18:48:58 Now there's a delta of 23 degrees. 18:49:41 -!- fungot has quit (Remote host closed the connection). 18:54:44 NOOOO 18:55:05 did you just pack fungot 18:57:47 pack?! 18:58:14 istr runs on one of fizzie's physical boxes, so if he is moving... 18:58:26 *+fungot 18:59:07 I missed the "moving" part, thanks. 18:59:15 -!- mihow has quit (Quit: mihow). 19:05:57 -!- shikhin_ has changed nick to shikhin. 19:13:54 oerjan: I just moved the box from our extra room to the "staging area" in the living room. 19:14:32 oerjan: We're leaving it here until we have a permanent address, at which time the movers will come pack it up. 19:14:49 AAAAAAAAAAAAAAAAAAAAAAAAA 19:15:00 oerjan: My prognosis is that the box will go inexplicably offline somewhere between two and six days after we've left, but at least we've tried. 19:15:15 oh. 19:15:25 (Anyway, I'll be taking a copy with me, so I can set it up temporarily elsewhere when/if that happens.) 19:20:16 -!- fungot has joined. 19:20:21 fungot: How are you feeling? 19:20:22 fizzie: where is perl6? hmm. maybe the snake has no interest in ant wars, ant ids are given on the anthill, generating several kill pockets.) ( 200 0.) 19:20:31 Business as usual, I think. 19:20:57 ^style 19:20:57 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:21:16 anthills, hmm 19:24:49 -!- TodPunk has quit (Ping timeout: 245 seconds). 19:32:48 -!- Solace has joined. 19:33:07 How do you do that ghosting command that kicks a person off your account 19:33:33 /msg nickserv ghost nick password 19:33:41 (no need for the password if you're identified to an account that has nick linked) 19:35:50 thanks 19:40:51 -!- MoALTz has quit (Quit: Leaving). 19:44:55 @metar ESSA 19:44:55 ESSA 291920Z 23007KT 9999 BKN007 M05/M05 Q1023 R01L/19//64 R08/19//61 R01R/19//55 TEMPO BKN004 19:46:30 -!- mihow has joined. 19:50:38 Ah, good comment about "slur": "'The same data may not be offered twice.' -- Oh please, you're targeting psychopaths, so why bother with setting up rules that you can't enforce?" 20:00:35 -!- Patashu has joined. 20:01:44 -!- TodPunk has joined. 20:03:12 -!- arjanb has joined. 20:06:59 elliott: You're in luck. In a cardboard box marked "pots, pans and textiles" in our basement, I found a piece of buried treasure: an extra fast-SCSI cable, the "webcam" (they didn't call it that) for the Indy, and (most importantly) an actual 13W3-13W3 monitor cable, which should be good enough for connecting both computers to the monitor so that you can actually see things. 20:07:00 Oh well. It's an evil idea that deserves to fail; but it might actually work on a smaller scale (trading celebrity photos, incriminating information on politicians, and the like. I don't expect anything on the state secret level; more day-to-day blackmail material. 20:07:39 Oh, and what I think is an actual SGI three-button mouse, though IIRC that thing eats regular PS/2 keyboards and mice. 20:07:59 I haven't actually booted any of that stuff up yet, that's next on the list. 20:08:23 Hmm, a mouse-eats-mouse world 20:08:53 fizzie: is it extra fast, or just extra? 20:12:53 Ah, good comment about "slur" <-- would you like to be swatted for referring vaguely to obscure things with ungoogleable names? 20:15:15 * oerjan gets the bright idea of adding site:reddit.com to the search 20:15:25 oerjan: only if you take on google for 'go' 20:16:27 int-e: that's not ungoogleable it's the fourth hit hth 20:16:48 oerjan: on google! 20:17:33 "Go.com is the top-level home on the Internet to the online properties of The Walt Disney Company." 20:17:35 http://www.reddit.com/r/Bitcoin/comments/2qb6q6/wikileaks_introduces_slur_a_torbitcoin_based_open/ looks relevant 20:18:06 http://www.reddit.com/r/Bitcoin/comments/2qb5wf/introducing_slur/ 20:18:24 I thougyht those people were not affiliated with wikileaks 20:18:34 int-e: it's not my fault google can cheat with googleability hth 20:19:20 also the language has been around for a couple of years 20:19:33 and anyway, you did find it 20:19:53 elliott: Just an extra, and fast. 20:20:01 The Indy makes a sound reminiscent of a chainsaw. 20:20:03 int-e: well yeah but i had to think laterally enough to realize it would be something that reddit would grab onto 20:20:06 I don't think it used to do that. 20:20:16 At any rate, it successfully booted up to a login screen. 20:20:23 nice! 20:20:32 I have absolutely no recollection what sort of usernames or passwords it may have had. 20:22:24 hunter2 hth 20:22:28 root 20:22:35 (a user name is easy) 20:23:10 did those things come with guest accounts for showing off the cool 3D stuff? 20:24:30 * int-e recalls playing forever with some deep menu built from rotating blocks 20:24:30 I'm not aware. 20:24:43 I know you can reset things with the IRIX installation media, which I don't have. 20:24:48 -!- dts|pokeball has joined. 20:25:28 -!- Patashu has quit (Ping timeout: 255 seconds). 20:25:44 I think you can also netboot it. 20:30:21 All these password lists I have are too new, too. 20:31:15 -!- nycs has joined. 20:32:08 I think I'll postpone further thinking when that stuff arrives. I'm sure something can be figured out. 20:33:30 -!- `^_^v has quit (Ping timeout: 265 seconds). 20:39:31 Heh, I seem to have a "unidirectional" SCSI cable here. 20:39:44 -!- vanila has joined. 20:39:45 hello 20:39:58 In the sense that only one of the connectors fits the SCSI disk box, while both fit the SPARC. 20:40:15 (I seem to have used a knife to trim some extra plastic off the other end.) 20:45:22 Hooray, root canal. 20:45:29 (rarely used sentiments) 20:46:17 On the "bad news" side, there's no picture out of the SparcStation. But it might just be because the SGI monitor is incompatible. I don't remember ever using the SPARC with it, just with my old PC CRT (with the 13W3-to-4x-BNC cable). 20:46:35 brilliant ... https://code.google.com/p/blockchain/source/browse/trunk ... 350k source code, 350k binary, 750k visual studio configuration (garbage) and a 127MB test data file... very economical 20:47:01 Could try the serial console, but don't have so many serial ports around here either. 20:51:56 I think I'll postpone that too, since there's other things to take care of. 20:52:13 -!- oerjan has quit (Quit: callooh callay). 21:06:35 -!- projectmonarch has joined. 21:23:55 -!- projectmonarch has left ("Leaving"). 21:25:24 In the insurance form, I'm supposed to list all this stuff and how much it would cost to replace them. 21:26:23 That sounds hard to quantify. 21:27:51 -!- roasted42 has joined. 21:28:12 -!- roasted42 has quit (Changing host). 21:28:12 -!- roasted42 has joined. 21:28:12 -!- roasted42 has changed nick to TheM4ch1n3. 21:28:16 -!- MoALTz has joined. 21:35:06 -!- mysanthrop has changed nick to myname. 21:35:44 Walking everywhere to get vibes from the spirit of God (Jesus), is cool, breathing in on plants and out on where people are looking where they are going is better. 21:36:19 What? 21:36:26 hi 21:36:29 Wrong kind of esoterics? 21:37:31 I don't get the breathing out on people bit. 21:37:50 just some research I am into, by avoiding churches, then mimicing the lord's behavour to re-aquire the knowledge he left physically within humanity itself 21:38:07 Ccool TheM4ch1n3 Nice to meet you 21:38:19 :) 21:38:40 Sounds like gnoticism.\ 21:38:45 fungot, is breathing in on plants and out on where people are looking where they are going better? 21:38:45 b_jonas: " this means that i'm probably the only way you can have fnord on the gay sex moved there instead of 21:38:57 yeah, after talking to over 1000 people, in my lifetime (I imagine) - one realizes that most institutions suck. 21:39:13 fungot: stop making sense! 21:39:13 int-e: well here's my code... 21:39:18 haha 21:39:23 `esoteric 21:39:23 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: esoteric: not found 21:39:27 `welcome 21:39:28 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.) 21:39:29 Thar. 21:39:51 b_jonas: well it works through karma, shared vision = temporil boosted thought 21:40:31 temporally? temporarily? 21:40:53 maye temporal. 21:41:02 my research has lead me to believe that when he was around, he had been boosting hes thinking power using the people - literally 21:41:04 That better be a word. 21:41:45 Some sort of telepathy, or shared brainwaves? 21:41:49 AndoDaan: maye? doubtful. 21:41:53 TheM4ch1n3, sometimes, souls discard certain energy types from themselves 21:42:05 int-e: yeah - temporarily - ispell, is one command I should use more often 21:42:15 or aspell, whatever 21:42:18 h. 21:42:23 ha* 21:42:56 AndoDaan: more like, the spirit of God living within humanity at some level of evolution of GOD 21:43:04 a spell checker doesn't help when I'm confusing similar words (dilate, dilute, delate, delayed, delete, delight, delude) 21:43:29 How can God evolve? 21:44:17 I mean, perfection must stretch back to infinity, otherwise it loses its meaning. 21:44:57 * pikhq just thinks there's no such think as a god or gods 21:44:59 phew, "delate" is uncommon. 21:46:53 int-e: yes. 21:47:14 but being uncommon doesn't help if you're trying to spellcheck stuff 21:47:22 -!- TheM4ch1n3 has quit (Ping timeout: 245 seconds). 21:48:32 -!- shikhin_ has joined. 21:48:44 AndoDaan: perfection evolves over time 21:49:25 fungot, does perfection evolve over time? 21:49:25 b_jonas: but it's always in the same timezone doesn't mean your day/ night at work, they just do 21:49:26 -!- roasted42 has joined. 21:49:34 `8-ball does perfection evolve over time? 21:49:37 Most likely. 21:49:38 oh my 21:49:55 `8-ball do you usually give more useful answers than fungot does? 21:49:55 b_jonas: which code exactly? " both take a list like ( a. 3)), 21:49:55 Don't count on it. 21:50:24 erm, sorry - what was my last line ? 21:50:28 -!- roasted42 has quit (Changing host). 21:50:28 -!- roasted42 has joined. 21:50:28 -!- roasted42 has changed nick to TheM4ch1n3. 21:51:43 -!- shikhin has quit (Ping timeout: 256 seconds). 21:53:56 -!- Sprocklem has quit (Ping timeout: 244 seconds). 21:53:58 `8-ball is the sky blue? 21:53:59 Reply hazy try again. 21:56:02 it is pretty cloudy 21:56:37 @metar LOWI 21:56:38 LOWI 292150Z VRB01KT 2000 SN FEW003 SCT010 BKN015 M04/M05 Q1030 R08/19//95 NOSIG 21:57:12 cloudy, predominantly nlack though. 21:57:16 *black 21:57:55 nlack, the other n-word. 21:58:13 I didn't make the qwerty layout. 22:00:52 AndoDaan: also, my research shows = he had been using the good karma from crowds of people - to bring heaven on Earth to those people, then use said return karma to do other things - like raise the dead 22:01:49 that's the weirdest definition of "my research shows" that I've ever seen. 22:02:09 AndoDaan: then realizing hes diciples where not normal people, they had been living with God - it all starts to make sense 22:03:18 -!- GeekDude has joined. 22:04:01 -!- sebbu has quit (Ping timeout: 255 seconds). 22:04:33 Not normal, like, some divinity got imprinted on them? 22:04:34 int-e: well it is based on concepts of karma out = karma in - do good, and good returns - if it builds up to high and pulls in an 'evil - do-er', invert them infront of you, hate->love - cursing->blessing ... etc ... 22:04:58 AndoDaan: exactly 22:08:20 Their share of the divine didn't strech far then, considering your view of the institution they had set up. 22:10:10 -!- TheM4ch1n3 has quit (Ping timeout: 265 seconds). 22:10:38 -!- sebbu has joined. 22:11:01 -!- roasted42 has joined. 22:11:18 -!- sebbu has quit (Changing host). 22:11:18 -!- sebbu has joined. 22:11:23 AndoDaan: exactly, he had been "turning on, and turning off peter" using yes and no, before returning to himself(back then)/father(future??) 22:23:36 AndoDaan: is a short private message ok, my lag issue with multiple pingouts, rejoins is upsetting me 22:25:36 elliott: Here, a teaser trailer: https://www.dropbox.com/l/ibHE53Yl1CFHHO9yhQ7Jeu 22:27:16 Ah. Though I'm having fun, I can't afford to get my head back to thinking about God. It drove me insane a while back. I'll have to pass. :) 22:27:19 fizzie: :D 22:27:20 elliott: And as a bonus, boot-up sounds: https://www.dropbox.com/s/azl00sxqvi70ix0/indy_boot.ogg?dl=0 22:27:21 this is so great 22:31:22 -!- dts|pokeball has quit (Ping timeout: 258 seconds). 22:39:21 AndoDaan: well it is a standing invitation to correct any insanity, as I've already been there and done that ;) 22:40:10 -!- Solace has quit (Quit: Connection closed for inactivity). 22:47:16 -!- dts|pokeball has joined. 22:47:23 -!- roasted42 has quit (Ping timeout: 265 seconds). 22:48:48 -!- roasted42 has joined. 22:51:08 -!- Solace has joined. 22:51:21 Yay now i need a mask 22:51:47 -!- adu has quit (Ping timeout: 256 seconds). 22:51:49 Solace &= dMASK; 22:51:56 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 22:52:06 wat 22:52:26 I masked out your bits :p 22:52:37 Pssht 22:52:44 I need that unaffiliated thing 22:52:47 * roasted42 |= dClothing_MASK; 22:52:52 I dont need this ip showing 22:53:12 Wheres that um? chat with all those mods? 22:53:27 tor ? 22:53:52 Nah 22:54:08 msg nickserv help 22:54:13 Ok ill just use my phone app for dis 22:54:15 Peace 22:54:18 -!- Solace has quit (Client Quit). 22:55:10 yeah, I've still gotta run around telling people there phone can go onto IRC, I think I will phrase it so: "IRC, has been around since before facebook!!" 23:01:22 -!- nycs has quit (Quit: This computer has gone to sleep). 23:07:01 -!- shachaf_ has changed nick to shachaf. 23:10:30 -!- rade has quit (Quit: Leaving). 23:11:04 -!- mitchs_ has quit (Quit: mitchs_). 23:12:50 -!- rade has joined. 23:27:53 -!- roasted42 has quit (Ping timeout: 240 seconds). 23:29:44 -!- roasted42 has joined. 23:30:02 -!- GeekDude has quit (Read error: Connection reset by peer). 23:30:13 -!- TodPunk has quit (Read error: Connection reset by peer). 23:30:13 -!- GeekDude has joined. 23:30:24 -!- Tod-Autojoined has joined. 23:32:01 -!- adu has joined. 23:34:28 -!- mihow has quit (Quit: mihow). 23:39:13 -!- drdanmaku has joined. 23:41:42 Thx, roasted42, I'll keep it in mind. :). Cya, guys. 23:41:48 -!- AndoDaan has quit (Quit: bbl). 23:43:05 Ok, I got to watch the the Derren Brown clip discussed yesterday. I like how he says "I haven't touched the paper" while holding onto one of its ends... 23:44:01 And I wonder how many of the players he had to bribe for their post-game interview ;-) 23:44:15 -!- MoALTz has quit (Ping timeout: 272 seconds). 23:45:16 -!- MoALTz has joined. 23:47:51 -!- MoALTz_ has joined. 23:50:42 -!- MoALTz has quit (Ping timeout: 250 seconds). 23:57:38 Is there Magic: the Gathering card to grant tapped creatures Exalted ability? 2014-12-30: 00:03:50 I've never heard of such a card. 00:05:00 http://magiccards.info/query?q=!Sublime+Archangel seems to qualify, technically. 00:05:44 (but it's static, not triggered; not sure what zzo38 wants to do) 00:06:29 Fair enough. 00:07:08 -!- roasted42 has quit (Ping timeout: 265 seconds). 00:07:56 Well, I meant one that only applies to tapped creatures rather than all of them. 00:08:33 -!- roasted42 has joined. 00:08:56 (the card is linked from http://mtgsalvation.gamepedia.com/Exalted ; I didn't remember what exaltation does) 00:10:49 zzo38: I doubt that such ccards exist, but which do you want: "all tapped creatures gain exalted" or "whenever a creature is tapped, it gains "exalted"?" 00:15:47 First one 00:17:31 The other kind of card would be one causing all tapped creatures to lose exalted ability. 00:20:03 http://gatherer.wizards.com/Pages/Search/Default.aspx?text=+[exalted] is short, doesn't look like it., 00:26:46 Feels like they didn't do enough with Exalted. 00:31:37 wtf ... youtube's players shows static noise on errors?! 00:31:55 U-S-E-L-E-S-S ! 00:38:44 -!- MoALTz__ has joined. 00:41:17 -!- MoALTz_ has quit (Ping timeout: 240 seconds). 00:45:26 -!- Phantom_Hoover has quit (Quit: Leaving). 00:47:17 -!- roasted42 has quit (Ping timeout: 240 seconds). 00:48:21 -!- roasted42 has joined. 00:51:34 int-e: It's supposed to have an explanation for the error on top of the noise. 00:52:10 (Although that doesn't make the animated noise part any more useful, that's certainly true.) 00:52:13 fizzie: yeah I was looking at the comments. 00:52:48 (I had downloaded the video separately) 00:53:18 * int-e is a bit starved for bandwidth; 16 kB/s isn't much. 01:09:58 -!- shachaf has quit (Changing host). 01:09:58 -!- shachaf has joined. 01:13:15 -!- Phantom_Hoover has joined. 01:13:54 -!- Phantom_Hoover has quit (Client Quit). 01:21:43 -!- boily has joined. 01:29:30 -!- roasted42 has quit (Ping timeout: 250 seconds). 01:35:58 * adu gives int-e some bandwidth 01:36:17 -!- roasted42 has joined. 01:41:20 -!- Sprocklem has joined. 01:52:33 -!- FreeFull has quit (Ping timeout: 256 seconds). 02:04:23 -!- tswett2 has joined. 02:04:46 So I think I found something interesting. 02:05:38 Define a "display" as a set of natural numbers, with the topology over displays being generated by the sets {s : s is a display containing n}, where n is a natural number. 02:06:37 Let ->> denote a continuous function. Then there's a certain "obvious" function encode :: (display ->> display) -> display, with a left inverse decode :: display -> (display ->> display). 02:07:47 Both encode and decode appear to be continuous. 02:08:35 -!- FreeFull has joined. 02:09:13 But lemme start over. 02:11:42 Define a "space" as a set of integers equipped with an equivalence relation. 02:11:53 Natural numbers, rather. 02:12:03 We'll assume that each natural number can be interpreted as a computer program. 02:12:34 Define RE as the set of all computer programs that enumerate natural numbers, with the equivalence relation being that the two programs enumerate the same set. 02:12:38 computer program = partial recursive function? 02:12:58 Something like that. 02:13:34 Given spaces A and B, define A ->> B as the set of all computer programs which take a program in A and return a program in B, respecting the equivalence relation. 02:14:21 Two elements of A ->> B are equivalent if, for every input, the resulting outputs are equivalent. 02:15:15 Then there is a computer program encode :: (RE ->> RE) ->> RE with a left inverse which is a computer program decode :: RE ->> (RE ->> RE). 02:16:04 -!- roasted42 has quit (Ping timeout: 245 seconds). 02:18:10 -!- roasted42 has joined. 02:22:01 -!- Tod-Autojoined has changed nick to TodPunk. 02:24:45 Ok, destroying the abstraction: encode takes a Gödel number g of a program transformation, and returns a program enumerating the singleton set { g }. Decode tkaes a program, runs it until the first element g is produced, then runs g as aprogram transformation. 02:26:09 Ah, I did not clearly separate "Gödel number of a program" from "program". 02:26:26 -!- AndoDaan has joined. 02:28:30 Your definition of encode doesn't respect the equivalence relation. 02:28:57 Since given different Godel numbers that encode the same function, it'll return different functions. 02:29:02 true\u. 02:29:28 what's a Gödel number? 02:30:07 I think int-e is using "program" to mean what I'd call a computable function and "Godel number of a program" to mean what I'd just call a program. 02:30:39 "Godel number of a program" just means a number which encodes a computer program, under a scheme such that every possible computer program is represented (in a computable way) by some number. 02:31:14 no, a program transformation 02:31:37 So lemme try to describe what encode and decode do, exactly. 02:32:44 encode takes a computer program f :: RE ->> RE. It then performs a computation simultaneously for every natural number n. 02:33:21 The computation begins by interpreting the number n as a pair (p, T), where p is a natural number and T is a finite set of natural numbers. 02:33:21 -!- AndoDaan has quit (Ping timeout: 272 seconds). 02:33:41 tswett2: what is RE? 02:34:03 RE is the set of all computer programs that enumerate natural numbers, with the equivalence relation being that the two programs enumerate the same set. 02:34:08 oh 02:34:34 sounds Turing-esque 02:34:51 The computation then proceeds by running f on T. If f(T) ever lists p, then encode(f) lists n. 02:36:00 "encode" is an injective function because every computer program RE ->> RE is defined entirely by its behavior on inputs which enumerate finite sets. 02:37:01 I'm interested in an abstract and yet concrete definition of a thing that can represent threads, coroutines, and continuations all at the same time 02:37:19 A Turing machine, perhaps? 02:37:24 perhaps 02:37:30 Now, decode takes a computer program s :: RE, and returns a new computer program decode(s) which takes another computer program t and finally returns a computer program decode(s)(t). 02:37:31 continuations can represent threads, coroutines, and continuations all at the same time 02:37:43 nys: I'm going to need a citation for that last one 02:37:48 how can continuations represent threads? 02:38:07 i thought you could do cooperative threading <.< >.> 02:38:14 somehow 02:38:27 maybe i need to crack out the ol scheme again 02:38:52 decode(s)(t) performs a computation simultaneously for all pairs (p, T), where p is a natural number and T is a finite set of natural numbers. 02:38:54 the ol scheme? 02:39:05 scheme is new, r7rs was just released 02:39:19 the brand spankin new scheme 02:39:24 Then, uh, lemme see. 02:40:41 Actually, lemme start over with this one. 02:40:44 tswett2: I think we have to talk about termination a bit. 02:41:05 decode(s)(t) performs a computation simultaneously for all numbers n enumerated by s. 02:41:14 nah, the halting problem is so 20th century 02:41:45 The computation consists of interpreting the number n as (p, T), then waiting for t to spit out all elements of T, then spitting out p. 02:41:49 I think D. Knuth might be on to something with BDDs, it totally side-steps the halting problem 02:41:51 -!- roasted42 has quit (Ping timeout: 256 seconds). 02:41:58 int-e: do we? 02:42:07 what is BDD? 02:42:18 vanila: binary decision diagram 02:42:26 also I don't think the halting problem is actually a problem 02:42:31 it's just a fact 02:42:34 tswett2: a program that terminates without producing a number is equivalent to one that never terminates and never produces any number? 02:42:43 vanila: essentially a binary tree representation of a map from [Bool] -> [Bool] 02:42:45 int-e: yeah. 02:42:52 hmm 02:43:06 tswett2: ok. that part screws with my intuition. 02:43:15 You may as well say that no program ever terminates. 02:43:26 If a program would terminate, it instead hangs forever, spitting out nothing. 02:43:49 -!- roasted42 has joined. 02:43:55 D. Knuth, you know the guy who invented the arrow, tex, metafont, taocp, etc. 02:43:59 and MMIX 02:44:02 Knuth is good 02:44:06 He invented some algorithms too 02:44:10 one or two 02:44:21 actually three, at least 02:44:30 LR parsing, KMP string matching algorithm, dancing links 02:44:36 tswett2: ok, back to your decocde(s)(t). 02:44:48 https://en.wikipedia.org/wiki/Knuth%27s_up-arrow_notation 02:44:58 he invented the arrow 02:45:34 Now we just have to invent up-bow notation so that we can perform up-archery notation. 02:45:44 lolol 02:46:11 tswett2: ++ 02:48:52 tswett2: the main property that you're exploioting seems to be that RE ->> RE only allows monotone functions (in terms of the encoded sets), plus a compactness property. 02:49:42 Lessee. I'm exploiting the monotone thing, yeah. As for compactness, lemme think. 02:49:59 I didn't notice any compactness going on here, but you probably know something I don't. 02:51:24 RE is certainly compact, because the only open set containing the empty set is the universal set. 02:52:06 tswett2++ 02:52:40 Look at me, I'm talking about the topology of RE without ever having defined a topology for RE. 02:53:08 i wasn't saying that 02:53:11 but i was thinking it 02:53:45 One topology for RE is that topology I defined for "displays" above. 02:54:16 Namely, the topology for RE is generated by sets of the form {s : s is an element of RE enumerating n}. 02:54:23 Where n is a natural number. 02:57:52 -!- shikhin_ has quit (Ping timeout: 255 seconds). 02:58:46 -!- boily has quit (Quit: NERVOUS CHICKEN). 03:07:14 -!- scoofy has quit (Ping timeout: 244 seconds). 03:15:06 tswett2: I'm just wrong. Continuity of the RE ->> RE part is what you need, for the claim that its determined by the behaviour on finite sets. 03:16:11 Right. 03:16:13 (rather, that *is* the claim, afaiui) 03:16:50 Claim: the behavior of a computer program RE ->> RE is determined by its behavior on finite sets. 03:17:58 Um, lemme think how to prove this. 03:19:10 Suppose f is a computer program RE ->> RE, s is a computer program RE, and f(s) enumerates the natural number n. 03:20:28 Claim: there exists a finite set S such that S is a subset of the set enumerated by s, and f(S) also enumerates the natural number n. 03:20:49 -!- roasted42 has quit (Ping timeout: 255 seconds). 03:21:12 -!- bb010g has quit (Quit: Connection closed for inactivity). 03:21:33 Informal "proof": by something like Rice's theorem, the only way f can analyze its argument is by running it, and f(s) must enumerate n after running s for only finitely many steps. 03:22:39 -!- roasted42 has joined. 03:24:32 Since f is in RE ->> RE, for every computer program s' in RE that enumerates the same set as s, f(s') must also enumerate n. 03:25:05 Ooh, where is this going. 03:27:52 -!- AndoDaan has joined. 03:29:54 I need to prove that there's some computer program S in RE such that S enumerates a finite subset of the set enumerated by s, and S so closely matches some program s' that f can't tell the difference. 03:33:12 Let me start over. 03:33:27 Suppose that f is a computer program RE ->> RE, s is a computer program RE, and f(s) enumerates the natural number n. 03:34:05 Furthermore, assume that whenever t is a computer program in RE that enumerates a finite subset of the set enumerated by s, f(t) does not enumerate the natural number n. 03:34:18 Clearly s enumerates an infinite set. 03:34:30 Let M be an arbitrary Turing machine. 03:35:51 Ah. 03:35:59 Given any computer program u in RE, let stop(u, M) be the program that alternates between running u and running M, halting whenever either one halts. 03:36:09 You're going to run s and T in parallel. Right. 03:36:42 If M does not halt, then f(stop(s, M)) enumerates n, because stop(s, M) enumerates the same set that s does. 03:37:03 If, on the other hand, M does halt, then f(stop(s, M)) does not enumerate n, by our assumption about t. 03:37:34 Right. Now a fixed point, and done. Thanks! 03:37:35 So we can solve the halting problem by simultaneously running f(stop(s, M)) and M, and seeing which thing happens first: f(stop(s, M)) enumerates n, or M halts. 03:44:04 (and monotonicity works similarly: if U \subsetneq V are finite sets, then produce the elements of U, then run M, then product the remaining elements of V) 03:45:09 Oh, I meant to mention "the other topology" on RE. 03:46:34 Let the space Si be the set of all computer programs, with two programs being equivalent if and only if they both halt or neither one halts. 03:49:05 Then an open set of REs is defined by a function RE ->> Si; a RE is in the set if and only if its image halts. 03:49:25 Which isn't actually a topology, even though it's a lot like a topology. 03:50:12 -!- scoofy has joined. 03:50:49 You can't take the union of an arbitrary collection of those; you can only take the union of a recursively enumerable collection of them. 03:51:38 -!- roasted42 has quit (Ping timeout: 250 seconds). 03:52:54 -!- scoofy has quit (Quit: Leaving). 03:53:19 -!- roasted42 has joined. 04:00:47 hmm recursive topology 04:01:10 tswett2: does "Si" have a meaning? 04:02:11 It's the Sierpinski space. 04:03:09 Ah, forgetting about all this extra structure. Yes, of course. 04:05:09 int-e: it also means yes in a couple languages 04:05:46 adu: Really! But it seemed irrelevant to the discussion. 04:05:51 c'est si belle 04:05:51 -!- incomprehensibly has changed nick to glowcoil. 04:06:27 да 04:07:23 תודה 04:08:04 I should try to relearn russian 04:09:17 нет 04:18:37 -!- AndoDaan has quit (Ping timeout: 240 seconds). 04:21:39 adu: вы не понимаете. 04:21:50 meh, even most of the grammar is gone. 04:22:27 (though there's little surprise there, russian has a lot of it) 04:32:29 -!- roasted42 has quit (Ping timeout: 265 seconds). 04:33:11 -!- roasted42 has joined. 04:48:07 -!- adu has quit (Quit: adu). 05:03:41 -!- vanila has quit (Quit: Leaving). 05:03:57 -!- tswett2 has quit (Ping timeout: 240 seconds). 05:06:35 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 05:14:38 -!- nys has quit (Quit: quit). 05:19:05 -!- Solace has joined. 05:21:09 hmmmm 05:23:29 -!- roasted42 has quit (Ping timeout: 264 seconds). 05:25:16 -!- roasted42 has joined. 05:25:51 How do you set ops/voiced and channel modes 05:29:01 Use the MODE command 05:29:13 See HELP CMODE for descriptions. 05:33:41 -!- augur_ has changed nick to augur. 05:51:15 -!- AndoDaan has joined. 06:01:27 -!- tswett has joined. 06:02:28 -!- shikhin has joined. 06:04:35 -!- adu has joined. 06:07:42 -!- roasted42 has quit (Ping timeout: 265 seconds). 06:09:17 -!- roasted42 has joined. 06:30:15 -!- MoALTz_ has joined. 06:32:37 -!- MoALTz has joined. 06:33:37 -!- MoALTz__ has quit (Ping timeout: 256 seconds). 06:35:08 I got Magic: the Puzzling for the Christmas present. 06:35:14 I figured out a few of them so far. 06:35:15 -!- MoALTz_ has quit (Ping timeout: 244 seconds). 06:55:27 -!- roasted42 has quit (Ping timeout: 258 seconds). 06:57:53 -!- roasted42 has joined. 06:58:26 -!- oerjan has joined. 07:29:09 -!- dts|pokeball has quit (Ping timeout: 256 seconds). 07:34:17 -!- roasted42 has quit (Ping timeout: 264 seconds). 07:35:50 -!- roasted42 has joined. 07:40:37 -!- Sprocklem has quit (Ping timeout: 240 seconds). 07:41:12 -!- Patashu has joined. 07:48:04 zzo38: great 07:48:11 -!- MoALTz has quit (Quit: Leaving). 08:15:39 -!- roasted42 has quit (Ping timeout: 245 seconds). 08:18:24 -!- roasted42 has joined. 08:34:22 -!- roasted42 has quit (Ping timeout: 240 seconds). 08:39:23 -!- AndoDaan has quit (Ping timeout: 240 seconds). 08:39:24 -!- roasted42 has joined. 08:45:05 -!- roasted42 has quit (Ping timeout: 256 seconds). 08:49:00 -!- adu has quit (Quit: adu). 09:02:00 -!- AndoDaan has joined. 09:24:57 -!- ocharles_ has quit (Ping timeout: 258 seconds). 09:25:46 -!- ocharles__ has joined. 09:48:48 -!- shikhin_ has joined. 09:51:37 -!- shikhin has quit (Ping timeout: 240 seconds). 10:12:07 -!- supay_afk has changed nick to supay. 10:20:53 `echo hi 10:20:53 hi 10:21:21 `echo `echo hi 10:21:21 ​`echo hi 10:24:04 fizzie: the wiki - HackEgo link is broken 10:24:22 Oerjan, if I implement BCT in a language but hard code the instructions and init data-string instead of those being inputted, would that detract from its TC-ness? 10:24:40 AndoDaan: no. that's what i did for /// 10:25:10 Okay. I figured, but wanted to make sure. 10:25:13 Called a compiler? 10:25:39 but i don't hold much with this idea some others have of separating input from program when defining TC-ness. 10:26:59 * oerjan is wondering if that idiom he just used actually exists. 10:27:17 coined and minted. 10:27:31 TC-ness is _always_ essentially about compiling 10:27:52 it's just that you get to include the input as well as the program 10:28:30 AndoDaan: this applies to all output-only languages, at least. 10:28:33 oerjan: you must have some way to distinguish input and program, however 10:28:41 coppro: no, you do not. 10:28:46 realtime event handling doesnt' change a language possibillities at all? 10:28:56 you compile a _computation_, not program. 10:29:28 AndoDaan: turing-completeness isn't about that. 10:29:33 mm right the thing I was thinking when I said that is completely stupid 10:29:42 the thing I was thinking before that is more right 10:29:44 I will go with that 10:30:00 Realtime weapon change 10:30:35 it works because of the halting problem 10:30:41 ^ very important, but not to TC-ness, i guess. 10:31:37 No, I mean that the Halting Problem is what lets us ignore the machine/input distinction. 10:32:33 A language is TC if, given a Turing machine with input, you can define some finite process which generates an instance of a program in that language, with input if applicable, which produces the same result. 10:32:48 Computer thrown toward the event horizon of a black hole. Time dilates to infinity, halting problem solved? 10:33:02 You can't use the same definition for more restricted classes of computation, because you can always just run the computation and generate some other computation with the same result 10:33:45 e.g. an NFA-plus-input can be transformed into a DFA-plus-input, because you can just run the NFA, get "accept" or "reject", and then create an accepting or rejecting DFA 10:34:00 but a TM-plus-input can't be run 10:35:25 Non-Deterministic Finita Algorithm? 10:35:35 Automaton* 10:35:57 Well, we're not talking about finite automata 10:36:50 coppro: depends. NP-completeness works essentially the same way as TC, with "finite" replaced by "polynomial-time" or even "logarithmic space" 10:37:52 it works as long as the resources used for "compiling" are less than what you need to solve the problem. 10:39:00 on the other hand you have the circuit complexity classes, where you definitely need to distinguish the input. 10:40:16 (because you are trying to define classes that are _weaker_ than your compiler.) 10:42:15 oerjan: right. 10:43:22 btw, QTMs are shit 10:43:52 hm? 10:44:22 Quantum Turing Machines? 10:44:40 -!- ocharles__ has quit (Changing host). 10:44:40 -!- ocharles__ has joined. 10:44:42 -!- ocharles__ has changed nick to ocharles. 10:45:07 i assumed so, i don't know why he thinks they are shit though. 10:46:05 First correct guess I made here. 10:46:32 I'm getting learn-ned. 10:47:09 ocharles: hey are you the ollie charles of 24 days of haskell fame? great series! 10:47:29 oerjan: that's me! 10:47:32 thank you :) 10:47:44 did you catch this year's series? 10:48:08 i am in the process, i have a bit of reddit catchup to do 10:49:09 i'm up to the template haskell one 10:50:37 ah 10:50:49 i might do 12 in future years, cause no one can read 24 :P 10:51:12 well maybe not if they're all as long as the TH one 10:51:50 yea, the guest posts are longer 11:00:32 oerjan: Oh, right: it needs to be started manually, and Gregor started HackEgo last. 11:01:40 oerjan: In theory, it should be on now. 11:01:53 TOO LATE 11:01:57 TOO LITTLE 11:02:16 (i already did today's edits) 11:11:54 -!- zzo38 has quit (Ping timeout: 258 seconds). 11:14:16 -!- shikhin_ has changed nick to shikhin. 11:14:41 ah yes 11:14:51 I should use a VPS again 11:32:24 -!- SopaXorzTaker has joined. 11:32:24 -!- SopaXorzTaker has quit (Changing host). 11:32:24 -!- SopaXorzTaker has joined. 11:34:54 -!- Patashu has quit (Ping timeout: 258 seconds). 11:51:10 -!- rade has quit (Quit: Leaving). 11:52:59 -!- rade has joined. 12:49:16 -!- coppro has quit (Ping timeout: 258 seconds). 13:04:52 -!- tromp_ has joined. 13:05:49 -!- tromp__ has quit (Read error: Connection reset by peer). 13:08:56 -!- Phantom_Hoover has joined. 13:22:46 Where on the body would a "save your GODDAMN CODE!" tattoo be the most effective? 13:25:11 front of head hth 13:27:22 It does. In pointing out that Prison-Breaking it might be the way to go. 13:28:30 i don't believe putting a tattoo there is actually illegal in most western countries 13:30:07 -!- shikhin has quit (Ping timeout: 256 seconds). 13:36:47 -!- oerjan has quit (Quit: leaving). 13:48:43 -!- coppro has joined. 14:01:06 -!- kallisti has joined. 14:19:02 -!- Lymia has quit (Ping timeout: 245 seconds). 14:26:51 -!- Sprocklem has joined. 14:33:28 -!- shikhin has joined. 14:47:22 -!- boily has joined. 14:50:10 -!- Solace has quit (Quit: Connection closed for inactivity). 14:50:57 -!- nycs has joined. 14:50:57 -!- nycs has changed nick to `^_^v. 14:53:52 -!- Lymia has joined. 14:57:52 -!- GeekDude has joined. 15:08:41 -!- mitchs has joined. 15:31:30 [wiki] [[Talk:Budget]] N http://esolangs.org/w/index.php?oldid=41560 * AndoDaan * (+385) Asking if esolangs.org's the right place for budget. 15:37:35 -!- SopaXorzTaker has quit (Remote host closed the connection). 15:38:08 2See. 15:38:13 s/^2// 16:00:45 fizzie, does a zero length write with W in SOCK make any sense ever? 16:01:11 cfunge checks the length is zero or greater, but I think it should check it is 1 or greater 16:01:21 Going through bugs found with coverity 16:01:44 Deewiant, your opinion would also be interesting ^ 16:04:49 Anyone familiar with the CompCert C compiler? 16:04:50 http://compcert.inria.fr/ 16:10:11 I'm not, but it seems like a very interesting concept. 16:11:15 I wonder if the CompCert C compiler addresses this issue: http://cm.bell-labs.com/who/ken/trust.html 16:12:17 rade, do you trust your verification? 16:12:48 Do you trust that if what you are verifying is true then you can trust the compiler? 16:13:15 The "I didn't read my compiler code" issue can only be solved by reading your compiler code 16:15:21 Taneb, it's supposedly mathematically proved itself. I think this removes the need to trust it. Still, the design of the compiler's proof could be lacking, I guess. 16:15:34 you have to choose what to prove in the design and implementation 16:15:40 rade, there's still a LOT of things you need to trust 16:16:20 Like, do you trust the compiler you used to compile it CompCert? 16:16:48 couldn't CompCert technically compile itself? 16:17:15 I don't know if it does, though 16:17:26 Yes, but you need to bootstrap it 16:17:30 You'd have to bootstrap it from somewhere 16:17:39 You have to trust even more things than the compiler source 16:17:41 If not, you need to obtain the CompCert compiled pre-compiled already from somewhere 16:17:51 Which of course means you need to trust that source 16:18:10 s/the CompCert/& C compiler/ 16:18:26 Of course, how much do you trust your computer itself? 16:18:43 there's always bitflips, right? 16:18:46 I get your point 16:18:58 well, it's a step in the right direction, at least 16:19:06 the less you have to trust the better 16:19:11 It's certainly a step in a direction 16:19:46 You need to trust: the clight semantics, the cambridge x86/arm semantics, the coq binary you used to run the proof 16:19:58 The coq specification of compcert 16:20:25 depends on which computer 16:23:08 -!- mihow has joined. 16:25:53 Vorpal: man 3p write says "If nbyte is zero and the file is not a regular file, the results are unspecified." man 3p send and sendto don't say anything about the zero-length case. SOCK.W is probably meant as a thin wrapper around one of these, and indeed RC/Funge-98 uses send(). Given that it seems to be unspecified I'd allow it; maybe the programmer knows something we don't, at least on the specific 16:25:55 platform he's using, and expects a certain result. 16:26:33 Deewiant, well it causes uninitialized memory in cfunge 16:26:49 And the easiest way to fix it is to check for 1 or more rather than 0 or more 16:26:50 If the "unspecified" means "error out" on the execution platform then your usual error checking should catch that and reverse the IP as usual. 16:27:49 Oh and I use send() as well 16:28:20 Deewiant: that exception is probably there because some packet-based sockets or devices could conceivably allow sending zero-length sockets, even though udp in particular doesn't allow that 16:30:27 zero length packets, not sockets 16:30:31 But yeah probably 16:30:33 yes, sorry 16:31:01 Vorpal: So send(some fd, null, 0, 0) is problematic, or what? 16:32:39 Deewiant, well, first of all, I end up calling malloc(0), which is also implementation defined. On Linux that will in fact return a pointer (to 1 byte). Then I copy 0 bytes into that buffer from funge space. Which I then send with length 0. 16:32:58 On some systems it will error out because malloc(0) can return NULL 16:33:18 What will error out? 16:33:22 Copying 0 bytes out of NULL should be fine 16:33:48 Well, I check malloc return value. So it will error out because I check for successful allocation 16:34:11 Well you should check it only if len > 0 16:35:34 Hm send() with length 0 is not even documented 16:35:47 So that seems like undefined behaviour, not just implementation defined. 16:37:05 On Windows it's ok: 16:37:07 Calling send with a len parameter of zero is permissible and will be treated by implementations as successful. In such cases, send will return zero as a valid value. For message-oriented sockets, a zero-length transport datagram is sent. 16:38:05 -!- tswett has set topic: oerjan doesn't hold much with that idea | but often spelled correctly. | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/. 16:39:03 https://bugzilla.kernel.org/show_bug.cgi?id=5731 is a bug about write() not writing a zero-length packet 16:39:34 Deewiant, cfunge doesn't support native Windows anyway, so that seems irrelevant 16:40:26 I'm just pointing out examples where this works or is expected to work 16:41:19 Hm 16:41:27 Makes sense 16:41:39 -!- nys has joined. 16:41:56 You might be able to get away with not actually calling send() but not erroring either, if you want to be difficult about it 16:42:24 Hah 16:45:39 Deewiant, what about the buffer in this case though? 16:47:54 What about it? 16:49:09 Can it be null in this case? 16:50:18 I don't see why not but I'd at least try it on Linux first 16:50:27 Right 16:51:08 Or check the source code of some libcs, etc 16:52:20 who invents all these hundreds of crazy particles? 16:52:27 um, sorry, wrong channel 16:53:38 Deewiant, what do you use for randomness in CCBI(2) btw? 16:53:57 -!- AndoDaan has quit (Read error: Connection reset by peer). 16:54:21 -!- AndoDaan has joined. 16:54:24 Vorpal: Re. Coverity, did you do the whole signup process and whatnot that they at least used to require, or do you have (or is there nowadays) some easier way to access it 16:55:23 Deewiant, well I had to login with my github login, add the project and provide some info about it, including an indication that I was related to the project in some way. 16:55:27 Looks like Mersenne Twister for randomness; I actually thought it was KISS 16:55:30 Then they had to verify it 16:55:39 Which took a couple of days, probably due to the holidays 16:55:56 So in short it's still a hassle, ok. :-) 16:55:57 Deewiant, it only supports C/C++, Java and C# though 16:56:08 So CCBI won't have much use for it 16:56:12 Oh, they have C#, didn't know 16:56:17 I thought it was only C, C++, Java 16:56:18 Apparently 16:56:32 Maybe it is new? Who knows 16:56:40 But yeah, CCBI is pretty much frozen anyway, just wondering 16:56:51 Deewiant, Anyway, KISS? As in keep it simple stupid? 16:57:04 Meaning random() from the standard library 16:57:17 Or is KISS a separate badly named algorithm? 16:58:04 Coverity complains that I use random(). So that was why I was wondering 16:58:17 In other words: don't use cfunge to implement SSL? 16:58:42 Can't find a good source for it but it's a different generator, one of Marsaglia's 16:59:12 I ran both CCBI and cfunge through the dieharder tests at some point and cfunge got pretty poor results, random() would explain that 17:01:12 Heh 17:01:26 Deewiant, ? is even random() % 4 iirc 17:02:25 The range of random() is probably a power of two so that % is probably fine 17:04:20 17 defects in total. Quite a few edge cases (mostly related to improper error handling, such as not freeing memory when the second of a series of malloc fails or similar). No really big issues for normal usage though. Also 4 false positives (all "high impact"). Plus 3 instances of random() 17:05:09 Deewiant, the random() % n in FIXP D is probably worse 17:05:09 Run the clang static analyzer and see if it catches the same ones (though I doubt it complains about random()) 17:05:18 Yeah that's not nice 17:05:24 I have used clang static analyzer in the past 17:06:07 In my experience it finds rather long and complicated chains of events mostly after the first time I used it. Most of them being impossible. 17:07:20 Deewiant, but I don't have a modern llvm version on this machine I think, I might try it later though, but it should be clean from real defects at least as of clang a year or so ago 17:08:44 Odd if it misses all of those "missing free" cases 17:08:46 Hm also this is annoying, some weird issues in an implementation of strstr (I have copies of the glibc str* functions I need for funge-space sizes) 17:08:50 But yeah it has false positives of its own 17:09:21 Well, it did back then at least. Coverity also missed at least one. Though perhaps it only report the first issue of a kind in a given function? 17:09:37 Could be 17:11:31 > iterate (\x -> ((x ^ 2) `div` 100) `mod` 10000) 7835 17:11:32 [7835,3872,9923,4659,7062,8718,35,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0... 17:12:21 Hm? 17:13:13 > iterate (\x -> ((x ^ 2) `div` 100) `mod` 10000) 7838 17:13:14 [7838,4342,8529,7438,3238,4846,4837,3965,7212,129,166,275,756,5715,6612,7185... 17:13:22 There we go. 17:14:26 What is that sequence about? 17:14:57 Middle-square pseudorandom numbers. 17:15:29 Ah 17:16:35 > iterate (msq 100) 1234 17:16:37 [1234,5227,3215,3362,3030,1809,2724,4201,6484,422,1780,1684,8358,8561,2907,4... 17:16:45 > iterate (msq 10000) 12345678 17:16:46 [12345678,41576527,60759738,74576182,60692169,53937792,28540583,56487797,871... 17:16:53 And so on and so forth. 17:19:07 Deewiant, I did find an interesting issue actually, but again, if IP duplication fails, which requires OOM to happen. 17:21:15 Yeah it's too bad that never actually happens; all that code just waiting to be executed 17:21:53 Hah 17:22:01 Deewiant, what should happen when t fails hm? 17:22:16 The parent can hardly be reversed, that is undetectable from the child 17:22:32 Reverse the parent but don't create a child 17:22:44 Really? 17:22:48 Why not? 17:22:58 Well okay 17:23:01 The program should notice that one of its threads is missing :-P 17:23:10 Not like that code will ever be hit anyway 17:28:20 -!- nortti has changed nick to lawspeaker. 17:28:43 Deewiant, not sure what to do about randomness though... Is it worth using urandom if that exists or something like that? 17:28:45 Hm 17:29:12 -!- bb010g has joined. 17:29:20 -!- lawspeaker has changed nick to nortti. 17:29:39 /dev/urandom is a bit slow if you don't need a CSPRNG 17:29:57 True 17:30:34 So what good options are there hm? Adding in another external library seems annoying 17:30:57 And I don't know what algorithms are good 17:31:37 I used to have the mersenne twister just rolled in as one file (since then it appeared in the standard library of the time) 17:31:46 Most RNG's aren't that big, you can just drop them in 17:31:58 -!- myndzi has quit (Quit: .). 17:32:33 -!- myndzi has joined. 17:33:36 E.g. xorshift* is quite good and something like 10 lines: https://en.wikipedia.org/wiki/Xorshift#Variations 17:33:50 Why doesn't random() in libc use it then? 17:35:53 -!- myndzi has quit (Client Quit). 17:35:56 -!- myndzl has joined. 17:36:02 man 3p random suggests that a specific algorithm is required 17:37:22 -!- myndzl has quit (Client Quit). 17:37:32 -!- myndzi has joined. 17:37:35 Oh and there's arc4random in libbsd, which is good 17:37:52 just use /dev/random and fuck everything 17:38:12 But it's also a CSPRNG, I don't know how it compares to /dev/urandom in speed 17:38:45 Ah 17:40:59 Deewiant, Well, libbsd is not universal (cfunge does optionally use strlcpy/strlcat from it, if not found it uses it's own copy of those instead) 17:41:26 Yes but you're allowed to depend on things :-P 17:41:52 -!- nortti has changed nick to lawspeaker. 17:42:01 -!- lawspeaker has changed nick to nortti. 17:42:11 -!- myndzi has quit (Client Quit). 17:42:29 -!- myndzi has joined. 17:42:31 -!- myndzi has quit (Remote host closed the connection). 17:42:40 Yes, but no reason to do it if I don't need to. Anyway I want a fast algorithm 17:42:56 Mersenne twister (while not a CSPRNG) is fast isn't it? 17:43:07 and that xor thing 17:43:39 -!- myndzi has joined. 17:43:51 Deewiant: it's fast enough that openbsd could make random() use it 17:44:55 Yeah sure, /dev/random on Linux is the only thing that's actually "slow" in some absolute sense 17:45:08 oh this is cfunge we're talking about :P 17:45:15 better use xorshift for the speeeeeeeed 17:45:51 /dev/urandom pushes some 17 MiB/s on this box and how likely is that to bottleneck even a randomness-heavy Funge program 17:45:52 Hm arc4random doesn't allow initializing with a fixed seed to cause a repeat? 17:46:46 That is annoying, since I use that feature for fuzz testing (to ensure I test the same program when I run it normally and then under valgrind) 17:46:48 Deewiant: I guess if it doesn't slow down mycology or fungot he won't care 17:46:48 elliott: you probably want anyway) to find where the code is not. it just means that if your program uses them to debug a hq9+ program if he can't help you 17:47:12 elliott, hah 17:47:14 Vorpal: You need to provide a dummy /dev/urandom for arc4random_stir :-P 17:47:22 a dummy getentropy too 17:47:24 if it's using that 17:47:27 which I hope it is 17:47:39 Deewiant, that sounds a lot more annoying than #define FUZZ_TESTING causing srandom() to use a static value 17:47:43 @metar CYQB 17:47:44 CYQB 301700Z 25012G17KT 25SM FEW040 FEW170 M17/M24 A3033 RMK SC1AC1 AC TR SLP277 17:47:53 elliott: The manpage just says "arc4random_stir() function reads data from /dev/urandom" 17:47:57 (it probably even calls it directly sine I don't think there's any libc wrapper yet) 17:47:58 elliott, is that a system call? I don't have a man page for it 17:48:11 Deewiant: yeah but the openbsd people wanted getentropy added specifically I think 17:48:14 at least, it comes from openbsd 17:48:15 Vorpal: It's a rather recently added syscall 17:48:23 Depending on your kernel you might not have it yet 17:48:25 Oh that thing 17:48:28 wasn't it openssl? 17:48:33 Vorpal: it's /dev/urandom that works in a chroot etc. and doesn't use an fd and can block if the entropy pool hasn't been filled yet 17:48:35 3.13, who knows 17:48:46 (not the same as /dev/random, /dev/random starts blocking again for ~no reason even once it has entropy) 17:48:47 Vorpal: Re. fuzz testing you can of course define your randomness function to use a different RNG when fuzzing 17:49:31 Deewiant, well yeah that works I guess, just revert to the old random() with fixed srandom() in that case 17:49:48 elliott: TBH I don't see why they didn't fix /dev/random instead 17:50:27 -!- AndoDaan has quit (Quit: bbl). 17:50:31 Deewiant: that still doesn't work inside chroots (think containerisation) and uses an fd 17:50:42 Deewiant, that could be missing in a chroot, or you could have used up all your file descriptors 17:50:46 there are actual cases of programs falling back to bad entropy when they run out of fds that openbsd ran into IIRC 17:51:11 "bad entropy" is one of those "bad Xs" that means "not X" 17:51:13 chroots could just populate their /dev appropriately... but yeah the fd issue is a good point 17:51:37 also it's faster I think? 17:51:43 since it skips a lot of overhead 17:51:51 Yeah it should be 17:51:58 I mean it's not like linux is exactly a paragon of syscall minimalism / everything is a file 17:52:03 Oh god, cmake I hate you. Never again will I use cmake for a project. 17:52:05 so they might as well just provide it this way 17:52:18 Vorpal: What's a good alternative? 17:52:26 Deewiant, well that is the issue, there isn't one 17:52:30 elliott: I still wonder about my question though, just without the "instead" 17:52:38 Deewiant, autoconf + tup maybe? 17:52:51 Vorpal: auto* is not a good alternative in my mind :-P 17:53:06 Deewiant, well it is easier to do some of the stuff I'm doing with that actually. 17:53:07 Deewiant: I don't know. I guess whoever's in charge of /dev/random doesn't understand information theory? 17:53:32 Deewiant: it's probably easier to keep it broken and hope everyone forgets about it than to force programs to check whether /dev/random is okay or not 17:53:52 elliott: I think it's pretty clear that wasn't the case originally but by now and especially with getentropy you'd think something would change... 17:54:06 Er, was the case* that that person didn't understand 17:54:08 elliott, Why did it block even when there is entropy btw? 17:54:22 Vorpal: because you can "run out of entropy" (you can't) 17:54:25 elliott: I'd still fix it but call it deprecated, there are programs that read from only it 17:54:47 Although maybe all the major ones are switching to getentropy as soon as it's available 17:54:58 Vorpal: (I've seen that analogised as "running out of key" when encoding a lot of messages with a stream cipher) 17:55:36 elliott, didn't it use entropy to seed a generator? Or did it just return the entropy directly as the random data? 17:55:43 I guess the latter case could break stuff 17:55:46 it feeds it through a CSPRNG yes 17:56:08 Then you can't run out as far as I understand indeed (though I'm no expert in this area) 17:56:09 it even keeps adding entropy later, which is harmless and sort of very minorly good but not really necessary at all 17:56:21 it's just its entropy estimate goes down when you read from /dev/random 17:56:23 for some reason 17:56:42 Vorpal: http://www.2uo.de/myths-about-urandom/structure-no.png 17:56:54 the problem with /dev/urandom is that it doesn't block when you *do* want it to (at boot, before there's a reasonable (~128 bits) amount of entropy) 17:57:11 but /dev/random blocks after that too 17:57:25 on e.g. FreeBSD, /dev/{u,}random are the same and block at boot and never otherwise 17:57:33 linux will never do that though because backwards compatibility >_< 17:57:42 Heh 17:58:18 Deewiant, that looks like it sometimes just returns the entropy pool data raw? 17:58:19 Hmm, alias /dev/{u,}random to sockets that talk to /dev/random on a FreeBSD box? 17:58:26 Deewiant, hah 17:58:59 /dev/random does go through the CSPRNG do, or at least so I've heard... if that diagram suggests otherwise I'd be inclined to not believe it 17:59:04 *too 17:59:09 Vorpal: Oh whoops wrong one, http://www.2uo.de/myths-about-urandom/structure-yes.png 17:59:29 The one I linked earlier was the "what you might think" version 18:00:01 nice 18:00:02 Hm 18:00:08 deliberately misleading diagram with no big red warning sign on it 18:00:19 how many reddit/HN comments has it been linked from to support an argument 18:00:26 It has "no" in the filename, you'd think that's enough 18:01:07 It says "[a]n incorrect view" almost immediately before it on the HTML (in red, even) but yes, not in the image itself 18:01:38 I feel like if you show people the wrong version first it's the one they'll remember... 18:02:24 Maybe 18:03:58 -!- Sprocklem has quit (Ping timeout: 244 seconds). 18:05:26 "Counting entropy" 18:05:53 there's a little gnome in the kernel who pushes a button whenever it sees a bit that surprises it <_< 18:06:36 I really, really don't want gnome in the kernel 18:20:33 Jafet, don't worry, it will be systemd instead 18:24:01 Deewiant, an issue with arc4random_uniform is that it is 32-bit, cfunge can have 64-bit cells. 18:25:02 What would a good way to generate a 64-bit random value with arc4random be? For the case of whole bytes, arc4random_buf could be used. 18:25:14 But I don't know for the case of [0,max] 18:25:26 elliott, ^ 18:25:28 arc4 is 8-bit 18:25:35 u_int32_t 18:25:35 arc4random_uniform(u_int32_t upper_bound); 18:25:40 Doesn't look like it? 18:25:50 Or the man page is lying 18:25:57 I see 18:26:21 You can, of course, construct a 64-bit random in parts 18:29:04 Jafet, what is a good way to do it though? For a specific upper bound between 2^32 and 2^64? 18:29:18 Vorpal: Use arc4random_buf to generate 64 bits in one go? 18:29:22 Sorry, for an arbitrary rather than specific 18:29:40 Deewiant, But I don't want to do % after to limit it to an upper bound. I'm asking for that specific case. 18:30:00 How do I best limit it to a a range [0,n] for any n 18:30:01 Well if your upper bound fits in less bytes then pass a smaller length to arc4random_buf 18:30:09 And then you'll have to use % 18:30:23 Deewiant, and if my n is a number that isn't a power of 2? 18:30:26 I suspect that this arc4random_uniform uses rejection sampling 18:30:31 Ah 18:30:49 So it takes an indeterminate amount of time perhaps. 18:30:58 arc4random_uniform() will return a uniformly distributed random number less than upper_bound. arc4random_uniform() is recommended over construc‐ 18:30:59 tions like “arc4random() % upper_bound” as it avoids "modulo bias" when the upper bound is not a power of two. 18:31:02 Vorpal: Then toss the result if it's in an uneven range 18:31:14 Deewiant, fair enough 18:31:57 (Is "rejection sampling" the fancy term for that?) 18:32:49 -!- adu has joined. 18:35:56 -!- dts|pokeball has joined. 18:36:49 If by "that" you mean rejection sampling, yes 18:37:56 You could just write a uint64_t version of http://svnweb.freebsd.org/base/head/lib/libc/gen/arc4random.c?view=markup#l270 18:38:58 I'm surprised that they actually allow an infinite loop there 18:39:14 That's a clever min 18:39:52 (Or at least not-yet-known-to-be-finite, given that this is arc4 output.) 18:40:03 Yeah that seems bad 18:40:19 For cfunge it won't matter, but imagine what that will do to a real time system 18:40:28 But then again I doubt freebsd is a real time OS anyway 18:41:24 I'm not sure if the kernel uses that function 18:41:51 I think OpenBSD does at least 18:41:58 Or maybe not that function, but arc4 18:42:07 Pretty sure /dev/random on OpenBSD is arc4-based 18:49:37 -!- rade has quit (Ping timeout: 255 seconds). 19:04:49 -!- kallisti has quit (Ping timeout: 245 seconds). 19:14:17 -!- Guest36924 has joined. 19:15:11 hello 19:16:21 -!- Guest36924 has left. 19:19:01 -!- nycs has joined. 19:20:39 -!- `^_^v has quit (Ping timeout: 245 seconds). 19:29:41 -!- shikhin_ has joined. 19:32:08 -!- rade has joined. 19:32:50 -!- shikhin has quit (Ping timeout: 250 seconds). 19:55:12 -!- shikhin_ has changed nick to shkhn. 19:56:50 -!- shkhn has changed nick to shikhin. 20:06:10 -!- nycs has quit (Quit: This computer has gone to sleep). 20:09:55 -!- nycs has joined. 20:44:05 -!- MoALTz has joined. 20:51:16 -!- oerjan has joined. 20:54:37 -!- augur has quit (Ping timeout: 240 seconds). 20:59:12 -!- augur has joined. 21:01:23 -!- augur_ has joined. 21:03:24 -!- nycs has changed nick to `^_^v. 21:05:04 -!- augur has quit (Ping timeout: 255 seconds). 21:12:00 -!- Patashu has joined. 21:26:55 -!- oerjan has quit (Quit: ZZZZ). 21:42:00 -!- zzo38 has joined. 21:48:30 -!- _2_Leenz2 has joined. 21:48:34 <_2_Leenz2> Haii 21:48:37 You could just write a uint64_t version of http://svnweb.freebsd.org/base/head/lib/libc/gen/arc4random.c?view=markup#l270 <-- that is rather interesting code 21:48:47 I wonder why it works actually 21:48:52 Will have to look into that 21:49:00 <_2_Leenz2> Hai :D 21:49:44 Jafet, specifically the claim that p > 0.5 21:49:51 -!- _2_Leenz2 has quit (Client Quit). 22:06:56 Vorpal: simple math. if upper_bound <= 2^31 then min < 2^31 because min < upper_bound; otherwise, min < 2^31 becaues 2^32-upper_bound < 2^31. 22:07:45 so (2^32-min) / 2^32 > 2^31/2^32 = 0.5 22:08:17 Hm, that will scale to 64-bit I presume? I think it is way too late for me to implement this given that I can't figure this out 22:09:02 sure. 22:09:12 Just replace u_int32_t, and then use arc4random_buf(&my64bitint, 2) instead of arc4random() 22:09:53 Deewiant, btw did you test that randomness thing with efunge too? If so, how did it fair? 22:09:56 looks plausible (didn't check the API) 22:10:14 Vorpal: Nah, only CCBI and cfunge 22:10:30 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds). 22:10:38 Deewiant, Do you still have the code for it? 22:11:01 -!- Phantom_Hoover has joined. 22:11:46 Not sure but it would be pretty easy to recreate anyway 22:12:40 $ cat rng.b98 22:12:43 4v > 0v >$'@*\88+*+\4*++, 22:12:44 >#v? 1>\1-:!#^_ 22:12:47 > 2^ 22:12:48 > 3^ 22:12:51 I think that's it 22:13:02 Seems to generate something pretty random-looking at least 22:13:27 What test did you use did you say? 22:13:32 dieharder 22:13:48 http://www.phy.duke.edu/~rgb/General/dieharder.php 22:15:42 [wiki] [[Budget]] http://esolangs.org/w/index.php?diff=41561&oldid=41559 * BCompton * (+10) Stub 22:16:28 -!- adu has quit (Quit: adu). 22:53:22 In file included from ../../src/prng.c:33:0: 22:53:22 void arc4random_addrandom(u_char *dat, int datlen); 22:53:25 Massive fail :P 22:53:30 err 22:53:33 /usr/include/bsd/stdlib.h:52:27: error: unknown type name ‘u_char’ 22:53:36 That bit 22:54:23 -!- ^v has joined. 22:55:35 Can't find a header with it either... 22:56:29 -!- tswett has quit (Ping timeout: 245 seconds). 23:03:42 -!- `^_^v has quit (Quit: This computer has gone to sleep). 23:04:47 -!- ^v has quit (Quit: Leaving). 23:07:06 -!- mihow has quit (Quit: mihow). 23:11:13 Deewiant, arc4random is indeed very fast, I did some quick tests with it. It is slightly slower than the built in random() % 4 23:11:31 I basically did "build/release/cfunge examples/prng.b98 | wc -c & sleep 5; killall cfunge; sleep 0.1; echo" a few times over and averaged the results 23:12:30 1548288.5 for arc4 (with 4 passed to proper modulo handling function) vs 1617920.9 for random() % 4 23:12:42 That is not too bad at all 23:28:56 -!- adu has joined. 23:33:02 When trying to edit c2 wiki I get "Suspicious source (tor.ahbl.org)". Do you know what that is? 23:34:25 zzo38, Oh, fun... I heard about this. Basically tor.ahbl.org *was* a DNS blacklist for Tor exit nodes. But it shut down recently. The result is that it returns that all IPs are exit nodes... 23:34:40 You need to contact the admin of that wiki I suspect 23:38:38 SQLite uses ARCFOUR for random number generators. What do the numbers 1548288.5 and 1617920.9 mean exactly? 23:39:18 zzo38, Should be obvious from the command line? 23:39:29 build/release/cfunge examples/prng.b98 | wc -c & sleep 5; killall cfunge; sleep 0.1; echo 23:39:55 It is the average of 5 runs of that 23:40:19 You didn't tell me it is the average. 23:40:22 Highly unscientific measurement of course, but good enough to show that the performance is only slightly worse 23:40:29 zzo38, I did 23:40:31 I basically did "build/release/cfunge examples/prng.b98 | wc -c & sleep 5; killall cfunge; sleep 0.1; echo" a few times over and averaged the results 23:40:37 O, OK 23:40:54 I didn't tell you it was 5 times 23:41:21 The average of what, the output of wc -c or what, and what does prng.b98 do exactly? 23:42:08 zzo38, that is the program Deewiant provided earlier 23:42:24 OK 23:42:26 Just a few lines above 23:42:39 zzo38, And yes the output of wc -c. 23:42:44 What else is there? 23:42:47 The job ID?! 23:42:53 Vorpal: funny, I'd always do it the other way around; output a fixed number of characters and time that. (either by putting a loop in the program or by using head -c) 23:43:02 O, so is it checking how many characters it can output in 5 seconds? 23:43:21 int-e, well that works too. Probably better too. Didn't want to rewrite the program though 23:43:34 head -c would have worked yes 23:43:55 int-e: That is what confused me too, although I would have done yet another different way 23:44:04 int-e, except what does that do with full buffering? Pretty sure full buffering is going on 23:44:14 Err that was badly worded 23:44:57 Put the timing in the program itself or time how many times you can execute the program or something like that, is what I have done in my own cases 23:45:07 Vorpal: well, are you sure your program flushes its buffer when its killed? it comes down to that... in any case I'd make sure the count is not too small 23:45:22 That is mainly the confusion I have had with it 23:45:47 Although it is obvious what you have done now, I just didn't notice quite at first 23:46:03 int-e, well if it didn't I should get various multiples of fixed sizes every time, no? 23:46:32 Vorpal: perhaps. 23:48:12 Deewiant, dieharder does not run fast :/ 23:50:31 If the range of the random numbers aren't a power of two then you need to do something else; what I have done in such case is to first take the number of bits needed, and then if the number is too big try again until it is not too big. 23:53:27 -!- pallokolmio has joined. 23:53:32 What is done by the card DIGGER in Pokemon cards is basically an optimization of this algorithm for the case: if random(0 to 2) < 2 then hits your own card else hits opponent's card. Since the bit1 is 0 then it is known true you needn't read the next bit. 2014-12-31: 00:05:28 What good build server solutions are there? 00:06:31 -!- aloril_ has quit (Read error: Connection reset by peer). 00:16:40 Deewiant, you never test kt :/ 00:17:09 -!- adu has quit (Quit: adu). 00:31:54 @tell Deewiant What should 2kt (ip going right) do if both calls to t fail? Should the IP be reversed once then k aborted or should it be reversed twice (thus spawning no child but in effect not reversing the thread either). 00:31:55 Consider it noted. 00:32:08 -!- adu has joined. 00:34:56 -!- aloril has joined. 01:06:13 night 01:14:05 @tell fizzie That s wrapping bug is also fixed now. I don't remember if you found any other bug. 01:14:05 Consider it noted. 01:16:45 -!- augur_ has changed nick to augur. 01:29:44 -!- shikhin_ has joined. 01:32:44 -!- shikhin has quit (Ping timeout: 245 seconds). 01:36:11 -!- arjanb has quit (Quit: zzz). 01:39:08 -!- AndoDaan has joined. 01:52:23 -!- adu has quit (Quit: adu). 01:52:43 -!- G33kDude has joined. 01:55:17 -!- GeekDude has quit (Ping timeout: 256 seconds). 01:55:21 -!- G33kDude has changed nick to GeekDude. 02:03:03 -!- GeekDude has quit (Read error: Connection reset by peer). 02:03:14 -!- GeekDude has joined. 02:06:57 -!- adu has joined. 02:10:14 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 02:11:10 -!- Phantom_Hoover has joined. 02:15:43 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 02:39:25 -!- GeekDude has joined. 02:39:28 -!- GeekDude has quit (Changing host). 02:39:28 -!- GeekDude has joined. 02:46:08 -!- _1_rafmont2 has joined. 02:55:37 -!- AndoDaan has quit (Ping timeout: 244 seconds). 02:57:50 -!- _1_rafmont2 has quit (Remote host closed the connection). 03:09:36 -!- Phantom_Hoover has quit (Remote host closed the connection). 03:28:20 I am working on making a game with OHRRPGCE, but it has problems so when I make the sequel probably I will use SQL instead (SQL is also sometimes called "sequel", but that has nothing to do with it). 03:29:04 -!- GeekDude has quit (Quit: AdiIRC is updating to v1.9.6 Beta Build (2014/12/30) 32 Bit). 03:29:29 -!- GeekDude has joined. 03:47:35 This book my sister gave me for Christmas present has its own symbols for musical intervals which I have not seen elsewhere; a circle means a perfect unison, a square means a perfect fourth, a triangle means a major third, four circles joined together means augmented fourth, etc. 03:54:38 -!- shikhin_ has quit (Ping timeout: 265 seconds). 04:10:09 -!- oren has quit (Quit: Lost terminal). 04:12:23 -!- boily has quit (Quit: BLAZING CHICKEN). 04:12:32 -!- CADD has joined. 04:12:32 -!- CADD has quit (Client Quit). 04:13:06 -!- CADD has joined. 04:17:42 -!- adu has quit (Quit: adu). 04:25:36 -!- adu has joined. 04:29:02 This book also uses glyphs for planets, which I have not seen elsewhere, too. 04:30:10 it's hip to be a perfect fourth 05:01:12 -!- bb010g has quit (Quit: Connection closed for inactivity). 05:09:42 -!- Solace has joined. 05:10:03 (y=(ln(x/m-sa))/r^2)) 05:16:42 guys its a w+ln(|N|))=ln(|ap^2H+e^ar|)+ln(|y|) :0 05:20:57 o...okay 05:22:04 What is that for? 05:23:12 happy new years 05:23:53 It is not quite yet the new year, it is soon 05:24:11 And then after that it will soon be Epiphany (the end of the Christmas season) 05:24:52 for me it is 05:28:49 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 05:42:44 -!- augur_ has joined. 05:45:39 -!- augur has quit (Ping timeout: 245 seconds). 06:04:13 -!- mitchs has quit (Quit: mitchs). 06:20:23 -!- oerjan has joined. 06:27:57 -!- nys has quit (Quit: sleep). 06:37:28 -!- Patashu has quit (Ping timeout: 255 seconds). 06:38:50 -!- augur has joined. 06:39:30 -!- bb010g has joined. 06:41:58 -!- augur_ has quit (Ping timeout: 255 seconds). 06:57:37 -!- InvalidCo has quit (Ping timeout: 240 seconds). 06:57:44 -!- InvalidCo has joined. 06:57:44 `unidecode ‐ 06:57:45 ​[U+2010 HYPHEN] 06:57:52 fiendish 06:58:04 (i see a blank square) 06:59:42 > fix $ printf "HYPHEN%sMINUS" 06:59:43 No instance for (GHC.Show.Show a0) 06:59:43 arising from a use of ‘M50235812057197137065544.show_M50235812057197137065... 06:59:43 The type variable ‘a0’ is ambiguous 06:59:54 > text $ fix $ printf "HYPHEN%sMINUS" 06:59:59 mueval: ExitFailure 1 07:01:45 -!- InvalidCo has quit (Ping timeout: 244 seconds). 07:06:38 > var $ fix $ printf "HYPHEN%sMINUS" 07:06:39 HYPHENHYPHENHYPHENHYPHENHYPHENHYPHENHYPHENHYPHENHYPHENHYPHENHYPHENHYPHENHYPH... 07:06:56 (text is strict in the whole string passed) 07:08:43 :t text 07:08:44 String -> Doc 07:09:07 or at least its spine, it's part of a text formatting system so needs to know the width. 07:09:48 > take 50 . text $ ['A'..'z'] ++ repeat 50 undefined 07:09:49 Couldn't match type ‘Text.PrettyPrint.HughesPJ.Doc’ with ‘[a]’ 07:09:49 Expected type: GHC.Base.String -> [a] 07:09:49 Actual type: GHC.Base.String -> Text.PrettyPrint.HughesPJ.DocCouldn't matc... 07:09:57 oops 07:10:12 > take 50 . show . text $ ['A'..'z'] ++ repeat 50 undefined 07:10:13 Couldn't match expected type ‘t0 -> [GHC.Types.Char]’ 07:10:13 with actual type ‘[a0]’ 07:10:19 NOW WHAT 07:10:32 oh 07:10:38 > take 50 . show . text $ ['A'..'z'] ++ replicate 50 undefined 07:10:40 "ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqr" 07:10:45 yep, only the spine 07:11:30 Jafet: ^ 07:12:54 -!- InvalidCo has joined. 07:13:01 Vorpal: dieharder isn't that slow but that Befunge RNG is :-P cfunge manages around 370 KiB/s on this box (vs. e.g. 'cat /dev/urandom' doing 17 MiB/s) 07:15:34 Vorpal: Re. kt, rule of thumb: k doesn't special-case things. If your k works and your t works, whatever happens happens, the double-reverse sounds right. I hope Mycology tests k enough these days that it passes only the "obvious" non-special-casing implementation or something hopefully-obviously overcomplicated. (Rule of thumb to Funge-98 programmers: don't use k on instructions that might fail. Also don't 07:15:36 use kt because nobody wants to deal with that.) 07:16:19 > text "ä" 07:16:20 ä 07:16:27 don't cross the kt boundary 07:16:39 Deewiant: what does t do again? 07:16:45 elliott: Fork thread 07:17:42 oh, new golfing problem 07:18:06 (it's the cp boundary these days, i hear) 07:18:13 (you shouldn't cross that either) 07:18:31 Boundaries are generally meant to not be crossed, otherwise they wouldn't be there 07:18:31 (ok so it's actually K-Pg) 07:19:46 Jafet: it's only simple text layout formatting, i think it has no idea about unicode... note that it didn't even look at the undefined characters above 07:19:50 Don't cross the pg boundary either 07:20:02 :t sizedText 07:20:03 Int -> String -> Doc 07:21:23 it's mainly just for indentation and side-by-side stuff, last i checked it didn't even have a combinator for a rectangular table. 07:22:32 > text + () 07:22:33 Couldn't match expected type ‘GHC.Base.String 07:22:33 -> Text.PrettyPrint.HughesPJ.Doc’ 07:22:33 with actual type ‘()’ 07:22:57 * oerjan did that to make it display the module name 07:23:14 * oerjan discovers you cannot do /me inside parentheses 07:24:01 Time to rally for CTCP PARENTHETICAL_ACTION 07:24:52 you can just do 07:24:57 (ACTION this) 07:26:10 What is (*elliott this) 07:26:27 did that actually work 07:26:48 ACTION hopes your client actually supports this -- it's such a beautiful mess! 07:28:22 As opposed to ugly messes, like mirc colours 07:33:15 My client displays all of those things; it won't display mIRC colors though 07:35:54 ( 67 , 88 ) 7.00 ( 86 , 6 ) I think my server is gonna die 07:36:06 farewell maybe 07:37:44 -!- coppro has quit (Ping timeout: 245 seconds). 07:42:07 -!- MoALTz has quit (Quit: Leaving). 07:45:47 -!- shikhin has joined. 07:52:36 -!- SopaXorzTaker has joined. 07:52:36 -!- SopaXorzTaker has quit (Changing host). 07:52:36 -!- SopaXorzTaker has joined. 07:57:50 elliott: i think zzo38's client is the only one which does. 07:58:05 yeah I guess Jafet was joking :p 07:58:50 yay i got a golfing solution in first 07:59:01 now to wait to see it thrashed 08:01:42 African dictator of the hill 08:12:36 oerjan: 102. 79. 08:12:56 NOOOO i was just going to submit a 102 08:13:35 argh compile error 08:14:06 wait wat 08:15:21 bah fixing that made it 103 instead 08:15:36 (really stupid, mistyped <- as -) 08:16:26 int-e: AAAAAAAA not cheating, i presume? 08:16:41 oh well i did predict thrashing 08:17:00 Aaaaaah 08:17:08 My sinuses are in poor condition right now 08:17:13 ah. 08:17:35 oerjan: not cheating. would I ever?! 08:17:44 Taneb: we're golfing here, please don't go on tangents. 08:17:50 int-e: yes hth 08:18:11 although 73 is too short to be cheating on this, i think 08:19:50 i guess this means a completely different algorithm is called for. 08:20:06 i didn't even have any guard splits this time! 08:23:12 hm despite length you somehow have more symbols than me 08:23:56 i suppose because i used several alphanum builtin functions 08:25:29 maximum and zipWith are pretty long 08:30:33 well, you did ask to be trashed, I was happy to oblige ;) 08:30:39 OKAY 08:37:56 giddy, too 08:38:13 but now afraid of henkma 08:40:22 is there any site where I can make a .edu student email 08:40:28 or are they just assigned 08:42:32 you have to be a student first... 08:44:16 This is what I've been.trying to tell this guy 08:44:24 GOD DAMMIT 08:44:27 * Solace sobs 08:44:50 "this guy" 08:45:07 some guy who wants a java ide session 08:45:23 I've been telling him... 08:45:29 I think he's trolling me 08:47:02 there was a time when you could have reached me via oerjan@nuts.edu 08:47:30 when was that! 08:48:13 our university's (which is not in the us) computer club (of which i'm still a member and through i'm currently irc'ing) managed to get it assigned to them 08:48:25 Fiendish 08:48:26 back in the '90s 08:48:44 omfg 08:48:55 I was a infant 08:48:59 an* 08:49:26 this happened after someone noted that the obvious english translation of our newly reorganized university's new name was Norwegian University of Technology and Science 08:50:09 Hmm, they do have ntnu.edu. 08:50:12 they then wisely chose to make the official translation Science and Technology instead. 08:50:25 So 08:50:33 Jafet: don't you mean ntnu.no 08:50:46 you've been through a lot of code before I'm guessing oerjan 08:51:03 http://ntnu.edu 08:51:19 but not before our computer club (actually one of two, the two merged parts of the university had different ones which still survive) grabbed it 08:51:30 Jafet: whois claims it doesn't exist... 08:51:51 More fiendish 08:51:52 it exists 08:52:11 What's the registration authority for .edu? 08:52:23 Jafet: that would probably be something the whole university got, though 08:52:34 the main domain is ntnu.no 08:52:55 getaddrinfo(whois.educause.edu): No address associated with hostname 08:53:22 Jafet: i think back then at least, it wasn't officially us-restricted 08:53:45 I'm moving to Sweden 08:53:58 its like a very non violent place 08:54:31 its almost as if its the... 08:54:33 Jafet: oh wait it was just an intermittent whois failure, found it now 08:54:35 Twilight zone 08:54:49 norway is also rather nonviolent 08:54:51 Heh, the .edu registrar has a list of suspended domains at https://net.educause.edu/edudomain/delinquent.asp 08:55:26 Is the norwegian language easy to learn? 08:55:50 coming from English speaking countries 08:56:05 Solace: well it's related to english, and has easier spelling... 08:56:13 although we do have genders 08:56:43 what do genders have to with language ? 08:57:07 Solace: um you don't know any languages with grammatical gender? 08:57:08 Also do you have to roll r's in Norwegian? 08:57:32 I cannot do that even if I was about to get murdered 08:57:52 mind you the mind is very powerful? 08:58:02 Solace: if you learn to speak "normalized eastern norwegian", then you have to roll rs. but in western dialects you can use an uvular r instead 08:58:20 I cannot 08:58:40 dialects are btw as i've mentioned before a major challenge when using norwegian in practice 08:59:11 because for strange historical reasons, we're one of the few nations in the world that _don't_ normalize our speech 08:59:22 everytime I try and roll an r 08:59:28 it comes out as whoosh 08:59:38 Solace: just be glad you're not learning czech hth 08:59:53 ill just learn Japanese 08:59:53 (r hacek, one of the hardest sounds in the world) 09:00:09 and well 09:00:16 I can use a throat r 09:00:37 fuck I'm such a failure at noises 09:00:55 * Solace is trying to roll an r atm 09:02:18 i assume by throat r you mean what i called uvular above 09:02:25 I think everytime I try I kinda stop breathing out of my mouth and then out my nose 09:02:46 or just stop breathing 09:03:43 nope I can't roll an r 09:03:50 * Solace fails life 09:04:03 OKAY 09:04:53 wait does it really make a difference if I use and English r? 09:05:06 just learn the bergen dialect. no r rolling and one less gender than everyone else 09:05:15 Solace: you'll probably be understood 09:05:42 (also the dialect of our prime minister) 09:05:42 ok 09:06:02 I over react a lot 09:06:58 I made a recall thing for my bot that lets me bring back certain things and sentences people have said if I state a month and channel 09:07:13 without breaking my irc 09:07:59 on the flip side, sweden is a lot easier to get into than norway. although this is slowly dooming their government to collapse as the anti-immigration party gets steadily stronger, so probably won't last many more years. 09:08:37 Why is Norway hard to get into? 09:09:00 it's not that norway is so hard, it's that sweden is unusually easy. 09:09:13 do you want to keep that whole no war forever and ever title forever? 09:09:21 for a european country 09:09:26 Solace: wat 09:10:16 not engaging in wars does sound like an excellent plan 09:10:26 the idea that norway is peaceful is looking more and more like a myth and hypocritical 09:11:20 @metar LOWI 09:11:21 LOWI 310850Z VRB01KT 3000 -SN BR FEW005 SCT010 BKN035 M02/M02 Q1032 R08/49//95 NOSIG 09:11:49 it broke down with the kosovo war in the 90s, and since then we've been involved militarily in iraq, afghanistan and libya. 09:12:22 also we have a very big weapon industry for our size 09:12:59 the politicians still get flack for trying to avoid the word "war", though 09:13:03 oh good, it's supposed to stay below 0C 09:13:14 @metar ENVA 09:13:15 ENVA 310850Z 30009KT 9999 VCSH FEW025 SCT041 BKN098 07/04 Q1014 NOSIG RMK WIND 670FT 28014KT 09:13:36 i think most of the snow and ice has washed away by now 09:14:01 here it's snowed quite a bit tonight 09:15:34 *flak, it seems 09:16:12 monday was very slippery 09:16:35 then they put on gravel 09:17:23 (on the sidewalks) 09:17:31 Is it bad if I just imagined you slipping around 09:17:50 no, although i managed to avoid falling 09:18:07 I think ny heater vent is broken 09:18:14 I'm dying of the cold 09:18:23 r.i.p. 09:19:12 last end of summer it the heating was broken here. thankfully it got fixed before it got really cold. 09:19:16 *-it 09:22:56 @metar EFHK 09:22:56 EFHK 310850Z 28009KT 9999 BKN007 04/02 Q1008 NOSIG 09:23:02 It was M20 last time I did that. 09:23:07 Now it's plus four. 09:26:24 -!- coppro has joined. 10:15:43 -!- adu has quit (Quit: adu). 10:29:06 -!- MoALTz has joined. 10:31:32 that's a bit better 11:49:00 -!- irctc613 has joined. 11:51:48 -!- irctc613 has quit (Client Quit). 11:53:24 -!- perrier___ has quit (Read error: Connection reset by peer). 12:06:41 oerjan, what is? 12:06:42 -!- SopaXorzTaker has quit (Remote host closed the connection). 12:07:52 90 < 103 12:08:03 Vorpal: http://golf.shinh.org/p.rb?Kimariji 12:08:03 http://golf.shinh.org/p.rb?Kimariji 12:08:17 Ah 12:08:24 still 17 characters to beat 12:10:01 still need yet another algorithm 12:13:05 that is a neat problem 12:21:38 oops, filtering an infinite list to find the length of the result doesn't work 12:31:31 -!- shikhin_ has joined. 12:32:26 -!- Phantom_Hoover has joined. 12:34:38 -!- shikhin has quit (Ping timeout: 250 seconds). 12:50:10 -!- Solace has quit (Quit: Connection closed for inactivity). 12:50:30 @metar 12:51:41 -!- MoALTz has quit (Ping timeout: 272 seconds). 12:52:07 int-e: it might be nice if @metar remembered what you metared last 12:52:43 ooh, and @metar could give you what they metared last (assuming it's their local airport) 12:53:02 @metar EGNT 12:53:02 EGNT 311220Z VRB01KT 9999 FEW025 08/04 Q1023 12:54:19 @metar ESSL 12:54:19 ESSL 311220Z AUTO VRB02KT 9999NDV FEW110/// 05/03 Q1018 R29/19//95 12:56:04 olsner: I'm not convinced; for your own use, you could just make an alias in your client. 12:58:25 I can just never remember what my ICAO code is 13:06:01 -!- CADD has quit (Remote host closed the connection). 13:11:51 -!- MoALTz has joined. 13:16:59 linux manual for readdir_r: 13:16:59 name_max = pathconf(dirpath, _PC_NAME_MAX); 13:16:59 if (name_max == -1) /* Limit not defined, or error */ 13:16:59 name_max = 255; /* Take a guess */ 13:16:59 len = offsetof(struct dirent, d_name) + name_max + 1; 13:17:00 entryp = malloc(len); 13:18:24 i want to put -2 in there 13:20:19 waaaait a second... 13:21:23 This is all wrong. "_PC_NAME_MAX: returns the maximum length of a filename in the directory path or fd that the process is allowed to *create*" with an explicit note stating " Files with name lengths longer than the value returned for name equal to _PC_NAME_MAX may *exist* in the given directory." (emphasis mine) 13:22:15 what the hell 13:22:28 how do they get there? 13:24:44 In the same vein, ntfs-3g can create filenames that Windows refuses to open or remove. 13:24:48 http://pubs.opengroup.org/onlinepubs/009695399/functions/readdir_r.html states "Either the {NAME_MAX} compile-time constant or the corresponding pathconf() option can be used to determine the maximum sizes of returned pathnames." 13:25:32 linux manual for pathconf: "Some returned values may be huge; they are not suitable for allocating memory." 13:29:37 hurd defines the path maxmimum things to like some ridiculously huge value I think 13:29:43 *maximum 13:29:54 like max 32-bit value or something 13:29:56 Good thing no one uses it, then 13:31:10 http://elliotth.blogspot.co.at/2012/10/how-not-to-use-readdirr3.html suggests to just use readdir() 13:31:22 int-e: that guy's name really fucks with me 13:31:36 I see it every now and then and I'm like b-buh??? 13:31:49 -!- shikhin_ has changed nick to shikhin. 13:32:45 E. Hurd 13:34:24 int-e: nice, there's a race too 13:34:26 and http://womble.decadent.org.uk/readdir_r-advisory.html points out that the suggested usage, even if the returned limit is safe, has race conditions 13:35:02 So it's really just a horrible API. 13:35:15 racist usage 13:36:06 The academic community prefers "racy" hth 13:36:14 and unfortunately, "The readdir() function need not be reentrant. A function that is not required to be reentrant is not required to be thread-safe." 13:36:40 who needs to readd irs, anyway 13:37:22 oerjan: updatedb 13:37:57 good, that b was far too out of date 13:38:58 the name is really original, but it updates the database of for "locate" (which personally, I use a lot) 13:39:28 There are irs up tedb? 14:25:18 -!- FreeFull has quit (Ping timeout: 264 seconds). 14:36:58 O_o Haskell on the JVM: https://github.com/Frege/frege 14:39:38 yeah, still no aur package 14:42:38 `cc char buf[9]; printf("%d", sscanf("", "[]", buf)); 14:42:43 ​/tmp/a.c:1:21: error: expected declaration specifiers or ‘...’ before string constant \ /tmp/a.c:1:27: error: unknown type name ‘sscanf’ 14:43:11 `cc int main(void) { char buf[9]; printf("%d", sscanf("", "[]", buf)); return 0; } 14:43:15 ​/tmp/a.c: In function ‘main’: \ /tmp/a.c:1:31: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default] \ /tmp/a.c:1:44: warning: incompatible implicit declaration of built-in function ‘sscanf’ [enabled by default] \ -1 14:44:06 `cc #include \ int main(void) { char buf[9]; printf("%d", sscanf("", "[]", buf)); return 0; } 14:44:06 ​/tmp/a.c:1:20: warning: extra tokens at end of #include directive [enabled by default] \ /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crt1.o: In function `_start': \ (.text+0x20): undefined reference to `main' \ collect2: error: ld returned 1 exit status 14:44:34 Jafet: use \n not \ 14:44:59 Hmm 14:45:15 it's a substitution done by the command itself, not related to HackEgo's normal output 14:45:29 `` function f { echo "$@" }; f "a\nb" 14:45:29 bash: -c: line 1: syntax error: unexpected end of file 14:46:25 `` function f() { echo "$@"; }; f "a\nb" 14:46:25 a\nb 14:46:35 Jafet: the `cc command, that is. 14:46:43 `cat bin/cc 14:46:43 ​#!/bin/sh \ echo "$@" > /tmp/a.c && gcc /tmp/a.c -o /tmp/a.out && /tmp/a.out 14:47:55 hm 14:48:10 `` bash -c 'echo "$@"' 'a\nb' 14:48:10 No output. 14:48:40 -!- FreeFull has joined. 14:48:48 `` f() { echo "$@"; }; f 'a\nb' 14:48:48 a\nb 14:49:11 `` sh -c 'f() { echo "$@"; }; f '\''a\nb'\''' 14:49:11 a \ b 14:49:18 Fantastic 14:49:59 -!- nys has joined. 15:12:41 -!- boily has joined. 15:13:14 @metar CYQB 15:13:14 CYQB 311500Z 26011KT 15SM FEW013 FEW030 M17/M21 A3018 RMK SF1SC1 SLP229 15:14:27 boily: you need to change your name to freezy hth 15:20:19 @metar ENVA 15:20:20 ENVA 311450Z 10006KT 9999 FEW001 BKN085 03/03 Q1011 NOSIG RMK WIND 670FT 21010KT 15:20:29 -!- supay has changed nick to supay_afk. 15:20:55 and here all the snow is washing away 15:21:19 hellørjan. 15:21:37 we had our snowmelt happen just before christmas, then everything went down. mainly temperatures. 15:21:45 ciely. 15:25:02 We got all the snow just a day or three before Christmas, and now it's going. It's like someone ordered a white Christmas, but nothing more than that. 15:25:09 one benefit of a solid M17 outside is that cold tap water is very cold. nothing like a refreshing scottish shower ^^ 15:25:37 AAAAAAAAAAAAAA 15:25:38 http://outside.aalto.fi/img/temp.month.png like that 15:25:45 oerjan: AAAAAAAAA? 15:26:20 fizzie: neat. 15:26:27 * oerjan does not want scottish showers 15:27:52 I usually can't get them at home because of... hmm... peculiarities with the unusual tap, but when I'm at my parents, aaaaaah :) 15:28:39 (ah! apparently the Finns have “avantouinti”.) 15:29:49 AAAAAAAAAAAAAAA 15:30:52 i've read that trondheim has a sea bathing society which also is open during winter 15:33:10 found a brief youtube video (not winter afaict) https://www.youtube.com/watch?v=V-i_ZLL-_80 15:33:40 oh this is winter https://www.youtube.com/watch?v=20dtoVoHppY 15:35:21 -!- SopaXorzTaker has joined. 15:35:21 -!- SopaXorzTaker has quit (Changing host). 15:35:21 -!- SopaXorzTaker has joined. 15:37:03 -!- AnotherTest has joined. 15:40:02 Ils sont fous ces Norvégiens... 15:40:41 :D 15:41:06 i heard a mention of 1.5 celsius water temperature 15:41:25 I heard people talking. mine eyes glazeth over very much... 15:41:35 * boily should study germanic languages more... 15:42:03 goodfternoonoily 15:43:47 shachar tahara'im tovim. 15:43:56 s/\bt/tz/ 15:44:51 shachar? 15:45:01 * shachaf tries to figure out whether that's a pun or a mistake 15:46:17 I portmanteaued to the best of my ability >_>'... 15:46:42 shachar means dawn hth 15:47:08 -!- scoofy has joined. 15:47:48 also portmanteaus are v. popular in hebrew 15:48:00 but i'm not sure what you were going for there 15:48:32 well, http://omniglot.com/language/phrases/hebrew.php lists the aforementioned phrase as “good afternoon”, and I tried to esthetically merge shachaf into it. 15:49:51 oh, i see 15:50:08 It's not actually afternoon. 15:50:25 darn. 15:50:30 -!- nortti has changed nick to lawspeaker. 15:50:37 -!- lawspeaker has changed nick to nortti. 15:51:21 the Dawn of the Seagull 15:51:44 this year's big eco-horror movie 15:52:22 -!- dts|pokeball has quit (Ping timeout: 245 seconds). 15:58:40 -!- nortti has changed nick to lawspeaker. 16:00:05 -!- shikhin has changed nick to shikhit. 16:01:05 -!- lawspeaker has changed nick to nortti. 16:04:52 -!- bb010g has quit (Ping timeout: 272 seconds). 16:08:01 -!- arjanb has joined. 16:13:27 -!- bb010g has joined. 16:21:07 Pow, ka-pow. 16:21:20 wat, ka-wat 16:21:25 oerjan: Fireworks. 16:21:28 ah. 16:21:44 not much of that here yet 16:22:01 Well, our laws allow them from 18:00, and it's 18:21 here now. 16:22:08 oerjan: Also, ice swimming is a real big tradition in Finland. 16:22:15 i know 16:22:24 * Melvar has decided he needs to read this disassembly … 16:22:30 Where do I learn how? 16:22:32 -!- AnotherTest has quit (Remote host closed the connection). 16:23:03 (x86_64) 16:23:56 Learn how to read x86_64 generated code? 16:24:49 fizzie: yup, the explosions have begun here as well. 16:25:14 I mean, my proximal problem is, what do the parens mean exactly. 16:25:31 Wow that sentence was broken. 16:25:43 In AT&T syntax? 16:25:53 How do I tell that? 16:26:04 If you're using GNU tools it's probably AT&T syntax. 16:26:07 It has % on the registers. 16:26:14 http://en.wikibooks.org/wiki/X86_Assembly/GAS_Syntax 16:26:36 Thank you. 16:26:39 Parentheses mean dereference, e.g. (%rax) means something like "*rax" in C. 16:26:43 assembly makes my brain hurt 16:26:54 But there are a bunch of extra syntax bits. 16:27:19 I guess that page explains it. 16:27:54 -!- ais523 has joined. 16:28:27 -!- SopaXT has joined. 16:28:27 -!- SopaXT has quit (Changing host). 16:28:27 -!- SopaXT has joined. 16:28:30 it appears that the official children fireworks will be at 7 pm 16:29:14 -!- SopaXorzTaker has quit (Read error: Connection reset by peer). 16:29:23 "children fireworks"? 16:29:29 disp(%base,%index,scale) is (in pseudo-C) *(%base + scale*%index + disp), where scale is one of 1, 2, 4, 8, %base and %index are registers, and disp is an immediate displacement. 16:29:33 (To summarize.) 16:29:52 ais523: ok "family" 16:30:13 Yes, I was going to type what fizzie typed but then I saw that the page I linked to said the same thing. 16:30:14 trondheim has an official firework 16:30:39 If you write simple C code you can read the x86 that your favorite compiler turns it into. 16:31:42 if it's really simple you can jit-compile it with https://github.com/EarlGray/c4 16:31:51 (there's also a bigger one at midnight, of course) 16:34:05 Hrmf, garbage pointer? Though this test looks weird … 16:34:13 they started having that after they outlawed private fireworks in the city center 16:35:16 -!- MoALTz has quit (Quit: Leaving). 16:38:49 Nope, the test is fine, must be a garbage pointer … 16:38:56 oerjan: Is it like the kind of thing where you strap a baby to a rocket and fire it up? 16:48:19 -!- shikhit has changed nick to shikhin. 16:52:01 fizzie: i dunno i have never seen it close up hth 16:52:02 -!- SopaXT has quit (Remote host closed the connection). 16:52:04 -!- mihow has joined. 16:52:34 -!- callforjudgement has joined. 16:52:48 -!- SopaXorzTaker has joined. 16:52:48 -!- SopaXorzTaker has quit (Changing host). 16:52:48 -!- SopaXorzTaker has joined. 16:53:51 oerjan: if fireworks are outlawed only outlaws will have fireworks hth 16:55:40 shachaf: i take it you are referring to the recent wave of arson in trondheim tdnh 16:56:17 -!- ais523 has quit (Ping timeout: 256 seconds). 16:56:52 -!- callforjudgement has changed nick to ais523. 16:56:57 i wasn't aware of that wave sfnh 16:58:04 one of the most stylish old pubs in the city got burned down :( 16:58:55 ("old", it was from the 50s or 60s or thereabouts) 17:01:31 -!- CADD has joined. 17:03:52 -!- InvalidCo has quit (Ping timeout: 255 seconds). 17:05:22 -!- adu has joined. 17:12:28 Your fires were mentioned in the Finnish news. 17:12:43 We're a bit closer, admittedly. 17:13:02 Finnish news? Isn't that a song by Noël Coward? 17:13:46 pizza est 17:15:16 I've been informed that Norwegian pizza is the best. 17:15:37 indeed! 17:15:47 -!- supay_afk has changed nick to supay. 17:16:11 at least they caught the pub arsonist, he was lurking around before and the neighbors spotted him 17:16:54 but it's not clear whether they got the one in the suburbs 17:19:26 * boily fears a lutefisk pizza 17:19:51 i haven't heard of that, i think 17:20:08 my dad in youngers tried to serve me both fish pizza and brunost pizza, though 17:20:15 *in younger years 17:20:22 youngers. 17:20:23 wtf happened to those letters 17:20:36 I thought it was a place. 17:21:18 -!- InvalidCo has joined. 17:21:38 I.e., you have one dad in Youngers, and another in Olders. 17:22:16 sounds like it would be in flandern somewhere 17:23:04 *flanders 17:23:10 ... 17:23:40 (it's actually flandern in norwegian) 17:24:37 flandern sounds like it would be spelled with a v originally 17:24:40 wikipédia redirects flandern to flanders. 17:25:04 olsner: indeed 17:25:11 boily: have you tried lutefisk? 17:26:19 not yet! 17:26:40 hm they have this reality show in norway where norwegian-americans compete to get to meet their family roots. i'm pretty sure lutefisk tasting would be one of the tests. 17:27:01 (i haven't watched it though, and don't have a tv) 17:27:05 boily: I think lutfisk is going out of style, you might have to hurry before they stop making it 17:27:20 (in sweden, that is, maybe it's still going strong in norway) 17:28:34 hm the english wikipedia has a page but it's very brief except for lists https://en.wikipedia.org/wiki/Alt_for_Norge 17:28:47 olsner: How about surströmming? 17:29:39 surströmming only exists due to continued military subsidies hth 17:30:13 weaponized surströmming. *shudders* 17:30:38 it seems more popular than lutfisk, since it appears in shops every year (and is prominently displayed)... which is odd, lutfisk is perfectly edible though completely tasteless, almost the complete opposite of surströmming 17:34:49 of course it's in the shops here http://www.matvareguiden.no/bilder_store/5829.jpg 17:37:36 (that's the christmas packaging of norway's main microwave dinner brand hth) 17:38:02 -!- dts|pokeball has joined. 17:39:04 -!- Solace has joined. 17:40:35 -!- dts|pokeball has quit (Read error: Connection reset by peer). 17:41:37 -!- dts|pokeball has joined. 17:48:01 -!- MoALTz has joined. 17:50:55 oerjan, well there is bacon in that, so that helps 17:51:54 bacon always helps 17:52:14 and is standard lutefisk condiment afaiac 17:57:54 I only ate lutfisk once, I thought the standard condiment was white sauce and pepper 17:58:31 no wonder lutefisk is dying out in sweden hth 17:58:44 indeed 18:08:16 -!- GeekDude has joined. 18:16:52 what is lutfisk 18:20:08 lye-treated fish 18:20:32 ah 18:20:46 (lut = lye, fisk = fish) 18:21:03 is it good? 18:25:40 delicious hth 18:25:54 * oerjan carefully hides his evil cackling 18:31:42 -!- shikhin_ has joined. 18:35:45 -!- shikhin has quit (Ping timeout: 265 seconds). 18:36:00 -!- shikhin_ has changed nick to shikhin. 18:36:24 -!- callforjudgement has joined. 18:38:01 -!- callforjudgement has quit (Read error: Connection reset by peer). 18:38:06 -!- scarf has joined. 18:38:13 -!- ais523 has quit (Disconnected by services). 18:38:16 -!- scarf has changed nick to ais523. 18:42:32 -!- GeekDude has quit (Ping timeout: 250 seconds). 18:44:31 -!- callforjudgement has joined. 18:45:00 -!- ais523 has quit (Read error: Connection reset by peer). 18:48:36 -!- callforjudgement has changed nick to ais523. 18:50:15 ono 18:50:38 -!- AndoDaan has joined. 18:53:14 -!- GeekDude has joined. 18:57:51 -!- dts|pokeball has quit (Ping timeout: 244 seconds). 19:00:22 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 19:01:08 -!- GeekDude has joined. 19:15:25 -!- mihow has quit (Quit: mihow). 19:26:30 -!- mihow has joined. 19:36:29 -!- MoALTz has quit (Quit: Leaving). 19:41:27 -!- MoALTz has joined. 19:43:23 -!- oerjan has quit (Quit: leaving). 20:04:16 -!- GeekDude has quit (Read error: Connection reset by peer). 20:09:04 Idea for an esoteric programming language: "2014". Has no executable commands but if and implementation is run, and it's 2014, it output "Hello, World!" 20:09:31 AndoDaan: so if it isn't written quickly, the language is useless? 20:09:52 Completely. 20:10:41 Maybe until 12 014. I don't know how computers will use dates then, so it might mess up. 20:11:12 y12k problem 20:11:34 Not my problem. 20:13:30 Maybe not completely useless. Imagine: http://i.imgur.com/BO7rmKK.jpg Start up the old "2014" and say "hth" 20:14:07 `` sha256sum <<<'int main(){}' 20:14:08 7364d3748f78f2937d0c5381c90d3b12c46b11966dae15673d34cfac955cec5f - 20:15:03 Let C-7364d3748f78f2937d0c5381c90d3b12c46b11966dae15673d34cfac955cec5f be C with the syntactic restriction that every source file miust have an SHA256 hash equal to 7364d3748f78f2937d0c5381c90d3b12c46b11966dae15673d34cfac955cec5f... 20:19:40 (The language is "cryptographically secure"; it is (almost certainly) TC, but writing exploitable code in it is close to impossible.) 20:20:33 Insert a backreference to the tedious C-and-TC discussions here. 20:21:02 security claim: [4~.well, modulo compiler bugs.. 20:21:09 (Maybe a footnote or something, when they publish the #esoteric book.) 20:22:33 I guess I'm too practically minded to not consider C a TC language. In fact I expect that logically speaking, C does not exist; a standard that big is sure to contradict itself in several places. 20:30:02 `2014 AndoDaan 20:30:02 Hello, world! 20:30:28 Awesome. Thanks! 20:30:44 `2014? 20:30:44 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: 2014?: not found 20:30:48 I am not very good at HackEgo, it took me a few tries to get that in properly 20:30:56 `cat bin/2014 20:30:56 ​#!/bin/sh \ if [ $(date +%Y) = "2014" ] \ then echo "Hello, world!" \ fi 20:31:38 (If not, all I need to make C TC is to specify that we run the same C code with the same input on an infinite series of machines with increasing pointer sizes, until it terminates. A bit unfortunately, this seems to imply that size_t's range grows without bound...) 20:32:31 Taneb: I appreciate it. That was funny, and unexpected. 20:32:42 :) 20:33:31 "logically speaking, C does not exist" out of context #esoteric 20:44:07 -!- CADD has quit (Remote host closed the connection). 21:00:23 -!- ais523 has quit (Read error: Connection reset by peer). 21:00:26 -!- callforjudgement has joined. 21:01:59 -!- scarf has joined. 21:02:13 -!- scarf has changed nick to ais523. 21:06:02 -!- SopaXorzTaker has quit (Remote host closed the connection). 21:06:43 -!- callforjudgement has quit (Ping timeout: 264 seconds). 21:21:49 @metar CYQB 21:21:50 CYQB 312100Z 26007KT 25SM FEW030 FEW240 M13/M20 A3007 RMK CF1CI1 SLP190 21:25:29 @metar ENVA 21:25:29 ENVA 312050Z 09007KT 9999 BKN044 03/02 Q1010 RMK WIND 670FT 17011KT 21:25:38 @metar ESSB 21:25:38 ESSB 312120Z AUTO 25008KT 9999 BKN004/// 03/02 Q1015 21:25:46 @metar EFHK 21:25:47 EFHK 312120Z 26007KT CAVOK 04/02 Q1010 NOSIG 21:25:57 ah! very warm in Helsinki! 21:26:11 Somehow I own 518 games on Steam. How did that happen. 21:26:45 I looked this up when I saw on the front page "already in your library" for a game I have no idea how I bought. (BioShock Infinite) 21:26:56 Must have been a humble bundle or something 21:35:52 -!- callforjudgement has joined. 21:37:54 Yep, the 2K bundle 21:40:10 -!- Solace has quit (Quit: Connection closed for inactivity). 21:40:19 -!- ais523 has quit (Ping timeout: 264 seconds). 21:40:59 -!- callforjudgement has changed nick to ais523. 21:41:48 Vorpal: Thanks, that makes me feel a bit better about the 150ish games that I have on Stream (too many humble bundles) 21:42:37 Otoh, I bought the 2K one for Bioshock Infinite, so I was unlikely to forget that. 21:42:57 (but I still haven't played it) 21:43:53 int-e, I have 101 humble bundles apparently 21:44:07 int-e, I bought it for X-COM: Enemy Unknown 21:44:08 wait, what... 21:44:21 I don't care about Infinite, maybe 1 and 2 though 21:44:30 Much more interesting from the videos I have seen 21:44:30 oh right, the weekly ones have been going on for a while, it's plausible. 21:44:38 yes 21:44:45 int-e, also book ones, I got a couple of them 21:45:30 int-e, btw if you need some extra keys of some games I believe I can gift those. I have two *spare* Fez keys 21:45:34 And a lot more 21:45:35 Oh, you checked the HB site. I don't have an account there. 21:45:48 Fez is nice (but I got it with some HB) 21:46:10 I guess I can count myself as a modest bundler/steamer with a library size of 98. 21:46:21 fizzie, that is only slightly behind me 21:46:37 I think that's games, not bundles. 21:46:41 int-e, yes? I looked at the progress bar for loading the home page, and it said "loading order 5 out of 101"... 21:46:52 Ah 21:47:03 Yes, 98 games. 21:47:13 fizzie, How many bundles= 21:47:15 s/=/?/ 21:47:23 14. 21:47:33 Vorpal: you can buy humble bundles without making a HB account; All I have is a mailbox full of links to the bundle pages. 21:47:43 So counting bundles is a bit tricky. 21:47:45 Ah 21:47:54 int-e, Can you redeem to steam nowdays though? 21:48:04 Thought it tied into your account nowdays 21:48:38 no, you can redeem to whatever account you're logged in with on steam 21:48:56 and in the early bundles, you got steam keys to copy and paste 21:49:02 Well yes 21:50:29 hmm 30 bundles + 5 individual humble store thingies. 21:51:13 Never bought anything on the humble store 21:54:09 let's see. I bought Trine (Trine 2 was nice), The Dream Machine Chapter 4 there (must've been cheaper than in the Steam Store), Antichamber (same price as on Steam, but DRM-free, as far as I recall), and Papo & Yo (hmm. I forgot). So only four things, actually. 21:55:11 Right 21:55:53 -!- boily has quit (Quit: DIMENSIONAL CHICKEN). 21:56:11 I bought both Trine through an early humble bundle. Bought Trine 2 way before it was in a humble bundle. Directly on steam I think. 21:56:26 I've bought Antichamber when it was 1.69€ in the Humble Store. 21:56:31 I prefer gog.com. 21:56:34 Bought Antichamber a few days after release, because it looked that amazing 21:56:39 And it was amazing 21:56:43 int-e, same, when possible 21:56:50 Going to buy Witcher 3 from gog of course 21:57:07 Anyway I got antichamber through a later humble bundle 21:57:20 Papo & Yo the same I think? 21:57:27 Never played that one, looks interesting though 22:02:37 `2014 just testing 22:02:38 Hello, world! 22:02:43 Not aware of the user's time zone, I see. 22:02:52 `date 22:02:53 Wed Dec 31 22:02:50 UTC 2014 22:04:16 What's the strftime specifier for Swatch Internet Time? 22:04:50 Vorpal: I think Papo & Yo is really well made, has unusual and interesting game mechanics ... but it also tells a disturbing story which may or may not affect how you'll like the game, it's hard to tell in advance. 22:09:46 Happy New Year to you then, fizzie. 22:09:54 int-e, Eh, disturbing as in dark? I'm usually fine with that 22:10:39 int-e, after all Witcher 2 is a dark and dreary world, and it is one of the games I love most 22:14:50 Merry uusi vuosi från Fin lande 22:15:03 What are you doing there 22:16:03 Partaking in the merriment 22:16:16 Vorpal: I don't think that's the right word. 22:16:58 int-e, huh, not sure what you mean then, will be interesting. 22:17:23 -!- dts|pokeball has joined. 22:25:35 -!- sebbu2 has joined. 22:25:57 -!- augur_ has joined. 22:26:12 -!- sebbu2 has quit (Changing host). 22:26:12 -!- sebbu2 has joined. 22:26:44 -!- MoALTz_ has joined. 22:28:09 -!- dianne_ has joined. 22:28:17 -!- MoALTz has quit (Ping timeout: 240 seconds). 22:29:37 -!- jix_ has joined. 22:34:20 -!- augur has quit (*.net *.split). 22:34:21 -!- sebbu has quit (*.net *.split). 22:34:21 -!- dianne has quit (*.net *.split). 22:34:21 -!- scounder has quit (*.net *.split). 22:34:21 -!- skarn has quit (*.net *.split). 22:34:21 -!- jix has quit (*.net *.split). 22:34:22 -!- newsham has quit (*.net *.split). 22:34:23 -!- pikhq has quit (*.net *.split). 22:39:40 -!- adu has quit (Quit: adu). 22:41:07 -!- skarn has joined. 22:44:53 -!- GeekDude has joined. 23:01:21 -!- scounder has joined. 23:02:16 -!- mihow has quit (Quit: mihow). 23:03:20 `2014 23:03:21 Hello, world! 23:04:26 that thing's only going to work for another hour 23:04:33 we should write a wiki page about it 23:06:19 You think so? I like the joke language, but I wouldn't clog up the wiki with just silly things. 23:06:42 -!- mihow has joined. 23:06:43 I think it makes a good philosophical point 23:07:11 `2014 23:07:12 Hello, world! 23:07:20 -!- mihow has quit (Client Quit). 23:08:32 "languages"* and "I wouldn't want"* 23:08:43 I must be tired. 23:09:03 put it this way: it's more thoughtprovoking than the average BF derivative 23:09:20 But yeah, I guess there are many examples of time constrained languages. 23:09:33 aren't* dammit. 23:09:52 I can't think of any actually. 23:09:55 it's the extremely limiting time that makes it interesting 23:10:05 arguably http://esolangs.org/wiki/Schroedilang if I've spelled that correctly 23:10:11 but that'd only be useful if the description wasn't blatantly lying 23:10:36 I'm racing to get this description done in 2014, too 23:11:12 Ha. 2014 has imprinted its nature upon you 23:13:02 [wiki] [[2014]] N http://esolangs.org/w/index.php?oldid=41562 * Ais523 * (+1093) new article 23:13:16 I'll put it on the joke language list, though 23:14:15 Yeah. 23:14:20 [wiki] [[Joke language list]] http://esolangs.org/w/index.php?diff=41563&oldid=41274 * Ais523 * (+147) /* General languages */ +[[2014]] 23:14:35 `2014 still 2014? 23:14:36 Hello, world! 23:14:37 "(and, presumably, years before 2014, although it will never be possible to tell)" brilliant. I didn't consider that. 23:14:47 that was one of my later additions to the page 23:15:24 `cat bin/2014 23:15:25 ​#!/bin/sh \ if [ $(date +%Y) = "2014" ] \ then echo "Hello, world!" \ fi 23:15:36 the reference implementation excludes years before 2013, hth 23:15:45 *2014 23:16:06 Quite a poetic description, as far as these things go. Thanks for that, ais523. 23:16:24 thanks 23:16:31 I think I saw the poetry in it, so I decided to write the article 23:16:37 int-e: that isn't a reference implementation 23:16:40 that's just an implementation 23:17:08 you can't really tell what any previous implementations did, since that's the first known implementation 23:17:25 hmm 23:17:38 what about programs that did nothing, and became permanently decomissioned before 2014 started 23:17:42 *decommissioned 23:17:44 are those 2014 interps? 23:17:44 Happy new year! 23:18:17 Vorpal: you live in UTC+00:43? 23:19:20 ais523, no I live in UTC+1, so it is now 00:19 23:19:31 ais523, however, I was busy during the actual moment, with family 23:19:34 I would say not, unless they were trying to be 23:19:52 OK, new esolang: all programs are interps for this esolang 23:19:58 they could be used as 2014 interpreters though? 23:19:58 what a program means depends on what runs it 23:20:18 ais523, that sounds meta 23:20:29 yes 23:20:41 ais523, also like a joke 23:20:45 Omnimetalang? 23:21:24 ais523, though there are UTC+nn:30 and similar laces 23:21:25 places* 23:21:35 Given a time machine, 2014 is/was/will be Hello-world-complete. 23:21:36 India for example is offset by a half-hour iirc 23:21:49 `2014 23:21:50 Hello, world! 23:21:55 "hello world complete" is a pretty low computational class 23:21:56 Well it depends on timezone 23:22:23 20:22 here 23:22:37 the fun is still ahead 23:23:24 Where is GMT-3? 23:23:41 -3 would imply the extreme east edge of the Americas 23:23:45 i thinki'm on the other side of the world 23:24:00 or something else that vertically lined up with that 23:24:08 this is gmt-5 23:24:16 *-i think 23:24:22 So it's 18:24 there? 23:24:46 it's 23:24 right now in UTC 23:25:03 it's 20:24 23:25:10 Nepal (GMT+05:45) and Chatham Islands (GMT+12:45, +1 in summer (yes, DST!)) are the best time zones. 23:25:16 but daylight saving is in the other direction 23:26:06 pallokolmio, that makes it distinctly GMT-3 23:28:14 oh right gmt means greenwich mean time. maybe this is too complicated for me 23:28:41 currently it's -3 i guess 23:28:58 and in your summer its -5 23:29:30 Is that... Brazil? 23:29:57 I guess technically, GMT=UTC+0; the former is a time zone, while the latter the standard time that time zones are based off. 23:31:13 I thought GMT and UTC differed in leap second handling? 23:31:15 maybe not 23:31:51 no, that UTC and TAI 23:31:58 *that's 23:33:08 chile 23:33:32 tor 1 jan 2015 00:33:32 CET 23:33:41 wrt what time it is 23:39:14 GMT+1 23:39:35 -!- adu has joined. 23:39:43 -!- dts|pokeball has quit (Ping timeout: 264 seconds). 23:43:34 -!- Phantom_Hoover has quit (Ping timeout: 244 seconds). 23:46:14 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 23:58:15 `2014 while I still can 23:58:16 Hello, world! 23:58:25 `2014 23:58:26 Hello, world! 23:58:38 `2014 23:58:38 Hello, world! 23:58:39 phew. 23:58:50 Is there a prize for last `2014 of 2014? 23:58:55 I doubt it 23:59:05 but we should probably all spam `2014 at the boundary, just in case 23:59:08 ha,I was actually thinking about that. 23:59:14 `2014 23:59:15 Hello, world! 23:59:22 `2014 23:59:22 Hello, world! 23:59:25 `2014 23:59:25 Hello, world! 23:59:58 `2014 23:59:58 Hello, world! 23:59:59 `2014 23:59:59 Hello, world!