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.