2019-03-01: 00:00:01 [[Poolshark]] https://esolangs.org/w/index.php?diff=60168&oldid=60162 * Orby * (+640) /* Poolshark on the unit square */ 00:03:31 [[Poolshark]] M https://esolangs.org/w/index.php?diff=60169&oldid=60168 * Orby * (+6) /* Poolshark on the unit square */ 00:11:31 [[Poolshark]] M https://esolangs.org/w/index.php?diff=60170&oldid=60169 * Orby * (+112) 00:12:50 [[User:Orby]] https://esolangs.org/w/index.php?diff=60171&oldid=60006 * Orby * (+74) 00:17:02 -!- Lord_of_Life_ has joined. 00:18:19 [[Poolshark]] M https://esolangs.org/w/index.php?diff=60172&oldid=60170 * Orby * (+289) /* Irrational slope */ 00:19:15 [[Poolshark]] M https://esolangs.org/w/index.php?diff=60173&oldid=60172 * Orby * (+10) /* Irrational slope */ 00:20:00 -!- Lord_of_Life has quit (Ping timeout: 250 seconds). 00:20:00 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:24:16 -!- oerjan has joined. 00:25:49 Hi oerjan! 00:27:44 helloerjan 00:31:34 kmchi 00:31:46 hellorbitaldecay 00:32:10 oerjan: kimchi? 00:32:35 kmc: you got me 00:32:43 * oerjan may never have actually tasted it 00:33:54 kimchi is tg 00:34:15 oerjan: you probably don't remember me, we played with picofuck a few years ago 00:34:25 Kon oerjan wa 00:36:09 -!- Phantom_Hoover has quit (Remote host closed the connection). 00:36:40 -!- b_jonas has quit (Quit: leaving). 00:42:19 hum i admit i don't remember. are you the same as orby on the wiki? 00:42:48 hikhq 00:44:57 I am the same as Orby on the wiki 00:45:21 it was a long time ago and I have been completely abscent since then 00:45:42 I have a tendency to cycle through communities every couple years :) 00:47:01 aha 00:47:19 . o O ( so you're orbiting? ) 00:48:07 but if the orbit is decaying, it should be speeding up. 00:49:02 -!- tromp has quit (Remote host closed the connection). 00:49:14 ...or is the opposite also decay, like i understand the moon did before settling into always facing earth 00:49:29 (with the same side) 00:50:04 ha! yes, my rate of cycling is increasing with age 00:50:15 at my death, I will be in all communities simultaneously 00:51:20 Do you think there's any way to get tc out of https://esolangs.org/wiki/Poolshark ? 00:51:34 It's an idea I was kicking around today 00:53:08 I think it's interesting, even if not tc 00:55:49 * oerjan sidles over to the wiki 00:56:18 I will cry the day this wiki ceases to exist 01:02:38 orbitaldecay: i suspect poolshark is "trivially" TC if you allow the boundary to be a suitable uncomputable curve (basically, just encode the answer you want for each program). 01:02:54 but that's so trivial it's not very interesting. 01:03:15 yeah, I thought of that too, but no that is not interesting 01:04:24 For any output it's trivial to construct a poolshark language that generates it, but the interesting question is whether or not a poolshark language exists that can generate any computable output 01:06:16 You get neat sequences from the unit square once you start feeding it irrational numbers 01:06:57 but I don't understand it well enough yet to say if there's some construction that can generate arbitrary computable sequences 01:07:46 have you seen trajedy? 01:07:53 I have not 01:08:19 that's a tiny bit similar 01:08:30 and is TC 01:08:39 reading now 01:11:17 Neat! 01:14:22 So, conjecture... this is TC if the boundary of D is composed of straight line and parabola segments. 01:15:45 int-e: hmm, can you elaborate? how would the parabola and line segment map to output? 01:16:16 i also had a hunch conic sections would help 01:16:17 (I want to work with state encoded in the offset of a bundlet of parallel rays; and I think two parabola segments can be used to compress or expand such a bundle, by making one of them a scaled version of the other with the scaling centered at the focal point) 01:17:41 perhaps you could even simulate the rational transformations trajedy uses 01:18:05 the idea behind poolshark comes from the field of dynamical billiards where there is a thing called a bunimovich stadium which might be useful https://en.wikipedia.org/wiki/Dynamical_billiards 01:18:08 orbitaldecay: I have not thought about output; it's really a secondary concern to my mind (if everything else fails one can just look at whether the thing halts on a particular output or not. 01:18:22 ) 01:18:52 -!- tromp has joined. 01:19:21 int-e: right right 01:21:06 But there are details to be worked out; what I have is only obviously enough for a stack machine. 01:21:53 yeah, this is a good start. Ixnay on the bunimovich stadium is too smooth, no halting 01:22:16 Trajedy has this delicate feature that a ray passes through gaps between adjacent mirrors... is something similar possible in Poolshark? (Let D consist of two closed squares adjoint at a corner, and aim a ray directly at that corner... does the program halt there and then or does it pass through to the other side?) 01:22:49 that is a good question. let me think about it for a minute. 01:22:53 int-e: you don't need the _second_ derivative to be smooth, so... 01:23:03 yeah 01:23:10 -!- tromp has quit (Ping timeout: 246 seconds). 01:23:17 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 01:23:30 or even the first 01:23:34 oerjan: yeah but it's too far into the night for me to wreck my brain like this... so I'm sticking to something smooth at simple :) 01:24:04 heh 01:24:06 although hm 01:24:42 I'm happy that two parabolas make a linear map. I thought about using ellipses (jumping from focal point to focal point) and decided that I wouldn't want to compose the resulting nonlinear maps 01:25:11 i was imagining two curves that join with the meeting point having a derivative without it being continuous... but i think that may require the limit not to exist 01:26:46 is the wikipedia link worth adding to the wiki page? 01:26:56 Yeah, I'll add it 01:27:37 Anyway. I need to sleep, then work. Perhaps I'll revisit this in the evening :) 01:28:49 [[Poolshark]] M https://esolangs.org/w/index.php?diff=60174&oldid=60173 * Orby * (+139) 01:29:17 Night! 01:29:42 `hello orbitaldecay 01:29:43 Hello World. 01:29:46 hm 01:29:58 hellorbitaldecay 01:30:07 `ello shachaf 01:30:08 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ello: not found 01:30:11 wat 01:30:21 ^ello hmmm 01:30:25 nope 01:30:38 `dobg ello 01:30:40 4699:2014-07-27 ` rm bin/{node,ello} \ 4071:2013-11-22 chmod +x bin/ello \ 4070:2013-11-22 mv raw.php* bin/ello \ 4068:2013-11-22 chmod +x bin/ello \ 4067:2013-11-22 mv raw.php* bin/ello \ 4058:2013-11-22 echo "(function(){var e,l,o,t;t=process.argv[2],(null!=t?t.length:void 0)||(console.log(\'Usage: ello \'),process.exit()),o=/(.*)(e)$/i,e=/(.*)([bcdfghjklmnpqrstvwxz])([o0] 01:30:42 `` grep -rl aeiou bin 01:30:42 bin/h! \ bin/?h \ bin/thanks \ bin/hyphenate.fi \ bin/hi \ bin/blessyou \ bin/unh \ bin/?hh \ bin/shmify \ bin/h 01:30:55 `before bin/ello 01:30:59 bin/ello//#!/usr/bin/env node \ // Generated by CoffeeScript 1.6.2 \ (function() { \ var consonant_then_o, ell_manglable, ends_with_consonant, ends_with_consonant_then_vowel, name, starts_with_o; \ \ name = process.argv[2]; \ \ if (!(name != null ? name.length : void 0)) { \ console.log('Usage: ello '); \ process.exit(); \ } \ \ consonant_then_o = /(.*)([bcdfghjklmnpqrstvwxz])([o0].*)/i; \ \ ends_with_consonant = /[bcdfghjklmn 01:31:14 [[Poolshark]] https://esolangs.org/w/index.php?diff=60175&oldid=60174 * Orby * (+105) /* See also */ 01:31:32 hey shachaf! 01:37:19 right, the mean value theorem implies that if a function is differentiable in an open interval, then the derivative there must be an accumulation point of the surrounding derivatives 01:37:46 Did you know integration of computable functions on computable reals is computable? 01:38:00 so if there's a limit of derivatives toward a point, it must be the derivative there if it exists 01:38:07 I heard that it was possible but didn't know how it worked. 01:41:10 oerjan: I'm with you 01:41:56 and that's interesting shachaf 01:42:05 orbitaldecay: which means you cannot really have a single exceptional but non-halting point at the meeting of two parabolas 01:42:19 It's a bit trickier than it seems at first. 01:42:40 In particular you can bound a computable function : [0,1] -> R 01:43:35 oerjan: that makes sense 01:43:50 shachaf: the trickiness i see is, what if it blows up when you get close to a _non_-computable point? 01:44:17 How do you mean? 01:45:24 well if you want to confirm it's bounded i'd imagine you'd want to cover [0,1] by intervals where it can be approximated in each 01:45:39 but how do you know those cover everything, even non-computable points? 01:45:42 I mean, all functions are bounded. 01:45:51 (On a closed interval.) 01:46:04 I was waiting for that :) 01:46:55 i know computable functions are supposedly automatically continuous 01:47:08 but it occurs to me that that's only obvious at computable argument points 01:48:58 But f is a function on computable reals 01:51:03 yes, but not having it on non-computable points means you cannot apply the classical boundedness theorems directly 01:51:28 [[Poolshark]] M https://esolangs.org/w/index.php?diff=60176&oldid=60175 * Orby * (+13) /* Slope of 1 */ making clear what is not 01:52:06 so i guess what i'm saying then is that i don't see why they're automatically bounded, in that case 01:52:47 Yes, it wasn't obvious to me that you can compute the bounds. 01:53:27 In particular it seemed like if you can just sample f at different points to different precisions, that doesn't tell you whether it blows up somewhere else. 01:53:37 yeah but it's not obvious to me that they even exist non-constructively 01:57:28 hm i suppose you'd compute in parallel 01:57:56 and then if things blow up, you'd show you somehow get a constructive counterexample out of it 01:59:08 see https://pdfs.semanticscholar.org/d739/04971c7e9cd54f5fc12a054feda0ef74b0ba.pdf hth 01:59:14 argh 01:59:22 it doesn't even need to be parallel? 02:03:23 that'll be the second math paper i give up reading this week hth 02:03:53 my brain doesn't have the stamina for wading through long technical stuff any longer 02:04:14 Anyway one of the things is, when you ask f for the value of f(x) to some precision, it asks you about the value of x to some precision(s). 02:04:40 And you know how much precision it asked you for, which you can use for this. 02:04:53 that part i actually understood 02:04:58 OK. 02:06:30 if f is actually defined on non-computable computable real numbers :P then that is enough. 02:06:38 for the bound to exit 02:06:41 *exist 02:06:46 [[Poolshark]] M https://esolangs.org/w/index.php?diff=60177&oldid=60176 * Orby * (+0) /* See also */ 02:07:21 -!- xkapastel has quit (Quit: Connection closed for inactivity). 02:08:28 (by which i mean, functions from precision to approximation that are not actually computable) 02:08:54 Right. 02:09:15 I think those are just called reals, though, not computable reals. 02:09:26 okay 02:47:04 -!- tromp has joined. 02:51:40 -!- tromp has quit (Ping timeout: 250 seconds). 02:51:42 Did you know you can define typedefs to function types in C? 02:51:53 typedef int foo(int, int); 02:56:36 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60178&oldid=60158 * Orangeyy * (+246) 02:59:45 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60179&oldid=60178 * Orangeyy * (+83) 03:04:19 [[User:Timtomtoaster]] https://esolangs.org/w/index.php?diff=60180&oldid=60165 * Orangeyy * (+27) 03:04:28 [[User:Timtomtoaster]] https://esolangs.org/w/index.php?diff=60181&oldid=60180 * Orangeyy * (+1) 03:07:49 Sure, I've never understood why APIs tend to use typedefs of pointers to functions rather than the function types. 03:08:50 `typedef void sighandler_t(int); sighandler_t *signal(int signum, sighandler_t *handler);` would be so much better than `typedef void (*sighandler_t)(int); sighandler_t signal(int signum, sighandler_t handler);` 03:08:50 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: typedef: not found 03:09:19 Makes sense. 03:09:23 It would be even gooder if you could use the function typedef to define functions, but I guess that's complicated re parameter names. 03:09:47 I'm guessing you can use them for declarations that aren't a definition, though. 03:10:28 Apparently. 03:10:50 i,i sighandler_t sig_ign; 03:13:22 [[User:Orangeyy]] N https://esolangs.org/w/index.php?oldid=60182 * Orangeyy * (+103) Created page with "Some kid who can kinda program Formerly [[User:Timtomtoaster]]. I might make something new eventually." 03:20:28 -!- FreeFull has quit. 03:23:33 -!- orbitaldecay has quit (Ping timeout: 256 seconds). 03:57:54 [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=60183&oldid=60179 * Oerjan * (-2) wut 03:58:11 esowiki: you lost my pun tdnh 04:27:18 -!- aloril_ has quit (Remote host closed the connection). 04:32:07 -!- copumpkin has quit (Ping timeout: 245 seconds). 04:35:01 -!- tromp has joined. 04:35:56 -!- aloril has joined. 04:39:34 -!- tromp has quit (Ping timeout: 244 seconds). 05:29:55 -!- aloril has quit (Remote host closed the connection). 05:33:05 -!- aloril has joined. 05:42:59 -!- arseniiv has joined. 06:23:13 -!- tromp has joined. 06:27:40 -!- tromp has quit (Ping timeout: 246 seconds). 07:15:52 i'm sure if moloch von zinzer had been there, he'd have wondered how none of them expected this. 07:28:11 well maybe the jägers did 07:41:42 -!- sebbu has quit (Read error: Connection reset by peer). 07:42:05 -!- sebbu has joined. 07:57:04 -!- tromp has joined. 08:22:28 -!- arseniiv has quit (Ping timeout: 246 seconds). 08:26:41 -!- arseniiv has joined. 08:29:16 -!- oerjan has quit (Quit: Nite). 08:37:49 -!- S_Gautam has joined. 08:49:18 -!- orbitaldecay has joined. 09:02:59 -!- orbitaldecay has quit (Ping timeout: 256 seconds). 09:14:19 -!- AnotherTest has joined. 10:07:23 [[Bitch]] https://esolangs.org/w/index.php?diff=60184&oldid=60167 * A * (+160) /* Continuation on the above by User:A */ 10:08:32 [[Bitch]] https://esolangs.org/w/index.php?diff=60185&oldid=60184 * A * (-38) /* Attempt by User:A */ 10:45:09 [[Bitch]] https://esolangs.org/w/index.php?diff=60186&oldid=60185 * A * (+293) /* Tail procedure */ 10:47:29 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 10:47:53 [[Bitch]] https://esolangs.org/w/index.php?diff=60187&oldid=60186 * A * (+94) /* Tail procedure */ 10:49:45 [[Bitch]] https://esolangs.org/w/index.php?diff=60188&oldid=60187 * A * (+177) /* =Bit comparison */ 11:02:50 [[Bitch]] https://esolangs.org/w/index.php?diff=60189&oldid=60188 * A * (-191) 11:06:46 [[Bitch]] https://esolangs.org/w/index.php?diff=60190&oldid=60189 * A * (+27) This is Turing complete if only bits are neccesary for Turing completeness. 11:06:59 [[Bitch]] https://esolangs.org/w/index.php?diff=60191&oldid=60190 * A * (+2) /* References */ 11:07:34 [[Bitch]] https://esolangs.org/w/index.php?diff=60192&oldid=60191 * A * (+40) /* Continuation on the above by User:A */ 11:09:30 [[Bitch]] https://esolangs.org/w/index.php?diff=60193&oldid=60192 * A * (+7) /* References */ 11:40:27 -!- AnnaSeo has joined. 12:18:14 -!- Lord_of_Life_ has joined. 12:20:26 -!- Lord_of_Life has quit (Ping timeout: 244 seconds). 12:20:26 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:43:18 -!- copumpkin has joined. 13:01:06 -!- S_Gautam has joined. 13:10:42 -!- AnotherTest has quit (Ping timeout: 264 seconds). 13:22:00 -!- AnnaSeo has quit (Quit: i just need to know if you are a man). 13:34:07 -!- AnotherTest has joined. 14:07:23 -!- orbitaldecay has joined. 14:10:22 [[Bitch]] https://esolangs.org/w/index.php?diff=60194&oldid=60193 * A * (+77) /* References */ 14:23:33 -!- wob_jonas has joined. 14:23:49 `? ello 14:23:50 ello? ¯\(°​_o)/¯ 14:23:52 `? `ello 14:23:54 ​`ello? ¯\(°​_o)/¯ 15:31:01 -!- Essadon has joined. 15:51:27 -!- moei has joined. 16:57:58 -!- mniip has quit (Ping timeout: 600 seconds). 16:58:58 -!- xkapastel has joined. 17:13:56 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 17:16:22 -!- mniip has joined. 17:16:29 -!- vertrex has quit (Ping timeout: 244 seconds). 17:16:40 -!- vertrex has joined. 17:16:40 -!- vertrex has quit (Changing host). 17:16:40 -!- vertrex has joined. 17:23:32 -!- tromp has quit (Remote host closed the connection). 17:42:50 -!- AnotherTest has quit (Ping timeout: 244 seconds). 17:47:34 -!- LKoen has joined. 17:53:29 -!- tromp has joined. 17:55:08 -!- tromp has quit (Remote host closed the connection). 17:56:07 -!- tromp has joined. 18:01:52 -!- AnotherTest has joined. 18:11:31 -!- LKoen has quit (Remote host closed the connection). 18:30:48 -!- tromp has quit (Remote host closed the connection). 18:40:18 [[Caeos]] https://esolangs.org/w/index.php?diff=60195&oldid=60161 * Areallycoolusername * (+2) 18:51:50 -!- b_jonas has joined. 18:52:07 -!- tromp has joined. 18:52:08 fizzie: aww esowiki does not allow svg? 18:53:54 [[Special:Log/upload]] upload * Int-e * uploaded "[[File:Sharkscale.png]]": scaling a shark 18:58:00 -!- FreeFull has joined. 18:59:14 [[Talk:Poolshark]] N https://esolangs.org/w/index.php?oldid=60197 * Int-e * (+206) scaling sharks 19:03:09 why does "git rebase so slow" 19:03:36 er, why does git "rebase" so slowly 19:06:53 -!- LKoen has joined. 19:23:11 are you rebasing past a lot of commits? 19:23:20 it essentially has to apply each diff one by one 19:28:25 kmc: it would be nice if it had a loading bar then 19:28:56 rewinding head... 222/123123 19:28:58 there's probably an obscure flag for it 19:29:01 or somehitng 19:29:07 yeah if you want to rebase past 100,000 commits you're gonna have a bad time 19:29:28 orin: some people run their git repo on a ramdisk for faster operations 19:29:33 I have not found an improvement that way 19:29:38 I think Git is not terribly optimized 19:29:45 a lot of it is shell scripts or used to be 19:30:16 it is a shame so many people have settled on git when there are plenty of improvements to be made in version control 19:32:29 `olist 1157 19:32:30 olist 1157: shachaf oerjan Sgeo FireFly boily nortti b_jonas 19:34:32 -!- arseniiv has quit (Ping timeout: 255 seconds). 19:38:12 oooo 19:42:07 [[Special:Log/upload]] upload * Int-e * uploaded "[[File:Magicsharkmirror.png]]": magic mirror for directing sharks 19:45:24 int-e: Not by intention, just by accident. 19:45:39 int-e: From a quick glance, it's just that it's not an enabled-by-default MediaWiki feature. 19:46:45 It'd probably be possible to enable it. 19:47:38 [[Talk:Poolshark]] https://esolangs.org/w/index.php?diff=60199&oldid=60197 * Int-e * (+765) enter the magic mirror 19:48:49 It's not a big deal... svg just feels smoother. but of course it's also a way to transport Javascript... so perhaps it's better to leave it turned off. 19:49:40 Though that's a very sad reason. 19:49:52 But valid, I'm afraid. 19:53:36 MediaWiki blocks any JS in SVG even when it's enabled. 19:53:44 Of course that's assuming they've managed to catch it all. 19:53:46 [[Talk:Poolshark]] https://esolangs.org/w/index.php?diff=60200&oldid=60199 * Int-e * (+225) fewer obstructions 19:55:15 -!- Phantom_Hoover has joined. 20:01:29 @tell ais523 Re canonical way to clear top 32 bits of eax, looks like in at least some contexts GCC will use "mov eax, eax" for that, which makes sense. 20:01:29 Consider it noted. 20:07:21 I added a thing to my status bar that shows me the size in bytes of the primary and clipboard selection, whether they contain any newlines, and whether they are equal. 20:07:35 And also a keybinding to clear them both. 20:07:41 This is TG. 20:07:56 That sounds pretty good. 20:08:09 Especially the newline indicator, maybe I could dare to paste from PDFs to IRC with one of those. 20:08:38 Daring to paste to IRC was the goal. 20:09:02 imo can you believe we're still using these archaic terminal uis that don't support paste properly 20:09:05 [[Talk:Poolshark]] https://esolangs.org/w/index.php?diff=60201&oldid=60200 * Int-e * (+237) 20:12:33 god damn it it has been 2 hours 20:12:36 stupid git 20:12:49 hmm hmm. "ETSI as a global standards body has been engaged for the past three years in developing Transport Layer Security implementation technical standards" 20:18:20 spacex rocket launch in 11hr30min 20:21:36 i usually paste into url bar first 20:21:40 to erase newlines 20:21:58 orin: it's not giving you a progress indication? 20:22:03 it usually does... 20:22:07 are you sure you don't want to merge instead? 20:22:20 anyway you could look at how many commits there are past the rebase point as a progress 20:22:23 maybe 20:25:12 As far as I can tell it's not really possible to watch for clipboard changes in X? 20:25:30 int-e: Is this about the eTLS scam? 20:26:43 yes 20:27:00 where "e" stands for "backdoor-ready", I believe ;-) 20:27:12 (at least that has a nice buzzy ring to it) 20:27:27 (and it's far more accurate than "enterprise") 20:28:20 They also write that "security capabilities [will] go dark". https://csrc.nist.gov/CSRC/media/Publications/sp/800-52/rev-2/draft/documents/sp800-52r2-draft2-comments-received.pdf#page=14 20:29:29 shachaf: do you poll? 20:29:38 shachaf: I think X has various extensions that let you sniff all messages? 20:30:37 I just poll once a second, yep. 20:30:41 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 20:30:57 That seems kind of excessive for a small feature. But maybe it's possible? 20:31:07 kmc: and if two clients try that, then they'll be spinning each otwards their nose, like when two dogs mutually try to sniff each other's butt 20:31:44 Why? 20:31:54 Sniffing messages doesn't generate messages presumably. 20:32:01 oh 20:32:15 but kmc said "sniff all messages" 20:32:26 👃 20:32:49 snort all messages 20:32:59 you would have to be careful to ignore your own set-clipboard messages, though 20:33:43 X11 is a mess 20:33:51 indeed 20:34:34 and in theory it's a protocol but you can't even implement it yourself if you want opengl or whatever 20:34:51 so you gotta use xlib which is a double mess 20:36:43 isn't there an alternative mess (xcb)? 20:37:38 Should I use xcb instead of xlib? 20:37:57 You still need xlib for glx but maybe you can do the rest with xcb. 20:42:54 I don't know. I've written one xcb program and that was ages ago... I think the main point was to allow more asynchronicity which is rather pointless for small programs. 20:43:18 What kind of asynchronicity? 20:43:42 It does seem to do GLX though. https://xcb.freedesktop.org/manual/group__XCB__Glx__API.html 20:45:01 Well, submitting several requests simultaneously and process replys as they come along the socket. A lot of the libX APIs are synchronous at first; a function will make a request to the X server and wait for the reply. 20:45:09 hmm. Xlib 20:46:48 Hmm, really? 20:46:55 I thought I'd be good just polling on the file descriptor. 20:48:28 for most requests, xcb hands out cookied that you can wait on later. http://paste.debian.net/1070921/ 20:49:16 * int-e shrugs 20:50:36 It's very low level... I'm not sure I'd really want to go there :P 20:54:38 hah, http://www.inkscapeforum.com/images/smilies/tool_pen.gif ... treating tool icons as smileys :) 20:55:07 What should I use instead? 20:55:26 By the way, did you know Gtk renders widgets using CSS nowadays? 20:56:08 Hmm, vaguely. I remember tweaking an evince color with CSS at some point. 20:56:47 shachaf: isn't it Qt that does that? 20:57:05 Qt also does it. 20:57:37 it's not all that surprising 20:57:51 (once you allow themes) 20:59:43 weird 21:03:59 [[Special:Log/upload]] overwrite * Int-e * uploaded a new version of "[[File:Magicsharkmirror.png]]": add "bad" circle 21:05:50 [[Talk:Poolshark]] https://esolangs.org/w/index.php?diff=60203&oldid=60201 * Int-e * (+219) 21:07:25 hello all 21:08:11 hi there 21:08:27 ooh, you've added something. looking now. 21:09:26 [[Talk:Poolshark]] M https://esolangs.org/w/index.php?diff=60204&oldid=60203 * Int-e * (+1) typo 21:12:44 going to need to think about this, brain is a little tired atm, but thank you for articulating your idea! 21:12:48 I'm excited! 21:13:08 [[ALLSCII]] N https://esolangs.org/w/index.php?oldid=60205 * Cortex * (+451) Created page with "'''ALLSCII''' is a stack-based esolang created by [[User:Cortex|]] where every printable ASCII character is (will be) a valid command. == Commands == {| class="wikitable" |-..." 21:14:28 -!- neanias has left. 21:16:27 Collaborating is so cool B) 21:18:58 orbitaldecay: I guess my main point in the "magic mirror" construction is that without smoothness, you may have too much power built into a single reflection already. OTOH, this enables a divisibility test so reducing from Fractran becomes a breeze, which seems fair enough... (the region D and all reflections remain computable; TCness is emerging from doing an unbounded number of reflections.) 21:20:07 I don't understand Mediawiki's caching. 21:20:30 if in doubt, blame caching 21:20:51 well, (https://esolangs.org/wiki/Talk:Poolshark is showing an old image version for me, after showing the right one a couple of minutes ago. 21:20:56 got it. excellent. I appreciate your thoughts :) 21:22:10 Restarted the browser, now it's fine... (too many caches is what I'm blaming) 21:22:27 int-e: I see, X calls can just block waiting for a reply whenever they want? 21:23:05 shachaf: I think so. 21:25:34 orbitaldecay: and the construction is a variation on an analysis (or calculus) exercise... construct a function which is differentiable on the rationals, with an arbitrary function Q -> R as the partial derivative. (Q can be replaced by a countable subset of the reals) 21:26:02 hmm. I should not use "partial derivative" like that :P 21:26:17 (I mean it's a partial function...) 21:26:57 yeah, I vaguely recall doing something like that in an introductory real analysis course once 21:29:46 I've been out of school for too long. My brain is rotting haha 21:30:00 going through this will be a good exercise for the evening 21:31:49 me too obviously since my intuition says that Q is dense in R so you can't arbitrarily pick derivatives on all points in Q like that 21:32:42 int-e: Man, the xcb API looks big and complicated. 21:32:53 Is this the canonical way to do things? 21:32:59 shachaf: blame the X protocol :) 21:33:10 -!- shikhin has changed nick to shi. 21:33:21 no, the canonical way is to use a toolkit library that hides all the ugliness (and adds some of its own instead) 21:33:38 Which one? 21:33:47 shachaf: the canonical way is to use xcb for negotiating and bootstrapping saner protocols 21:33:56 Which ones? 21:34:14 Dunno. GTK is the only one I've programmed with. 21:34:34 probably xkb and whatever that other one is for input, and some protocol for mapping some video memory and drawing straight on them for output 21:34:42 I tried to write some GTK code and it was so demoralizing I gave up programming. 21:35:16 yet here we are 21:35:27 I don't know how it all works 21:35:33 Maybe SDL? 21:35:38 all the toolkits suck these days, but you can't do much about that 21:37:00 The postmodern approach is to use an HTML renderer. (Electron...) 21:37:09 :-( 21:37:12 That is too postmodern for me. 21:39:08 SDL is nice for what it does. 21:46:00 -!- shi has changed nick to shikhin. 21:46:34 int-e: One of the things I don't get about these APIs is why they're full of mallocs. 21:47:41 they tend to be OO, and "malloc" is how you do "new" in C? 21:49:41 but why would a low-level api be OO 21:50:19 tdnh 21:50:45 uh if you did not refer to toolkit libraries maybe you should be more specific than writing "these" 21:52:08 (toolkit libraries tend to think of themselves as highlevel) 21:53:55 THREEEE HOURS!!!!! 21:54:20 First, rewinding head to replay your work on top of it... 21:54:28 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 21:56:52 I mean Xlib and xcb 21:56:56 shachaf: but if you meant xcb... the X protocol has some variable length replies, so hiding the allocation in the library is *good*. for uniformity reasons it's reasonable to treat all the other data in the same way. 21:57:29 Can't it just tell me the size and let me allocate? 22:00:51 shachaf: you can just implement that yourself directly 22:00:56 without using the library 22:01:00 Can I? 22:01:05 I want to use OpenGL. 22:01:22 Or Vulkan or whatever. 22:02:14 And the glX calls take a Display * argument so I don't think they can be used with my own implementation of the protocol? 22:25:11 -!- moei has quit (Quit: Leaving...). 22:44:39 -!- J_Arcane_ has joined. 22:45:25 -!- ocharles_ has joined. 22:52:36 -!- Cale has quit (*.net *.split). 22:52:38 -!- ocharles has quit (*.net *.split). 22:52:38 -!- J_Arcane has quit (*.net *.split). 22:52:42 -!- J_Arcane_ has changed nick to J_Arcane. 22:52:55 -!- ocharles_ has changed nick to ocharles. 22:56:47 FOUR HOUUUURRRRRS 22:59:03 -!- Cale has joined. 23:05:03 -!- orbitaldecay has quit (Ping timeout: 256 seconds). 23:06:50 ocharles: yocharles 23:12:09 -!- orbitaldecay has joined. 23:12:37 int-e: apparently a method for the construction of continuous functions that are only differentiable at rational points wasn't discovered until 2013 (!) 23:12:51 but a method does exist 23:13:01 so we're not in completely uncharted territory 23:15:24 doing it the other way, constructing a continuous function that is only differentiable at irrational points, is apparently easy 23:16:25 yeah I can do that by adding sawtooth functions. (period 1/n, amplitude 1/n^2, sum over all n) 23:16:53 oh yeah, that makes sense 23:17:20 or step functions to get something that is discontinuous at all rational numbers, and has derivative 0 elsewhere 23:18:20 but fortunately, for that magic mirror I just don't care what happens for irrational offsets 23:18:41 yeah, I think the easiest might be to have it not even be differentiable at rational points so it just halts 23:19:13 -!- Melvar has quit (Quit: rebooting). 23:21:08 bbl 23:27:31 -!- Melvar has joined. 23:37:17 I miss BZFlag 23:39:08 `grwp riddle 23:39:09 No output. 23:39:20 `wc -l quotes 23:39:20 wc: invalid option -- ' ' \ Try 'wc --help' for more information. 23:39:23 ``wc -l quotes 23:39:23 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: `wc: not found 23:39:31 `` wc -l quotes 23:39:32 1332 quotes 23:45:58 everything is buggy shit. nobody gives a shit if anything works. people don't give a fuck about picking good tools. the claim that software as practice today is "engineering" is completely embarrassing 23:46:16 standards are so low and everyone is just okay with it for some reason 23:47:07 this is one of the reasons i'm giving up on software 23:47:38 fuck it, and fuck everything 23:51:43 i mean i think that's structural more than anything 23:51:53 most notably that the stakes in software are, i think, actually quite low 23:52:48 certainly lower than stuff that has historically been called engineering 23:52:55 yeah 23:53:19 if software came with guarantees and you could sue 23:53:25 then companies would have to buy insurance 23:53:33 and if their practices are shit then their insurance will be too expensive 23:53:39 but the software would also be more expensive 23:54:42 sure but i think the reason that doesn't happen is that it's actually not that important when software breaks 23:55:25 ive particularly noticed that with security stuff where, like, i feel there's this gulf between what security researchers say which is that security Matters and is Immensely Important 23:56:03 and the real world in which bash, openssl and every fucking cpu on the planet all had security holes you could drive a truck through for a decade and it didn't matter until security researchers kicked up a fuss over it 23:57:51 it mattered to a bunch of people who got hacked and their lives ruined 23:58:16 it doesn't matter to average joe but it's one of the main drivers behind the modern panopticon authoritarian state 23:58:28 who got hacked with any of those bugs? 23:59:18 and the panopticon authoritarian state is a political problem that must be solved with political action 23:59:24 not netsec 23:59:31 yeah but we don't have to make it so easy for them 2019-03-02: 00:00:07 building high quality software that can be used by people who are fighting the authoritarian state is a valuable form of direct action 00:00:11 anyway that's my opinion 00:00:18 is it? 00:00:28 I was more venting rather than trying to have an in depth conversation 00:00:36 your point is well taken though 00:00:42 ok 00:01:10 idk i think the glorious vision of, like, wikileaks leading us to a new democratic dawn crashed and burned 00:01:26 turned out wikileaks had no political vision beyond iconoclasm and just climbed into the pockets of right-wing ideologues 00:01:47 kmc: feel free to vent, but if you do it on an irc channel, sometimes people reply 00:03:00 -!- b_jonas has quit (Quit: leaving). 00:04:07 thanks b_jonas 00:04:12 I wasn't upset that PH replied 00:04:25 just saying, i might not stay in the convo for very long 00:04:49 * kmc is angry at software, angry at life, angry at herself :( 00:04:56 and rapidly feeling worse 00:05:54 i feel like this is something im increasingly cognisant of, that even if you have an interesting disagreement with someone who is venting about something they are probably not going to be interested in disagreeing with you 00:06:04 im learnding! 00:09:26 most software is p. bad but you can still make ok software 00:09:58 [[Bitch]] https://esolangs.org/w/index.php?diff=60206&oldid=60194 * A * (-41) Z3 operates in binary, so unbounded cells are not necessary. 00:10:52 . o O ( silence thine fine utterings ) 00:11:02 [[User talk:A]] https://esolangs.org/w/index.php?diff=60207&oldid=60151 * A * (-141) 00:11:39 A 00:12:47 -!- Essadon has quit (Quit: Qutting). 00:18:45 -!- Lord_of_Life_ has joined. 00:21:27 -!- Lord_of_Life has quit (Ping timeout: 240 seconds). 00:21:29 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:29:56 -!- AnotherTest has quit (Ping timeout: 250 seconds). 00:36:46 There are some libraries that you can pass your own functions for memory allocation. SQLite has this option, and Lemon parser generator can also do, and so does smallxrm (my own implementation of the X resource manager) 00:39:23 can't you do that for all libraries that use a dynamically linked malloc 00:41:12 But only globally. 00:42:00 with enough hackery it wouldn't have to be global 00:42:13 however, you will then have big problems if allocations are passed between libraries 00:42:35 And I can think of more pleasant uses of your time, such as gouging out your eyes. 00:42:39 For example, smallxrm has the following function for initialization: int xrm_init(void*(*f)(void*,size_t)); So if you call xrm_init(realloc) then it will initialize everything and will remember to use the passed function for memory allocation. 00:43:11 zzo38: Oh, it's storing the allocator globally? Ick. 00:43:26 Taking an allocator argument can be good but sometimes I don't want to call any allocator. 00:43:39 Just allocate some memory for the thing up front 00:43:54 Yes, although SQLite does the same thing (although I think SQLite4 allows you to create local environments too) 00:44:36 shachaf: You can do that, if the passed function just returns the already allocated data 00:45:00 (But then you still have to keep track by yourself of the allocations anyways; that is what TeX does) 00:45:02 But then I need to make a custom allocator for that one call. 00:45:51 If the program needs dynamic allocation at all, then it will be needed, I think. 00:51:57 -!- oerjan has joined. 01:07:35 -!- Phantom_Hoover has quit (Remote host closed the connection). 01:16:15 -!- FreeFull has quit. 01:34:39 -!- orbitaldecay has quit (Ping timeout: 256 seconds). 01:36:15 -!- orbitaldecay has joined. 01:36:23 Hello all 01:37:25 Hello 01:37:44 `yo orby 01:37:45 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: yo: not found 01:37:49 huh 01:37:52 `dobg yo 01:37:53 No output. 01:38:03 v. mysterious. vysterious. 01:38:09 hey shachaf! hey zzo38! 01:38:16 `5 w 01:38:18 1/2:culprits//c[uw]lprits lists the nicks responsible for a file or wisdom entry. Usage: `culprits FILE or `cwlprits ENTRY \ utf8//utf-8 is an encoding for humans to tell the time in symbolic processing programs. \ zork//Zork is like York, except for the first letter. Uaneb invented it. \ ravnica: city of guilds//Ravnica: City of Guilds is a city of guilds. “City of Guilds” is part of its name. The Wizards of the Coast Marketing Department: We 01:38:24 `n 01:38:25 2/2:Sell Anything thought players might not notice it was a City of Guilds unless they put the tagline into the name. \ co-np//co-NP, invented in Soviet Russia, is the class of decisions for which you are No Problem. 01:38:32 Are there any other langs on the wiki based on dynamical systems that anyone knows of? 01:38:54 not neccesarily systems of differential equations, just general dynamical systems 01:38:58 double pendulum, etc. 01:39:11 `? np 01:39:12 NP is the complexity class of decision problems that are No Problem. 01:39:22 `? p 01:39:24 P is the complexity class of Problems. They can be solved by reduction to NP. 01:39:34 `cwlprits p 01:39:36 oerjän oerjän 01:39:38 oerjan: itym reduction from hth 01:55:58 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 02:06:25 shachaf: no hth 02:11:07 the hth script has a silly bug where it complains about missing packages if i have hth at the end of the first message i post after logging on irssi 02:11:34 s/a/another/ 02:11:57 I forgot you have that script. 02:12:03 Does it still not do /me? 02:12:10 after that message they're apparently loaded 02:12:26 yep, that's what the s/ was for 02:13:18 the hth script hanothers a silly bug 02:13:30 yep!! 02:14:17 is hanother named after hanover 02:14:56 oerjan: did you see int-e's interesting idea on the poolshark talk page? 02:38:52 not yet 02:55:15 -!- TellsTogo has joined. 02:58:27 What does the hth script do twh 02:59:26 s/ hth$// 02:59:42 also similar for a few other acronyms 03:00:26 tdh tdnh twnh at least 03:00:36 the dogs howl 03:00:38 the dogs now howl 03:00:43 the witches now howl 03:01:14 yeah those are all 03:01:34 not werewolves? 03:01:40 that would make more sense 03:01:50 or just wolves actually 03:02:01 that would make more sense 03:02:12 since wolves howl and witches do not 03:02:22 werewolves do not even exist so they certainly don't howl 03:02:23 i'm not sure about witches 03:03:01 well they're hypothetical beings as implied by the "were" 03:06:13 aren't those just past beings 03:06:22 as opposed to arewolves which exist right now 03:14:31 if they were past beings, they wouldn't be hypothetical duh 03:14:42 i suppose it's ambiguous 03:43:37 -!- adu has joined. 05:43:58 so the singular of werewolves is waswolf 05:45:33 -!- tromp has quit (Remote host closed the connection). 06:03:33 orin: only with shachaf's interpretation hth 06:05:01 which would not apply if the werewolf were hypothetical 06:06:14 That's true. 06:06:27 The standard singular is "werewolf" which does support the subjunctive interpretation. 06:08:08 -!- mniip has quit (Ping timeout: 624 seconds). 06:30:48 -!- adu has quit (Quit: adu). 06:31:15 -!- adu has joined. 06:31:36 -!- adu has quit (Client Quit). 06:32:05 -!- adu has joined. 06:32:22 -!- adu has quit (Client Quit). 06:32:50 -!- adu has joined. 06:33:09 -!- adu has quit (Client Quit). 06:33:31 -!- mniip has joined. 06:33:40 -!- adu has joined. 06:33:56 -!- adu has quit (Client Quit). 06:34:25 -!- adu has joined. 06:34:42 -!- adu has quit (Client Quit). 06:35:15 -!- adu has joined. 06:35:29 -!- adu has quit (Client Quit). 06:35:59 -!- adu has joined. 06:36:16 -!- adu has quit (Client Quit). 06:36:45 -!- adu has joined. 06:37:02 -!- adu has quit (Client Quit). 06:37:16 -!- ChanServ has set channel mode: +o oerjan. 06:37:29 -!- adu has joined. 06:37:39 adu: *cough* 06:37:49 -!- adu has quit (Client Quit). 06:38:19 -!- adu has joined. 06:38:36 -!- adu has quit (Client Quit). 06:42:44 -!- oerjan has set channel mode: -o oerjan. 06:44:55 -!- adu has joined. 06:46:45 oerjan? 06:48:23 You appear to be connected via IP-over-smoke-signal. 06:48:58 huh 07:06:08 adu: you stopped just as i was putting my finger on the ban button 07:06:30 SPOOKY 07:06:45 argh what's with the kloeri spam 07:06:54 on eveyr channel I'm in except this one 07:07:51 is someone making abusive messages about freenode staff again 07:09:11 Yes. 07:09:21 i don't care to click the link and find out who the target is hth 07:09:24 `5 w 07:09:27 1/2:erlang//Erlang has tricked people into loving global mutable variables while pretending to embrace immutability. \ itidus19//itidus19 disappeared into a space-time anomaly \ angband//Angband is Morgoth's second dungeon (the first was Utumno). When the greater and lesser people of Middle-Earth together defeated Morgoth in Angband, they were too lazy to go to for 100% completion, so some evil spirits in Angband survived for a sequel, and Morgoth hi 07:09:28 I just had to make a channel I'm op in +R for a bit. 07:09:30 -!- ChanServ has set channel mode: +o oerjan. 07:09:33 `n 07:09:34 2/2:mself recovered and arrived to Numenor. \ life//‘Life,’ said Marvin, ‘don't talk to me about life.’ \ emacs//emacs is the weird brother of nano. 07:09:46 `cwlprits erlang 07:09:47 oerjän Sgëo 07:09:57 `dowg erlang 07:09:58 8481:2016-06-14 sled wisdom/erlang//s/./E/;s/$/./ \ 8478:2016-06-14 learn erlang has tricked people into loving global mutable variables while pretending to embrace immutability 07:10:00 shachaf: The target is a decent guy who pissed off some idiot trolls, basically. 07:10:12 pikhq: "unknown mode character +R" 07:10:17 pikhq: I mean, whether the target is a Freenode staff or something else. 07:10:35 oerjan: Yeah, it's not on Freenode; unreal IRC does different modes than here 07:10:45 hm what was it we did 07:10:50 shachaf: Former Freenode staffer, IIRC. 07:10:51 can you set this channel to be unreal twh 07:10:58 pikhq: OK, but I don't even know their name. 07:11:03 I'm not going to click the link. 07:11:08 Fair. 07:11:08 I didn't even know it was a person. 07:11:15 we silenced unregistered users, but i've forgotten the incantation 07:11:33 shachaf: The link is for a distro. 07:11:58 I just happen to know a bit about the distro and know a former Freenode staffer is a (minor!) contributor, and that previous spam messages attacked them by name in association with that distro. 07:15:02 oerjan: +r hth 07:15:18 That allows only registered users to join. 07:15:27 (It is explained by "HELP CMODE".) 07:16:07 oerjan quieted $~a 07:16:07 -!- ChanServ has set channel mode: +q $~a. 07:16:10 If you want to allow unregistered users to join but don't send messages to the channel, then maybe "+q $~a" will do? 07:16:24 shachaf: found it in my chanserv logs 07:16:36 (explained by "HELP EXTBAN") 07:16:37 You log?! 07:16:54 shachaf: private queries only 07:17:00 scow 07:17:03 -!- oerjan has set channel mode: -o oerjan. 07:17:06 scøw 07:17:30 shachaf: irssi apparently does so by default for messages i send, too 07:17:38 no idea how to turn that off 07:18:53 my irssi certainly doesn't log 07:43:53 -!- xkapastel has quit (Quit: Connection closed for inactivity). 07:50:42 -!- oerjan has quit (Quit: Nite). 08:00:53 -!- tromp has joined. 08:56:04 -!- AnotherTest has joined. 09:12:51 -!- adu has quit (Quit: adu). 09:45:37 -!- tromp has quit (Remote host closed the connection). 10:04:35 -!- tromp has joined. 10:27:15 -!- LKoen has joined. 10:52:38 -!- FreeFull has joined. 11:31:56 -!- b_jonas has joined. 11:34:19 -!- tromp has quit. 11:39:17 -!- orbitaldecay has quit (Ping timeout: 256 seconds). 11:39:55 -!- arseniiv has joined. 11:41:11 -!- arseniiv has quit (Client Quit). 11:41:41 -!- Essadon has joined. 11:42:23 -!- Essadon has quit (Max SendQ exceeded). 11:42:50 -!- Essadon has joined. 11:47:30 -!- tromp has joined. 11:51:58 -!- MDude has quit (Ping timeout: 244 seconds). 11:53:37 -!- MDude has joined. 12:05:34 -!- tromp has quit (Remote host closed the connection). 12:13:27 -!- LKoen_ has joined. 12:14:27 -!- tromp has joined. 12:16:49 -!- LKoen has quit (Ping timeout: 259 seconds). 12:20:05 -!- Lord_of_Life_ has joined. 12:22:20 -!- Lord_of_Life has quit (Ping timeout: 250 seconds). 12:22:26 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 13:03:34 -!- arseniiv has joined. 13:04:40 -!- xkapastel has joined. 13:45:08 -!- Phantom_Hoover has joined. 14:13:25 -!- TellsTogo has quit (Ping timeout: 256 seconds). 14:19:09 -!- b_jonas has quit (Quit: leaving). 14:39:20 -!- atehwa has quit (Remote host closed the connection). 16:26:47 -!- LKoen_ has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 16:27:04 -!- LKoen has joined. 16:29:48 -!- orbitaldecay has joined. 16:29:55 Greetings all 16:30:20 Hello 16:30:25 hi 16:31:24 What would you expect a MIX computer to do if the pattern of holes punched into a card does not correspond to any valid character? 16:45:25 [[Poolshark]] M https://esolangs.org/w/index.php?diff=60208&oldid=60177 * Orby * (+31) /* Introduction */ 17:02:29 -!- imode has joined. 17:33:01 Are you any good at computer machines with cards? 17:34:32 I think it should error by lighting up a LED that indicates failure and eject the card 17:35:34 Yes, that could do, but have you worked with such computers and what would they do in such case (if you have ever tried it)? 17:41:27 no ive never 17:43:01 OK 17:44:24 -!- housecarpenter has joined. 18:10:01 -!- FreeFull has quit. 18:39:12 [[Poolshark]] https://esolangs.org/w/index.php?diff=60209&oldid=60208 * Orby * (+1175) Adding section on magic mirrors 18:41:11 -!- S_Gautam has joined. 18:51:07 -!- b_jonas has joined. 19:18:43 -!- tromp has quit (Remote host closed the connection). 19:19:30 How should priorities of noun phrases be assigned in a text adventure game, do you think? 19:32:58 orbitaldecay: re dynamical systems, ais523's integrator language should count. https://esolangs.org/wiki/Analogia 19:34:15 I'm not sure what it means to assign noun phrases 19:36:46 For example, you have "me" to refer to the player character, and then the magic diamond can use either "diamond" or "magic diamond" (the latter with a higher priority), and the police report can use either "report" or "police report" (again, the latter with a higher priority). But sometimes other functions may add a number to the priority, for example if you want to pick up an item, items you already have are low priority. 19:37:10 -!- arseniiv has quit (Ping timeout: 246 seconds). 19:37:34 oh interesting 19:37:48 i suppose it looks over all options and picks the highest priority 19:38:01 Yes. 19:38:04 or uses priority to break ties 19:38:34 Yes. If there is a tie for the highest priority, then it is ambiguous so it displays an error message. 19:58:00 -!- tromp has joined. 20:02:32 -!- tromp has quit (Ping timeout: 250 seconds). 20:03:35 -!- tromp has joined. 20:11:59 https://i.imgur.com/NcW0NJL.jpg 20:15:58 fuck momo. 20:20:38 -!- tromp has quit (Remote host closed the connection). 20:50:10 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 20:54:14 -!- tromp has joined. 20:58:41 -!- tromp has quit (Ping timeout: 255 seconds). 21:01:21 -!- FreeFull has joined. 21:29:04 -!- tromp has joined. 21:51:37 b_jonas: thanks! 22:10:37 -!- Remavas has joined. 22:12:09 -!- tromp has quit (Remote host closed the connection). 22:22:20 -!- Remavas-Hex has joined. 22:22:33 -!- Remavas has quit (Disconnected by services). 22:22:43 -!- Remavas-Hex has changed nick to Remavas. 22:50:05 -!- Remavas has changed nick to Remavas[AFK]. 22:52:05 Has anything been achieved by attempting to decompress a random bit stream? 22:52:56 -!- adu has joined. 22:54:29 -!- tromp has joined. 22:54:32 unhuffman encoding a random bitstream would be randomly generating letters with varying probability 22:55:01 Yes, although there is other kind of compression too, as well as stuff to compress other than text. 22:55:29 zzo38: you could consider a lot of sampling algorithms, like what fungot does, to be doing that 22:55:29 b_jonas: i've browsed around fnord for at least a little bit of assembly. c's is, because you have not been able to do it 22:56:11 ah, the wisdom of fungot. 22:56:11 imode: http://octiron.org/ temp/ fnord temp/ fnord 22:57:32 although perhaps it's more decoding than decompressing, because they needn't be particularly careful to not use extra input entropy, so the compression doesn't compress too well 22:58:50 -!- tromp has quit (Ping timeout: 255 seconds). 23:01:50 -!- crzydiamo has joined. 23:10:15 -!- tromp has joined. 23:20:25 Do you like Glulx assembly language? I am making "Game of XYZABCDE - Part II" in Glulx. 23:20:37 -!- Remavas[AFK] has changed nick to Remavas. 23:25:32 -!- adu has quit (Quit: adu). 23:28:35 Why are C++ coroutines so complicated and rely on an allocator? 23:30:57 -!- caragata has joined. 23:32:08 -!- caragata has left. 23:38:04 I'm guessing they imposed some requirements that resulted in that. 23:38:25 Something like interacting vaguely sanely with C code that's unaware of C++ coroutines or some such. 23:39:00 Somehow they reduced it to an unsolved research problem in compiler optimization that should be solved in 5-10 years. 23:39:10 this is the superpower of the c++ committee 23:39:53 Which is funny, when you consider that _C_ can get simpler coroutines. 23:40:08 I mean, it's not as a standard language feature, but it would not take much. 23:40:42 (by the way, IMO a new language that's imperative-y really should just fucking do coroutines.) 23:40:49 Well, C++ isn't doing stack switching style coroutines, they're going for something more efficient. 23:41:19 Allegedly. 23:41:58 Well, it's what they were going for, I have no idea what they actually ended up with. 23:42:14 But I'd certainly like there to be a language that has good support for this style, rather than stack switching. 23:44:08 Is there any language that implements it well? 23:48:18 -!- AnotherTest has quit (Ping timeout: 250 seconds). 23:50:50 -!- oerjan has joined. 23:54:22 -!- crzydiamo has quit (Quit: i just need to know if you are a man). 23:57:01 How is C++ coroutines is work? 23:57:51 I don't know, it's very complicated apparently. 23:59:10 did the spam in other channels from yesterday stop? 23:59:22 I suppose some kind of assembly language can have coroutines too, although Z-machine and Glulx don't allow you to change the stack. In JavaScript there are generator functions, which can be used to do something like coroutines, although I also wanted to have real stack switching too it is sometimes useful 2019-03-03: 00:00:05 oerjan: you probably missed this global message: http://paste.debian.net/1071134/ 00:00:27 zzo38: I want coroutines that compile to state machines instead of stack switching. 00:00:51 int-e: and are the messages working? >:) 00:01:00 (I suppose that's why it stopped for now. For anybody reading this in the future: Freenode enabled some global server-side filtering for PRIVMSG.) 00:01:05 -!- ChanServ has set channel mode: +o oerjan. 00:01:16 int-e: yes, I know, the wrote about that 00:01:42 b_jonas: ??? 00:02:45 int-e: http://freenode.net/news/spamfilter 00:02:52 from 2018-09 00:03:09 oerjan unquieted $~a 00:03:09 -!- ChanServ has set channel mode: -q $~a. 00:03:16 -!- oerjan has set channel mode: -o oerjan. 00:03:25 again? 00:03:27 come to think of it, i don't need op for this 00:03:31 I thought we were past that 00:03:43 b_jonas: again what? 00:04:06 again quieting users without account 00:04:18 b_jonas: I just don't understand how you writing about this at some arbitrary point in the past is relevant to answering a question that arose just now. 00:04:44 int-e: I wasn't writing about it 00:04:45 -!- tromp has quit (Remote host closed the connection). 00:04:49 freenode staff was 00:05:14 about the server-side spam filter 00:05:21 But I'm also more easily annoyed right now than I should be. The "for the future" comment was because the paste will expire. 00:05:45 b_jonas: i added it yesterday just in case while waiting for freenode to solve it globally 00:06:05 oerjan: meh, I probably just don't notice the spam 00:06:07 I have a mental filter 00:07:14 https://www.youtube.com/watch?v=r3A6fsBqOHg 00:07:54 Enviable. I need /ignore for that... 00:08:23 added 痩痴瘍療癒癖皆盆 00:11:11 b_jonas: mostly likely they didn't get around to this channel this time, anyway 00:11:15 *-ly 00:11:50 and iirc last time they were using ridiculously annoying colors, unless that was a different spammer 00:12:26 and large messages 00:14:18 -!- xkapastel has quit (Quit: Connection closed for inactivity). 00:15:38 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 00:16:40 they didn't get to this channel but they were claiming that exherbo linux was "linuc for pedophiles" 00:17:46 shachaf: I think a compiler is still allowed to try very hard to avoid allocations. 00:18:09 int-e: I just want a struct, man 00:18:10 twh 00:18:27 * int-e shrugs 00:18:47 s/I/i/ 00:18:48 it's a cruel world; we hardly ever get what we want. 00:18:57 Especially when we use C++. 00:19:50 -!- Lord_of_Life_ has joined. 00:21:05 ok either my memory is toast (PLAUSIBLE) or the mezzacotta comics are no longer unchanging. writing down the start of some recent ones to recheck tomorrow. 00:21:18 oerjan: oh, the _colors_, those I don't display using the irc client. 00:21:41 `relcome 00:21:42 ​Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 00:22:16 دnet 00:22:38 Фnet 00:22:57 -!- Lord_of_Life has quit (Ping timeout: 245 seconds). 00:22:57 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:28:49 -!- housecarpenter has quit (Read error: Connection reset by peer). 00:29:12 -!- housecarpenter has joined. 00:51:52 -!- housecarpenter has quit (Read error: Connection reset by peer). 00:52:14 -!- housecarpenter has joined. 01:08:10 -!- ais523 has joined. 01:08:28 orbitaldecay: I had an idea like Poolshark myself a while ago, but it was much more ambitious and I couldn't make it work 01:08:51 for the language as you've written it, though, it would be clearly TC if not for the requirement that the mirrors that make up the region have to be connected 01:08:54 err, Turing-hard, anyway 01:08:58 as pointed out, it's not obvious it's computable 01:09:56 the basic idea is to write a program so that the angle of the bouncing ray is always known (except in very small areas that act as lenses), and you encode a rational number in its position/displacement 01:10:00 ohai 01:10:17 then you can effectively build a divmod-counter machine 01:10:24 hi b_jonas 01:10:37 that mario galaxy stuff? 01:11:02 So what's the right model for a computable function on computable reals? 01:11:02 what does Mario Galaxy have to do with this? besides, now you mention it, probably being TC in its own right 01:11:22 There's a sort of two-way dialogue between the caller and the function, and it seems like it'd be nice to model it explicitly. 01:11:29 shachaf: that's a very hard question, because equality of computable reals is not decidable 01:11:37 ais523: mario galaxy has a part where mario walks in a straight line on the surface of a polyhedron, and there was something somewhere about how the long term behavior of that is hard to compute 01:11:50 I didn't require it to be decidable. 01:11:55 if you want an explicit model for two-way dialogues that implement functions, though, look up "game semantics", that's pretty much exactly what game semantics is for 01:12:11 OK, simpler question: What's the right model for a computable function on conatural numbers? 01:12:34 A conatural number is either a natural number or infinity. 01:12:37 it's a weird field, the basic ideas of game semantics are applicable in a huge number of fields and it's really easy to prove things with it, but all the terminology is terrible 01:12:56 Or: A program that either prints some finite number of 1s and halts, or prints 1s forever. 01:13:02 b_jonas: that doesn't surprise me 01:13:35 shachaf: what facilities do we have for /reading/ these numbers? that seems relevant here 01:13:54 do we have to read them a digit at a time, like a finite state machine (thus we can't distinguish ∞ from an unknown large number)? 01:13:54 Well, I'm looking for a nice model. Effectively all these things are equivalent, but the way you express them is very different. 01:14:01 Ah. Yes. 01:14:27 Just like you can only read a computable real to a finite precision at a time. 01:14:58 in the paper I'm currently working on at work (as in, right now), I formalized something like this as a function for which prefixes of the input produce prefixes of the output 01:15:09 like, if f(x::y)=z, then f(x) is a prefix of z 01:15:13 oh, you mean reading them in unary? 01:15:17 :: is sequence concat 01:15:20 b_jonas: doesn't matter 01:15:27 Yes, conatural numbers are represented in unary the way I put it. 01:15:44 You can also say that you can ask it "are you <= n?" for any n. 01:15:51 Or some other scheme. 01:15:53 or, hmm, it matters in that you can have different infinities if you use a larger base 01:16:01 ais523: You know the "seemingly impossible functional programs" thing? 01:16:12 or dyadic numbers or something 01:16:12 Equality of total predicates on conatural numbers is decidable. 01:16:17 shachaf: very well, the person who invented it works at my department 01:16:23 WHich person? 01:16:40 Oh, Escardó. 01:16:44 I didn't know he was there. 01:16:46 Martin Escardó 01:16:54 hmm, I seem to remember I saw that somewhere 01:17:01 also was the internal examiner for my PhD 01:17:03 OK, then you know what I'm getting at here. 01:17:07 yes 01:17:15 whoa, fancy 01:17:54 So maybe my vague argument is, the whole "seemingly impossible" thing comes from having a complicated model for computation. 01:18:18 If you just had Turing machines, you could simulate the predicate, and see what questions it asks you. 01:18:44 (Which is also awkward but in a different way.) 01:19:18 I guess a less impossible-seeming program, but related, is the worst-case comparison predicate 01:19:28 What's that? 01:19:46 it's specified as follows: suppose you have a comparison sorting algorithm that never makes redundant calls to the comparison predicate 01:20:07 the worst-case comparison predicate will cause any such sorting algorithm to take as long as possible to sort the list 01:20:29 (it does it by choosing how to compare the list elements based on what the sorting algorithm is asking it, i.e. dynamically invents a worst case as it goes) 01:21:07 Ah, that's related, sure. 01:21:24 It seems to me that a nicer model of this might remove the nesting and simulation and so forth. 01:21:55 When I give ask f for an approximation of f(x) within a precision, it just asks me for an approximation of x within some precision. 01:22:17 PPCG had a question about writing automatic counterexample generators for purported halting problem solvers; that was also a pretty similar idea 01:22:19 I mean that it asks me explicitly, rather than with a "callback" or something the way it's usually modeled, by asking x. 01:22:42 Is there such a model? 01:23:41 as I said, game semantics is quite good at modelling the "you ask a question of a value, it gives you an answer" 01:23:53 although one problem is that it's more like a general framework for model-building, rather than a specific model 01:24:01 Right. 01:24:31 is communication complexity a more specific model, for when you care more about the details? 01:25:13 I think thinking of computable functions on computable reals as a two-way channel helps here. 01:25:17 I haven't heard the phrase "communication complexity" before, but if it means what you'd expect from the two individual words forming it, then yes 01:26:22 huh... 01:26:27 maybe it's not called that then? let me check 01:26:40 in the Zoo 01:27:14 https://complexityzoo.uwaterloo.ca/Complexity_Zoo:P#pcc definitely says "communication complexity" 01:27:59 b_jonas: I wouldn't expect to have heard of it 01:28:06 strange that you haven't heard of it 01:28:22 -!- housecarpenter has quit (Read error: Connection reset by peer). 01:28:44 -!- housecarpenter has joined. 01:29:17 not really, I generally study computability classes more than complexity classes 01:29:49 yeah 01:29:55 at least in the fields I've been working in, people rarely do things like Huffman-coding the various possible messages that can be sent between the parts of a program, and doing that is required for communication complexity to be meaningful 01:30:23 (that said, the Verity compiler needs to come up with explicit codings because it's generating physical hardware rather than mathematical objects, but I haven't put much effort into optimising that) 01:30:39 well, you don't have to actually do the Huffman coding, more like just make proofs about ap.. 01:30:42 a 01:30:45 uh 01:30:49 growth rates 01:30:59 asymptotics 01:32:12 oh right, because you don't care about constant factors 01:32:28 -!- Phantom_Hoover has quit (Remote host closed the connection). 01:32:31 So all these "seemingly impossible" things rely on compactness in some sense. 01:32:42 so as there are a finite number of possible messages, you could even use one-hot and it wouldn't change the complexity, you're just multiplying by a constant 01:32:57 But I don't think I understand the computational content of compactness very well. Do you? 01:33:13 -!- housecarpenter has quit (Read error: Connection reset by peer). 01:33:22 no, topology is one of the fields I don't really know much about at all 01:33:37 -!- housecarpenter has joined. 01:33:54 Escardó wrote that thing about synthetic topology which I've only read part of. 01:33:59 In Jules Verne's ''Pilot du Danube'', the band of evil guys has a person captured, but then the leader bad guy has doubts about the identity of the prisoner. however, he decides on just trying to ask about the appearance of the prisoner from a minion, rather than visiting him in person, 01:34:02 I guess I ought to read it properly. 01:34:39 he argues that he doesn't want the prisoner to recognize him and know that he's the leader of the bad guys. but that makes no sense, because they could just put a blindfold on the prisoner, as they've done when they took him to the secret hiding place. 01:36:37 and we do know (out of universe) that the band leader would have recognized him 01:36:51 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60210&oldid=60205 * Cortex * (+331) 01:52:17 shachaf: actually, thinking more about the seemingly-impossible thing, the reason it works on Cantor and not Integer is /because/ Cantor is general enough that it's hard to write total functions on it 01:52:47 on Integer, your program can have an infinite decision tree and still be finite on any particular integer 01:53:15 Right. 01:53:21 but on Cantor, your program must have a finite decision tree, because if it had any infinite branch, you could pick a value in Cantor for which it would go down the infinite branch forever and never decide (thus would be non-total) 01:53:25 Being total on a conatural number is a very strong restriction. 01:53:29 yes 01:53:30 Or on an infinite bit stream, sure. 01:54:31 oh, so that's what you mean by compactness 01:54:44 I think once you realise that, all the details of actually implementing functions like find become mostly irrelevant, they're basically just methods of empirically determining what the decision tree is 01:54:57 and comparing the trees is trivial once you know what they are 01:55:47 so I guess a good model of total functions Cantor → x is as actual listings of all possible tree branches 01:56:29 I don't think they're really irrelevant. 01:56:30 I think that's a proper denotational semantics, in the sense that each function has only one denotation, and two functions with the same denotation are equal (it's also fully abstract, i.e. each denotation corresponds to some function) 01:56:52 Well, how about this: If you have predicates on some arbitrary type T, (T -> Bool), what do you demand from T in order to implement find? 01:57:50 ugh, this is one of the cases where I think I know what the answer is, but don't have words available in any natural language to explain it 01:58:31 (edwardk probably knows) 01:58:52 I mean, I think the answer is "compactness" or maybe a little more than that. 01:59:49 does the logic kind of compatness has anything to do with the calculus kind of compactness, other than the name? the logic one has the theorem that if any finite subset of a first order axiom system is satisfiable then the whole thing is satisfiable; the calculus kind says that a continuous function from a bounded closed subset of R^n is uniform continuous. 01:59:55 both of those compactnesses are very useful. 02:00:42 the calculus one comes up all the time in proofs; the logic one comes up all the time in heuristics. 02:01:04 but I wonder why the name is the same 02:01:09 hm apparently today is Cantor's birthday 02:01:29 there's probably some crazy logic reason behind it. 02:02:03 Yes, the topology kind of compactness is equivalent to "For any S of closed sets, if the intersection of any finite subset of S is nonempty, then the intersection of S is nonempty". 02:02:20 set 02:03:32 when you put it like that, I think it's the property I was looking for 02:03:42 I didn't get there from the normal definition of compactness though 02:04:07 How do you write find with that? 02:04:10 hmm 02:05:02 -!- Essadon has quit (Quit: Qutting). 02:05:32 also I should read up on the Baire thing at some point and understand it at least a little 02:05:40 Which thing? 02:05:46 the Baire category theorem 02:06:15 I'm not sure what it says, but it's some topological property of the set of real numbers that lets you prove some things 02:06:30 ais523: The original motivation for thinking about these things is the fact that integration of computable functions is computable. 02:06:44 Which wasn't obvious to me until I thought of it in these other terms. 02:08:17 shachaf: I'm interested in knowing whether or not Analogia is computable 02:08:23 you're making it sound like it is 02:08:36 although it wouldn't follow directly from that result 02:08:56 (fwiw, I'm still uncertain whether or not it's TC; it's very easy to accidentally use an operation Analogia doesn't have in your attempted proof) 02:10:24 b_jonas: in case it wasn't obvious from shachaf's statement, both of those are special cases of the topological one 02:10:46 formfeed, huh 02:10:50 oerjan: um, both of what are special cases of what? 02:10:58 both of the compactness theorems? 02:11:33 yes 02:11:38 or of the concept 02:12:08 closed bounded intervals are topologically compact, from which you can prove the uniform continuity thing 02:12:18 yes, in that case the concept is clear 02:12:25 I don't know what the concept is in logic though 02:13:20 (the calculus compactness also has the handy corollary that such functions are bounded) 02:13:45 ais523: Anyway I think the answer is probably something close to compactness as stated, but more computational. 02:13:54 and maybe overtness is also involved?? 02:14:12 (but that boundedness is weaker than we want, because I know at least one case when the compactness helps even though we know boundedness in advance) 02:18:54 I also had a totally different maths question, but I forgot what it was 02:20:14 i think one way of interpreting the logical compactness is to say that a "point" is a maximal set of consistent propositions, and then each proposition corresponds to the closed set of all points satisfying it 02:21:16 oerjan: but what's the topology to which that is closed? 02:21:43 or is that trying to defined the topology with a co-base? 02:23:04 pretty much 02:23:57 hmm 02:24:17 since you can join propositions with OR, you can just take propositions as the co-base, i think 02:24:19 -!- housecarpenter has quit (Read error: Connection reset by peer). 02:24:43 -!- housecarpenter has joined. 02:41:31 does anyone here know about statistics 02:42:19 I have some data and want to answer the question "do these data appear to be normally distributed" 02:42:27 what's a good way to do it? 02:42:33 -!- adu has joined. 02:42:42 I know about the Kolmogorov-Smirnov test, it sounds like it does exactly this, but I've never used it before 02:43:09 I have not used it before either, so I don't know. 02:43:24 Statistics honestly left my head after I finished that class. 02:43:35 Which made stochastic modelling... interesting. 02:44:15 -!- orbitaldecay has quit (Ping timeout: 256 seconds). 02:47:15 ok there's a whole article about it https://en.wikipedia.org/wiki/Normality_test 02:48:00 in my application, each dataset is a time series of the received signal strength on a particular radio frequency over time 02:48:32 I want to distinguish frequencies that are in use from those which are not. 02:48:52 here's what it looks like https://i.imgur.com/Gwaz5p9.png (frequency on horizontal axis, time on vertical) 02:48:57 kmc: why would the received signal strength be normal distributed? 02:49:11 for an unused frequency that is 02:49:16 -!- housecarpenter has quit (Read error: Connection reset by peer). 02:49:26 I don't know, but many noise processes are? 02:49:30 it's just a default assumption 02:49:39 -!- housecarpenter has joined. 02:50:14 not very convincing, but I guess you could try if it works for your application 02:50:14 my first attempt at solving this problem, which worked okay, is simply to take the standard deviation of each time series (each column in the plot) 02:50:46 then the active frequencies are those which are above a certain threshold std. dev. 02:52:34 (and are not within 16 kHz of a frequency with greater std. dev.) 02:54:33 are you looking for modulated EM signals originating from extraterrestrial civilizations here? 02:54:37 no 02:54:59 though I suppose it's not completely unlike that :P 02:55:10 but no I'm just looking at which ham radio frequencies are in use locally, and when 02:56:13 I have got a little computer in my living room which scans the whole 2m band (144 - 148 MHz) every 4 seconds and logs the power levels 02:57:12 as you can see some frequencies receive a lot of power all the time, probably due to manmade interference from the thousands of electronic devices in proximity, including the computer itself 02:57:32 (this is not a well-isolated or low-noise setup) 02:57:50 and some of the actual signals on other frequencies are much weaker 02:57:58 but can be distinguished by the fact that they aren't present all the time 02:58:53 -!- housecarpenter has quit (Quit: Leaving). 03:01:05 actually I bet I can distinguish them from skewness alone 03:01:07 https://docs.scipy.org/doc/scipy-0.15.1/reference/generated/scipy.stats.skew.html 03:01:07 Another simplistic solution is to just subtract the long-term average to remove all stationary noise. 03:01:28 true 03:01:39 that is smart and very simple 03:02:27 it's easy to overcomplicate things with statistics 03:08:57 only problem is, the background level of power seems to change over time 03:10:31 here is a 25 hour recording: (warning, very tall image) https://ibin.co/w800/4Ys1u47OCtDS.png 03:11:19 background noise comes and goes, who knows why. could be aliens, could be a lamp switching on somewhere 03:13:11 also if a very strong signal appears, the RF amplifier automatically decreases its gain, causing an apparent reduction in noise (and signal) on other frequencies 03:13:46 oh well, it's fun to stare at such plots anyway 03:15:29 the raw data for that plot is a 30 MB gzip'd CSV 03:16:39 giving the power (in dBm) at 4 kHz steps from 144 MHz up to (and not including) 148 MHz 03:16:42 generated by the rtl_power utility 03:19:02 it's not necessary to tune each individual frequency in sequence, because the RTL-SDR hardware samples a full 2 MHz of spectrum at once. the 4 kHz bins are recovered by fast fourier transform 03:21:40 software defined radio is really cool, but I already rambled about that here :P 03:22:41 -!- Remavas has quit (Quit: Leaving). 03:23:41 speaking of lamps, I've noticed that if I transmit on the 70 cm band (around 440 MHz), the motion-activated floodlight on my deck turns on :P 03:25:31 I got one of those DVB sticks that are allegedly a little useful for SDR, but never really got an antenna of any kind for it. 03:41:18 aw, too bad 03:41:20 it's fun 04:26:14 -!- tromp has joined. 04:30:56 -!- tromp has quit (Ping timeout: 255 seconds). 04:41:05 -!- FreeFull has quit. 05:42:58 [[Esolang:Featured languages/Recent]] https://esolangs.org/w/index.php?diff=60211&oldid=59223 * Ais523 * (+0) archive Funciton 05:43:59 [[Esolang:Featured languages]] https://esolangs.org/w/index.php?diff=60212&oldid=59224 * Ais523 * (+888) /* Archive */ archive Funciton 05:52:27 [[Esolang:Featured languages/Current]] https://esolangs.org/w/index.php?diff=60213&oldid=59225 * Ais523 * (-83) featured language blurb for [[Thue]] 05:53:10 [[Thue]] https://esolangs.org/w/index.php?diff=60214&oldid=55414 * Ais523 * (+22) {{featured language}} 05:53:31 [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60215&oldid=59227 * Ais523 * (-111) /* List of candidates */ Thue is now featured 05:53:48 hmm, finding good languages to feature is hard 05:55:23 most of the candidates, either I don't think they were featurable at the moment due to substandard articles, being uninteresting as languages, or being too similar to Funciton; or else I'm personally involved in them or have nominated them, and thus can't make an unbiased judgement 06:08:15 so the answer is to nominate none of them, and make someone else doit 06:08:20 do it even 06:08:35 yes, but admins historically don't update the featured language much 06:08:46 we parked it on brainfuck a while ago because nobody was updating and it seemed like a safe place to park it 06:09:05 one admin updating is an improvement, but means that it's hard to feature languages that that admin was involved in 06:09:16 yeah 06:09:25 (and Esolang admins tend to have been involved with lots of esolanguages just due to the nature of the job) 06:10:59 hmm, I guess this would be a good time for a candidate reset 06:11:18 [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60216&oldid=60215 * Ais523 * (-1146) /* List of candidates */ candidate reset; we're really due for one of these, I think 06:13:36 wut 06:14:14 oerjan: the candidate list hadn't been reset since 2012 06:14:17 -!- tromp has joined. 06:14:42 it seems plausible that some of the people who posted there have had new ideas about languages they like within the last 7 years 06:14:52 and "the featured language was stuck on BF for years" implies a good timing for it 06:15:09 [[Special:Log/newusers]] create * Hooloovoo * New user account 06:15:55 "infrequently" is fair enough, but 7 years is too long 06:18:12 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60217&oldid=60183 * Hooloovoo * (+207) 06:18:44 -!- tromp has quit (Ping timeout: 250 seconds). 06:18:59 [[Special:Log/delete]] delete * Ais523 * deleted "[[FerNORo]]": plagiarism of [[FerNANDo]]; not a copyvio (source is public domain), but this is just an existing language with OR/AND swapped in the spec (and inconsistently so), and the author name changed 06:26:02 lol 06:26:41 * Hooloovo0 nominates all the joke languages 06:28:12 a joke language might be good for next month 06:28:31 last we featured a language in april it was deadfish 06:29:04 yes, if you feature joke languages, April is a good time for it 06:29:59 what are the most interesting joke languages out there? Unnecessary comes to mind 06:30:19 TURKEY BOMB is one of the best joke languages but its article is a stub 06:31:16 Esme also came to mind, but featuring that would ''not'' be a good idea 06:31:29 I've known merthese for a long time, but I'm not sure it works as a featured lang 06:31:31 u don say 06:33:32 Merthese doesn't have much to distinguish it from the other string-printing loopless imperative languages 06:33:47 it's a good example of those but we might be able to find a better one, if we want to feature most of those 06:34:02 it's not an esolang genre that's particularly popular among readers of the wiki, though (as opposed to writers) 06:34:20 -!- imode has quit (Ping timeout: 250 seconds). 06:34:32 the article itself is great, though 06:35:52 yeah, that's about what I was thinking 06:36:24 OK, I just reread https://esolangs.org/wiki/Merthese and it was even better the second time 06:36:35 the language is clearly a trainwreck, but it's a trainwreck that's had a lot of love and thought put into it 06:37:10 e.g. first I missed the duplicate commands, and then I missed the resolution of the duplicate commands 06:38:22 I guess what makes the language great is the development process 06:38:56 yeah, all the @kerm, @nikky, etc are people who added the extension 06:39:58 you can't even reliably use it as a Deadfish-alike, because the command that increments the accumulator is sometimes interpreted as printing a newline instead 06:40:41 better than x86 06:41:31 well, x86 doesn't have a command for printing newlines at all :-D 06:41:58 I joined cemetech a bit too late to contribute to it (I guess I could have, but I was a nooob at the time) 06:43:31 hmm, I feel like binary lambda calculus should be extended 06:44:32 oh, tromp isn't on 06:44:36 oerjan: what about HQ9+? we might have to expand the article a bit, but the language itself makes a point in a funny way, and is well-known 06:45:31 why would you feature a well-known thing 06:46:08 shachaf: hichaf 06:46:26 shachaf: well, it depends on what the purpose of featuring languages is 06:46:43 it's maybe not well-known enough that every visitor to the wiki knows about it already, but it became well-known for a reason 06:46:54 higan 06:48:47 what about something competitive like bfjoust? 06:50:16 oh, BF Joust is definitely featurable 06:50:39 although I can't nominate it because I created the current version (although not the original version) 06:50:58 * Hooloovo0 nominates it 06:51:23 October would be a good month to do the actual featuring for that 06:56:02 recently I had a friend link to https://esolangs.org/wiki/SyL 06:56:04 * Hooloovo0 is grepping through irc logs 06:56:16 response: wow, I feel like that system of numbers is maximally designed to fuck with Japanese speakers 06:56:32 (response by timeroot) 07:01:20 -!- adu has quit (Quit: adu). 07:01:41 -!- adu has joined. 07:02:06 -!- adu has quit (Client Quit). 07:02:28 -!- adu has joined. 07:02:53 -!- adu has quit (Client Quit). 07:03:21 -!- adu has joined. 07:03:40 -!- adu has quit (Client Quit). 07:04:06 -!- adu has joined. 07:04:19 nothing else too interesting, some fish, a chicken, other boring ones, etc 07:04:26 -!- adu has quit (Client Quit). 07:04:53 -!- adu has joined. 07:05:13 -!- adu has quit (Client Quit). 07:08:59 -!- tromp has joined. 07:13:23 -!- tromp has quit (Ping timeout: 255 seconds). 07:17:15 -!- iconmaster has joined. 07:21:37 -!- ais523 has quit (Quit: quit). 07:48:50 -!- tromp has joined. 07:54:28 -!- arseniiv has joined. 08:14:48 -!- oerjan has quit (Quit: Nite). 09:37:24 -!- LKoen has joined. 09:48:41 -!- AnotherTest has joined. 09:48:48 -!- xkapastel has joined. 09:53:49 -!- tromp has quit (Remote host closed the connection). 09:58:03 -!- LKoen_ has joined. 10:01:27 -!- LKoen_ has quit (Client Quit). 10:01:41 -!- LKoen has quit (Ping timeout: 257 seconds). 10:01:42 -!- LKoen_ has joined. 10:14:51 -!- tromp has joined. 10:48:35 -!- LKoen_ has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 10:48:52 -!- LKoen has joined. 10:49:52 -!- LKoen_ has joined. 10:53:54 -!- LKoen has quit (Ping timeout: 264 seconds). 11:25:38 -!- magickal has joined. 11:26:39 can someone help? can all magick be considered witchcraft? 11:30:20 you might want to read the topic 11:32:38 -!- Phantom_Hoover has joined. 11:54:26 oh i c.. 11:54:30 thanks 11:54:35 -!- magickal has left ("Leaving"). 12:02:44 oh, it's a cloning factory 12:02:50 I got the wrong channel too 12:07:02 -!- xkapastel has quit (Quit: Connection closed for inactivity). 12:21:09 -!- Lord_of_Life_ has joined. 12:23:10 -!- Lord_of_Life has quit (Ping timeout: 250 seconds). 12:23:28 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:55:01 kmc: what framerate and exposure time do you use when measuring the power? 13:02:00 -!- Essadon has joined. 13:03:01 ais523: has /// been featured yet? 13:03:08 -!- Essadon has quit (Max SendQ exceeded). 13:30:36 -!- S_Gautam has joined. 13:42:10 -!- FreeFull has joined. 14:10:26 `bobadventureslist http://bobadventures.comicgenesis.com/d/20190303.html 14:10:27 bobadventureslist http://bobadventures.comicgenesis.com/d/20190303.html: b_jonas 14:10:53 `ehlist http://eheroes.smackjeeves.com/comics/2755886/when-inspiration-strikes/ 14:10:54 ehlist http://eheroes.smackjeeves.com/comics/2755886/when-inspiration-strikes/: b_jonas 15:31:11 -!- imode has joined. 15:40:18 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 15:49:37 -!- tromp has quit (Read error: Connection reset by peer). 15:54:57 -!- copumpkin has quit (Quit: Textual IRC Client: www.textualapp.com). 16:01:25 -!- copumpkin has joined. 16:18:06 -!- S_Gautam has joined. 16:21:43 [ 'lr'{~?2 16:21:43 b_jonas: r 16:48:27 -!- iconmaster has quit (Quit: Leaving). 16:58:56 -!- Sgeo__ has joined. 17:00:27 -!- Sgeo has quit (Ping timeout: 240 seconds). 17:11:56 -!- xkapastel has joined. 17:25:54 `unicode 𝑕 17:25:55 U+1D455 - No such unicode character name in database \ UTF-8: f0 9d 91 95 UTF-16BE: d835dc55 Decimal: 𝑕 \ 𝑕 (𝑕) \ Uppercase: U+1D455 \ Category: Cn (Other, Not Assigned) 17:26:27 `unicode 𝚨𝚩𝚪𝚫 17:26:28 U+1D6A8 MATHEMATICAL BOLD CAPITAL ALPHA \ UTF-8: f0 9d 9a a8 UTF-16BE: d835dea8 Decimal: 𝚨 \ 𝚨 \ Category: Lu (Letter, Uppercase) \ Bidi: L (Left-to-Right) \ Decomposition: 0391 \ \ U+1D6A9 MATHEMATICAL BOLD CAPITAL BETA \ UTF-8: f0 9d 9a a9 UTF-16BE: d835dea9 Decimal: 𝚩 \ 𝚩 \ Category: Lu (Letter, Uppercase) \ Bidi: L (Left-to-Right) \ Decomposition: 0392 \ \ U+1D6AA MATHEMATICAL BOLD CAPITAL GAMMA \ UTF-8: f0 9d 17:26:29 𝚬𝚭𝚮𝚯𝚰𝚱𝚲 17:41:29 ah, it was. 17:41:37 https://esolangs.org/wiki/Esolang:Featured_languages says that slashes was featured 17:41:59 -!- testitemqlstudop has joined. 17:42:39 -!- testitemqlstudop has left. 17:42:55 in that case, we could consider featuring befunge. afaik ais523 doesn't have much connection to it, but the esolang community at large does 17:53:14 my honored and learned friend fungot, your source code is on whose T-shirt? 17:53:14 b_jonas: anyone familiar with the fourstack idea didn't the person who introduced me to it. it routinely takes me 30+ minutes to fall asleep 18:00:01 -!- Sgeo has joined. 18:01:47 -!- Sgeo__ has quit (Ping timeout: 240 seconds). 18:04:21 [[Befunge]] https://esolangs.org/w/index.php?diff=60218&oldid=58624 * B jonas * (+543) language overview. let me try to improve the description a little so we can feature this. 18:05:20 -!- tromp has joined. 18:06:52 [[Befunge]] https://esolangs.org/w/index.php?diff=60219&oldid=60218 * B jonas * (+2) move history below the language overview, to make the article a better introduction. 18:08:44 we should somehow move the "fungeoid" part out of the introduction, to the history stuff, and make the introd paragraph more informative 18:11:52 -!- rdococ has quit (Quit: CHEAPIE! What did you do to the bouncer?! :P (jk)). 18:11:57 https://esolangs.org/wiki/Fungeoid says "Fungeoids, specifically Befunge, have the canonical goal of being REALLY hard to compile", but that seems to contradict https://esolangs.org/wiki/Nopfunge being a fungeoid 18:12:46 -!- rdococ has joined. 18:20:20 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 18:20:46 [[Befunge]] https://esolangs.org/w/index.php?diff=60220&oldid=60219 * B jonas * (+246) mention fungot; remove fungeoids from the first paragraph, they're mentioned later anyway 18:22:01 ``` \? fu\ngot 18:22:05 fungot is our beloved channel mascot and voice of reason. 19:01:03 -!- tromp has quit (Remote host closed the connection). 19:05:19 -!- S_Gautam has joined. 19:15:19 [[Works in progress]] https://esolangs.org/w/index.php?diff=60221&oldid=59261 * Cortex * (+14) 19:15:30 -!- tromp has joined. 19:23:14 [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60222&oldid=60216 * B jonas * (+656) /* List of candidates */ 19:24:13 [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60223&oldid=60222 * B jonas * (+94) /* List of candidates */ 19:25:52 [[User:Cortex]] https://esolangs.org/w/index.php?diff=60224&oldid=60100 * Cortex * (+14) 19:44:32 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60225&oldid=60210 * Cortex * (+515) 19:51:04 -!- xkapastel has quit (Quit: Connection closed for inactivity). 19:55:20 [ 29*1.609344 19:55:21 b_jonas: 46.671 20:04:46 zzo38: I wonder how you could write sane M:tG rules text for a card like this: Three Wise Men / 1GWU / Sorcery / Look at the top five cards of your library. You may reveal a creature card from among them and cast it. When that spell resolves, put three +1/+1 counters on the permanent it becomes. 20:13:17 I think it look like OK the way it is 20:15:19 shachaf: what do you think could be done to get better efficiency from the low ascii codepoints in utf-8 20:15:41 obviously it would be incompatible but how could you do it while preserving the nice properties of utf8 20:15:49 maybe you can't 20:17:47 i,i UTF-EBCDIC 20:18:16 Is there a real efficiency problem there? 20:20:04 kmc: give commonly used codepoints lower values 20:21:04 j4cbo: Yes, that reduces the number of bytes needed to encode that number as UTF-8 20:21:19 Not sure there's that much of a point. While in principle you could get better efficiency, any such gain would be fairly minimal. 20:21:35 ... and you could get more mileage out of just using a common compression algorithm instead. 20:22:25 -!- adu has joined. 20:23:10 Yes, you can do that 20:23:46 UCS-4! 20:25:19 pikhq: yeah, that was my conclusion 20:29:02 there are Unicode encodings which allow binding one-byte codes to frequently used characters for that specific document. but stateful codes are nasty (looking at you, ISO 2022) and I think a separate compression layer would almost always be better 20:29:33 one of the best things about UTF-8 is that it's self synchronizing 20:29:55 Yes, and it is compatible with ASCII 20:30:18 yeah 20:35:23 Yeah. SCSU is kinda cute as a concept, but it's going to be somewhat rare that it's worth it. 20:36:15 (mostly if you have the need to compress, seperately, many different very short strings. Where "very short" here means "tweet sized".) 20:36:28 i was kinda :psyduck: when some random blog post pointed out to me that 0xC0 is never a valid byte in UTF-8 20:36:55 Isn't that a lead byte for a surrogate? 20:37:12 i may have got the specific byte wrong 20:37:15 Oh, no, for an over-long encoding. 20:37:22 yeah 20:37:31 PH: yes, there are four invalid bytes 20:37:34 0xC0 would be for a two-byte encoding of something under 0x7f. 20:37:40 b_jonas: There's more than that. 20:37:45 it's the lead byte for a multibyte sequence which would have enough leading zeroes to not need a multibyte sequence 20:37:57 pikhq: no, there are two invalid bytes because they would start the encoding of an ascii character, and two invalid bytes because they would start a too long encoding 20:38:02 0xF5 through 0xFF are also invalid. 20:38:31 But those are would be used to encode a codepoint over U+10FFFF. 20:38:37 *those would 20:38:38 pikhq: yeah, now that they claim that the largest character value can be 0x10FFFF, those are invalid too 20:38:45 s/claim/define/ 20:39:17 And they're unlikely to go back on that, since that limitation exists so UTF-16 can work, and UTF-16 is gonna be hard to kill. 20:39:23 but they'll change that later anyway when they start running out of the 17 planes. currently they only started 3 planes, plus a little bit of one more plane, plus one for non-standard user-defined stuff 20:39:37 but people may want to encode non-characters in utf-8, for private purposes like formatting 20:40:00 I don't think so -- UTF-16 is a bit too entrenched. 20:40:16 pikhq: true, but then, if they need more space for characters they will do something 20:40:30 the amount of damage done in the 5-year period when Unicode was 16 bits is staggering 20:40:33 UTF-16 was already entranched when they decided to go for more than the prime material plane 20:40:56 b_jonas: that was UCS-2 20:41:05 eh so that then 20:41:19 And I have some doubts they'll even really need to go much past the assigned planes. 20:41:23 wchar_t, etc 20:42:05 Considering well over half of the supplementary multilingual plane is unassigned, and the supplementary ideographic plane is running out of CJK characters to encode. 20:42:39 Codes that are encoding above U+10FFFF are just not going to encode valid Unicode characters, but otherwise it may be considered as valid in some cases. 20:43:06 j4cbo: truth 20:43:13 Windows, Java, and JavaScript all adopted UCS-2 :( 20:43:31 mankind will never be free of the scourge of JavaScript 20:43:34 it's with us for the rest of civilization 20:43:40 why did they put characters on the astral plane anyway? are those just to make it easier to test that software is compatible with that? 20:43:46 UTF-16 is helpful when working with Unicode text in JavaScript, since JavaScript strings are sequences of 16-bit characters. 20:44:02 USB, too 20:44:08 b_jonas: which characters? 20:44:12 b_jonas: Because the BMP is is almost entirely full. 20:44:18 pikhq: no no 20:44:28 b_jonas: Unicode has more than 2^16 (minus surrogate pairs) codepoints, so the astral planes are required 20:44:29 webassembly will save us 20:44:29 pikhq: I mean the astral plane, the one that starts at 0x100000 20:44:36 webassembly will make everything right again 20:44:38 b_jonas: that's not what astral plane means 20:44:44 it's any plane besides the basic plane 20:44:49 `? bmp 20:44:50 bmp? ¯\(°​_o)/¯ 20:44:52 kmc: it's also not what prime material plane means, but meh 20:44:54 the USB spec says “strings in descriptors shall be Unicode” 20:44:54 b_jonas: That's private use area. 20:45:03 ah yes 20:45:03 is it? 20:45:05 I have an irrational loathing for WebAssembly because it's contributing to Rust getting ruined by web hipsters 20:45:10 they mean UTF-16, I forget which endianness 20:45:15 isn't that another plane? 20:45:15 The entire U+10xxxx plane is a private use area. 20:45:18 the 'we're too boring and shit to put tengwar in unicode proper' area 20:45:19 hmm 20:45:26 kmc, haha 20:45:30 they want Cargo to adopt "best practices from NPM", when somebody pointed out that there was no such thing their comment was deleted by moderators 20:45:32 it does sound a bit... mad from what ive heard 20:45:34 WebAssembly may be a reasonable VM code, but that doesn't mean that Rust or JavaScript or any other programming language would be avoided 20:45:38 criticism is not allowed in the Rust community 20:45:39 As is U+Fxxxx, and U+E000-U+F8FF. 20:45:39 hahahahaha i remember that kmc 20:45:57 because all criticism is "unconstructive" 20:45:59 that was part of the whole 'welcome our new community manager' 20:46:04 yeahhhhhhhh 20:46:11 'i dont want to welcome someone who goes around saying kill all men on twitter' 20:46:19 'wow banned for misogynist harrassment' 20:46:23 yeah 20:46:29 I really shouldn't bring it up, because that whole incident upsets me a great deal 20:46:43 those kinds of people are why i don't feel comfortable in open source anymore :/ 20:46:43 It's some grade A bullshit though.3 20:47:09 it upsets me in principle too ive just positioned myself so they mostly dont matter in my life 20:47:14 Even if you work in open source you do not have to deal with all of the open source projects 20:47:26 Phantom_Hoover: me too, but I have unresolved trauma re: being trans and stuff 20:47:28 paranoid proprietary bullshit has its upsides i suppose 20:47:38 being trans fucking sucks, i'll say that much 20:47:58 * pikhq nods 20:48:08 at the same time I don't think i'd press a magic button to be not trans 20:48:10 it's complicated 20:48:18 Identity tends to be. 20:48:24 yeah 20:48:29 people tend to be 20:48:32 this reminds me of the wikipedia page on paperclip optimisation 20:48:33 (UTF-16 would also be helpful in my proposed X 12 core font system; if the font is a Unicode font, then astral characters are just considered ligatures of the surrogate pairs, so if ligatures are enabled then you can work with Unicode text.) 20:48:50 is X12 the successor to X11? 20:49:02 anyway one of my poor naive colleagues was asking me the other day what he was supposed to do with a core dump 20:49:06 kmc: Yes 20:49:12 Phantom_Hoover: lol 20:49:16 load it into GDB! 20:49:18 (There are other things too I have proposed to do it) 20:49:26 (poor naive = plucked from a stem degree and trained in kdb and little else) 20:49:27 * int-e suspects another zzo38 vapourware project. 20:49:33 you can even run a coredump 20:49:58 kmc, yeah except how much debug info do you think kx systems compile into their binary 20:49:58 I believe they're regular files, so rm can handle them 20:50:04 -!- ais523 has joined. 20:50:09 hi ais523 20:50:14 b_jonas: hah 20:50:14 hi 20:50:18 kx 'our entire database package fits into L2 instruction cache!!!!' systems 20:50:21 Emacs has a "feature" where you can initialize all the bloat, core dump it, and then use that initialized image to start emacs faster 20:50:26 Another thing of my X12 is that a mouse cursor position is allowed to be null (which is different from zero), although this might not be implemented on all implementations. 20:50:29 which I imagine breaks a lot of modern things like ASLR 20:50:31 but whatever 20:50:35 b_jonas: but only if you can find them *glares at systemd* 20:50:36 isnt that why ais523 invented feather 20:50:39 ais523: do you have any significant involvement in befunge? I'm asking because of potential featured langauge status 20:50:45 or, well, the equivalent but with smalltalk 20:50:51 b_jonas: not really any more than the rest of the esolang community 20:50:53 there was that awesome Linux vuln involving coredumping in /etc/cron.d 20:51:04 I've written a few programs in it, and I wrote an FFI between INTERCAL and Befunge 20:51:07 PH: there's no such thing as "L2 instruction cache". L2 cache doesn't know the distinction between code and data 20:51:15 but I wouldn't be afraid to feature it 20:51:25 well, it knows the distinction between reading and writing, but it's still not a separate instruction cache 20:51:33 b_jonas: are you sure that's universally true... 20:51:34 great! 20:51:38 but b_jonas do the guys making acquisition decisions in investment banks know that 20:51:39 int-e: no 20:51:44 Is the cures of the featured language that people make erivatives of it? 20:51:48 int-e: but Kx isn't so portable 20:51:50 I think systemd would upset me less if it had actually been designed with clear defined API boundaries between components, permitting alternate implementations. 20:52:04 you could get a setuid program to core dump in /etc/cron.d, with a valid crontab entry somewhere in its memory space 20:52:08 shachaf: well, BF was the featured language for ages so we don't have much evidence 20:52:14 systemd just upsets me because lennart seems to be an antisocial psycho 20:52:19 Uh, curse, not cures. 20:52:21 cron will happily skip over megabytes of binary garbage and execute that crontab entry 20:52:23 Phantom_Hoover: Also that. 20:52:35 -!- xkapastel has joined. 20:52:46 and apparently nobody making decisions in the entire linux world thinks 'hmm maybe we shouldnt give this guy supreme political influence over the entire system' 20:53:09 kmc: ~robustness principle~ 20:53:23 p o s t e l ' s ~ l a w 20:53:25 it's really the worst thing 20:53:38 kmc: I think they ported that Emacs "feature" to some portable representation that's compatible with ASLR. 20:53:44 shachaf: ok 20:53:54 Phantom_Hoover: I mean honestly, ESR is still respected in some corners. 20:54:12 well he's a shithead in ways largely orthogonal to software 20:54:18 I don't exactly respect ESR but I appreciate some things he's said more than I used to 20:54:33 also lmao i occasionally remember the period of my youth wasted on rationalwiki 20:54:35 Getting people to question that requires people to question that maybe an egotistic shithead should be questioned rather than just accepted. 20:54:38 maybe it's just because i hate the wokelords who hate him 20:54:43 Phantom_Hoover: lol 20:54:44 let me repeat my question then. fungot's befunge source code is printed on whose T-shirt? 20:54:44 b_jonas: no. i think he's normally asleep at this time it was the next thing i need 20:54:47 kmc: it is that, hth 20:54:48 and im like "hmm what was the last thing i did there" 20:54:50 shachaf: yeah 20:54:51 kmc: re Postel's Law, it strikes me that there are two modes in which a program can run: fail fast, and try to make things work even when they're broken 20:54:52 asleep huh? 20:55:05 the former is much better for development, and for the future of the system; the latter is better for the present 20:55:13 and i remember that it was using my lingering social status as a high volume shitposter in aid of emily's crusade against ESR 20:55:17 live fast, die young, bad code does it well 20:55:35 Phantom_Hoover: I mean okay, as far as software goes ESR's worst sin is that he just doesn't really... matter. 20:55:42 yes 20:55:46 yes 20:55:51 "<--- I'M WITH THOSE GUYS" 20:55:52 ais523: most of my programs are full of asserts and fail fast 20:56:06 He's only influential in terms of writing about software. 20:56:07 both asserts checking input that I didn't appreciate in advance, and internal bugs 20:56:07 whereas david gerard was quite insistent that rationalwiki's take be "this ELITE HACKER GOD WHO BUILT THE INTERNET later went crazy after 9/11" 20:56:18 (and to be fair, some of his writing about software is, well, still worth reading) 20:56:30 what about his dating advice 20:56:30 I still talk to emily... we have a complicated history but I like her 20:56:31 b_jonas: my preferred principle is to work out what inputs /could/ be correct, in that a) they're not an obvious sign of a bug existing, and b) we can define plausible and unsurprising output in that case 20:56:38 Phantom_Hoover: Oh, set that on fire. 20:56:40 and then, when an assert of the first kind triggers, or I anticipate that it will trigger, I make the program more robust for those inputs; 20:56:48 if the second kind of assert triggers, I try to fix the bug 20:56:57 and then document the function as supporting only those inputs 20:57:00 then, fail fast on everything else 20:57:03 kmc: Yeah, life hasn't been the kindest to her. 20:57:09 seriously. 20:57:14 neither have i, at times 20:57:17 your former type of assert is an interesting idea 20:57:18 b/c of my own bullshit 20:57:42 sometimes the asserts even need some extra computation just to detect problems 20:57:50 shachaf: back to earlier topic, EMDR therapy is p. esoteric 20:58:09 thinking about upsetting things is healing if you move your eyes back and forth while you do it??? 20:58:12 and nobody knows why 20:58:15 brains are weird 20:58:21 🧠 20:58:22 lmao 20:58:29 buffer overflow in eye movement code 20:58:34 b_jonas: this reminds me; a while ago I was looking for a way to determine whether asserts were enabled in Java (so as to produce extra debug information in that case) 20:58:36 allows overwriting of upset buffer 20:58:42 yeah 20:58:44 also, a good lesson I learned from writing programs is to try to represent data compactly, in the sense that there's no redundancy as in state stored multiple times such that they have to be consistent, because whenever you have redundancy, you often later modify the program and forget about what invariants you wanted to keep 20:58:49 and it turns out that the only official method is to write an assert condition with side effects 20:58:59 obviously there are exceptions from this when you need redundancy for efficiency 20:58:59 the best theory I've heard is that it emulates REM sleep, but I don't know how much of an ass-pull that is 20:59:07 boolean assertsEnabled = false; assert(!(assertsEnabled = true)); 20:59:14 err, no ! there 20:59:17 boolean assertsEnabled = false; assert((assertsEnabled = true)); 20:59:28 i remember you introducing me to the bicameral mind thesis ages ago in here kmc 20:59:36 kmc: do you know of public examples of good high-performance api design twh 20:59:41 I think there should be multiple assert levels, each of which can be disabled either at runtime or compile time 20:59:43 which has stuck in my head for being particularly interesting even though im 80% sure its total bullshit 20:59:53 ais523: that's more or less true in C too, because someone might redefine or reundefine _NDEBUG without reincluding 20:59:56 Phantom_Hoover: I think I learned of it from Snow Crash 21:00:01 and yes, it's almost certainly bullshit 21:00:02 ahh 21:00:05 mind you, I don't use the actual assert macro from C 21:00:19 b_jonas: yes, but in this situation, the value of _NDEBUG is what I'd care about more than the actual behaviour of assert 21:00:23 Rust's debug logging is kind of nice, you can enable/disable for any subtree in the module tree 21:00:28 (module/crate tree) 21:00:32 because I'm trying to detect a debug versus release build, not the actual behaviour of the assert macro 21:00:45 debug loggin 21:00:48 im crying 21:01:06 Hey, don't knock printf debugging. 21:01:07 oh 21:01:10 rust has that too 21:01:11 because at work we have a guy who's the only one who really cares about architecture and gets shit done 21:01:18 if cfg!(debug) 21:01:21 or something like that 21:01:34 look around you is tg 21:01:38 "it's the brain" 21:01:42 and he added some debugging code which means that our logs are now 90% duplicated spam 21:01:44 oh darn, gmane is not available. I'll have to look if an alternate archive exists for this mail 21:01:53 cfg's can be used as compiler directives, user-defined conditional compilation, or compile-time constants, or build-system rules 21:02:11 and i was like 'man these log messages are really repetitive and useless, can i disable them' 21:02:11 context free grammars are often used as compiler directives 21:02:15 'no i find them really useful' 21:02:21 shachaf: look around you is tg 21:02:26 yes but now i cant read any other fucking log messages!! 21:02:42 «if cfg!(debug){...}» looks weird, I'd expect something more along the lines of «#[if(cfg(debug))]{…}» 21:02:44 PH: yeah, at that point I direct those messages to a separate file 21:03:00 i.e. conditionally compiling, rather than unconditionally compiling dead code (and then presumably optimisingit out) 21:03:23 also a lot of our code alternately use two different logging functions, one of which logs in the local timezone and one of which logs in UTC 21:03:24 ais523: such a thing exists, yes, but only for items, not for statements in rust 21:03:30 so you have to put yoru conditional stuff in a separate function 21:03:30 it is exceedingly confusing 21:03:32 Phantom_Hoover: aimake has something like 4 or 5 verbosity levels for debug logging because some of them are both useful and /really/ spammy 21:03:39 static if is tg 21:03:54 have two versions of the function, conditionally, with the same name, and call it 21:04:02 Should conditional compilation just be a regular if in a meta-level language? 21:04:04 oh lawdy 21:04:14 “the local timezone” 21:04:22 shachaf: well, that's how it works in C 21:04:30 #if is basically just a regular statement in cpp the language 21:04:31 well, maybe that's no longer true with the macro advancements now 21:04:35 Except CPP is very different from C. 21:04:53 I mean the same language. 21:04:54 j4cbo: I have seen some disturbingly large environments where the local timezone ends up mattering... 21:04:56 indeed; there's no obvious reason other than programmer familiarity why the two languages should be the samea 21:04:56 any code in a server that tries to read the “local timezone” should trip an assert 21:04:59 oh me too 21:05:13 there’s a test suite at work that only passes if you set your system tz correctly 21:05:16 it’s vile 21:05:18 shachaf: yeah, I was trying to design a language that is preprocessing all the way down, with infinitely many layers, each of which produce a program for the layer below it, and the layer isomorphic to each other 21:05:20 j4cbo: I think it's a good idea to use capabilities for things like timezones 21:05:30 ais523: Well, if it's the same language, you can reuse code to do compile-time computation and so on. 21:05:31 a function is only given access to the timezone if it actually needs it 21:05:33 ais523: yeah, the C++ concept guys are trying that. 21:05:35 kdb has nice concise shortcuts for both UTC and system timestamps 21:05:37 b_jonas: You've mentioned. 21:05:38 I don't like the idea much 21:05:45 b_jonas: But I want this for practical rather than theoretical reasons. 21:05:49 A former employer of mine set all their servers to use the timezone of corporate HQ. 21:05:51 i have no clue why anyone on our team was dumb enough to use the system tz ones 21:06:03 pikhq: mine too 21:06:16 * pikhq wonders if we're talking about the same employer 21:06:22 j4cbo: really, timezones aren't even the biggest problem, the largest environment-related issue I see (other than encoding, which is something of a separate topic as correct behaviour is hard to define) is decimal separators 21:06:40 a company out of Mountain View that made lots of money from tiny classified ads? 21:06:47 That's the one. 21:06:52 ais523: I think the syntax is like #[cfg(debug_assertions)] 21:07:12 you can do either. cfg!() is a macro that expands to a boolean constant 21:07:18 I don't have most of the Rust preprocessor syntax memorised 21:07:31 whereas #[cfg(...)] is conditional removal of a lexical scope 21:07:34 like #[cfg(debug_assertions)] fn foo() { /* print stuff here */ } #[cfg(not(debug_assertions))] fn foo() {} fn bar() { ... foo() ... } 21:07:50 oh yeah 21:07:51 I like Rust; I've written a few (small but serious) programs in it and it's almost as fast as writing in a scripting language, but the resulting programs run much faster and are more likely to be correct 21:08:02 so e.g. #[cfg(thing_thats_false)] { type_error } will not error, but if cfg!(thing_thats_false) { type_error} will 21:08:10 each is useful in different circumstances 21:08:13 There's lots to like there, and some things that are a bit frustrating. 21:08:15 you can’t format an integer in a non-locale-dependent way in c++14 21:08:40 ais523: yeah, it will eventually become a good language. I should fix the few library programs it has with a custom library and then I should be able to use it. 21:08:53 you can't remove a whole item (function, type, etc) with cfg!() but you can't use #[cfg] in an expression 21:09:00 FWIW, I believe that it is incorrect to ever format an integer in a locale-dependent way, unless the result is output directly to a human without being stored accessibly in memory 21:09:05 (WHY would you give all these powerful tools for memory safety and error handling, and then "oh, and we just crash on OOM") 21:09:10 zzo38: it's not a preprocessor, but yeah 21:09:20 std::to_chars showed up in C++17 21:09:30 zzo38: the syntax is fairly simple. a cfg expression is either an identifier, identifier = "string", or identifier(cfg_item) 21:09:34 and there's all() and any() 21:09:35 and not() 21:09:36 ais523: Yeah, presentation for a human and serializing to a string are two distinct problems. 21:09:39 haskell has made me intrinsically suspicious of seeing compiler directives ahead of functions 21:09:56 pikhq: OSes don't handle OOM conditions in the way that programmers would like them to, unless memory limits have been set explicitly 21:09:57 there are also other #[...] attributes besides cfg, which are like traditional compiler pragmas, but lexically scoped 21:10:03 although in rust they seem to be generally comprehensible to the human mind 21:10:04 lexical scoping for warnings is nice 21:10:11 ais523: s/OSes don't/Linux doesn't/ 21:10:15 there's allow, warn, deny, and forbid 21:10:22 forbid is like deny except you can't allow inside forbid 21:10:34 the problem is that a no-physical-memory-allocation-failure OOM doesn't necessarily hit the program that caused the problem 21:10:35 Phantom_Hoover: it's pretty necessary in a systems language 21:10:39 ais523: oh yeah. I got some surprise when vbscript printed booleans as "IGAZ" and "HAMIS" by default. C++ has the sane default, printing them as "0" and "1". in vbscript you have to -0 for that 21:10:46 pikhq: it’s relic from when you could safely assume that anyone who would care about the output from a computer lived in the same city as said computer 21:10:53 pikhq: Windows doesn't either, Windows' OOM behaviour is to swap everything possible out of memory, and increase the size of the swap file if it doesn't fit 21:10:54 kmc, i know its necessary for sufficiently low-level stuff 21:10:58 many of them control linkage, etc 21:11:02 ais523: Eh, fair. 21:11:03 “system locale”, “system time zone”, etc 21:11:09 at least it looks nicer than __attribute__((bleh)) 21:11:18 What's the difference between lexical and dynamic scoping for warnings? 21:11:21 ais523: and then freeze in a way that only the power button helps 21:11:26 presumably at some point the hard disk ends up full, but you'll never reach that point; the system runs so slowly that the user will be force-quitting things and/or force-powering-off the system 21:11:29 im just used to seeing any serious haskell include pragmas for like half a dozen arcane ghc extensions 21:11:32 I hope one day I get to the point where I can use Rust without feeling icky 21:11:34 ais523: And yes, how OSes signal memory pressure needs some work. But at the same time, if(!malloc()) abort(); is just shit. 21:11:37 you can force-quit things? 21:11:46 I never managed to when it ran out of memory 21:11:51 b_jonas: via Ctrl-Alt-Del, although under heavy swapping it's very slow 21:11:52 shachaf: well, I mean as opposed to linear file scope, like preprocessor 21:12:05 Linux has the amazing Alt-Sysrq-F, although it's disabled by default 21:12:16 it's defined as "guess which process I want to kill, and kill it" 21:12:17 Especially if you still care about 32-bit platforms, where you can hit that on running out of virtual memory for the process without too much difficulty. 21:12:27 pikhq: OOM is really hard problem 21:12:35 under heavy swapping it's often the only plausible way to kill the offending program without causing a lot of collateral damage 21:12:45 ais523: there's no need to guess, it's always firefox-esr 21:13:12 b_jonas: both Firefox and Chrome have a multiprocess architecture nowadays, so often alt-sysrq-f kills a few browser tabs rather than the browser as a whole 21:13:13 kmc: It's a really hard problem to solve ideally, but not even trying is irritating. 21:13:34 Especially in a language that's selling itself on solving hard problems around memory and error handling. 21:13:38 abort() is TG 21:13:45 I believe that the correct solution to physical memory shortage is to automatically set memory limits for programs 21:13:51 according to some heuristic 21:13:52 ais523: but why would I want to kill just a few browser tabs? firefox is good enough at remembering session history, saving it quite frequently just until it starts to lag 21:13:58 and report memory shortage to the program when it hits its limit 21:14:05 I liked the argument this person was making the other day that what you really want is a variant of abort that doesn't terminate the entire process. 21:14:06 b_jonas: because they're typically the offending ones 21:14:16 But is local to some library or something. 21:14:24 mind you, they do change the binary name every few years, it used to be firefox-bin at some point and iceweasel at some other point 21:14:35 shachaf: that's pretty much what an exception is 21:14:37 Which is much more coarse-grained than RAII or whatever. 21:14:57 Exceptions are way more complicated. 21:15:13 well, yes, but does the complexity hurt in this case? 21:15:18 kmc: All that said, I can't fault it too hard when very few languages do anything other than what Rust is doing here... 21:15:18 good news! I might be switching from an insulin pump powered by a Renesas H8 and Microchip PIC16 to one powered by an STM32 21:15:24 ais523: not clear. on my system the offending ones are the ones that play video, the video playback runs at a too high priority so firefox can't react to the GUI events like trying to close a tab 21:15:35 For stuff that's vaguely mainstream, we've got alternative approaches offered by: C, and C++. 21:15:38 oh I can "killall 'Web Content'", fun 21:15:38 so it can crawl even without running out of memory 21:15:40 Complexity always hurts. 21:15:45 And I don't think I need to elaborate on the problems there. 21:15:51 j4cbo: What happened to the one powered by \rainbow{JavaScript}? 21:16:09 mind you, the fix for that is probably to buy a stronger desktop computer hardware for myself 21:16:10 I feel like you were saying something about that once. 21:16:13 but still 21:16:20 yeah that’s 21:16:21 pikhq: so C's approach is for malloc to return NULL, which normally either ends up calling abort() via a wrapper function, or causing SIGSEGV when the returned pointer is used without checking 21:16:25 still a thing 21:16:35 ais523: The language itself permits you to handle it more cleanly. 21:16:35 the closed loop I’m using now is mostly Swift though 21:16:37 and C++'s approach is to throw std::bad_alloc, which rarely gets caught except by the outermost exception handler, so the program exits 21:16:43 Even if nobody... does. 21:16:51 even though the languages have different approaches, the actual practical behaviour is very similar 21:17:09 Banning exceptions is probably a pretty reasonable thing to do. 21:17:17 And perhaps the worst thing is, in C a lot of libraries have that behavior as well, so you're kinda fucked. 21:17:27 If you do use exceptions you have to manage all your resources with RAII-style things. 21:17:35 Good luck handling OOM robustly when your GUI toolkit doesn't. 21:17:38 if you have a long-running program, it is often the right idea to make it so it saves its state to the file system occasionally, because it could crash in ways other than out of memory, such as power lost or hardware dying 21:17:43 (fuck you GTK) 21:18:02 I tried writing some GTK code a few days ago. 21:18:08 It was so demoralizing that I gave up on programming. 21:18:31 shachaf: hmm. doesn't your job involve programming? 21:18:32 IMO the correct solution is to a) ban unchecked exceptions, b) stop using exceptions in situations where it's possible that they could never come up 21:18:32 Did you know they style widgets with CSS now? 21:18:35 (Qt even lets you do this better: on std::bad_alloc, you can't go back into Qt, it'll be in an invalid state, but it doesn't crash. You can catch the exception in main() and at least save some state before dying.) 21:18:36 b_jonas: what job hth 21:19:01 I've no idea 21:19:10 I don't know what everyone else in this channel does in real life 21:19:12 shachaf: I believe that there are no good GUI libraries 21:19:15 (what real life?) 21:19:26 ais523: Hmm, why? 21:19:39 I mean, all the standard ones are certainly quite bad. 21:19:44 most of them suck in terms of API or in terms of what they don't let you do 21:20:03 ais523: agreed, all of them suck 21:20:03 a few of them don't (e.g. Java Swing's API is actually pretty good), but those tend to be terrible in other respects (there's a reason hardly anyone uses Swing nowadays) 21:20:04 Is https://github.com/ocornut/imgui good? 21:20:09 shachaf: do you still work for the place I interviewed that time? 21:20:19 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 21:20:39 No, I quit a while ago. 21:20:55 shachaf: outputting the GUI as an image immediately makes it incompatible with other programs on the same OS 21:20:56 And have been uncertain what to do with my life etc. 21:21:08 ais523: How do you mean? 21:21:31 shachaf: imagine things like accessibility programs that need to do tree-walking of the GUI structure 21:21:37 I hear leaving the Bay Area and going out to live in a commune is popular these days. 21:21:48 Accessibility is a good point that I'm not quite sure about. 21:22:02 But I don't think that style of UI necessarily requires that you output the GUI as just an image. 21:22:09 * j4cbo moved to Montana 21:22:10 You can include widget metadata and things. 21:22:23 shachaf: I don't believe it's theoretically impossible to create a good GUI library 21:22:28 it's just that I'd be surprised if one existed at the moment 21:22:31 * pikhq just moved back home to Colorado 21:23:31 ais523: OK, that's fair. 21:23:38 Do you know what a good one would look like? 21:24:08 i remain in scotland 21:24:13 implacable and resolute 21:24:30 -!- ais523 has quit (Remote host closed the connection). 21:24:43 -!- ais523 has joined. 21:24:49 not fully; I have some ideas but they probably aren't enough by themselves 21:24:57 pikhq: living in a commune in the bay area is also popular 21:25:16 despite what one might think I am not that excited (anymore) about the idea of living in a commune 21:25:23 Phantom_Hoover: At the rate things are going, you might end up changing citizenship without doing much of anything. 21:25:36 ais523: What are the ideas? 21:25:45 kmc: What about fully automated gay space communism? 21:26:15 wheres the luxury 21:26:18 a friend of mine started a vegan sex commune 21:26:24 it didn't work out, i'm not sure the details though 21:26:28 shame 21:26:30 shachaf: I think being responsive to changes in available space for a widget is important (e.g. window resizing, other widgets gaining more information, and the like), which in turn means that the GUI's API has to be descriptive rather than imperative 21:26:31 Phantom_Hoover: Forgot 21:26:36 was gonna ask for the juicier details of the fiasco 21:26:36 I thought Bay Area communes tended to be full of rationalists 21:26:38 I'm not surprised, but also good for her for trying something weird 21:26:42 j4cbo: some of them 21:27:01 Phantom_Hoover: I didn't get to go to any of their parties either 21:27:03 'Tis a silly place overall. 21:27:07 yes 21:27:15 I think the easiest/best way to implement that might require something akin to a physics engine, although I'm not 100% sure on that 21:27:26 the nice thing about not living in the bay area is that you can save a lot of mental effort by writing off everyone in the bay area as a pretentious wanker 21:27:31 yeah 21:27:32 incl. me 21:27:39 we're probably leaving soon too 21:27:51 well i like you, but one can pick and choose 21:27:52 Hey, I'm out of the Bay and I think I'm still a pretentious wanker sometimes. 21:28:04 I was part of a p nice rave cult in the bay area 21:28:08 I do miss that 21:28:11 ais523: that sounds p. complicated 21:28:13 j4cbo: that's cool 21:28:24 thanks PH <3 21:28:26 I like you too 21:28:39 shachaf: one thing I've learned about programming is that there's always a tradeoff between complexity of the language/interface/API, and complexity of the code implementing it 21:28:42 i'm definitely a pretentious wanker sometimes 21:28:56 shachaf: does styling widgets with CSS mean that you can stop firefox widgets to do all the annoying animations, even if it doesn't respect the Windows control panel's setting that does that for normal windows GUI applications? 21:28:56 Phantom_Hoover: you can do that even if you do live in the bay area, hth 21:29:45 I believe (although it is certainly reasonable to disagree with me on this!) that compromising as part of that tradeoff is never a good idea, and ideal languages/libraries/etc. should /always/ aim to place the complexity at one extreme or the other 21:29:58 I don't think "there's always a tradeoff" is exactly true. Sometimes the code is more complicated and the interface is also more complicated. 21:30:04 ais523: theoretically possible => sure, but is it theoretically possible to create one that doesn't have to be thrown away ten years later? 21:30:35 the expectations of what we want from GUIs seems to have changed too much, which is, I think, part of why all the GUI libraries suck 21:30:35 Yeah, sometimes the API design just sucks because it was done with no consideration of what it would mean to implement. 21:30:36 b_jonas: in theory, if you had a good enough GUI library, you could just stick with it and just change out the backend as technology improved 21:30:38 they've all been written in the past 21:30:55 There's also a third thing which is the complexity of the overall system, if your goal is to understand the overall system rather than treat libraries as black boxes. 21:31:01 I am not convinced that user interfaces are, on average, improving 21:31:08 No, they're obviously getting worse. 21:31:11 you can take a dialog box from Windows 95 and still be perfectly capable of using it nowadays, for example 21:31:19 so the problem is not the user interface part of the GUI 21:31:24 Everything in computers is getting worse. 21:31:43 Computers stopped getting much faster, but developers act like they are. 21:31:52 s/in computers// 21:32:00 Some things get better. 21:32:15 ah yes, performance is another big gripe of mine, especially in terms of rendering libraries 21:32:24 Well, really. High-end computers are still getting some advances. Not as much as they used to, but some. 21:32:28 take something like SDL for example; it's widely used, and yet some basic tasks require polling in a loop 21:32:39 Low-end ones that non-developers actually use, though? Naaah. 21:32:48 ais523: What do you mean? 21:33:15 shachaf: well, for one thing, if you look at an SDL program in strace, you'll see repeated 1-millisecond sleeps; I think those are coming from SDL itself 21:33:22 but what I was mostly thinking of is things like thread safety 21:33:48 for example, there is no safe way to send information to the SDL main loop from a signal handler, using only primitives provided by SDL 21:34:07 which is annoying because there's an obvious way to do it via the SDL API, it just incurs undefined behaviour 21:34:26 Classy. 21:34:44 pikhq are you saying you don't have 32gb of ram to run electron applications? 21:34:46 ais523: I don't know. you'd have to be prescient. we can't get GUIs that scale well for any screen resolution including very high ones, and any font size, and more than 8 bit color depth, partly because we didn't anticipate that we'll need it, but partly because it's just hard to let the programs easily define how the gui elements should scale depending on what fits in the window 21:34:52 ive never heard something so absurd in my life 21:35:19 b_jonas: Swing's API, if correctly used, has been able to do that ever since it was created 21:35:26 By looking at source code for SDL, it look to me it can work to post events from another thread (I don't know about signals) 21:35:29 ais523: "the SDL main loop"? You mean if your program is blocking on SDL_PollEvent? 21:35:30 the API is agnostic to things like font size 21:35:35 shachaf: right 21:35:47 Phantom_Hoover: My daily driver has 4 gigs of RAM. 21:35:51 ais523: hmm. I don't know much about Swing api, apart from some horribly bad GUI applications written in it 21:35:59 they don't seem to be navigable with keyboard at all 21:36:13 zzo38: the problem is that the even posting API in SDL calls malloc, which is not async-signal-safe and deadlocks if called re-entrantly 21:36:31 but presumably that's not the fault of the library 21:36:53 b_jonas: Swing dialog boxes are navigable with tab by default; things get more complex when you're talking about an entire application rather than a single dialog box, though 21:37:06 it's easy to make those keyboard-navigable but you have to do so explicitly because there's more than one plausible way to do it 21:38:06 I see 21:38:26 ais523: O, OK. Then perhaps use another thread that waits for a signal and then uses it outside of the signal handler, will that work? 21:39:09 zzo38: adding extra threads seems to be the standard solution to all this sort of thing; I think it could work via event posting, assuming that it is at least thread-safe 21:39:52 IIRC, it wasn't in SDL2 but is in SDL3. 21:39:59 there's an SDL3? 21:40:01 I think typically your program has a way to send messages to other threads that don't use the SDL mechanism? 21:40:07 No, I'm drunk 21:40:14 s/2/1/ s/3/2/ 21:40:25 Posting events does seem to be thread-safe as far as I can tell (in SDL1, at least), but other functions (including events) might not be 21:40:50 I'm not sure about the 1ms sleeps, what triggers them? 21:40:57 (although maybe not in the earliest version of SDL1; I looked at the code for the version I have) 21:41:06 shachaf: so the problem is, you'd want a library like SDL to handle abstraction over OSes for you, and it does in fact have a set of threading primitives for that purpose; however, none of them allow one thread to block on a message sent by another thread (it has no semaphores nor any way to create them) 21:41:47 the only synchronization primitive it had, last time I checked, was mutexes (possible exception: I checked several rendering libraries for this and it's possible that I'm confusing SDL with somethinh else here) 21:41:53 -!- arseniiv has quit (Ping timeout: 255 seconds). 21:42:06 Libraries that handle abstraction over OSes are often problematic. 21:42:43 They have a tendency to be busted. 21:42:47 logically, they shouldn't be; the set of common functionality between OSes tends to be very large 21:42:53 I agree that they often fail in practice, though 21:43:27 I thin it's more like that the abstraction libraries are lagging behind the OSes 21:43:46 because each functionality first appears in one OS, and then an abstraction library pops up that does some crazy workaround on another OS to emulate it 21:44:02 and then nobody fixes the abstractino library later when that other OS gains a native way to do the same thing 21:44:10 possibly because of compatibility issue 21:44:43 well, you could fix that by, say, only abstracting over features which were commonly available in OSes in 2010 21:44:52 it's not like most programs will need most features introduced since then 21:45:11 sure, that sort of thing exists 21:45:19 the python and rust standard libraries try to do that 21:45:25 heck, even the C standard library started like that 21:45:31 well, sort of 21:45:58 Nah, the C standard library was more a formal definition of the random pieces of Unix that other C implementations happened to implement. 21:46:14 yeah 21:46:42 Some of the abstraction libraries try to be overly generic, and some of them are just very poorly designed. 21:46:52 Are any of them well-designed? 21:46:55 and also happened to include a relatively sane (though not entirely complete) date function API, but somehow everyone hates that and tries to invent worse datetime libraries 21:47:00 shachaf: Not really. 21:47:43 I was writing some Xlib code the other day. 21:47:52 Kind of scow but not as bad as I thought. 21:48:18 Quite a few of them only even abstract over the portions of OS differences that are relatively easy to handle. 21:49:11 (yeaaaah, as far as things like FS APIs go there's only two choices: "basically or literally Unix" and "Windows") 21:49:27 but, for example, the threading libraries don't seem to have abstractions yet for setting CPU affinity of threads, despite that all OSes have that, because of what ais523 says: you don't need that until you want to optimize your program on a NUMA machine, and home computers don't have a NUMA cpu yet 21:49:28 i'm still messing about with this stats problem 21:49:49 but this will change just like how back fifteen years ago home computers didn't have SMP cpus 21:49:53 `unicode 😕 21:49:54 U+1F615 CONFUSED FACE \ UTF-8: f0 9f 98 95 UTF-16BE: d83dde15 Decimal: 😕 \ 😕 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) 21:51:44 b_jonas: most programs won't /know/ what the best CPU affinity is anyway, so why not let the OS decide? that's its job 21:51:56 (note: although I don't know for certain, I have some suspicion that Windows is bad at this job) 21:51:58 ais523: sure, so the programs aren't required to call that function 21:52:00 there is a default 21:52:06 Other possibilities that sometimes you can use VM rather than native code, although that depends on the program. 21:52:21 the default is to inherit the cpu affinity of the calling process through forks and thread creation 21:52:29 sometimes I see a Windows program using 25% of four CPUs, manually pegging it to a single CPU tends to help in that case 21:52:37 *25% each 21:52:58 ais523: is that on non-NUMA machines? 21:53:02 b_jonas: yes 21:54:15 I guess that's a double negative, they should just be called UMA machines 21:55:10 hehe 21:57:51 Xlib is not that bad, and I have written some X programs using Xlib, including to display a picture, to make a screenshot, and to warp the mouse cursor (this last one was written for someone who needed to work around a bug in Chromium; I wrote it to see if it would help, and he said it does help) 21:58:34 home computers having powerful GPUs is also a similar change I guess 21:58:48 and phones even 21:59:44 yeah... but I don't care about those 22:13:29 also, apparently they moved the Red Bull Air Race from Budapest to the south coast of the Balaton. that might actually be a good idea from my point of view. 22:17:36 -!- ais523 has quit (Quit: quit). 22:31:12 -!- LKoen_ has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 23:25:13 -!- adu has quit (Quit: adu). 23:31:38 -!- S_Gautam has joined. 23:54:17 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60226&oldid=60225 * Cortex * (+445) 23:55:32 -!- AnotherTest has quit (Ping timeout: 255 seconds). 23:56:48 -!- oerjan has joined. 2019-03-04: 00:12:47 [[User:Cortex]] https://esolangs.org/w/index.php?diff=60227&oldid=60224 * Cortex * (+360) 00:19:01 [[Befunge]] M https://esolangs.org/w/index.php?diff=60228&oldid=60220 * Oerjan * (-1) /* Language overview */ sp 00:19:48 mediawiki's default diff is so annoying for checking anything other than small localized changes (and even then beware of newlines) 00:20:20 although i guess i trust b_jonas not be doing vandalism when moving sections :) 00:20:49 ...i cannot see whether he edited anything at the same time, though. 00:21:47 * oerjan always uses WikEdDiff [sp?] on wikipedia, unless the changes are so big it starts gobbling cpu 00:22:30 -!- Lord_of_Life_ has joined. 00:23:27 -!- Lord_of_Life has quit (Ping timeout: 240 seconds). 00:24:56 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:25:56 [[Works in progress]] https://esolangs.org/w/index.php?diff=60229&oldid=60221 * Oerjan * (+95) Make a policy for putting the foot down so I can start deleting things that don't belong 00:28:31 hm that doesn't quite work. 00:30:33 oerjan: you shouldn't trust me. and I did edit something: I turned the Etymology thing to a deeper level header 00:30:37 `? itymology 00:30:38 Itymology is the science of understanding the true meaning of a statement. 00:31:05 [[Works in progress]] https://esolangs.org/w/index.php?diff=60230&oldid=60229 * Oerjan * (-95) Undo revision 60229 by [[Special:Contributions/Oerjan|Oerjan]] ([[User talk:Oerjan|talk]]) (OK this doesn't work, the already existing entries have too much ambiguity) 00:31:37 b_jonas: i think i noticed that. i meant editing things inside what you moved. 00:31:40 I mean, I probably don't vandalize it, but I might still make bad changes 00:32:13 true, you made a spelling error :P 00:32:33 several, on IRC today 00:34:35 that Works in progress page should probably have been a category from the start. 00:36:22 it seems like some entries are just collaborations between a couple people 00:36:39 which doesn't imply everyone else is invite to change the specs 00:36:46 oerjan: yes, but you all have been scaring people from creating categories. 00:37:02 that occured to me too 00:39:50 -!- adu has joined. 00:42:27 itymology is such a good word 00:42:39 well, a wiki may be a good tool to collaborate on creating a specification 00:42:49 adding a blurb for befunge when nominating it was a good idea, although i'm not sure if we should require it from nominators 00:43:03 (it'll probably speed up things) 00:43:18 well, the hard part is probably still getting the article to a betters tate 00:43:37 but we have to start writing the blurb tool, so I thought I'd start 00:44:18 the instructions on the nomination page seem a bit obsolete, and not reflecting the current reality of how the featured language box works now 00:45:39 well the current reality is that it didn't work for 5 years 00:45:48 exactly 00:51:02 -!- Phantom_Hoover has quit (Remote host closed the connection). 01:02:13 [[Special:Log/newusers]] create * Windows * New user account 01:20:43 -!- xkapastel has quit (Quit: Connection closed for inactivity). 01:25:47 good username 01:30:35 -!- ais523 has joined. 01:36:17 ais523: i think we need some kind of policy that admin involvement in a featured language doesn't count if all active admins agree to it. otherwise we'll never get Underload featured :P 01:36:48 persuade fizzie to do it :-P 01:36:58 i nominate underload, hth 01:37:04 he implemented it in fungot :P 01:37:04 oerjan: but fnord is written in 01:37:25 well, everyone has implemented bf 01:37:29 and it was still featured 01:37:33 Yeah, I don't think that counts as "involvement". 01:37:38 fungot: Are you feeling involved? 01:37:38 fizzie: ( iirc) is a good 01:37:49 imo fungot for wiki admin 01:37:49 shachaf: the l is somewhat like on the piano :) i spend most of your life 01:38:12 fungot: I've never seen an l key on the piano. 01:38:12 shachaf: i can see 01:39:33 -!- ais523 has quit (Remote host closed the connection). 01:39:45 -!- ais523 has joined. 01:39:50 this is not for nomination, non-admins can nominate. but ais523 seemed loathe to _select_ his own languages even when others nominated them. 01:40:47 (also nominations must be on the wiki hth) 01:40:58 tdnh 01:41:16 oerjan: there has to be somewhere where we can draft the front page text _before_ nominating a language to the feature box 01:41:25 fwiw, I wouldn't object to admins featuring pre-reset nominations, the reset was just because 7 years is an awfully long time to be locked out of making a second nomination 01:41:38 b_jonas: it used to be that people just nominated the language and the featuring admin wrote the front page text 01:41:42 which is part of the reason that it hardly ever got done 01:42:18 oh, that reminds me. I wanted to ask something about intercal 01:42:24 hm i've thought about this before 01:42:54 There's a limited number of nominations? 01:43:09 shachaf: only one per person until it resets 01:43:22 although i'm pretty sure A had sneaked in under two accounts :P 01:43:32 we should probably let peopel change their nomination as often as they were 01:43:34 Can you swap your nomination for a different one? 01:43:48 oerjan: I deleted the second nomination, after checkusering to verify that it was two accounts of the same user 01:44:11 (that's one of the few things you can legally checkuser for on Wikipedia: pretending to be two people on a poll or vote) 01:44:43 *as often as they like 01:44:46 But this isn't Wikipedia. 01:44:49 shachaf: no, but I disagree with that rule 01:45:04 ais523: Iamcalledbob was also him, i suspect 01:45:18 shachaf: yes, but there's a very long-standing (as in, from the moment the wiki was created) rule of "if we don't come up with a rule ourselves, we use Wikipedia's by default until a new agreement is established" 01:45:45 ais523: you know how there's this redundant representation, where you represent an n-bit integer as a difference of two n-bit integers, with the advantage that you can do addition or subtraction on such a representation in such a way that carry has to be propagated only two levels, or only one level for adding a constant 01:45:51 I nominate ais523 for unilateral dictator of the wiki. 01:46:04 ais523: and it can also be done in a not too complicated way using ordinary bitwise operations and shifts 01:46:32 ais523: what I'd like to ask is, has that ever been used to represent 16-bit integer computations efficiently in Intercal? 01:46:45 b_jonas: I don't believe so 01:46:58 interesting 01:46:58 it should be possible to implement, I just don't think it's been done 01:47:16 the vast majority of INTERCAL programs aim for space-efficiency rather than time-efficiency 01:47:39 I don't think it's too inefficient though 01:47:45 compared to other things you can do in intercal that is 01:47:53 indeed 01:48:01 I have not heard of such a representation before now, I think 01:48:04 aiming for space-efficiency is a habit from 1972, I think, when computers had less memory 01:48:19 ais523: Isn't it more important nowadays than before? 01:48:35 Now that memory bandwidth is the bottleneck for most computation. 01:48:48 what, space-efficiency? it is in the sense that cache misses tend to bottleneck things more than CPU execution units, yes 01:49:08 but in that case you also have to take the space iin the instruction cache into account 01:49:19 Of course. 01:49:23 so there's a three-way tradeoff between memory usage, instruction length and instruction speed 01:49:56 I think pipeline flushes have a cost that's comparable to that of an L1 cache miss, so you can't neglect instruction speed entirely 01:51:27 shachaf: no, but I disagree with that rule <-- i suggest allowing changes after a suitable time period (a year maybe?), seems better than a complete reset 01:51:50 is there any reason not to allow changes to be made arbitrary often? 01:52:12 but yes, we could undo the reset if we're allowing people to change anyway 01:52:16 What's the difference between allowing changing your nomination and allowing any number of nominations? 01:53:28 admins have a much shorter list to look through when they have to decided on a language 01:54:19 Can I nominate multiple languages with different weights? 01:54:30 So you can sample my nomination when you want to look through the list. 01:54:56 really our whole featured languages process is fairly badly thought out :-D 01:57:26 zzo38: http://mmix.cs.hm.edu/doc/mmix-doc.pdf paragraph 40, on page 32 01:58:15 ais523: the way I phrased is, the instructions on https://esolangs.org/wiki/Esolang:Featured_languages/Candidates are badly thought out. I'm not srue that's the actual process you follow though. 01:59:55 that's the process we follow, maybe it shouldn't be though 02:02:17 what about this process: 02:02:31 ais523 decides whatever he wants 02:02:50 shachaf: I'd recommend that *fizzie* decides whatever he wants 02:03:07 if it's ais523, then we'll never be able to feature his languages 02:03:18 although if fizzie decides them, then we won't be able to feature befunge 02:03:19 hmm 02:03:41 I'd like a process along the lines of "we try to decide on a schedule for language featuring in advance" 02:04:04 e.g. someone suggested featuring BF Joust, and I realised October would be a good month for it; likewise, there was some suggestion of featuring a joke language for April 02:04:28 why October in particular? 02:04:59 it's the largest uptick for online gaming communities 02:05:11 if you're running one of those, you normally get a spike in new members in October 02:05:20 this is probably related to the fact that the academic year starts in September 02:05:20 huh... I didn't know that. I thought that was the Christmas break 02:06:05 Christmas break is often pretty much dead, to the extent that Agora and BlogNomic have both, at some point in the past, had rules that shut them down entirely over Christmas 02:06:37 agora still has a rule that nullifies deadline penalties then 02:07:01 I see 02:10:06 Is the cures of the featured language that people make erivatives of it? <-- did anyone make a funciton derivative recently? :P 02:14:17 b_jonas: O, yes, there is the carry save addition 02:16:40 oerjan: one language I'm working on has a few similarities to Funciton, but it's not really a derivative 02:17:32 it also generalizes to when you already have, say, 32-bit addition primitives, but want to do carries from one word to another only up to one step, I think you can do that with the words storing like one or two extra bits 02:20:23 i recall thinking of something like this when verifying that adding an arbitrary list of numbers (or counting the number of set bits in input) can be done with a circuit of logarithmic depth 02:20:31 as for funciton, what I've been thinking of independently of that language is a notation where (local) variables are represented by columns in the code, a function call (or call to a primitive) is written with a comma in the right column to put an output in a variable and 02:21:16 an apostrophe for an input argument or backtick for an earlier input argument (so you can easily swap arguments), or a semicolon or comma for both input and output, 02:21:41 b_jonas: mechanical analog computers are normally programmed vaguely like that, the computer itself has a matrix of axles, columns represent variables, rows represent execution units, and you connect them at the intersections to write the program 02:21:47 and you can have multiple calls in the same line as long as they're more or less separated horizontally. 02:22:00 this way the code sort of represents a circuit, with information flowing from top to bottom. 02:23:32 and you can also put functions next to each other, where to define a function, you use a header pseudo-instruction that defines the name and parameters and an extra formal marker, plus a function end line that takes the output values (returns) and the formal marker in the same column to know which function header it matches 02:23:40 (the set bit counting part being a way to prove the complexity class inclusion TC_0 \subset NC_1) 02:23:50 ais523: yeah, though this would be a bit higher level 02:24:50 also, if you use short names for the most frequent functions, then the output variable could default to the first column of the function name. 02:25:08 I know this is really vague, it doesn't come to a full specification, not even close, and I haven't figured out any of the details. 02:26:44 but yes, if you only use higher level stuff, then this lends naturally to programming with either a punch card, or those things used for player pianos with little pins in places on a grid 02:26:58 to lift levers that connect parts of the mechanism 02:27:29 but I think more of the higher level version 02:28:45 perhaps I should make at least a simple prototype language, to serve as an example for something that has explicit variables (not just, say, a data stack or the unlambda/underload no-variable thing), but no variable names 02:29:52 it's a pity the clc intercal webpage is still down by the way 02:34:56 ok, I refuckulated my radio statistics code so it's less heinous 02:35:10 RAAAAADIO 02:35:16 📻 02:35:16 shachaf: imo you should get a ham license 02:35:24 then we can chat using our radios 02:35:47 I'm pretty sure there are VHF/UHF repeaters that cover Berkeley and the Sunset 02:35:51 but we can already chat 02:36:06 But IRC isn't the maximally nerd way to do so. 02:36:14 it's true 02:36:17 hams are the O.G. nerds 02:36:26 I really wanted to get a http://ronja.twibright.com/ back when I and a friend lived at the university campus with line-of-sight between the apartments. 02:36:29 ham radio is at the same time profoundly un-cool and extremely punk rock 02:36:32 kmc: imo let's play internet relay cat 02:36:34 I love it 02:36:34 Unfortunately that didn't last long enough. 02:36:36 where you get a cat 02:36:47 and then send me pictures of the cat through the internet 02:36:51 and then i visit you + the cat 02:36:56 fizzie: is that one of those line-of-sight laser network links? 02:37:18 kmc: IIRC, it's not actually laser, but the same sort of thing. 02:37:21 yeah, neat. 02:37:22 mhm 02:37:37 cool stuff 02:37:51 Do you have the ability to post ARRL radiogram messages? 02:38:10 The Tetrapolis model has a visible wavelength, so I think in theory on foggy nights you should've been able to see the beam. (Well, and/or it would've stopped working.) 02:38:30 zzo38: I don't really know anything about that, but probably? I have a General class license so I can do most things on most parts of the bands 02:38:42 do you know morse code 02:39:20 fizzie: our friendly local WISP uses laser links, in addition to milimeter wave and traditional microwave links 02:39:28 shachaf: no, but i'm learning a bit 02:39:43 shachaf: I'm using the method where you learn at full speed, adding one character at a time 02:39:51 rather than learning the whole alphabet slowly and trying to speed up 02:40:01 beep boop 02:40:08 the former method (Koch method) is said to be better 02:40:39 smiling cat face with cat face shaped eyes 02:41:01 because at any decent speed, you don't have time to decompose into individual dots and dashes 02:41:24 you have to recognize each letter (and eventually words and codes) as a single thing 02:41:28 if there's line of sight, can one of you wave semaphore flags and the other watch with a telescope? 02:41:38 like reading by sounding out words, vs reading fluently 02:41:47 b_jonas: yes, and it would be amusing to do TCP/IP over such a transport 02:41:49 zounds 02:41:59 kmc: do deaf people read faster than hearing people 02:42:13 if you're not married to the idea of traditional semaphores, you could use 8 flags to represent one octet at a time 02:42:20 shachaf: idk 02:42:41 kmc: there's some esoteric representation with showing one hexit at a time with two flags 02:43:04 kmc: and I think there's been a traditional semaphore that showed six trits, but I think the trit thing is a bad idea 02:43:55 back to the statistics project: my current approach is as follows 02:44:34 1) calculate the average power across the whole frequency range at each timestep, and subtract it from each individual measurement. this subtracts out the slow variation in broad-spectrum noise 02:44:40 kmc: what exposure time and frame rate do you use when measuring the signal strength? 02:45:15 2) calculate the average power (after the adjustment in (1)) on each frequency 02:45:32 3) calculate the % of time spent more than 1.5 dBm above the average 02:45:38 this is a crude way to look for a bimodal distribution 02:45:54 b_jonas: I already answered that, but it averages over 4 seconds 02:46:10 oh, I must have missed it in the logs 02:46:46 and during that time it quickly scans over the whole range 02:47:26 so 4 seconds is the recip framerate, right? 02:47:30 but what's the exposure time? 02:47:37 I don't know what you mean 02:47:42 it averages power over 4 seconds 02:47:45 is that not an exposure? 02:47:49 that's the exposure then 02:47:59 and the time between exposures starting is 4 seconds 02:48:03 I thought "scans over the whole range" meant it doesn't scan all ranges at the same time 02:48:04 so the frame rate is 0.25 Hz 02:48:16 sorry 02:48:28 I don't know how quickly it hops frequencies, if that's what you're asking 02:48:38 it digitizes 2.048 MHz of spectrum at once, and the band is 4 MHz (144 - 148 MHz) wide, and there is some overscan for Reasons 02:48:45 so it does it in 3 chunks 02:48:57 the tool is rtl_power if you want to look into it more 02:49:12 ok 02:49:57 anyway I think the above analysis may be about as good as I can do in a time invariant way (i.e. same result if you permute the frames arbitrarily) 02:50:03 but that is a silly restriction so I think I can do much better 02:50:13 so did your computation seem to work? have you found stations that you could listen to and figure out something about? 02:50:30 it finds stations that are already clear in the waterfall graph 02:50:43 that's still useful, since it's automated 02:50:46 yeah 02:50:48 that is the challenge 02:51:01 to automate it, and gather statistics over many days or weeks 02:51:14 for example if a certain frequency is active at the same time on the same day of the week, every week, it's probably a scheduled "net" 02:51:18 which I may not already know about 02:51:27 I can already scan the whole spectrum with one of my other radios, but it doesn't log anything 02:51:52 a typical FM scanner has a much better way of identifying frequencies in use 02:51:59 noise squelch 02:52:25 rather than just looking at the RF power, it demodulates the signal into audio and then looks at the high frequency (super-audible) components 02:52:46 if those components have a lot of energy, it indicates that you're picking up static 02:53:11 in terms of the original signal, it is looking for a strong carrier whose frequency is not varying too quickly 02:53:23 I see 02:53:30 but wouldn't that be slower in scanning the spectrum? 02:53:45 could it miss broadcasts that are active only for shorter times, to transmit short messages? 02:54:28 I gtg soon, but good luck, find useful channels 02:54:35 presumably at some point the hard disk ends up full [...] <-- as i recall from last time i ran a memory-slurping haskell program without thinking, my windows has some swap size limit 02:54:45 b_jonas: yes, it's slower 02:55:09 although, you could maybe do it quickly with an SDR 02:55:16 if you can do a lot of FM demodulation in parallel 02:55:25 anyway that's much more towards the hard signal processing side of things 02:55:31 and right now I'm looking for a rough statistical approach 02:56:02 yeah, GPS magic and sparse fourier transformas 02:56:12 crazy stuff 02:58:40 and electronics magic, like you explained 02:59:04 yay 02:59:56 -!- b_jonas has quit (Quit: leaving). 03:05:52 I do know how to format a ARRL radiogram message. 03:12:04 zzo38: cool 03:12:08 are you / have you been a licensed ham? 03:13:38 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60231&oldid=60226 * Cortex * (+1561) 03:16:29 `? phantom_hoover 03:16:30 Phantom Michael Hoover is a true Scotsman, hatheist, and completely out of the loop. 03:17:02 No, but I do know how to format the message. A few fields must be filled in by the radio operator, although I can fill in everything else, if someone else can send it. (I have no need to write a ARRL radiogram message now, but I can write one if needed) 03:20:20 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60232&oldid=60231 * Cortex * (+104) 03:21:30 [[Language list]] https://esolangs.org/w/index.php?diff=60233&oldid=60160 * Cortex * (+14) 03:34:41 -!- bobby has quit (Ping timeout: 255 seconds). 03:38:40 -!- bobby has joined. 03:51:52 -!- FreeFull has quit. 03:55:12 -!- bobby has quit (Remote host closed the connection). 04:00:05 -!- bobby has joined. 04:00:42 -!- danieljabailey has joined. 04:01:18 -!- imode has quit (Quit: WeeChat 2.4). 04:01:38 -!- imode has joined. 04:02:20 zzo38: I haven't learned morse code yet, but I'm working on it 04:02:23 it seems like a good thing to know 04:02:41 you can communicate with very weak radio signals, and it's also applicable to many things besides radio 04:17:00 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 04:47:09 A chess variant called "Hexabeast" has English rules, Chinese pieces, and Latin notation. (The reason for the Latin notation is that the name of each piece starts with a different letter if they are written in Latin, but this is not the case in English, and of course the Chinese names are not ASCII.) 04:52:59 -!- salpynx has joined. 04:55:51 I missed the Works in Progress discussion earlier, but there is already a https://esolangs.org/wiki/Category:Works-in-Progress category that I thought (perhaps mistakenly) was official. 04:56:40 I was going to add a 'see also' on the other page, but maybe that won't help clear the confusion 04:58:09 I don't know if it is official 05:00:05 I don't think it's official 05:00:16 OK 05:02:09 Now I look at the other langs on that list it does not look official, a couple of users had added multiple languages to it and it has swept in a few others along the way 05:07:12 It's used in a template here: https://esolangs.org/wiki/Template:WIP just figured out why I used it on one of my languages 05:14:33 -!- xkapastel has joined. 05:41:17 -!- danieljabailey has quit (Ping timeout: 245 seconds). 06:08:09 -!- atehwa has joined. 06:16:37 https://www.youtube.com/watch?v=tA3_YKCW2LU 07:12:08 the situation in girl genius seems to be turning tense 07:12:22 but at least the guy uses pronouns properly 07:15:31 `5 w 07:15:34 1/2:boorjan//boorjan is oerjan's uneducated twin. \ adjective//Adjectives are words frequently found attached to chickens. \ cgi//CGI stands for uh... C, goblin, interface? \ remavas//Remavas is a revolution in human biology. He's cofriends with oerjan. He's apparently from Frankfurt, Germany, but he's actually from Mars. His typing skills are so incredibly bad, some say he writes in a different orthography designed for a different language. \ res 07:15:37 `n 07:15:38 2/2:taurant//A restaurant is a type of transactional resource-distributing system powered by lazy evaluation. 07:15:43 `cwlprits boorjan 07:15:45 shachäf 07:15:52 would you look at that. how unexpected. 07:16:48 `? funpuns 07:16:49 funpuns fceƀ fbz fryyrev naq pbfcynlf Arcrgn Yrvwba ba jrrxraqf. Ur ungrf oryy crccref jvgu n cnffvba. Gur havg bs sha chaarel vf anzrq nsgre uvz. 07:17:09 `` \? funpuns | rot3 07:17:10 ​/hackenv/bin/`: line 5: rot3: command not found 07:17:11 `` \? funpuns | rot13 07:17:12 shachaf sprø som selleri and cosplays Nepeta Leijon on weekends. He hates bell peppers with a passion. The unit of fun punnery is named after him. 07:17:27 `? shachaf 07:17:28 Queen Shachaf of the Dawn sprø som selleri and cosplays Nepeta Leijon on weekends. He hates bell peppers with a passion. He doesn't know when to stop asking questions. 07:18:22 `? kmc 07:18:23 kmc did not run the International Devious Code Contest of 2013. 07:18:30 `? zzo38 07:18:31 zzo38 is not actually the next version of fungot, much as it may seem. 07:19:16 `` echo -n $(cat wisdom/shachaf) The unit of fun punnery is named after him. | rot13 > wisdom/funpuns 07:19:18 No output. 07:19:27 ... hmm should have used tee 07:19:31 `` cat wisdom/funpuns 07:19:32 Dhrra Funpuns bs gur Qnja fceƀ fbz fryyrev naq pbfcynlf Arcrgn Yrvwba ba jrrxraqf. Ur ungrf oryy crccref jvgu n cnffvba. Ur qbrfa'g xabj jura gb fgbc nfxvat dhrfgvbaf. Gur havg bs sha chaarel vf anzrq nsgre uvz. 07:24:46 Hmm, can you send two files to diff on stdin? 07:24:55 You can do it interactively, with diff - /dev/stdin and ^D 07:25:12 But can you do (foo; eof; bar) somehow? 07:26:18 `` cat wisdom/funpuns | rot13 | cmp wisdom/shachaf - 07:26:19 wisdom/shachaf - differ: byte 169, line 1 07:26:26 Hmm, no. But you can use <(...) to good effect. 07:27:35 Is it really a thing you can only do interactively? 07:27:46 No way to make a read of size 0 happen? 07:28:47 -!- S_Gautam has joined. 07:30:28 -!- imode has quit (Ping timeout: 268 seconds). 07:30:52 <(...) is too good 07:33:29 you are addicted to calling things too good 07:33:31 like me 07:36:16 tg is tg 07:36:40 `? tg 07:36:42 TG is short for Turing-Gödel, the highest possible level of difficulty for a multiplayer game. At this level, it's undecidable whether you can manage to halt before losing or not. 07:37:00 what about Superturing-Gödel 07:37:05 is superturing a superhero 07:37:20 wtf... 07:37:26 `` diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) 07:37:27 ​--- /dev/fd/632019-03-04 07:37:26.716895926 +0000 \ +++ /dev/fd/622019-03-04 07:37:26.636894902 +0000 \ @@ -29,0 +30,9 @@ \ +The \ +unit \ +of \ +fun \ +punnery \ +is \ +named \ +after \ +him. 07:37:29 `` diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) | cat 07:37:30 No output. 07:37:32 ?! 07:37:33 Maybe you meant: v @ ? . 07:38:42 Why does piping the result of diff to another command cause the output to become empty? 07:39:32 `which diff 07:39:32 ​/usr/bin/diff 07:40:44 `run diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) 07:40:45 ​--- /dev/fd/632019-03-04 07:40:45.256264591 +0000 \ +++ /dev/fd/622019-03-04 07:40:45.266264719 +0000 \ @@ -29,0 +30,9 @@ \ +The \ +unit \ +of \ +fun \ +punnery \ +is \ +named \ +after \ +him. 07:40:50 `run diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) | cat 07:40:51 No output. 07:45:13 `` diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) | cat -v 07:45:14 ​--- /dev/fd/632019-03-04 07:45:14.229664713 +0000 \ +++ /dev/fd/622019-03-04 07:45:14.229664713 +0000 \ @@ -29,0 +30,9 @@ \ +The \ +unit \ +of \ +fun \ +punnery \ +is \ +named \ +after \ +him. 07:45:53 `which cat 07:45:54 ​/bin/cat 07:46:27 oerjan: Why did that work? 07:46:32 `` diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) | cat -v 07:46:33 No output. 07:46:58 `` diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) | cat; echo $? 07:46:59 No output. 07:47:08 `` diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) | cat -A 07:47:09 No output. 07:47:22 `` diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) | cat; echo hi >&2 07:47:23 No output. 07:47:34 tdnh 07:47:58 `` diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) | hexdump 07:47:59 No output. 07:48:39 nothing you do will do anything hth 07:48:47 it's nondeterministic too. terminating the thing for some reason. 07:49:13 `` diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) | cat -v 07:49:14 No output. 07:49:18 oh i see 07:49:40 `` diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) No output. 07:50:01 or not. 07:50:14 `` strace -o tmp/trace diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) | cat 07:50:15 ​/hackenv/bin/`: line 5: strace: command not found 07:50:23 ?! 07:50:29 you gotta have strace 07:50:55 diffs of diffs are the best 07:51:24 kmc: imo can you make an infinity-category out of it 07:51:45 i was wondering 07:51:47 and, probably 07:54:09 -!- xkapastel has quit (Quit: Connection closed for inactivity). 07:56:18 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60234&oldid=60232 * Cortex * (+37) 07:58:49 -!- arseniiv has joined. 08:07:50 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60235&oldid=60234 * Cortex * (+160) 08:50:21 -!- oerjan has quit (Quit: Nite). 09:21:10 Something I was thinking over the weekend: 09:22:00 The category of monoids and monoid homomorphisms, and the category of abelian groups and group homomorphisms, both have an internal hom functor 09:22:03 But Grp doesn't 09:22:59 How come? 09:24:39 Monoid homormorphisms form a monoid pointwise, with (f<>g)(a) = f(a)<>g(a) 09:25:48 -!- orbitaldecay has joined. 09:27:09 If we extend this to groups, and take f^-1(a) = f(a)^-1, we get f(a<>b)^-1 = f^-1(a<>b) = f^-1(a)<>f^-1(b) (by the fact it's a homomorphism) = f(a)^-1<>f(b)^-1, but this is only true in general when the codomain is abelian 09:29:09 Of course, this isn't actually a proof of my original statement, just that what to me is the obvious formulation fails for Grp 09:42:34 -!- danieljabailey has joined. 10:00:27 -!- Sgeo has quit (Read error: Connection reset by peer). 10:00:54 -!- Sgeo has joined. 10:10:15 -!- adu has quit (Quit: adu). 10:14:24 -!- AnotherTest has joined. 10:26:56 -!- salpynx has quit (Quit: Page closed). 10:28:42 -!- mich181189 has quit (Ping timeout: 264 seconds). 10:28:55 -!- mich181189 has joined. 11:02:15 -!- ais523 has quit (Quit: sorry for my connection). 11:02:24 -!- callforjudgement has joined. 11:02:50 -!- callforjudgement has changed nick to ais523. 11:02:57 -!- ais523 has quit (Client Quit). 11:24:29 -!- danieljabailey has quit (Ping timeout: 244 seconds). 12:21:29 -!- Lord_of_Life_ has joined. 12:24:37 -!- Lord_of_Life has quit (Ping timeout: 245 seconds). 12:24:37 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:38:11 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 13:01:09 [[Multiply]] N https://esolangs.org/w/index.php?oldid=60236 * A * (+354) Created page with "=Syntax=
 This programming language only implements multiplication. It uses only 3 values: x as -3, y as -2, and z as -1. Whitespace means multiplication. 
=Example..." 13:02:42 [[Joke language list]] https://esolangs.org/w/index.php?diff=60237&oldid=60080 * A * (+71) /* General languages */ 13:05:13 [[Multiply]] https://esolangs.org/w/index.php?diff=60238&oldid=60236 * A * (+30) /* Examples */ 13:05:30 [[Multiply]] https://esolangs.org/w/index.php?diff=60239&oldid=60238 * A * (+30) /* Examples */ 13:06:11 [[Multiply]] https://esolangs.org/w/index.php?diff=60240&oldid=60239 * A * (+33) /* Examples */ 13:06:29 [[Multiply]] https://esolangs.org/w/index.php?diff=60241&oldid=60240 * A * (-1) /* Examples */ 13:09:15 [[Multiply]] https://esolangs.org/w/index.php?diff=60242&oldid=60241 * A * (+202) 13:12:50 [[Multiply]] https://esolangs.org/w/index.php?diff=60243&oldid=60242 * A * (+373) /* Implementation */ 13:13:00 -!- AnotherTest has quit (Ping timeout: 252 seconds). 13:13:03 [[Multiply]] https://esolangs.org/w/index.php?diff=60244&oldid=60243 * A * (+13) /* Implementation */ 13:13:24 [[Multiply]] https://esolangs.org/w/index.php?diff=60245&oldid=60244 * A * (+13) 13:15:14 [[Multiply]] https://esolangs.org/w/index.php?diff=60246&oldid=60245 * A * (+63) 13:35:21 [[SPADE]] https://esolangs.org/w/index.php?diff=60247&oldid=59400 * A * (+40) 13:37:00 -!- AnotherTest has joined. 15:05:38 -!- adu has joined. 16:07:26 -!- adu has quit (Quit: adu). 16:07:48 -!- imode has joined. 16:26:24 -!- Taneb has quit (Quit: I seem to have stopped.). 16:26:35 -!- atriq has joined. 16:27:40 -!- atriq has changed nick to Taneb. 16:29:12 [[Special:Log/newusers]] create * Erwijet * New user account 16:34:45 [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=60248&oldid=60217 * Erwijet * (+227) Introduced myself 16:35:46 [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=60249&oldid=60248 * Erwijet * (+0) Fixed a spelling issue on my name 16:45:27 -!- imode has quit (Ping timeout: 240 seconds). 16:59:39 Taneb: You'd probably know -- what's there to see and do in Hexham? 17:00:17 fizzie: the Abbey's worth a visit, the Old Gaol is a history museum, there's some little art galleries dotted about, a theatre, a cinema 17:00:59 Why do you ask? 17:01:39 I might stop by sometime in the summer. It's on the way, and it's got all that #esoteric glamour. 17:02:25 `` grwp -il hexham 17:02:26 english channel \ fentimans \ ham \ helsinki \ hexchat \ hexham \ wegian 17:02:59 There's a bus that goes to a bunch of old Roman sites as well 17:03:15 (the AD122) 17:05:46 -!- AnotherTest has quit (Ping timeout: 246 seconds). 17:06:28 -!- sebbu has quit (Read error: Connection reset by peer). 17:08:34 -!- sebbu has joined. 17:10:26 -!- LKoen has joined. 17:14:27 -!- tromp has quit (Ping timeout: 240 seconds). 17:16:50 [[Brainfuck]] https://esolangs.org/w/index.php?diff=60250&oldid=59396 * Erwijet * (+139) Added an interpreter 17:21:04 [[Brainfuck]] M https://esolangs.org/w/index.php?diff=60251&oldid=60250 * Erwijet * (-7) Fixed formatting 17:21:50 -!- moei has joined. 17:22:58 Taneb: The old Roman sites are kind of the thing Hexham is on the way to, though I think we might rent a car. 17:26:36 -!- AnotherTest has joined. 17:28:49 -!- tromp has joined. 18:05:07 -!- Essadon has joined. 18:16:57 -!- Phantom_Hoover has joined. 18:39:28 -!- b_jonas has joined. 18:46:20 Game of XYZABCDE Part II is not much yet (I have to think of what rooms to add, and that part is difficult to think of, I think), but nevertheless is possible to download to see so far: http://zzo38computer.org/xyzabcde/2.zip 18:46:38 Type VERBS for a list of verbs (there are a few hidden verbs which are not listed here). 18:50:34 -!- adu has joined. 19:01:13 (You can also make suggestions/questions/complaints if you have any, I suppose.) 19:10:17 -!- Sgeo has quit (Quit: Leaving). 19:10:38 -!- Sgeo has joined. 19:13:12 -!- adu has quit (Quit: adu). 19:15:00 zzo38: if you want esoteric people to try text adventures, you can try to wire them up to IRC so they play on channel (or on #esoteric-blah if it gets annoying), with HackEso or with a custom bot. 19:17:01 I don't know if there is a such thing as IRC-Glk, but perhaps it can be written if it does not yet exist. (Yet, if you want to test the status window, then that won't work with IRC-Glk.) 19:17:21 oh, you need a status window? that's more difficult then 19:17:22 (I do not have time right now, but you can try, and/or perhaps later I can try.) 19:17:45 The game doesn't need a status window; it can work without. However, the status window can be helpful. 19:23:01 could /topic be the status bar 19:23:30 It is a text grid window of more than one line in this game 19:35:17 "The reason for the Latin notation is that the name of each piece starts with a different letter if they are written in Latin, but this is not the case in English" => like a king and a knight in chess or tarot? 19:35:56 `? adjective 19:35:57 Adjectives are words frequently found attached to chickens. 19:35:59 huh what? 19:50:51 -!- xkapastel has joined. 19:59:23 -!- imode has joined. 20:01:42 -!- FreeFull has joined. 20:11:52 -!- atslash has joined. 20:37:55 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60252&oldid=60235 * Cortex * (+123) 20:45:07 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60253&oldid=60252 * Cortex * (+39) 20:56:48 -!- S_Gautam has joined. 21:06:16 -!- orbitaldecay_ has joined. 21:09:13 -!- orbitaldecay has quit (Ping timeout: 245 seconds). 21:29:18 -!- orbitaldecay__ has joined. 21:32:07 -!- orbitaldecay_ has quit (Ping timeout: 245 seconds). 21:35:48 b_jonas: that text adventure bot is a good idea 22:01:51 -!- orbitaldecay_ has joined. 22:01:58 -!- moei has quit (Read error: Connection reset by peer). 22:02:34 -!- moei has joined. 22:04:10 -!- orbitaldecay has joined. 22:04:40 -!- orbitaldecay__ has quit (Ping timeout: 250 seconds). 22:06:07 -!- orbitaldecay_ has quit (Ping timeout: 240 seconds). 22:06:33 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 22:07:59 -!- Lord_of_Life has quit (Ping timeout: 268 seconds). 22:13:04 -!- Lord_of_Life has joined. 22:27:38 -!- nfd has quit (Ping timeout: 250 seconds). 22:47:47 -!- nfd has joined. 22:49:04 -!- tromp has quit (Remote host closed the connection). 22:49:12 -!- moei has quit (Quit: Leaving...). 22:49:39 -!- tromp has joined. 22:52:08 -!- nfd has quit (Ping timeout: 245 seconds). 22:57:27 -!- housecarpenter has joined. 22:59:27 -!- AnotherTest has quit (Ping timeout: 240 seconds). 23:03:27 -!- nfd has joined. 23:07:43 -!- moony_ has joined. 23:07:54 https://github.com/Globidev/corewa-rs https://glo.bi/corewar/ someone made their own corewars 23:07:55 it looks fun 23:09:23 favorite part from what i've looked at is it's usage of less abstract opcodes 23:09:37 meaning really fun(tm) tactics like rewriting the opponent are possible 23:25:53 At least just on a glance, it doesn't look *that* different from regular Redcode. 23:27:35 I mean, the field stuff is a little abstract, I guess, but you can definitely rewrite your opponent there too. 23:29:26 -!- arseniiv has quit (Ping timeout: 255 seconds). 23:35:29 -!- b_jonas has quit (Quit: Lost terminal). 2019-03-05: 00:08:52 fizzie, the chief problem with rewriting your opponent in redcode is that it's extremely difficult to manipulate the actual instruction part 00:10:50 like if you have mov b, 30 at some address or whatever, it's easy to read, write and do logic on the operands, but the 'mov' part itself can only be written by copying a preexisting mov instruction from elsewhere over that cell 00:11:19 and to 'read' it, i.e. perform useful logic based on the operation in a given instruction, i don't even know 00:15:06 -!- Melvar has quit (Ping timeout: 250 seconds). 00:15:34 -!- Melvar has joined. 00:16:32 -!- Phantom_Hoover has quit (Remote host closed the connection). 00:23:03 -!- Lord_of_Life_ has joined. 00:24:47 -!- Lord_of_Life has quit (Ping timeout: 240 seconds). 00:25:25 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:33:36 -!- oerjan has joined. 00:39:29 -!- housecarpenter has quit (Read error: Connection reset by peer). 00:39:56 -!- housecarpenter has joined. 00:42:56 -!- housecarpenter has quit (Read error: Connection reset by peer). 00:43:20 -!- housecarpenter has joined. 00:44:47 @tell Phantom_Hoover The SEQ/SNE instructions (compare two instructions, skip next instruction if they are/aren't equal) can apparently "read" the instruction part, but as far as I can tell with the .I modifier it compares *all* fields, so it'd be hard to use to branch by instruction type. 00:44:47 Consider it noted. 00:56:34 @tell Taneb I think you're mistaken about monoid homomorphisms: (f<>g)(a<>b) has a similar problem, becoming either f(a)<>f(b)<>g(a)<>g(b) or f(a)<>g(a)<>f(b)<>g(b) dependent on how you expand it. 00:56:34 Consider it noted. 01:02:25 huh what? <-- . o O ( b_jonas has already forgotten boily ;_; ) 01:07:29 -!- housecarpenter has quit (Read error: Connection reset by peer). 01:07:54 -!- housecarpenter has joined. 01:20:01 -!- housecarpenter has quit (Read error: Connection reset by peer). 01:20:24 -!- housecarpenter has joined. 01:26:30 -!- Essadon has quit (Quit: Qutting). 01:31:32 oerjan, ?? has boily gone somewhere? Where's my chicken quit messages? 01:34:52 moony_: i see him occasionally in my reddit friends list, but he hasn't been here on the channel in a long time 01:35:45 bon soirjan 01:36:19 ): 01:36:39 shalomchaf 01:37:07 this channel is slowly falling apart from what i can tell 01:37:08 RIP 01:37:28 oerjan: I thought that was a first, but apparently it's a 10th. 01:37:43 10th what? 01:37:54 time that's been said in this channel 01:38:23 which one 01:38:35 the thing you said 01:38:49 aha. i don't recall having seen it. 01:38:50 Which I don't want to repeat because it'll ruin my future grep counts. 01:39:14 Wait, no, I double counted old and new logs. 01:39:24 It's a fifth. 01:39:36 . o O ( minor or major fifth? ) 01:40:16 What's a major and minor fifth? 01:40:26 I know what a perfect fifth is. 01:40:45 Minor fifth is 650 cents apparently. 01:41:06 And perfect fifth is 700 cents. 01:41:27 > 2**(700/1200) 01:41:29 1.4983070768766815 01:41:32 > 2**(650/1200) 01:41:34 1.4556531828421873 01:41:58 Wasn't there a function to find a rational number close to a real number? 01:42:13 yes, continued fraction cutoff 01:42:33 or rationalize or something in scheme 01:42:49 I mean, in Haskell. 01:42:51 Or in lambdabot. 01:42:58 > rationalize 01:43:00 error: 01:43:00 • Variable not in scope: rationalize 01:43:00 • Perhaps you meant ‘rational’ (imported from Text.PrettyPrint.HughesPJ) 01:45:14 @let rationalize (a,b) | a <= 0 && b>= 0 = 0 | f <- floor a = a % 1 + 1 / rationalize (1/(b-f), 1/(a-f)) 01:45:15 Defined. 01:45:24 > rationalize (pi, exp 1) 01:45:26 error: 01:45:26 • Ambiguous type variable ‘b0’ arising from a use of ‘show_M301665704346... 01:45:27 prevents the constraint ‘(Show b0)’ from being solved. 01:45:32 fnord 01:46:12 @let rationalize :: RealFrac a => (a,a) -> Rational 01:46:13 .L.hs:163:28: error: 01:46:13 • Couldn't match type ‘a’ with ‘Integer’ 01:46:14 ‘a’ is a rigid type variable bound by 01:46:30 oh 01:46:32 @undef 01:46:33 Undefined. 01:46:54 @let rationalize (a,b) | a <= 0 && b>= 0 = 0 | f <- floor a = a % 1 + 1 / rationalize (1/(b-f), 1/(a-f)) :: Rational 01:46:55 .L.hs:161:10: error: 01:46:55 • No instance for (RealFrac Integer) arising from a use of ‘floor’ 01:46:56 • In a stmt of a pattern guard for 01:47:04 oh duh 01:47:16 * moony_ still doesn't understand haskell. He has a good grasp on x86-64 assembly tho 01:47:37 @let rationalize (a,b) | a <= 0 && b>= 0 = 0 | f <- floor a = a % 1 + 1 / rationalize (1/(b-fromIntegral f), 1/(a-fromIntegral f)) :: Rational 01:47:38 .L.hs:161:10: error: 01:47:38 • No instance for (RealFrac Integer) arising from a use of ‘floor’ 01:47:38 • In a stmt of a pattern guard for 01:48:04 @let rationalize (a,b) | a <= 0 && b>= 0 = 0 | f <- floor a = f % 1 + 1 / rationalize (1/(b-fromIntegral f), 1/(a-fromIntegral f)) :: Rational 01:48:05 Defined. 01:48:17 > rationalize (pi, exp 1) 01:48:19 *Exception: Ratio has zero denominator 01:48:24 ... 01:49:51 ic 01:50:25 @undef 01:50:25 Undefined. 01:51:59 oh duh 01:52:07 @let rationalize (a,b) | a <= 0 && b>= 0 = 0 | f <- floor a = f % 1 + 1 / rationalize (1/(b-fromIntegral f), 1/(a-fromIntegral f)) :: Rational 01:52:09 Defined. 01:52:22 > rationalize (exp 1, pi) 01:52:29 mueval-core: Time limit exceeded 01:52:41 something is still fishy 01:54:43 -!- moony__ has joined. 01:57:08 -!- moony_ has quit (Ping timeout: 244 seconds). 02:01:44 @undef 02:01:44 Undefined. 02:03:16 nyaa 02:12:33 @let rationalize (a,b) | b <= 0 = -rationalize(-b,-a) | a < 0 = 0 | b <= 1 = 1/rationalize(1/b,1/a) | otherwise = 1 + rationalize(a-1,b-1) 02:12:34 Defined. 02:12:42 > rationalize (exp 1, pi) 02:12:44 3.0 02:12:47 whee 02:13:39 > rationalize (sqrt 5, exp 1) 02:13:42 2.5 02:13:46 oops 02:13:51 > rationalize (sqrt 5, exp 1) :: Rational 02:13:54 5 % 2 02:14:36 this formulation depends on Double Infs, i think 02:15:38 > rationalize (-pi, sqrt 2) 02:15:40 0.0 02:15:53 @let rationalize :: (Double, Double) -> Rational 02:15:54 Defined. 02:17:30 > rationalize (2,3) 02:17:33 5 % 2 02:17:43 it's open interval hth 02:20:23 > rationalize (pi, 1/0) 02:20:26 4 % 1 02:22:15 shachaf: there's also toRational of course, although that's more of "convert float to exact" 02:22:35 > toRational pi 02:22:38 884279719003555 % 281474976710656 02:23:09 while rationalize finds the simplest fraction in an interval 02:23:52 (minimal abs of numerator/denominator) 02:27:13 No, I thought there was a function that took a precision or some other parameter. 03:02:16 -!- Sgeo has quit (Read error: Connection reset by peer). 03:03:23 -!- Sgeo has joined. 03:25:37 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 03:28:05 shachaf: well scheme's rationalize does that. 03:29:54 OK, but I thought it was in Haskell. 03:30:33 -!- housecarpenter has quit (Quit: Leaving). 03:32:28 there's probably a package... 03:32:42 @google site:hackage.haskell.org rationalize 03:32:43 https://hackage.haskell.org/package/Haschoo-0.1.2/src/tests/r5rstest.scm 03:32:52 hum 03:33:13 at least it's probably relevant :P 03:40:24 -!- xkapastel has quit (Quit: Connection closed for inactivity). 04:00:37 -!- FreeFull has quit. 05:46:07 -!- imode has quit (Ping timeout: 240 seconds). 06:01:04 > rationalize (10^8,10^8+1) 06:01:11 mueval-core: Time limit exceeded 06:02:35 . o O ( | otherwise = let b' = fromInteger (floor b) in b' + rationalize (a-b', b-b') ) 06:02:53 uhm 06:04:11 that's too much :/ 06:05:25 I guess... | otherwise = let a' = max 1 (fromInteger (floor a')) in a' + (a - a', b - a') 06:10:49 -!- xkapastel has joined. 06:11:56 int-e: i started with using floor then decided i'd just write something obviously correct 06:12:27 -!- lambdabot has quit (Remote host closed the connection). 06:12:38 poof 06:12:42 oerjan: look 06:12:52 what ratio does 650 cents approximate 06:12:53 twh 06:13:16 > 13/5 06:13:20 oops 06:13:32 shachaf: you chose a bad time to ask tdnh 06:13:45 pronked 06:14:17 13/2 06:14:38 @wn pronk 06:14:45 pronked again 06:14:49 darn 06:15:02 MY MIND IS GONE I CAN FEEL IT 06:15:14 also i don't know what it means 06:15:17 i took it from this channel 06:15:19 or at least hal'f of it 06:15:28 2012-06.txt logs apparently? 06:15:31 helloerjan 06:15:32 hichaf 06:15:36 yogan 06:15:41 :3 06:15:49 I just ate some fried kimchi ramen noodle soup 06:15:53 it was so good 06:17:24 * oerjan is wondering what's before the "gan" these days 06:17:57 yo hth 06:18:05 OKAY 06:18:22 oerjan: I kept my given name (Keegan) 06:18:35 I like it, and it's relatively gender-neutral 06:18:54 -!- lambdabot has joined. 06:19:02 aha 06:19:02 wb lambdabot 06:19:13 > 13/2 06:19:22 6.5 06:19:28 also changing your name is a huge hassle, and i couldn't find a new one that I liked 06:19:32 > 2**(650/1200) 06:19:40 1.4556531828421873 06:20:13 I asked my mom and apparently if born a girl, I would have been Caitlin or Kyla, which are okay but not super exciting 06:21:59 I half considered Cassandra since I keep making accurate predictions that nobody believes :P 06:22:02 and it's a pretty name 06:22:11 but "Cathy and Cassie" doesn't work so well 06:22:11 heh 06:22:25 I would call myself Alyssa but my girlfriend is already named that so that'd be weird 06:22:43 I think the best option I came up with was Nicole 06:25:51 anyway I went ahead and got my new passport and driver's license with the gender marker changed but the same name as before 06:26:26 for the california form, my doctor certified under penalty of perjury that I have a "female demeanor" :rolleyes: 06:28:17 there's seriously a checkbox for "demeanor" 06:28:48 in the end i had no trouble with either CA or the feds, and got both new identity documets quickly 06:28:59 (all 3 counting the passport card as well) 06:30:20 the US passport card is not very useful for travel unless your circumstances involve driving across the Canadian or Mexican border regularly 06:30:40 but I did find it useful as a form of ID for non travel things, during the time when I was waiting for my new DL 06:31:27 ic 06:33:25 @let rationalize :: (Double, Double) -> Rational; rationalize (a,b) | b <= 0 = -rationalize(-b,-a) | a < 0 = 0 | b <= 1 = 1/rationalize(1/b,1/a) | let a'=max 1(fromInteger (floor a))=a' + rationalize (a-a',b-a') 06:33:26 .L.hs:160:1: error: 06:33:26 Duplicate type signatures for ‘rationalize’ 06:33:27 at .L.hs:158:1-11 06:33:33 wat 06:33:42 @undef 06:33:42 Undefined. 06:33:47 @let rationalize :: (Double, Double) -> Rational; rationalize (a,b) | b <= 0 = -rationalize(-b,-a) | a < 0 = 0 | b <= 1 = 1/rationalize(1/b,1/a) | let a'=max 1(fromInteger (floor a))=a' + rationalize (a-a',b-a') 06:33:48 .L.hs:166:5: error: 06:33:48 • Couldn't match type ‘Double’ with ‘Ratio Integer’ 06:33:48 Expected type: Rational 06:33:52 f 06:34:48 > let a = 1 in a+floor a 06:34:51 2 06:36:42 @let rationalize :: (Double, Double) -> Rational; rationalize (a,b) | b <= 0 = -rationalize(-b,-a) | a < 0 = 0 | b <= 1 = 1/rationalize(1/b,1/a) | let a'::Num x=>x;a'=max 1(fromInteger (floor a))=a' + rationalize (a-a',b-a') 06:36:44 .L.hs:166:14: error: 06:36:44 • Could not deduce (Ord x) arising from a use of ‘max’ 06:36:44 from the context: Num x 06:36:58 wat 06:37:15 @let rationalize :: (Double, Double) -> Rational; rationalize (a,b) | b <= 0 = -rationalize(-b,-a) | a < 0 = 0 | b <= 1 = 1/rationalize(1/b,1/a) | let a'::RealFrac x=>x;a'=max 1(fromInteger (floor a))=a' + rationalize (a-a',b-a') 06:37:17 Defined. 06:37:42 > rationalize (10^8,10^8+1) 06:37:45 200000001 % 2 06:38:55 i think it hit the thing that's not the monomorphism restriction but even hairier 06:40:15 > let e=0.001 in rationalize (2**(650/1200)-e,2**(650/1200)+e) 06:40:18 67 % 46 06:40:28 shachaf: hth 06:40:57 > let e=0.002 in rationalize (2**(650/1200)-e,2**(650/1200)+e) 06:40:59 16 % 11 06:41:43 > let [rationalize (2**(650/1200)-e,2**(650/1200)+e) | e<-[0.001, 0.0015..]] 06:41:45 :1:75: error: 06:41:45 parse error (possibly incorrect indentation or mismatched brackets) 06:41:53 shocking 06:42:03 > [rationalize (2**(650/1200)-e,2**(650/1200)+e) | e<-[0.001, 0.0015..]] 06:42:05 [67 % 46,16 % 11,16 % 11,16 % 11,16 % 11,16 % 11,16 % 11,16 % 11,16 % 11,16 ... 06:42:30 16/11 seems to be good for a range 06:43:53 > let [rationalize (2**(650/1200)-e,2**(650/1200)+e) | e<-[0.005, 0.01..]] 06:43:55 :1:73: error: 06:43:55 parse error (possibly incorrect indentation or mismatched brackets) 06:44:00 oerjan: Oh, https://en.wikipedia.org/wiki/Major_fourth_and_minor_fifth agrees 06:44:03 > [rationalize (2**(650/1200)-e,2**(650/1200)+e) | e<-[0.005, 0.01..]] 06:44:05 16:11 06:44:05 [16 % 11,16 % 11,13 % 9,13 % 9,13 % 9,10 % 7,10 % 7,10 % 7,3 % 2,3 % 2,3 % 2... 06:47:28 why is youtube video of someone playing a NES game recorded in 720p 06:48:45 the NES native resolution is 240p 06:51:01 * oerjan puts rationalize in his private Basic.hs file 06:53:34 can you put it in the public Basic.hs file twh 06:54:11 nah 06:59:55 mmm 07:04:44 oerjan: ok, i'll just ask you next time i need a number rationalized tdh 07:08:02 oerjan: Oh that's just the monomorphism restriction... I didn't think that through. 07:10:17 oerjan: it's also slightly nasty that the code divides by 0 :) 07:11:18 > rationalize (-0, 1) 07:11:24 mueval-core: Time limit exceeded 07:11:26 int-e: no it isn't. 07:11:39 oh. 07:11:42 <3 timing 07:11:46 i mean it's not the MR 07:12:14 yes it is, a' is used at two different types 07:12:56 @google MonoLocalBinds 07:12:57 https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html 07:13:29 * oerjan was looking up the name 07:13:33 with NoMonoLocalBinds, no type signature for a' is required. 07:13:36 MonoLocalBinds it is 07:13:52 int-e: that's not the monomorphism restrictino. 07:13:54 *on 07:15:11 > rationalize (-1,0) 07:15:15 I guess that's true. 07:15:17 mueval-core: Time limit exceeded 07:15:20 i guess that's a bug then 07:15:21 Same effect, different reason. 07:16:10 my relevant PPCG post https://codegolf.stackexchange.com/questions/153744/wait-what-language-is-this/153927#153927 07:17:47 (AFAIUI, the main purpose of MonoLocalBinds is to prevent accidental loss of sharing.) 07:18:44 And then there's backward compatibility, and eliding quite a few type signatures. 07:19:54 But you're right that I conflated this with the MR that prevents polymorphic references. 07:20:09 @undef 07:20:09 Undefined. 07:20:12 @let rationalize :: (Double, Double) -> Rational; rationalize (a,b) | b <= 0 = -rationalize(-b,-a) | a < 0 = 0 | b <= 1 = 1/rationalize(1/b,1/abs a) | let a'::RealFrac x=>x;a'=max 1(fromInteger (floor a))=a' + rationalize (a-a',b-a') 07:20:13 Defined. 07:20:30 > rationalize (-1,0) 07:20:32 (-1) % 2 07:22:24 I will, however, blame the Haskell report for this... since the Haskell monomorphism restriction actually applies to global bindings as well, even though it's not a soundness problem there; the reason is *the same* as for monomorphic let bindings. 07:22:57 (ensure sharing of what in the case of top-level bindings are CAFs) 07:23:12 it's not a soundness problem anywhere (except with unsafePerformIO)? 07:23:36 :t newIORef 07:23:37 error: 07:23:37 • Variable not in scope: newIORef 07:23:37 • Perhaps you meant ‘newSTRef’ (imported from Data.STRef) 07:23:42 :t newSTRef 07:23:44 a -> ST s (STRef s a) 07:23:51 :t newSTRef undefined 07:23:52 ST s (STRef s a) 07:24:18 If you could get a polymorphic value out of this, you'd be in trouble. 07:24:46 oh monomorphism of lambda arguments is something else again 07:25:00 that's even for basic hindley-milner, i think 07:25:27 and that's what the ST monad needs 07:26:30 Ah, darn. The ML term I'm looking for is "value restriction". 07:26:56 Which is /a/ monomorphism restriction? *shrugs* 07:27:08 This stupid fuzzy memory of mine... :-/ 07:27:17 yeah was about to mention that 07:27:32 it's needed once you have impure expressions 07:29:23 yeah 07:29:32 -!- danieljabailey has joined. 07:29:34 the ML value restriction is needed for soundness 07:29:53 the Haskel monomorphism restriction is meant to prevent unexpected non-memoization 07:30:06 but not needed for soundness 07:30:47 yeah I guess you covered all this already 08:12:20 -!- danieljabailey has quit (Ping timeout: 255 seconds). 08:45:32 -!- arseniiv has joined. 08:54:53 -!- oerjan has quit (Quit: Nite). 08:58:30 -!- xkapastel has quit (Quit: Connection closed for inactivity). 09:07:03 -!- orbitaldecay_ has joined. 09:09:37 -!- orbitaldecay has quit (Ping timeout: 245 seconds). 09:12:35 @massages-lout 09:12:36 oerjan said 8h 16m 1s ago: I think you're mistaken about monoid homomorphisms: (f<>g)(a<>b) has a similar problem, becoming either f(a)<>f(b)<>g(a)<>g(b) or f(a)<>g(a)<>f(b)<>g(b) dependent on how 09:12:36 you expand it. 09:12:59 Hmmm 09:16:41 -!- moony__ has quit (Ping timeout: 255 seconds). 09:19:09 -!- S_Gautam has joined. 09:24:47 -!- moony_ has joined. 09:42:18 Yes, I was mistaken 09:43:04 :) 09:53:25 -!- Melvar has quit (Ping timeout: 246 seconds). 09:53:49 -!- Melvar has joined. 09:57:16 -!- wob_jonas has joined. 09:57:29 oerjan: re rationals, see https://www.perlmonks.com/?node_id=424519 for example 10:00:23 kmc: there seem to be much better options in boy's names than girl's names 10:27:51 -!- AnotherTest has joined. 11:43:12 `pbflist https://pbfcomics.com/comics/untitled-candle-comic/ 11:43:13 pbflist https://pbfcomics.com/comics/untitled-candle-comic/: shachaf Sgeo quintopia ion b_jonas Cale 11:56:52 [[Drive-In Window]] https://esolangs.org/w/index.php?diff=60254&oldid=37325 * 3snoW * (+134) 12:18:45 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 12:21:24 -!- Essadon has joined. 12:21:42 -!- Essadon has quit (Max SendQ exceeded). 12:22:33 -!- Lord_of_Life_ has joined. 12:24:02 [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60255&oldid=60223 * A * (+565) /* List of candidates */ 12:24:17 argh! the updated software is, of course, not quite compatible with everything I have 12:24:28 now I have to figure out what I have to change 12:24:41 [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60256&oldid=60255 * A * (+68) /* List of candidates */ 12:25:03 [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60257&oldid=60256 * A * (-29) /* List of candidates */ 12:25:19 [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60258&oldid=60257 * A * (+3) /* List of candidates */ 12:25:27 -!- Lord_of_Life has quit (Ping timeout: 240 seconds). 12:25:28 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:26:36 [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60259&oldid=60258 * A * (+67) /* List of candidates */ 12:26:47 -!- rodgort has quit (Quit: Leaving). 12:28:22 [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60260&oldid=60259 * A * (-49) /* List of candidates */ 12:29:27 -!- S_Gautam has joined. 12:30:23 [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60261&oldid=60260 * A * (+121) /* List of candidates */ 12:30:57 -!- rodgort has joined. 12:35:37 [[ShaFuck]] M https://esolangs.org/w/index.php?diff=60262&oldid=35114 * Arcorann * (+0) 12:36:37 [[Bitch]] https://esolangs.org/w/index.php?diff=60263&oldid=60206 * A * (+339) Add infobox 12:40:13 -!- Vorpal has joined. 12:40:13 -!- Vorpal has quit (Changing host). 12:40:13 -!- Vorpal has joined. 12:40:56 [[Template:Programming Language]] https://esolangs.org/w/index.php?diff=60264&oldid=58387 * Arcorann * (-3) https://en.wikipedia.org/w/index.php?title=Programming_language&diff=886211259&oldid=886194823 12:41:18 [[Special:Log/move]] move * Arcorann * moved [[A programming language is a formal language, which comprises a set of instructions used to produce various kinds of output.]] to [[A programming language is a formal language, which comprises a set of instructions that produce various kinds of output.]]: https://en.wikipedia.org/w/index.php?title=Programming_lang 12:41:19 [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60267&oldid=60261 * A * (+4) /* List of candidates */ 12:43:22 [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60268&oldid=60267 * A * (+13) /* List of candidates */ 12:46:43 [[A programming language is a formal language, which comprises a set of instructions that produce various kinds of output.]] https://esolangs.org/w/index.php?diff=60269&oldid=60265 * Arcorann * (+208) It's too soon to see any programs written in the March 2019 version (apart from on this site and Wikipedia, of course), but hopefully that will change soon 12:47:09 [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60270&oldid=60268 * A * (-34) /* List of candidates */ 12:54:07 [[Bitch]] https://esolangs.org/w/index.php?diff=60271&oldid=60263 * A * (-61) /* References */ 13:03:07 [[Bitch]] https://esolangs.org/w/index.php?diff=60272&oldid=60271 * A * (+428) Add overview(just adding more information) 13:06:16 [[Bitch]] https://esolangs.org/w/index.php?diff=60273&oldid=60272 * A * (+81) /* Turing-completeness */ 13:20:53 [[Bitch]] https://esolangs.org/w/index.php?diff=60274&oldid=60273 * A * (+125) /* Cat program (limited to integers) */ 13:23:43 [[Bitch]] https://esolangs.org/w/index.php?diff=60275&oldid=60274 * A * (+0) /* Cat program (limited to integers) */ 13:24:37 [[Bitch]] https://esolangs.org/w/index.php?diff=60276&oldid=60275 * A * (+32) /* Possible */ 13:25:13 [[Bitch]] https://esolangs.org/w/index.php?diff=60277&oldid=60276 * A * (-2) /* Cat program (limited to integers) */ 13:30:18 [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60278&oldid=60270 * A * (+8) /* List of candidates */ 13:32:18 [[User talk:A]] https://esolangs.org/w/index.php?diff=60279&oldid=60207 * A * (-40) 14:02:22 -!- atslash has quit (Quit: Leaving). 14:07:53 what... suddenly the iterator doesn't work if the container is empty or what? 14:15:04 -!- xkapastel has joined. 14:25:26 -!- hakatashi2 has joined. 14:29:12 -!- hakatashi has quit (Ping timeout: 250 seconds). 14:32:55 -!- imode has joined. 14:51:01 [[Special:Log/newusers]] create * Carbontwelve * New user account 14:56:27 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60280&oldid=60249 * Carbontwelve * (+271) My introduction 14:58:27 -!- AnotherTest has quit (Ping timeout: 240 seconds). 15:03:43 OH MY GOD I HATE GIT SO MUCH 15:04:03 it has been sitting there "rebasing" for over 24 hours now 15:04:30 taking up 100% of cpu and over 2 GB of memory 15:05:09 in that time I could have EASILY done this with fucking patch files 15:05:34 That's... not something I've ever seen happen 15:07:12 orin: you know you can just kill it, right? 15:07:31 wob_jonas: well yeah 15:07:38 [[LDPL]] N https://esolangs.org/w/index.php?oldid=60281 * Carbontwelve * (+597) Stub page for LDPL 15:07:47 wob_jonas: but what state would that leave my repo in 15:08:14 . o O ( more usable ) 15:08:17 git rebase master 15:08:17 First, rewinding head to replay your work on top of it... 15:08:25 and nothing for 24 hours 15:09:07 orin: it's mostly immutable garbage-collected stuff, you only have to restore the refs 15:09:26 [[Language list]] M https://esolangs.org/w/index.php?diff=60282&oldid=60233 * Carbontwelve * (+11) /* L */ adding Link to LDPL 15:09:54 also that's why I don't rebase, it's confusing for me, I rather start a new branch and apply or revert 15:10:02 Never experienced anything like that either. At that point I would assume that it won't finish. 15:10:07 ok, so it left me on "no branch" 15:10:14 or use svn rather than git if I can, but that's not an option for an existing repo 15:10:20 git checkout 15:10:30 I'll check out the branch I was trying to rebse 15:11:00 Ideally now I'll create patch files from my branch and apply them manually 15:11:21 I'd also do a git fsck at that point. Depending on how paranoid I'm feeling, make a copy of the .git directory first (but git usually makes destroying objects really hard) 15:12:10 int-e: this is a local repo, everything important is on the main repo 15:12:28 int-e: _destroying_ objects is hard. it's just also hard to find the right objects, because it's too easy to change what each ref points to, especially with pull 15:12:50 you don't really get a timed history, only a half-ditched effort called the reflog 15:13:19 Yes and it's hardly ever been an issue for me. 15:13:50 [[LDPL]] https://esolangs.org/w/index.php?diff=60283&oldid=60281 * Carbontwelve * (+10) Added stub text 15:15:01 hmm maybe I'll just check out an entirely new repository and delete this one 15:15:21 orin: the confusing bit about that behavior is this... what I'd expect git-rebase to do at that point is basically just a 'git checkout master -b rebase-temp'. That is, unless it was actually done rewinding and already collecting diffs, somehow. 15:16:00 -!- imode has quit (Ping timeout: 250 seconds). 15:16:53 well yeah what I expected git to do is 1. find the latest shared point between my branch and the master 15:17:11 2. create a patch from that point to the head of my branch 15:17:20 3. try to apply it to the head of master 15:17:48 but apparently it is doing something more complicated 15:18:19 I believe it applies each commit in sequence 15:18:21 I'd expect a 3-way merge from the common ancestor? 15:18:27 For a rebase 15:18:45 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 15:18:51 um no, it has to apply each commit from the common ancestor to your branch onto the master, in sequence 15:19:40 wob_jonas: right. but my branch has like, 20 commits max 15:19:45 and it's so much cleaner when I use apply or revert rather than rebase, because the way rebase changes what refs point to just cnofuses me to heck 15:20:01 (I meant for each revision separately.) 15:20:13 and it's easier to abort or continue the apply too when there's a conflict or anything 15:20:26 so my current theory is that that "common ancestor" is way further back than it should be 15:20:42 int-e: sure, they do a proper diff3 these days, with a diff3 engine built into git, rather than just a patch 15:23:43 Hah. "revision" is mercurial terminology. I mean "commit". 15:28:29 git clone $GIT_ORIGIN_REPO i_hate_git 15:28:58 what's the command to get a patch from commit XXX to commit YYY 15:29:55 orin: git diff XXX YYY -- 15:29:57 git diff [] [--] [...] 15:30:25 int-e: yes, but what are the right options? 15:30:45 ok cool that should work with the path part since I knw nothing outside a particular directory ought to have changed 15:32:17 wob_jonas: They are optional. This is the one of the five versions listed in the manpage that is applicable to the question. 15:43:08 yeah I'll just create a pacth file, create an entirely new branch and apply the patch file over the head of master 15:43:23 er, the head of that branch which is the head of master 15:44:22 good luck 15:49:04 orin: or create a new branch from master, then apply the commits from your branch, creating a new commit for each, with (git cherry-pick ..yourbranch), it will stop on a conflict and you can (git cherry-pick --abort) to cancel trying to resolve the conflicts; or (git cherry-pick -n ..yourbranch) to apply all of them at once without creating a commi 15:49:04 t, which lets you collapse your commits to a single one 15:52:42 also, git is bs, because the command I use the most frequently is an alias to git status -bs 15:53:01 I have a few other aliases where the defaults are ... strange 16:15:46 -!- danieljabailey has joined. 16:36:06 -reject 16:42:26 ok, this is actually working 16:44:50 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 16:54:08 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60284&oldid=60253 * Cortex * (+744) 16:54:25 -!- xkapastel has quit (Quit: Connection closed for inactivity). 17:01:30 -!- digitalcold has joined. 17:01:54 -!- AnotherTest has joined. 17:22:15 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60285&oldid=60284 * Cortex * (+120) 17:23:39 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60286&oldid=60285 * Cortex * (+36) 17:51:44 -!- b_jonas has joined. 18:08:11 -!- Phantom_Hoover has joined. 18:47:12 < wob_jonas> kmc: there seem to be much better options in boy's names than girl's names <--- hmm, how do you mean? 18:47:51 kmc: that's probably just my biased opinion 18:48:44 what do you mean by 'better' though 18:48:50 nicer sounding? 18:48:57 totally subjective 18:49:57 ok 18:51:39 -!- LKoen has joined. 18:57:26 ok, note to self, rebasing manually is a lot of work, but may be less mental anguish than trying to understand what is wrong with your git repository 18:58:10 git freebase 19:27:28 b_jonas: it's true that I didn't find a name I liked better than Keegan, on the other hand, Keegan is an unusually great name 19:27:42 my parents had good (unintentional) foresight by giving me something gender-neutral-ism 19:27:44 ish* 19:28:11 one less hassle... 19:28:28 Keegan means "firey one" in Gaelic or something 19:28:36 my wife met an orange polydactyl cat named Keegan 19:28:59 cat 19:29:06 yes 19:29:07 cat 19:29:31 I ate catfish 19:29:39 🐈 19:30:03 and now I wonder if there's a deadfish variant that can still only print literal strings, but with a more efficient encoding, like it prints anything after a quotation mark 19:34:33 -!- LKoen has quit (Remote host closed the connection). 19:35:43 -!- LKoen has joined. 19:40:40 -!- LKoen has quit (Remote host closed the connection). 19:47:25 -!- LKoen has joined. 20:02:34 kmc, did you ever play halo 20:03:15 also fizzie re the lambdabot message yeah that's what i remember 20:03:41 Phantom_Hoover: only casually at parties with friends 20:03:42 why 20:04:55 there's a ship in, uh, one of the spinoff games called 'spirit of fire' 20:05:07 which was one of a few really excellent ship names in halo 20:08:24 ok 20:08:24 also a nicely subtle tolkien reference 20:08:29 not as good as the Culture ship names 20:09:54 well nothing is as good as those 20:10:15 yes 20:13:27 -!- danieljabailey has quit (Ping timeout: 240 seconds). 20:14:36 Absolutely No You-Know-What 20:15:09 Stood Far Back When The Gravitas Was Handed Out 20:15:40 -!- LKoen has quit (Remote host closed the connection). 20:21:26 -!- LKoen has joined. 20:32:32 -!- LKoen has quit (Remote host closed the connection). 20:37:05 -!- LKoen has joined. 20:54:06 -!- xkapastel has joined. 21:07:47 -!- orbitaldecay__ has joined. 21:10:50 -!- orbitaldecay_ has quit (Ping timeout: 255 seconds). 21:50:37 -!- LKoen has quit (Remote host closed the connection). 21:53:28 -!- LKoen has joined. 21:54:43 kmc: https://bugs.chromium.org/p/project-zero/issues/detail?id=1792 21:55:07 in the year 2019 linux still has bugs with mapping page 0 21:55:11 cool 22:01:25 shachaf: but since nobody runs an x86_32 kernel, nobody runs emulators using v86 mode, so nobody needs to map the null page, so it no longer matters 22:03:05 wait wait 22:03:19 the problem is that you _can_ map the null page? 22:03:22 you're supposed to be able to map it 22:04:31 Not when mmap_min_addr is higher than 0. 22:06:48 b_jonas: you're not 22:06:56 for the past 10+ years 22:07:04 because it makes it easy to exploit a kernel-mode NULL dereference 22:07:51 kmc: um, not even on the recent cpus that have an easy way to make the kernel unable to accidentally access user memory? 22:08:24 you mean Intel SMAP? 22:08:34 that would help yes 22:08:50 anyway not all CPUs have that, and at any rate it's good to have multiple lines of defense 22:08:59 kmc: dunno, is that the one where you can mark pages with a very short ID, and there's a register that tells which IDs are allowed, and you can even use them at user level with some kernel support now? 22:09:06 but yes, it's only the latest cpus 22:09:14 afaik, there is no compelling reason to allow mapping a page at 0 22:09:18 and sure, if the /proc thing is set to not allow it, then yes, it shouldn't be allowed 22:10:13 I mean, there are a lot of optional /proc knobs like that 22:10:21 including the one that denies using ptrace completely 22:10:33 it makes sense to have one of these as well I guess 22:16:00 `cat /proc/sys/vm/mmap_min_addr 22:16:00 4096 22:19:11 I vaguely remember DOSEMU used to remember mmap_min_addr=0. 22:19:34 Don't think it's really applicable on x86-64 anyway. 22:22:23 -!- arseniiv has quit (Ping timeout: 255 seconds). 22:23:07 by the way, fizzie, the last time you said you have to think about whether HackEso is specifically for the esoteric community or not, and that's why you might not want to make it join other channels. in that case, how about joining it to #esoteric-blah ? 22:31:29 there's not much point using dosemu anymore 22:31:40 dosbox works great and is a pure emulator with no weird platform dependencies 22:32:22 meanwhile my father-in-law runs his 30 year old turbo pascal programs in a dos window in Windows XP, in an emulator under Windows 10 22:32:27 to each his own 22:42:04 b_jonas: That sounds uncontroversial. 22:42:13 kmc: as you may know if you hung around on this channel, I used both bochs and dosbox to run DOS programs on linux, including games and a compiler. at one point I hooked up a DOS system ran by bochs to IRC, making a very noisy bot. 22:42:47 but qemu had improved significantly since, so I might use qemu the next time I want to do something like this 22:46:14 ok 22:46:29 https://www.youtube.com/watch?v=H0u6xxh_JL0 22:46:48 incidentally, borland C on dos is a compiler that seems really weird now 22:47:07 it wasn't that weird back then of course 22:47:39 it actually accepts `long long` as a type without an error, and parses it as if it were just `long`, so programs using it compile but silently fail because it's only 32 bit long 22:50:53 -!- FreeFull has joined. 22:51:41 lol 22:51:45 i've used it 22:51:48 C integer types are dumb anyway 22:52:09 but of course most of those programs won't compile, because they assume you have a modern standard library, and will refer to identifiers that aren't in borland C's 22:52:47 did you know that the XC8 compiler for PIC has 'short long'? 22:52:52 it's longer than a short, but shorter than a long 22:52:56 it's 24 bits 22:52:59 oh 22:53:00 Uh oh 22:53:09 I didn't know that 22:53:38 Hmm. Looks like multibot is technically a little bit single-channeled. Although as far as I can tell, the only things that affect are (a) the built-in automatic JOIN, and (b) whether it looks for "PRIVMSG-chan.cmd" or "PRIVMSG-user.cmd" for the first-level fallback (from "PRIVMSG/tr_XX.cmd" based on the first command character). 22:53:44 I thought it would go like char, long char, short short, short, long short, int, short long, long, long long, long long long 22:54:13 "who likes short shorts?" 22:54:54 also, those days C counted as a high level language and borland C counted as an optimizing compiler; these days we'd call it a low level language an a non-optimizing compiler 22:54:59 :2:15: error: 'long long long' is too long for GCC 22:55:04 I hadn't heard of "short long", though I think the one Motorola 56K C implementation had a 24-bit `int` and a 48-bit `long`. 22:55:12 it also has some sort of support for an ancient form of C++ 22:55:56 ISTR the C compiler for Magic-1 uses 32-bit long longs, but maybe that's just a mistake in the description 22:55:59 let me look that up 22:56:32 . o O ( optimizing compiler, n. - a compiler that uses more than two registers in the generated machine code ) 22:56:59 The c56 compiler doesn't support "long long" at all, it's just an error. 22:57:22 int-e: yeah, it has 32-bit multiplication built in, and can target actual 8086 (though I don't think I ever invoked it that way, normally I ask it to compile for 386), so it needs to use more than two registers for that 22:58:15 in compilers class we had an optimization shootout, and we implemented a bunch of them (my teammate burned through about a month's supply of Adderall in a week) but the most effective turned out to be one of the simplest: replacing mul/div by a power of two with shifts 22:58:23 because the test program was full of fixed point math :) 22:58:43 so we won even though our compiler was very dumb in other ways, like failing to coalesce moves 22:58:56 it would do like mov %eax, %ebx; mov %ebx, %eax 22:59:15 b_jonas: it's funny. we've somewhat stopped measuring compile speed (turbo pascal could compile what, 1000 lines per second on a 20MHz machine?) 22:59:40 * int-e doesn't even remember the order of magnitude anymore 23:00:34 nah, I probably just misremembered that about magic-1 23:00:43 http://www.homebrewcpu.com/ by the way 23:01:14 int-e: well except good ole TCC 23:01:25 int-e: TCC can compile and run a linux kernel 23:01:30 kmc: was the test program known in advance? or was it a lucky guess? 23:02:19 I don't recall, actually 23:02:22 heh 23:02:27 I think c56 also does a non-compliant thing where `char` and `short` act as 8- and 16-bit types, respectively, but still take up one (24-bit) word of storage. 23:02:31 (Well, the `short` part is fine. But `char` isn't supposed to have any padding bytes.) 23:03:30 There's a special magic `_packed char` type that tries to support strings packed efficiently (three octets per word) but it also has a sizeof 1 so incrementing a _packed char pointer by 1 moves it by 3 characters. 23:03:38 i thought the main guarantee about char is that copying an array of char is the same as copying any type 23:03:41 (You're supposed to use access macros with it.) 23:03:59 e.g. that memcpy() takes char* 23:04:20 or is that no longer the case? 23:04:25 -!- xkapastel has quit (Quit: Connection closed for inactivity). 23:04:33 No, memcpy takes a void *. But you're supposed to be able to *implement* memcpy via using a `unsigned char *` to access the object representations. 23:04:46 (And you can't do that on that implementation.) 23:04:56 yeah 23:05:34 Actually, I'm not sure what code it generates. Maybe it happens to work if you just do the usual *dst++ = *src++. 23:07:25 -!- LKoen has quit (Remote host closed the connection). 23:07:33 -!- LKoen has joined. 23:12:27 -!- AnotherTest has quit (Ping timeout: 240 seconds). 23:16:15 -!- LKoen has quit (Remote host closed the connection). 23:54:46 -!- FreeFull has quit (Quit: rebooting). 23:56:12 -!- FreeFull has joined. 2019-03-06: 00:01:41 -!- copumpkin has quit (Read error: Connection reset by peer). 00:02:30 -!- copumpkin has joined. 00:09:12 -!- sprocklem has quit (Ping timeout: 245 seconds). 00:09:27 -!- sprocklem has joined. 00:09:36 -!- Phantom_Hoover has quit (Remote host closed the connection). 00:16:30 -!- FreeFull has quit (Quit: Rebooting again..). 00:17:52 -!- FreeFull has joined. 00:23:23 -!- b_jonas has quit (Quit: leaving). 00:23:32 -!- Lord_of_Life_ has joined. 00:26:07 -!- Lord_of_Life has quit (Ping timeout: 240 seconds). 00:26:07 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:50:56 -!- oerjan has joined. 00:51:46 -!- tromp has quit (Remote host closed the connection). 00:55:35 oerjan: re rationals, see https://www.perlmonks.com/?node_id=424519 for example <-- i know, but my function takes care to find the unique best in an open interval (barring floating point errors) 00:58:13 istr you can maybe find those from the continued fractions too, except you sometimes need to increment the last number 00:58:51 > rationalize (pi-0.01, pi+0.01) 00:58:53 22 % 7 00:59:10 :t rationalize 00:59:11 (Double, Double) -> Rational 00:59:16 > 22/7 00:59:18 3.142857142857143 00:59:25 > rationalize (pi-0.01, pi+0.001) 00:59:27 47 % 15 00:59:37 > rationalize (exp 1 - 0.01, exp 1 + 0.01) 00:59:39 19 % 7 00:59:44 i don't think that is in the continued fraction 00:59:58 @where pi_10 00:59:58 (!!3)<$>transpose[show$foldr(\k a->2*10^2^n+a*k`div`(2*k+1))0[1..2^n]|n<-[0..]] 01:00:03 > rationalize (pi-0.001, pi+0.001) 01:00:06 201 % 64 01:00:07 > (!!3)<$>transpose[show$foldr(\k a->2*10^2^n+a*k`div`(2*k+1))0[1..2^n]|n<-[0..]] 01:00:10 "314159265358979323846264338327950288419716939937510582097494459230781640628... 01:00:25 imo that's p. good golfing 01:00:56 . o O ( did i really use "barring" instead of "modulo" up there? i may have to hand in my mathematician card ) 01:04:24 > let cf x | let f()=fromInteger(floor x) = [f(),f()+1] ++ map((f()+).recip) (cf (1/(x-f()))) :: Rational 01:04:26 : error: 01:04:26 not an expression: ‘let cf x | let f()=fromInteger(floor x) = [f(),f()+1... 01:04:37 @let cf x | let f()=fromInteger(floor x) = [f(),f()+1] ++ map((f()+).recip) (cf (1/(x-f()))) :: Rational 01:04:38 .L.hs:161:1: error: 01:04:38 • Couldn't match type ‘Ratio Integer’ with ‘[t]’ 01:04:38 Expected type: t -> [t] 01:04:47 @let cf x | let f()=fromInteger(floor x) = [f(),f()+1] ++ map((f()+).recip) (cf (1/(x-f()))) :: [Rational] 01:04:49 Defined. 01:04:52 > cf pi 01:04:54 error: 01:04:54 • No instance for (Floating (Ratio Integer)) 01:04:54 arising from a use of ‘pi’ 01:05:02 fff 01:05:52 i though adding () should make it polymorphic enough 01:07:13 > let cf x | let f()=fromInteger(floor x) = [f(),f()+1] ++ map((f()+).recip) (cf (1/(x-f()))) :: [Rational] in cf pi 01:07:15 error: 01:07:15 • No instance for (Floating (Ratio Integer)) 01:07:15 arising from a use of ‘pi’ 01:07:48 > let cf x | let f::Integral a => ()->a; f()=fromInteger(floor x) = [f(),f()+1] ++ map((f()+).recip) (cf (1/(x-f()))) :: [Rational] in cf pi 01:07:50 error: 01:07:50 • Could not deduce (Integral Rational) arising from a use of ‘f’ 01:07:50 from the context: (RealFrac t, Integral t) 01:08:33 > let cf :: Double -> [Rational]; cf x | let f()=fromInteger(floor x) = [f(),f()+1] ++ map((f()+).recip) (cf (1/(x-f()))) :: [Rational] in cf pi 01:08:35 error: 01:08:35 • Couldn't match type ‘Double’ with ‘Ratio Integer’ 01:08:35 Expected type: [Rational] 01:10:42 argh it must be MonoLocalBinds because it works in ghci 01:11:43 > let cf :: Double -> [Rational]; cf x | let f::a => Num a; f=fromInteger(floor x) = [f,f+1] ++ map((f+).recip) (cf (1/(x-f))) :: [Rational] in cf pi 01:11:45 error: 01:11:45 • Expected a type, but ‘Num a’ has kind ‘Constraint’ 01:11:45 • In the type signature: f :: a => Num a 01:12:11 > let cf :: Double -> [Rational]; cf x | let f::Num a => a; f=fromInteger(floor x) = [f,f+1] ++ map((f+).recip) (cf (1/(x-f))) :: [Rational] in cf pi 01:12:13 [3 % 1,4 % 1,22 % 7,25 % 8,333 % 106,355 % 113,355 % 113,688 % 219,103993 % ... 01:12:27 wut 01:12:58 > rationalize (pi-0.001, pi+0.001) 01:13:00 201 % 64 01:13:09 definitely not in there 01:13:56 > (pi-22/7, pi-25/8, pi-333/106, pi-355/113) 01:13:58 (-1.2644892673496777e-3,1.6592653589793116e-2,8.32196275291075e-5,-2.6676418... 01:15:07 @where rationalize 01:15:07 I know nothing about rationalize. 01:17:30 @where+ rationalize @let rationalize :: (Double, Double) -> Rational; rationalize (a,b) | b <= 0 = -rationalize(-b,-a) | a < 0 = 0 | b <= 1 = 1/rationalize(1/b,1/abs a) | let a'::RealFrac x=>x;a'=max 1(fromInteger (floor a))=a' + rationalize (a-a',b-a') 01:17:30 Done. 01:17:36 @where rationalize 01:17:36 @let rationalize :: (Double, Double) -> Rational; rationalize (a,b) | b <= 0 = -rationalize(-b,-a) | a < 0 = 0 | b <= 1 = 1/rationalize(1/b,1/abs a) | let a'::RealFrac x=>x;a'=max 1(fromInteger ( 01:17:36 floor a))=a' + rationalize (a-a',b-a') 01:25:05 -!- tromp has joined. 01:29:35 -!- tromp has quit (Ping timeout: 255 seconds). 02:21:05 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60287&oldid=60286 * Cortex * (+56) 02:22:08 [[Truth-machine]] https://esolangs.org/w/index.php?diff=60288&oldid=60103 * Cortex * (+50) 03:13:42 -!- tromp has joined. 03:18:02 -!- tromp has quit (Ping timeout: 255 seconds). 03:34:39 -!- adu has joined. 03:52:26 i wonder if next freefall will show sam having severe stomach trouble :P 03:54:05 or some other unexpected side effect 04:16:25 -!- S_Gautam has joined. 04:16:36 -!- FreeFull has quit. 05:01:54 -!- tromp has joined. 05:06:42 -!- tromp has quit (Ping timeout: 245 seconds). 05:22:53 -!- moony_ has quit (Read error: Connection reset by peer). 05:22:59 -!- moony__ has joined. 05:32:51 in girl genius, thinks get even weirder than i expected. 05:37:06 *things 06:19:17 -!- adu has quit (Quit: adu). 06:42:28 [[Truth-machine]] M https://esolangs.org/w/index.php?diff=60289&oldid=60288 * Arcorann * (+0) /* ALLSCII */ 06:58:27 [[Truth-machine]] M https://esolangs.org/w/index.php?diff=60290&oldid=60289 * Oerjan * (+1) Dummy edit (aka "what, no one has messed up the sorting?") 07:08:37 [[Programming Language]] M https://esolangs.org/w/index.php?diff=60291&oldid=58391 * Oerjan * (-3) This page needs manual updating (alas redirects cannot use templates) 07:10:22 [[Special:Log/delete]] delete * Oerjan * deleted "[[A programming language is a formal language, which comprises a set of instructions used to produce various kinds of output.]]": Renamed again 07:26:38 -!- hakatashi2 has quit (Remote host closed the connection). 07:26:56 -!- hakatashi has joined. 07:44:41 -!- tromp has joined. 07:52:24 -!- LKoen has joined. 07:52:52 -!- LKoen has quit (Read error: Connection reset by peer). 08:06:07 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 08:40:31 -!- oerjan has quit (Quit: Nite). 08:56:17 -!- arseniiv has joined. 09:03:31 -!- adu has joined. 09:08:35 -!- orbitaldecay has joined. 09:11:18 -!- orbitaldecay__ has quit (Ping timeout: 252 seconds). 09:33:49 https://tools.ietf.org/html/rfc865 09:38:00 https://tools.ietf.org/html/rfc2324 09:40:39 -!- adu has left. 09:40:57 Outlandish GG theory: this is Violetta 09:41:56 -!- AnotherTest has joined. 09:46:11 [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60292&oldid=60278 * A * (-4) /* List of candidates */ 09:50:43 [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60293&oldid=60292 * A * (+46) /* List of candidates */ 09:51:46 I think nominating your own language to be featured is rather poor form 09:53:03 [[Bitch]] https://esolangs.org/w/index.php?diff=60294&oldid=60277 * A * (-6) Remove what I commented 10:00:40 I nominate Real Fast Nora's Hair Salon 3: Shear Disaster Download for the best-named esolang 10:28:47 -!- cochain has joined. 10:28:54 -!- cochain has left. 10:51:27 -!- nfd has quit (Read error: Connection reset by peer). 10:53:20 -!- nfd9001 has joined. 11:27:58 -!- feeb has changed nick to dog_star. 12:24:45 -!- Lord_of_Life_ has joined. 12:26:58 -!- Lord_of_Life has quit (Ping timeout: 250 seconds). 12:26:59 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:30:30 7\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\rgft=v cfvgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg 12:33:11 https://i.redd.it/hc4zvr0obck21.png 12:55:52 -!- Essadon has joined. 12:56:23 -!- Essadon has quit (Max SendQ exceeded). 12:56:48 -!- Essadon has joined. 13:14:43 orin: child or cat? 13:38:45 hmm? 13:42:35 ... tab completion 13:42:43 orbitaldecay: child or cat? 13:42:49 orbitaldecay: sorry 13:42:51 ... 13:42:53 orin: sorry 13:55:15 -!- dog_star has changed nick to dogstar. 13:56:09 -!- dogstar has changed nick to dog_star. 14:32:02 [[Bitch]] https://esolangs.org/w/index.php?diff=60295&oldid=60294 * A * (+110) /* Continuation on the above by User:Helen (Implementing arithematic operations) */ 14:40:03 [[Bitch]] https://esolangs.org/w/index.php?diff=60296&oldid=60295 * A * (-429) /* Language Overview */ 14:49:22 [[Bitch]] https://esolangs.org/w/index.php?diff=60297&oldid=60296 * A * (+151) /* Continuation on the above by User:Helen (Implementing arithematic operations) */ 14:57:49 [[Bitch]] https://esolangs.org/w/index.php?diff=60298&oldid=60297 * A * (+173) /* Common Algorithms */ 15:00:38 [[Bitch]] https://esolangs.org/w/index.php?diff=60299&oldid=60298 * A * (+127) /* Continuation on the above by User:Helen (Implementing arithematic operations) */ 15:00:45 -!- orbitaldecay_ has joined. 15:01:38 [[Bitch]] https://esolangs.org/w/index.php?diff=60300&oldid=60299 * A * (+93) /* Incrementing */ 15:04:29 -!- orbitaldecay has quit (Ping timeout: 244 seconds). 15:05:53 -!- orbitaldecay_ has quit (Ping timeout: 245 seconds). 15:10:05 [[User talk:Helen]] N https://esolangs.org/w/index.php?oldid=60301 * A * (+126) Request help from User:Helen 15:13:22 [[Bitch]] https://esolangs.org/w/index.php?diff=60302&oldid=60300 * A * (+67) /* Continuation on the above by User:Helen (Implementing arithematic operations) */ 15:22:34 int-e: lol tabs 15:25:03 [[User talk:A]] https://esolangs.org/w/index.php?diff=60303&oldid=60279 * A * (-3) 15:53:02 bah we are movig ofices soon and i have to organize 16:04:57 -!- orbitaldecay has joined. 16:06:18 -!- orbitaldecay_ has joined. 16:09:07 -!- orbitaldecay has quit (Ping timeout: 240 seconds). 16:14:37 -!- orbitaldecay has joined. 16:16:27 𝔗𝔥𝔢 𝔑𝔢𝔴 𝔜𝔬𝔯𝔨 𝔗𝔦𝔪𝔢𝔰 doesn't use fraktur, they use a more readable blackletter font, does anyone know which one? 16:16:44 -!- orbitaldecay__ has joined. 16:18:27 -!- orbitaldecay_ has quit (Ping timeout: 240 seconds). 16:19:47 -!- orbitaldecay has quit (Ping timeout: 240 seconds). 16:20:38 -!- S_Gautam has joined. 16:22:27 -!- orbitaldecay_ has joined. 16:24:47 -!- orbitaldecay__ has quit (Ping timeout: 240 seconds). 16:28:28 -!- orbitaldecay_ has quit (Ping timeout: 246 seconds). 17:05:36 -!- AnotherTest has quit (Ping timeout: 250 seconds). 17:21:02 -!- LKoen has joined. 17:35:23 -!- AnotherTest has joined. 18:02:14 -!- LKoen has quit (Remote host closed the connection). 18:04:39 -!- LKoen has joined. 18:24:34 thing : thing.c 18:25:06 perhaps bonghits will fix my makefile 18:25:43 kmc: it turned out the make accidentally impossible to succeed 18:26:10 -!- LKoen has quit (Remote host closed the connection). 18:26:31 because, the perl script passed it the wrong arguments 18:26:58 because, the makefile that calls the perl script, had the wrong variable definitions 18:27:47 because, the shell script that calls the makefile was written wrong 18:27:49 -!- Phantom_Hoover has joined. 18:27:53 and it's my fault 18:28:10 d'oh 18:28:19 you should add more scripts 18:28:59 kmc: i am considering how a makefile can possibly check its arguments 18:30:18 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 18:30:53 AHA 18:38:19 i can put a bunch of ifdefs 18:40:38 and then set a variable like FAKE_VARIABLE = $(shell touch foo) 18:41:20 and then have foo as a prequisite for my rules, making the thing fail immediately instead of after 2 hours 18:57:57 -!- LKoen has joined. 19:09:12 https://www.unicode.org/mail-arch/unicode-ml/y2019-m03/0002.html 19:09:35 ^ guy seems somewhat pompous 19:09:43 -!- orbitaldecay_wor has joined. 19:09:56 [[Zahlen]] N https://esolangs.org/w/index.php?oldid=60304 * Orby * (+6997) Introducing Zahlen. Documenting binary operators. 19:19:05 hmm, how would one extract individual bits from a integer, individual integers from a list or set? 19:24:02 orin: many operations are yet undocumented. casting a logical to a list will create a bit vector 19:24:21 and there will be an explode operator for sets and lists 19:24:29 still working on the unary operators 19:25:57 I have it written out in a text file, but it's going to take some time to prettify it for the wiki 19:26:01 -!- orbitaldecay_wor has changed nick to orby_work. 19:26:28 wiki tables are cumbersome :( 19:26:52 -!- FreeFull has joined. 19:29:39 [[Zahlen]] M https://esolangs.org/w/index.php?diff=60305&oldid=60304 * Orby * (+47) 19:36:47 [[Zahlen]] https://esolangs.org/w/index.php?diff=60306&oldid=60305 * Orby * (+372) Expanding introduction. Adding more subsections. 19:40:28 It's actually quite interesting to think about the various ways one can usefully cast between a logical, integer, list, and set. A logical most obviously casts to a bit list, but when casting to a set you can think of a logical as an inclusion mask for the set (i.e. if bit i is set, then integer i is in S). 19:41:02 While an integer might just cast to a singleton set. 19:44:06 -!- MDude has quit (Read error: Connection reset by peer). 19:50:24 [[Works in progress]] https://esolangs.org/w/index.php?diff=60307&oldid=60230 * Orby * (+57) 19:53:38 -!- MDude has joined. 19:54:39 [[User:Orby]] M https://esolangs.org/w/index.php?diff=60308&oldid=60171 * Orby * (+92) Adding Zahlen to my language list 19:55:42 -!- orby_work has quit (Quit: Page closed). 19:57:55 -!- LKoen has quit (Remote host closed the connection). 20:12:28 heh, oerjan was right in 2012 20:48:11 -!- ais523 has joined. 20:48:43 could someone tell me if there's currently an Internet backbone dispute going on? many websites work fine for me, but many connections on port 80 get a "connected", followed by no response from the other end until the connection times out 20:48:55 and all the websites I normally check to see if there's an ongoing backbone dispute are in the latter group 20:49:23 so either something's gone badly wrong at my ISP, or else there's a rift in the Internet again, and I'm trying to determine which 20:52:55 @messages? 20:52:55 Sorry, no messages today. 20:53:57 -!- b_jonas has joined. 21:00:42 hi b_jonas 21:01:05 hi 21:01:52 currently struggling with a malfunctioning Internet connection, a sizeable minority of websites are failing (if I connect to them on port 80, the connection is accepted but the website never sends anything), I'm wondering if it's a backbone dispute or whether it's something at my ISP 21:02:32 the internet is working fine for me 21:02:52 oh, hmm, it just fixed itself 21:03:06 maybe a DNS crapout 21:03:08 ? 21:03:30 it could be some "transparent" HTTP proxy 21:04:00 orin: definitely not DNS, that's the first thing I checked 21:04:13 but it'll be hard to diagnose now that it's stopped 21:04:28 I was busy connecting to sites using telnet to port 80 to see what happened 21:06:01 https://www.youtube.com/watch?v=W_EfDSnToKY 21:08:54 and the failing sites just sent no response, even though the connection wasn't refused 21:10:47 orin: have you managed to implement a check for characters that look identical, or even for ones that look too similar? 21:17:01 b_jonas: not yet 21:18:28 b_jonas: I did manage to do it by simply dumping the characters and running sort over them 21:18:42 but an actual C++ olution would be better 21:19:08 orin: you can sort in C++ too, the library has a sort function 21:19:55 `olist 1158 21:19:55 olist 1158: shachaf oerjan Sgeo FireFly boily nortti b_jonas 21:20:17 o 21:27:47 -!- ais523 has quit (Ping timeout: 240 seconds). 21:46:18 intaanet-tobu shingusu! 22:20:02 -!- ais523 has joined. 22:30:53 -!- AnotherTest has quit (Ping timeout: 245 seconds). 22:42:33 ais523: Maybe packets were just being dropped hard en-route? 22:42:45 And TCP had to keep retrying? 22:42:53 FreeFull: yes, it's consistent with the packets being hard-dropped 22:43:04 although, would TCP report "connection established" before a single inbound packet was received? 22:43:16 ais523: Next time it happens, try pinging some IP and seeing how long the responses take, and how many get dropped 22:43:41 A connection definitely requires a bit of back and forth to be established 22:43:50 But it's possible the first few packets were always getting through for some reason 22:56:29 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60309&oldid=60287 * Cortex * (+763) 22:57:30 [[Truth-machine]] https://esolangs.org/w/index.php?diff=60310&oldid=60290 * Cortex * (+63) 23:06:25 https://twitter.com/sokane1/status/1103421841505505280 23:06:40 Trump called him "Tim Apple" 23:07:01 Tim Apple, and his friends Satya Microsoft and Sundar Google 23:07:46 orin: hellorin 23:08:01 have you considered putting all your c++ files into one compilation unit to make the build faster hth 23:08:12 itim translation unit 23:10:10 shachaf: we can't even fit the list of c++ files into a single command line 23:10:40 I don't thing even a tenth of it would fit in memory at once 23:11:21 imo make your builds fast 23:11:25 then you'll be less miserable 23:13:27 Have all your developers sync to last green of a CI build, then you can cache compilation artifacts. 23:14:10 continuous integration is the worst name 23:14:24 integration already sounds like the math 23:14:37 and the word "continuous" seems to settle the matter unambiguously 23:14:44 d e v o p s 23:28:32 fizzie: lol compilation artefacts 23:28:50 fizzie: this thing compiles the same files multiple times for some reason 23:29:28 orin's build system is just a disaster, is the background behind all this 23:29:45 and orin inc. would rather have builds take 12 hours than fix it 23:30:51 On the other hand, "orin inc." sounds pretty snappy. Financial, maybe. 23:32:57 -!- LKoen_ has joined. 23:37:06 -!- xkapastel has joined. 23:51:56 -!- arseniiv has quit (Ping timeout: 255 seconds). 23:53:04 -!- Phantom_Hoover has quit (Remote host closed the connection). 2019-03-07: 00:15:53 ais523: yesterday orin mentioned that he tried to do a git rebase, but git hung in some infinite loop or took too long. we don't know what he did wrong. 00:16:26 using a version system where rebases are sometimes required :-P 00:17:55 ais523: cherry-picks for rebases are useful IMO in a distributed version control system, because they allow me to use the vcs myself in any way I want in a private branch, and later clean up and publish it the way the leader of the project wants 00:18:17 if I can't do that, I have to end up using two repositories of potentially two different vcses in some ugly way 00:18:44 well, in Thicket (the VCS I'm planning, it's a more-practical version of Scapegoat), eveything is automatically rebased as far back in history as possible 00:18:47 I don't do actual rebases, because changing branches that way is confusing to me, I simply create a branch with a new name 00:18:58 so rebasing isn't a meaningful operation, as it would be a no-op 00:19:31 ais523: um, but sometimes there are conflicts resolved manually 00:19:45 so I can want to rebase a branch mostly automatically, but resolve some conflicts 00:19:57 whether it's conflicts the vcs can detect or semantic ones that it can't detect 00:20:16 you can add conflict resolutions manually if required 00:20:31 heck, if you rebase everything as far as possible, it will mostly be semantic conflicts 00:20:49 a good VCS would be able to detect semantic conflicts too, I think 00:21:02 I don't really understand how "rebase as far as possible" means though 00:21:42 ais523, well if it's moved as far back as possible 00:21:59 what happens if the rebase gets moved so far back the text merges fine, but it doesnt compile 00:22:04 b_jonas: so in Git, normally each commit is the parent of the one before 00:22:22 but that's not normally what you actually want, because it adds a lot of false dependencies 00:22:36 so ideally a VCS should parent each commit to the most recent commit that's actually needed for the new commit to work 00:22:44 what? 00:22:55 "the each commit is the parent of the one before" -- isn't that time travel? 00:23:29 err, each's commits parent is the one before 00:23:40 (although Git totally allows commits to be parented out of order) 00:24:00 yeah, I know. it keeps the date when you cherry-pick a commit 00:24:23 the problem is that you can't tell when anything was committed 00:24:25 anyway 00:24:36 I like having commits have a parent as late as possible 00:24:45 because then you have intermediate versions that are known to work and tested 00:24:51 well, as much as you actually test them at least 00:25:03 if you rebase stuff back, it gets impossible to get known working states, or even suspected working states 00:25:03 b_jonas: see, I think git's big mistake here is confusing a patch/diff, and a snapshot/version 00:25:04 -!- Lord_of_Life_ has joined. 00:25:08 the two concepts should be separate 00:25:19 you can record the known working states, but you should do so separately, rather than tying them to individual diffs 00:26:41 right, but I like how the snapshot is the important concept, and I record snapshots primarily, as I do in svn 00:27:08 I don't like that because it makes it impossible to take parts of a repository out of order 00:27:26 if you cherry-pick from a repo, you can't subsequently merge that repo, without git attempting to apply some of the changes twice 00:27:28 and the diffs between a snapshot and its parents come in only in order to not apply any diff twice when you merge two branches that share some diffs 00:27:45 (git has a workaround for this, detecting duplicated patches and not applying them, but it's not a general-purpose one) 00:27:46 you can't in git, but you can in svn 00:28:03 because svn (starting from 1.7 or something) records which diffs have been merged on each file 00:28:07 -!- Lord_of_Life has quit (Ping timeout: 240 seconds). 00:28:08 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:28:16 b_jonas: that's the correct way to do it 00:28:23 yes 00:28:30 so in that respects, diffs are needed 00:29:11 and they can be cherry-picked backwards or forwards, and if used correctly (which is sometimes hard), the individual diffs will keep their identity 00:29:50 sadly this is what's hard to make work in the hypothetical extension I've been thinking, where I try to make a distributed vcs layer over svn 00:30:15 because then you can have the same diff from a private branch come into the public repo as two separate identities 00:31:27 even without a distributed vcs, the svn system isn't perfect, it probably can be improved 00:31:55 and yes, maybe it should be improved in a direction where the diffs are more important 00:32:02 which might be what hg is trying to do, I don't really understand 00:32:24 hg is crazy because it apparently tries to have multiple paradigms, and it's not even clear to me if that's only for historical reasons 00:44:14 I wonder who'll become the new high priest of The Dark One when Redcloak is killed in the seventh book of OOTS. 00:47:26 Jirix, perhaps? but I doubt Redcloak will die permanently, given that the plot seems to require a 17th-level cleric of the Dark One alive 00:47:31 it's possible that he dies and gets resurrected 00:57:57 -!- nfd9001 has quit (Ping timeout: 245 seconds). 01:03:00 -!- nfd9001 has joined. 01:09:37 ais523: Jirix is way over in Gobbotopia, though I guess Xykon can teleport and is interested in having a high priest of TDO 01:11:14 yeah, I guess you're right, they'll have to actually cast a 9th level spell, so it's not so easy to just get a replacement 01:14:51 but I'm not sure there's a deadline on that. as long as they can even get TDO to talk to the other gods, and the new goblin leader not want to use the Dark One's original plan, the gods could wait 01:15:42 -!- oerjan has joined. 01:22:58 Outlandish GG theory: this is Violetta <-- that is indeed pretty outlandish 01:24:46 -!- b_jonas has quit (Quit: leaving). 01:26:27 I think nominating your own language to be featured is rather poor form <-- i'm not sure A is Helen. maybe ais523 could check? (or already did.) 01:27:18 * oerjan pretty much assumes he'll regret not finishing the logs first 01:30:14 and it's my fault <-- on the bright side, sounds like you could make a nerdy children's song out of it 01:31:16 . o O ( nerdery rhyme? ) 01:32:31 apparently someon made a book of those 01:32:33 *+e 01:34:38 heh, oerjan was right in 2012 <-- unlike these days, i mean, about what? 01:35:00 (GG? in which case i may have forgotten exactly what i said.) 01:49:42 oerjan: I don't think A is Helen, but if you think checking is a good idea, I'll check 01:49:54 should I? 01:50:54 ais523, wait, how do we know that Redcloak will die? 01:50:54 fwiw, I'd be reluctant to feature any language with an attempted TCness proof by A unless someone else had first corrected all the mistakes in it :-D 01:51:23 Sgeo: we don't, b_jonas seems to think he will for some reason, I don't think there's much evidence for that though 01:55:57 i was wondering if b_jonas was spoilering 01:56:33 he does seem to have a habit of presenting theories of what will happen in fiction as fact 01:57:00 -!- adu_ has joined. 01:57:21 ais523: ok if you don't think so. i didn't have a strong impression. 01:57:49 all agree on the TC proof, although i may be too lazy to do anything like that 01:57:59 -!- LKoen_ has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 01:59:02 (i'd have to like read it...) 01:59:34 also i want redcloak to have a happy ending :( 02:00:15 i suppose that's not entirely in conflict with dying in that universe 02:01:30 I tried to read it, and came out with no more understanding than when I'd started 02:01:43 i am not surprised 02:03:16 I like the way the proof starts by saying the language probably isn't TC 02:03:42 hmm, maybe it isn't meant to be a TC proof? I think an earlier revision said it was but A may have changed eir mind? 02:04:13 This picture is TG: https://cdn.discordapp.com/attachments/465999263059673088/553008336220717066/cmj2.jpg 02:05:43 fwiw, this language looks fairly easy to write a TCness proof or disproof for 02:06:15 shachaf: I was browsing a maths journal at the university library's "new issues" desk once, and it had an indecipherable diagram right after the ToC, with the caption: "Fig. 1: A fascinating picture." 02:06:41 Good thing this diagram makes perfect sense. 02:07:03 AFAICT, every instruction it has can be implemented in 1-bit-wrapping BF, and all the instructions of 1-bit-wrapping BF exist in it, except that a) it has instructions to zero everything to the right of the tape and b) the only conditional checks whether everything to the left of the tape is 0 02:07:22 that probably means the language is a PDA, unless there's some way to sneak data storage into it that I've missed 02:07:29 I'm sure the fascinating picture made sense as well, it just needed a little more context than that one. 02:10:09 actually, hmm, you can do things like left-shift the accumulator by its own bitwise complement, which might give a method of storage 02:10:33 also, the interpreter only has 32 bits of accumulator and 32 bits of storage, which is obviously sub-TC, but I'm guessing that's just an interpreter issue 02:11:07 -!- adu_ has quit (Quit: adu_). 02:11:40 -!- Blacksilver has joined. 02:12:13 err, 64, not 32 02:12:15 still 02:12:30 -!- Essadon has quit (Quit: Qutting). 02:12:38 -!- ais523 has quit (Quit: quit). 04:02:06 -!- Blacksilver has quit (Ping timeout: 252 seconds). 04:05:35 -!- xkapastel has quit (Quit: Connection closed for inactivity). 04:07:00 -!- FreeFull has quit. 04:20:58 -!- danieljabailey has joined. 04:26:32 -!- bobby has quit (*.net *.split). 04:26:32 -!- zzo38 has quit (*.net *.split). 04:26:32 -!- izabera has quit (*.net *.split). 04:30:02 -!- Vorpal has quit (Ping timeout: 255 seconds). 04:31:35 -!- Vorpal has joined. 04:31:35 -!- Vorpal has quit (Changing host). 04:31:35 -!- Vorpal has joined. 04:53:37 -!- bobby has joined. 04:53:37 -!- zzo38 has joined. 04:53:37 -!- izabera has joined. 05:41:13 https://imgur.com/qUxvk2I 05:41:37 Stellaris just... naturally seems to cause stupid borders now 05:44:32 I think i'm finally getting the hang of the new new stellaris 06:36:13 [[User talk:Helen]] M https://esolangs.org/w/index.php?diff=60311&oldid=60301 * Oerjan * (+38) unsigned 07:30:25 -!- nfd has joined. 07:33:37 -!- nfd9001 has quit (Ping timeout: 255 seconds). 08:08:50 -!- arseniiv has joined. 09:10:38 oerjan: ah, I assumed because A's been editing the page for Bitch a lot 09:12:36 yeah 09:18:04 Aren't they the same person? 09:27:30 oerjan: 2012: https://en.wikipedia.org/wiki/Talk:Malbolge#Referenced_in_popular_culture 09:27:35 shachaf: Helen seems more competent to me 09:28:57 int-e: you mean someone admitted to copying it from wikipedia? 09:29:09 (I picked up a DVD box a couple of days ago... it looks to me like some poor soul was tasked with manually copying the hello world program (no longer on the english wikipedia page either; it's been replaced there by a shorter one...) on a typewriter. First change is replacing a ~ by a -; later on there are more typos, and it got cut off at the end. 09:29:42 aha 09:29:43 oerjan: No, but it's clearly the same program that was on wikipedia at the time, modulo typos and cutoff. Just as you wrote. 09:30:46 So... why was there a malboge program in Elementary 09:31:34 Because Holmes of course recognizes the programming language and then sends it off to an expert who can actually read it. They come back with some formula ("algorithm"). 09:32:19 I see 09:34:29 -!- AnotherTest has joined. 09:42:24 * oerjan was secretly hoping it was about Girl Genius and that he'd somehow predicted what's currently happening :P 10:10:53 oerjan: you may have but I'm usually not remembering much of what happened 6-7 years ago :) 10:12:00 hey i didn't i knew _what_ i had predicted :P 10:12:07 something with dimensions, i presume 10:12:12 *didn't say 10:13:33 int-e: you say that now, but when i read "oerjan was right in 2012" it sounded like you expected me to :) 10:13:40 sure... this is looking increasingly like time travel may actually be going to have happened real soon now, meantime, years ago. 10:14:02 oerjan: Yeah it was cruel bait. I admit it. I'm a bad person. 10:14:30 * oerjan swats int-e -----### 10:15:50 (I don't really know when we "heard" all those stories about sightings of what's likely Lucrecia traveling through time.) 10:16:26 albia said when she met lucrezia way back, her mind was shattered. i wonder if she had too much contact with these madness-inducing dimensions 10:16:43 But we finally meet somebody who's actually confused about time, so that's progress. What's up with Prede[sp?]'s Lantern though? 10:17:00 oh right the lantern 10:17:07 *prende 10:17:15 thanks 10:18:07 confused and confusing 10:19:17 time travel and foreign languages will do that to you 10:20:31 ("time travel" may not be happening; the idea of beings that span a large interval of time *and* space isn't exactly new) 10:22:18 i probably should start approaching bed -> 10:22:27 -!- oerjan has quit (Quit: Nite). 10:22:44 can i use 2/pi * atan(x) as my activator function? 10:22:47 Hmmm. xkcd makes me confused about left and right... are we staring at a mirror? are we looking at the person from behind? is it a mirror image of a photograph taken from the front? 10:22:57 izabera: I'm not going to stop you 10:23:07 yeah but is that a reasonable choice? 10:23:28 int-e: I think we're looking at the person from the front? 10:23:40 The blue rectangle is their right. 10:24:17 shachaf: oh, I think I misattributed an arrow tip. :) 10:24:33 izabera: Wikipedia suggests that atan on its own works 10:24:53 Puzzle: Why do mirrors flip things left-right and not up-down? 10:25:03 shachaf: yeah I love that one 10:25:08 sure, i just wanted to scale it between -1 and 1 10:25:55 is there a website to determine if my unicode implementation supports X and Y features? e.g. the new heiroglyphics features 10:26:23 shachaf: thinking about it, how about using ceiling mirrors as a hint? :P 10:26:29 Hard mode puzzle: How do i free the creatures from inside the mirror realm? 10:26:49 It sounds like a silly puzzle at first -- the obvious answer is that mirrors flip front-back -- but it took me surprisingly long to come up with an answer I was happy with. 10:27:38 shachaf: I agree, that's the easy bit. You need psychology for explaining the idea that mirrors swap left and right. 10:28:02 Or some silly geometry (orientation...) 10:29:38 Here's the visualization I was happy with: 10:30:22 Gnxr n genafcnerag cvrpr bs tynff naq jevgr fbzr grkg ba vg. Abj ubyq vg va sebag bs n zveebe. Obgu gur tynff grkg naq gur zveebe grkg ner ernqnoyr naq hasyvccrq. Abj cnvag bar fvqr bs gur tynff bcndhr -- lbh pna'g frr vg va gur zveebe nalzber. Gb frr vg va gur zveebe, lbh arrq gb ebgngr vg 180°, naq lbh pna pubbfr jurgure gb ebgngr vg yrsg-evtug be hc-qbja. 10:30:53 (If you haven't seen this puzzle before you should think about it first! It's TG.) 10:37:23 I prefer the explanation that jura lbh frr lbhefrys va gur zveebe, naq lbh envfr lbhe yrsg unaq, gur zveebe vzntr envfrf gurve evtug unaq. Ol pubbfvat n crefba sbe ersrerapr, fjnccvat hc naq qbja orpbzrf n evqvphybhf bcgvba; fjnccvat yrsg naq evtug (ol n 180 qrterr ebgngvba-ersyrpgvbaf ner uneq gb cresbez ba culfvpny bowrpgf) vf gur angheny pubvpr jura gelvat gb gnxr gur zveebe vzntr'f cynpr. 10:51:41 Right, because you have horizontal symmetry. 11:02:06 -!- xkapastel has joined. 11:27:04 [[User talk:Helen]] https://esolangs.org/w/index.php?diff=60312&oldid=60311 * A * (-164) No reply! Revert edit. 11:28:17 [[Bitch]] https://esolangs.org/w/index.php?diff=60313&oldid=60302 * A * (-612) Non-implemented algorithms will be useless. 11:54:27 -!- MDude has quit (Ping timeout: 240 seconds). 12:19:45 -!- MDude has joined. 12:27:32 -!- Lord_of_Life has quit (Ping timeout: 245 seconds). 12:30:19 -!- Lord_of_Life has joined. 12:45:51 -!- wob_jonas has joined. 12:46:36 Sgeo: it's possible that he won't die. I'm only sure that Xykon has to be destroyed; whether Redcloak dies is still open. 12:48:48 But it's still worth to know who's next in succession, because Durkon has a mission that requires a high-level priest of the Dark One with knowledge of the Snarl, which pretty much means only the high priest with the Mantle because otherwise it's kept a secret, 12:49:23 so if the mission proves to be impossible with Redcloak, the order may be forced to kill or incapacitate Redcloak in hopes that the next high priest will be more reasonable. 12:50:16 However, it's also quite possible that Redcloak will simply go down in the fight to protect Xykon and the plan, or die when he takes revenge on the Order for destroying Xykon. 12:51:45 -!- danieljabailey has quit (Ping timeout: 252 seconds). 12:53:05 " it looks to me like some poor soul was tasked with manually copying the [Malbolge] hello world program" => 12:54:20 the hungarian translations of the K&R book (ANSI edition) have lots of typos like that. they were published before the digital typesetting age, so it was typeset by a professional typesetter who was very diligent, but apparently doesn't know much about programming. 12:58:41 " Puzzle: Why do mirrors flip things left-right and not up-down?" => I don't think they actually do that. The seem to flip things or not randomly in any direction. At least they always manage to confuse me whenever I try to do anything by observing my body through a mirror, \ 12:59:01 it often takes multiple failed tries to figure out what direction something is in reality even if I can see it in the mirror. 13:00:47 That mirrors flip only left and right seems like the conventional wisdom that people repeat because they read it in books, without actually paying attention and experimenting with an actual mirror. 13:21:40 -!- tromp has quit (Remote host closed the connection). 13:55:44 -!- tromp has joined. 14:00:28 -!- tromp has quit (Ping timeout: 245 seconds). 14:29:27 -!- xkapastel has quit (Quit: Connection closed for inactivity). 14:55:34 -!- Melvar has quit (Ping timeout: 250 seconds). 14:56:00 -!- Melvar has joined. 14:58:48 -!- fmease has joined. 15:03:02 -!- fmease has left ("User left"). 15:04:07 ais523: in M:tG, apparently there are over a dozen rares with an ability similar to "you may spend mana as though it were mana of any type cast that spell". Half of them say "any type" and half "any color", which was a nonexistant distinction until OGW. 15:06:07 But the distinction is preserved from whatever was in fashion when the card was first printed, to keep the oracle text more guessable. That much makes sense. But then why didn't they make False Dawn work like its odd printed text with respect to devotion/chroma? 15:08:23 `? Dead Man's Chest 15:08:25 Dead Man's Chest? ¯\(°​_o)/¯ 15:32:36 -!- MDead has joined. 15:32:47 -!- MDude has quit (Ping timeout: 240 seconds). 15:32:53 -!- MDead has changed nick to MDude. 15:39:27 -!- MDead has joined. 15:41:05 -!- MDude has quit (Ping timeout: 268 seconds). 15:41:11 -!- MDead has changed nick to MDude. 15:41:14 -!- tromp has joined. 15:45:40 -!- tromp has quit (Ping timeout: 246 seconds). 15:45:57 -!- MDead has joined. 15:47:25 -!- MDude has quit (Ping timeout: 246 seconds). 15:47:32 -!- MDead has changed nick to MDude. 15:49:48 -!- orby_work has joined. 15:49:53 greetings all 15:51:44 -!- olsner has joined. 15:52:21 -!- MDead has joined. 15:54:04 -!- MDude has quit (Ping timeout: 250 seconds). 15:54:06 -!- MDead has changed nick to MDude. 15:58:56 -!- olsner has quit (Quit: ZNC - http://znc.in). 16:04:46 -!- olsner has joined. 16:48:19 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 17:12:08 -!- tromp has joined. 17:21:54 -!- LKoen has joined. 17:58:07 [[Zahlen]] https://esolangs.org/w/index.php?diff=60314&oldid=60306 * Orby * (+2959) Introducing unary operators. 17:59:51 [[Zahlen]] M https://esolangs.org/w/index.php?diff=60315&oldid=60314 * Orby * (+16) /* Types */ fixing typo 18:01:32 [[Zahlen]] M https://esolangs.org/w/index.php?diff=60316&oldid=60315 * Orby * (+0) /* Factor */ 18:18:51 -!- LKoen has quit (Remote host closed the connection). 18:32:33 [[Special:Log/newusers]] create * Pidot * New user account 18:36:24 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60317&oldid=60280 * Pidot * (+186) 18:40:23 -!- Phantom_Hoover has joined. 18:40:23 -!- Phantom_Hoover has quit (Changing host). 18:40:23 -!- Phantom_Hoover has joined. 18:45:59 [[Zahlen]] https://esolangs.org/w/index.php?diff=60318&oldid=60316 * Orby * (-96) /* Length */ 18:47:47 shachaf : hm, what was similar to the mode thing i was talking about ? something about linear something ? 18:48:40 also, which linear Prolog thing ? Lolli ? Lygon ? Forum ? something else ? 18:58:54 -!- LKoen has joined. 19:01:43 -!- LKoen has quit (Remote host closed the connection). 19:01:50 ski: I don't remember, what was the context? 19:01:51 -!- LKoen has joined. 19:02:04 [[Zahlen]] https://esolangs.org/w/index.php?diff=60319&oldid=60318 * Orby * (+1034) Adding miscellaneous operators 19:06:02 [[Zahlen]] M https://esolangs.org/w/index.php?diff=60320&oldid=60319 * Orby * (-80) /* Concatenate */ 19:06:19 -!- b_jonas has joined. 19:16:00 i dunno. you mentioned it a little over a month ago (on this channel) 19:18:39 (" ski: Seems similar to the mode thing you were talking about the other day, though I think that's not linear.", then after two days " ski: What do you think of this linear Prolog thing?") 19:19:13 Oh. 19:36:55 ski: Right, I think it's something weaker than preadditive. 19:37:14 what is ? 19:37:56 Whatever this category is, if there is one. 19:38:28 It's like how Rel is a free module over a boolean semiring, or something like that. 19:43:03 [[Zahlen]] https://esolangs.org/w/index.php?diff=60321&oldid=60320 * Orby * (+290) Cleaning up. 19:43:38 [[Zahlen]] M https://esolangs.org/w/index.php?diff=60322&oldid=60321 * Orby * (-76) /* Concatenate */ 19:54:00 is it unprofessional to call my new git branch "oren-hates-git" 19:54:12 -!- S_Gautam has joined. 19:54:34 doing it anyway, I have good reason to 19:55:13 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 19:57:35 I would like to use more advanced TTF features but there is scant documentation for the ttf hinting language 20:01:31 orin: no, it's not unprofessional, as long as it's in a private repository, and you don't publish it under that name 20:02:35 it's a feature branch to replace the one that isn't working 20:03:27 -!- S_Gautam has changed nick to siddharth. 20:03:37 my pervious feature branch can't be rebased without hanging forever 20:03:48 -!- siddharth has changed nick to S_Gautam. 20:07:49 what language is git written in anyway? 20:08:16 mostly C 20:08:47 with some light unixisms 20:10:29 [[Special:Log/newusers]] create * Fmease * New user account 20:12:06 i'm wondering if my old feature branch was so borked it caused git to go into an infinite loop 20:12:33 I left it chugging for 24 hours before I decided it was doomed 20:16:12 `? fish 20:16:14 Come and dance and love the fish! Mister Disco summoned it. 20:27:25 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60323&oldid=60317 * Fmease * (+289) /* Introductions */ 20:28:45 [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=60324&oldid=60323 * Fmease * (-82) Fix my signature 20:48:42 [[Brainfuck]] https://esolangs.org/w/index.php?diff=60325&oldid=60251 * Cortex * (+103) /* Cat */ 20:52:33 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60326&oldid=60309 * Cortex * (+60) 20:56:47 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60327&oldid=60326 * Cortex * (+76) 21:50:26 -!- FreeFull has joined. 22:08:21 -!- Remavas has joined. 22:28:23 -!- arseniiv has quit (Ping timeout: 245 seconds). 22:33:53 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 22:42:17 -!- Remavas has quit (Read error: Connection reset by peer). 22:47:00 [ _1*180%8 22:47:00 b_jonas: _22.5 22:47:39 -!- xkapastel has joined. 23:36:27 -!- AnotherTest has quit (Ping timeout: 240 seconds). 23:50:05 -!- oerjan has joined. 23:55:15 `learn Heiroglyphics are an ancient set of symbols used for writing last wills and testaments. 23:55:17 Learned 'heiroglyphic': Heiroglyphics are an ancient set of symbols used for writing last wills and testaments. 23:56:10 took me a while to figure that one out 23:56:19 *MWAHAHAHA* 23:56:37 i was expecting it to be a spoken pun rather than a written pun 23:56:42 despite being written rather than spoken 23:56:52 `5 w 23:56:54 1/2:lie//Lies are even easier than monoids. They form groups, known as Lie groups. \ fternoon//Fternoon is the time of day when the Danes usually eat their fternooners. \ `5//`5 is equivalent to repeating `` 5 times, then splitting the output into irc-sized pieces. defaults to "quote". See `1, `4 and `spam. Confusingly _not_ the obvious generalization of `2. \ `learn//`learn creates a wisdom entry and tries to guess which word is 23:56:57 `n 23:56:57 2/2:the key. Syntax (case insensitive): `learn [a|an|the] [s][punctuation] [...] \ `hoat//`hoat: See `hoag 23:57:16 `? `spam 23:57:17 ​`spam prints the nth output piece of the previous `1, `2, `4, `5, sport or spore command. n defaults to the next piece to display. Abbreviation: `n. 23:57:23 `? `n 23:57:24 ​`n is an abbreviation for `spam. 23:57:28 `? `4 23:57:29 ​`4 is equivalent to `5 , except that it only repeats 4 times. Useful when you've already run a command forgetting to use `5. 23:57:35 `? `1 23:57:36 ​`1 is equivalent to `` , except that it splits the output into irc-sized pieces. The next pieces can be viewed with `spam. See also `2. Confusingly the obvious generalization of `4. 23:57:45 `? `2 23:57:47 ​`2 is equivalent to `1 , except that it starts displaying the _second_ output piece. Useful when you've already run a command forgetting to use `1. 23:57:52 `? `3 23:57:53 ​`3 is the obvious generalization of `2 or `4, trying too hard to confuse everyone. 2019-03-08: 00:00:34 -!- Phantom_Hoover has quit (Remote host closed the connection). 00:15:30 `? lie group 00:15:31 lie group? ¯\(°​_o)/¯ 00:16:33 `? gianni schicchi 00:16:34 gianni schicchi? ¯\(°​_o)/¯ 00:16:40 `? Gianni Schicchi 00:16:41 Gianni Schicchi? ¯\(°​_o)/¯ 00:17:28 -!- b_jonas has quit (Quit: leaving). 00:28:07 -!- Lord_of_Life has quit (Ping timeout: 240 seconds). 00:30:02 -!- Lord_of_Life has joined. 00:32:38 `le/rn lie group//Lie groups are groups that try being too smooth for their own good. 00:32:40 Learned 'lie group': Lie groups are groups that try being too smooth for their own good. 00:33:11 smooth operator 01:42:04 is there a way to link to a webpage while also injecting a custom stylesheet 01:42:13 some of these ham websites are painfully bad 01:42:20 otoh, they don't tend to contain 800 MB of JavaScript 01:45:40 well, you can at least run a javascript: url after loading it 01:57:06 -!- theology has joined. 01:57:18 cat. 01:57:19 -!- theology has left ("Leaving"). 01:58:19 true 02:56:20 -!- FreeFull has quit. 02:58:13 orin : "oren-hates-git" -- perhaps you should be friends with JordiGH (works on Octave, iirc. is often in #emacs, and at least sometimes in ##math) 02:59:09 hm, would `Rel' rather be the categories of modules (or "modules" ?) over the boolean semi-ring ? 02:59:28 (or maybe all of them are free ?) 03:00:29 * ski has pondered covariant vs. contravariant powerset functor a bit, doesn't seem to really get it yet, though 03:01:03 The covariant one is weird. 03:02:16 afaiu, it's about to ⌜{f(x) | x ∈ S}⌝, iow (direct / existential) image 03:07:35 [[Brainfuck]] https://esolangs.org/w/index.php?diff=60328&oldid=60325 * Ais523 * (-103) Undo revision 60325 by [[Special:Contributions/Cortex|Cortex]] ([[User talk:Cortex|talk]]): we probably don't need an alternative program that's slightly broken; if it's the length you care about, ",[.>,]" is the same length and actually works 03:12:00 if the covariant is ⌜℘⌝, and the contravariant is ⌜(Ω ←)⌝, then "Sets for Mathematics" (Lawvere,Rosebrugh) talks some about a weird ⌜(Ω ←)² ⟵ ℘⌝, that they write with an integral sign. uncurrying, we get ⌜Ω A ⟵ ℘ A × (Ω ← A)⌝ which expresses whether there's any overlap between a "covariant subset" and a "contravariant subset" 03:16:31 (in ⌜Rel⌝, ⌜Ω ⟵ A⌝ would correspond to ⌜ɪ ⟵ A⌝, where ⌜ɪ⌝ is the neutral element for the tensor, namely the singleton set. then ⌜Ω ← A⌝ is the object that corresponds to "names" of relations in ⌜ɪ ⟵ A⌝, while ⌜℘ A⌝ is the object that corresponds to "names" of relations in ⌜A ⟵ ɪ⌝, and then this "overlaps?" operation ist just composition in ⌜Rel⌝ (and converting back to an element of ⌜Ω⌝)) 03:16:59 btw, this operation is a normal natural transformation, nothing weird there 03:17:57 (er .. sorry, i said we get ⌜Ω A ⟵ ℘ A × (Ω ← A)⌝, but obviously i meant we get ⌜Ω ⟵ ℘ A × (Ω ← A)⌝ ..) 03:18:47 otoh (as i mentioned briefly in #haskell), there is a conversion ⌜(Ω ← A) ⟵ ℘ A⌝, which is a *dinatural* transformation, because it's of "mixed type" 03:19:07 (dinatural in ⌜A⌝, obv. ..) 03:19:58 if we uncurry this, we get ⌜Ω ⟵ A × ℘ A⌝, which is just our only friend, the membership predicate ⌜∈⌝ 03:23:16 -!- fractal has quit (Ping timeout: 244 seconds). 03:23:16 -!- ATMunn_ has quit (Ping timeout: 244 seconds). 03:23:25 -!- ATMunn has joined. 03:25:16 while, the other direction ⌜℘ A ⟵ (Ω ← A)⌝ ought to correspond to the general (set) comprehension (sans (direct) image notation, as above), so just ⌜{x : A | χ x = ⊤}⌝, or ⌜{x : A | χ x}⌝ for short (where ⌜χ x⌝ is typically thought of some expression ⌜⋯x⋯⌝ (possibly) depending on ⌜x⌝. cf. this comprehension with plain ⌜λ x ↦ ⋯x⋯⌝) 03:28:26 (oh .. and i really wonder why ends and coends are written using integral notation. maybe cooends could be thought of as "sums" if you squint, but ends !?) 03:29:41 (also, is there a notion of taking the exponential of the integral of the log of an integral, getting some kind of "continuous product", if integral is to be "continuous sum" ? .. and would this be related to logarithmic differentiation ?) 03:29:55 (er, of the log of an integrand) 03:32:29 (the book seemed to suggest that the integral notation for the "overlaps" functor would be somehow related to "ordinary" integrals, with a bounded ("bornological") integration domain (subset), and the integrand being otoh continuous) 03:33:13 (apparently "open subsets" is contravariant (not much surprise), while "bounded subsets" is covariant) 03:36:18 hm, another perhaps related thing. an element of a free module (or vector space) can be written as a "formal" (finite / with finite support) sum over scalar coefficients scaling the basis elements (the elements of the starting set we're "freeing") 03:37:26 (or, if we're proving that a given module / vector space has a basis, we'd pick a family of elements of the space, and index the coefficients with the same index set) 03:42:06 -!- fractal has joined. 03:45:24 so, at least for finite-dimensional, you can apparently think of this as a sum (/ "existential" / coend) over the tensor of two functors from ⌜FinSet⌝ to the ring (considered as an abelian(?) category), respectively to ⌜Set⌝, the former *covariant* (using the sums in the ring to model nondeterminism with direct / existential images), .. 03:45:38 .. while the latter (familiarly) would be contravariant (as per inverse image, which is precomposition on the classifying morphism), no nondeterminism of ⌜Ω⌝ needed here 03:48:17 .. also the monoid ring construction is also *covariant* in the monoid (also using ring nondeterminism. convolution on the monoid elements, which works because everything is finite support) 03:48:56 sorry, should be commutative monoids 03:49:47 this construction yields the familiar polynomial rings, if you take the monoid to be the free monoid (over the set of indeterminates, then) 03:50:10 (so convolution gives the usual rule for polynomial multiplication) 03:52:35 .. however, i was wondering about "formal power series", where you scrap the finite support in the sums. if you want to generalize that to a not necessarily free monoid, it seems that, for it to be well-defined, the (still commutative) monoid needs to have the property that every element can be decomposed into "two parts" in finitely many ways 03:54:49 (perhaps the monoid ring works out with a non-commutative monoid (and non-commutative ring) as well, as long as when you interpret it, with "evaluation" (application / substitution), the ring among where you select values for the indeterminates commutes with the coefficient ring ..) 03:59:08 (.. in general, when you interpret a polynomial, you don't need to pick the indeterminate values from the coefficient ring. you could pick them from a super ring (e.g. a (say commutative) subring of square matrices / linear endotransformations. we can embed the scalars as scalings of the identity. or you don't even need the translation to be an inclusion (injective). but probably more theorems fail then) 04:06:48 (so, a polynomial ring over a coordinate ring ⌜R⌝ is the free "ring under ⌜R⌝" (living in the coslice category wrt ⌜R⌝ / the category of rings under ⌜R⌝, being those with a designated extra structure for interpreting the elements of ⌜R⌝ in each ring in the category. (you can always do this for ⌜ℤ⌝, so "free ring over a set" is just polynomial ring with integer coefficients)) 04:10:00 (hm, there's probably some relation of ⌜ℤ⌝ to neutral element of tensor here ..) 04:10:37 (recall that an abelian group is a module over ⌜ℤ⌝) 04:17:54 (.. i wonder whether the monoid ring construction can be thought of as a free construction .. or at least as an adjoint. i've also pondered, a little, more explicit constructions of polynomial rings. one is the CPS-like encoding ⌜R ← (R ← X)⌝, where ⌜X⌝ is the set of indeterminates. so, given a valuation (value environment) giving values for all indeterminates, we get a corresponding value for the polynomial ..)) 04:22:43 (.. but this presumably needs to be restricted in some way (possibly restricting one or both arrows to functions that respect some structure), otherwise we could express non-polynomials in this way) 04:25:29 (anyway, we should have ⌜∀ S. S ← (S ← X)⌝ rather, where ⌜S⌝ is an arbitrary ring "under" ⌜R⌝, so that we can interpret the coefficients in ⌜R⌝ in this ring (often a superring) ⌜S⌝. now pure CPS shows even more :) 04:29:56 (still, there's another representation, ⌜R ← (ℕ ← X)⌝, where both arrows should be restricted to finite support (think `Map'), which makes them *covariant* in the domain, afaiui. each value in ⌜ℕ ← X⌝ (the free commutative monoid over ⌜X⌝, recall ⌜ℕ⌝ is free (commutative) monoid over singleton) would be a combination of exponents, for each indeterminate (but with finite support, so only finitely many with non-zero exponent)) 04:34:31 (then, the other arrow having finite support means that we only consider assigning to *finitely* many such "monomials", a coefficient in ⌜R⌝. and if we wanted to, we could "expand" this as before, into ⌜∀ S | S ⟵ R. S ← (ℕ ← X)⌝, but that's actually the same thing as plain ⌜R ← (ℕ ← X)⌝, since ⌜R⌝ only occurs covariantly (both sides of the arrows should be positive/covariant, in this case, because of finite support)) 04:36:19 (probably i should use another notation for the finite support arrow. i've seen "raised to an exponent enclosed in round brackets", i think. also cf. arrays in e.g. array-oriented languages) 04:36:52 (that notation also being used for monoid ring, at least in one book) 04:38:15 so .. hm, i would like to better understand these two constructions, and their (hopeful) equivalence, perhaps under some extra conditions (?) 04:40:23 also the situation with generalization to formal power series (but for a not-necessarily-free (commutative) monoid of "monomials", that nevertheless has this "finite convolute/splitting" property, that ##math didn't know a name for, when i asked 04:41:45 hm, this became a loosely tangled "rant" (rather "reflection", perhaps), on some things related to co- and contra- variance, that i've been pondering lately 04:56:41 -!- nfd9001 has joined. 04:56:50 -!- danieljabailey has joined. 04:58:51 -!- nfd has quit (Ping timeout: 244 seconds). 05:16:32 -!- lambdabot has quit (Remote host closed the connection). 05:19:16 -!- lambdabot has joined. 07:13:52 i guess sam really is immune to the sauce, then. 07:23:06 -!- xkapastel has quit (Quit: Connection closed for inactivity). 08:15:52 -!- MDude has quit (Ping timeout: 245 seconds). 08:18:06 -!- MDude has joined. 08:21:45 * oerjan is surprised that this girl genius creature can be surprised 08:25:29 why is there no biderectional bit shift operator 08:26:49 > (4 `shift` 1, 4 `shift` (-1)) 08:26:51 (8,2) 08:27:03 SURE THERE IS 08:27:10 a bit verbose, maybe. 08:32:10 also I contend that fscanf should have a variant which is guaranteed to read exactly one line 08:36:04 ginormous line coming up... 08:44:10 should be fine as long as after it reads enough it skips past the next \n 08:45:08 i mean with normal fscanf you can put all the inputs on ones line 08:47:12 whereas fortran READ statement reads exactly one card 08:47:15 er, line 08:48:03 another example of fortran being less error-prone than C 09:22:26 -!- AnotherTest has joined. 10:46:40 -!- oerjan has quit (Quit: Later). 11:39:58 -!- mich181189 has quit (Ping timeout: 258 seconds). 11:41:34 -!- mich181189 has joined. 11:52:00 -!- arseniiv has joined. 12:29:06 -!- Lord_of_Life has quit (Ping timeout: 252 seconds). 12:30:44 -!- Lord_of_Life has joined. 12:47:16 -!- Essadon has joined. 13:42:38 -!- wob_jonas has joined. 13:43:04 Wow. I didn't know there were more than 2**17 different unicode characters. 13:56:02 And apparently the majority of those are hanzi/kanji. 13:57:58 -!- xkapastel has joined. 14:03:56 expected ‘const struct bdfglyph * const* const’ but argument is of type ‘struct bdfglyph **’ 14:04:02 how is that incompatible?! 14:04:35 C const as implemented by gcc makes no sense 14:05:31 orin: those are incompatib le 14:05:49 oh wait 14:05:51 not they aren't 14:06:02 the expected one is const * const * 14:06:04 hmm 14:06:41 the function is pormising not to modify literally anything, but GCC doesn't seem to pick up on that 14:06:44 orin: is this in C or in C++? 14:06:48 C 14:09:21 i mean it's only a warning but its a STUPID warning 14:10:17 I thought it was forbidden to cast a T** to a T const** but allowed to cast it to a T const* const* 14:10:49 doesn't seem to be allowed 14:11:53 you could ask on ##C 14:17:37 int main(int argc, char **argv){const char *const *const constargv = argv;return 0;} 14:17:49 imcompatible 14:19:08 tcc also warns about it 14:19:32 but I would expect gcc to be less lazy when deciding what's incompatible 14:34:38 -!- tromp has quit (Remote host closed the connection). 14:39:55 -!- fmease has joined. 14:49:14 -!- tromp has joined. 16:07:39 -!- xkapastel has quit (Quit: Connection closed for inactivity). 16:17:27 -!- xkapastel has joined. 17:19:55 that's a lot of const 17:21:02 cdecl doesn't like const struct bdfglyph * const* const 17:25:19 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 17:28:31 -!- sebbu has quit (Ping timeout: 255 seconds). 17:50:34 -!- sebbu has joined. 17:50:38 Yay, I'm getting a cubicle with a window on the 20th floor 17:51:35 kmc: what about if you give it a name 17:51:39 kmc: const struct bdfglyph * const* const x; 18:14:13 -!- FreeFull has joined. 18:30:07 [[User:Fmease]] N https://esolangs.org/w/index.php?oldid=60329 * Fmease * (+114) Create page 18:52:00 -!- b_jonas has joined. 19:07:06 ski: whoa, was all that for me? 19:12:34 -!- Phantom_Hoover has joined. 19:12:35 -!- Phantom_Hoover has quit (Changing host). 19:12:35 -!- Phantom_Hoover has joined. 19:14:28 orin: It's fine in C++ but not in C, as I guess you've discovered. 19:19:29 The C++ rules around const are much more nuanced. In C it's just the one level of const-ness you can add to a pointer, and the types "below" that must be already compatible. 19:20:51 The conversion via a cast might be legal in C too, but I've got enough of a headache to not puzzle that out now. 19:27:00 fizzie: ah, so that's why I thought 19:27:11 I'm more familiar with the C++ rules than the C ones 19:58:26 -!- orby has joined. 19:58:32 greetings 20:00:34 -!- b_jonas has quit (Quit: leaving). 20:07:15 -!- MDude has quit (Remote host closed the connection). 20:23:59 -!- MDude has joined. 20:41:05 shachaf : i dunno. if you're interested in that kind of stuff 20:43:33 -!- Cale has quit (Ping timeout: 250 seconds). 20:56:44 -!- Cale has joined. 22:05:21 -!- Remavas has joined. 22:39:14 ski: I am, I just didn't see it 22:39:24 And still haven't read it, but I'll look when I'm at my computer 23:29:43 -!- Remavas has quit (Read error: Connection reset by peer). 23:30:11 -!- Remavas has joined. 23:45:53 -!- Vorpal has quit (Ping timeout: 245 seconds). 23:46:00 -!- AnotherTest has quit (Ping timeout: 252 seconds). 23:46:31 -!- arseniiv has quit (Ping timeout: 255 seconds). 23:51:27 -!- Vorpal has joined. 23:53:57 ghidra has an impressively smart decompiler 23:54:57 Even though "Game of XYZABCDE - Part II" (xyzabcde2 for short) is not yet completed (it will take a while; one thing that has to be done is to figure out what rooms to put), the source code of so far can be downloaded (it is in the public domain and will remain so even once it is completed). 23:56:36 -!- Cale has quit (Ping timeout: 252 seconds). 23:56:36 Since while outside it will be possible to fly above many locations, to avoid having to add flying rooms explicitly for each such room (in some cases it is necessary, but sometimes it won't be), there is a prototype Y.SkyRoom to use the default flying above, and a special room R.FlyingAboveRoom for this purpose. 2019-03-09: 00:08:26 -!- Vorpal has quit (Ping timeout: 244 seconds). 00:10:55 -!- nfd has joined. 00:14:07 -!- nfd9001 has quit (Ping timeout: 244 seconds). 00:15:34 -!- Phantom_Hoover has quit (Remote host closed the connection). 00:27:39 -!- xkapastel has quit (Quit: Connection closed for inactivity). 00:29:08 -!- Lord_of_Life_ has joined. 00:30:37 -!- Lord_of_Life has quit (Ping timeout: 255 seconds). 00:31:31 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:39:15 -!- Cale has joined. 00:43:18 -!- Vorpal has joined. 00:43:18 -!- Vorpal has quit (Changing host). 00:43:18 -!- Vorpal has joined. 00:44:00 -!- olsner has quit (Ping timeout: 250 seconds). 01:01:43 -!- oerjan has joined. 01:06:11 -!- tromp has quit (Remote host closed the connection). 01:24:12 -!- danieljabailey has quit (Ping timeout: 245 seconds). 01:28:10 -!- olsner has joined. 01:40:07 -!- Essadon has quit (Quit: Qutting). 01:42:50 -!- tromp has joined. 01:45:13 IDGI: everywhere they say that the old FreeType autohinter is not needed at all any more, with the TrueType hinting patent issues resolved, but I get just terrible-looking text (at least in urxvt, for both DejaVu Sans Mono and Inconsolata) unless I specifically ~/.config/fontconfig/fonts.conf true. 01:47:42 -!- tromp has quit (Ping timeout: 252 seconds). 01:48:23 You can also use bitmap fonts of the correct size to avoid bad hinting, I suppose (since then, hinting is unnecessary). But, is there a possibility to edit TrueType fonts to change the hinting for each one if needed? 01:51:12 Yes, I suppose, but these are well-regarded fonts that should have "better-than-autohinter" hinting information already included. Either that's not the case, or there's something wrong in my setup that the font driver isn't using that. 01:53:13 O, OK, well then if the included hinting doesn't work then set the old autohint mode I suppose is good. Does it have the ability to set it conditionally based on the font size? 01:54:49 Yes, it's possible to condition on size. And the autohint=true is acceptable, I'm just confused because in a lot of places over the internet people keep saying "you should set autohint=false, it's worse". 01:55:04 OK. 01:56:45 Is it possible to implement the FreeType autohint code in the TrueType VM code? 01:58:45 That, I don't know. But FreeType have published a piece of software (ttfautohint) to essentially run the FreeType autohint on a font, manually fine-tune some aspects, and write that into the TTF hinting information. 01:59:06 (For printer fints, I think METAFONT works well and it is possible to do hinting.) 02:08:56 -!- olsner has quit (Ping timeout: 250 seconds). 02:15:17 -!- olsner has joined. 02:42:45 -!- Remavas has quit (Quit: Leaving). 02:46:47 -!- Vorpal has quit (Ping timeout: 240 seconds). 02:54:15 -!- Vorpal has joined. 02:54:15 -!- Vorpal has quit (Changing host). 02:54:15 -!- Vorpal has joined. 03:21:25 -!- imode has joined. 03:31:24 -!- tromp has joined. 03:35:52 -!- tromp has quit (Ping timeout: 245 seconds). 03:42:50 -!- FreeFull has quit. 04:01:17 -!- orby has quit (Ping timeout: 256 seconds). 04:14:22 -!- orby has joined. 04:19:31 -!- moony__ has quit (Remote host closed the connection). 04:19:56 -!- moony__ has joined. 04:51:23 [[Post Dominos]] N https://esolangs.org/w/index.php?oldid=60330 * Orby * (+1625) Introducing Post Dominos 05:13:48 -!- adu has joined. 05:15:44 Does anyone wanna help me write a low-level language like webassembly but called something else, and write patches for chrome and firefox and convince game developers to use it? 05:17:30 I am not so sure about patches for Chrome and Firefox, but perhaps a standalone program can be written to execute the codes 05:19:23 -!- tromp has joined. 05:19:43 adu, what's the improvement over webassembly? 05:19:57 getting developers to switch is a really hard thing to do 05:21:27 Yes, that is the other question; what differences from WebAssembly are they? 05:23:47 -!- tromp has quit (Ping timeout: 240 seconds). 05:25:53 -!- danieljabailey has joined. 05:35:21 It would be the MMIX instructions set 05:35:31 and the improvement would be more lulz 05:39:45 it's just that knuth's version is kind of ancient and the gnu version is hard to use 06:04:58 -!- Sgeo_ has joined. 06:07:47 -!- Sgeo has quit (Ping timeout: 240 seconds). 06:22:15 MMIX is OK, I think 06:22:26 (And, there is the implementation, too) 06:28:56 -!- danieljabailey has quit (Ping timeout: 250 seconds). 06:35:41 I wrote the change file called "extext.ch" which can be used to support other system calls than the built-in ones. 06:46:09 -!- Abcdef has joined. 06:46:43 -!- Abcdef has quit (Client Quit). 06:46:54 ZZT allows duplicate labels, and has #ZAP and #RESTORE commands, which cause all jumps to one label with that name to jump to another label with the same name instead. 06:47:09 -!- Cs_Acat has joined. 06:47:50 -!- Cs_Acat has quit (Client Quit). 06:54:10 -!- adu has quit (Quit: Leaving.). 06:55:46 [[Special:Log/newusers]] create * CrazySqueak * New user account 07:02:38 [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=60331&oldid=60324 * CrazySqueak * (+220) /* Introductions */ 07:07:26 -!- tromp has joined. 07:11:42 -!- tromp has quit (Ping timeout: 245 seconds). 07:15:33 [[Binary lambda calculus]] https://esolangs.org/w/index.php?diff=60332&oldid=51637 * Zzo38 * (+312) 08:00:29 [[Post Dominos]] M https://esolangs.org/w/index.php?diff=60333&oldid=60330 * Oerjan * (-3) /* See also */ Use proper name of /// 08:04:26 -!- tromp has joined. 08:12:03 [[Headshot!]] N https://esolangs.org/w/index.php?oldid=60334 * CrazySqueak * (+5946) Entry for a language I'm developing. 08:15:27 -!- imode has quit (Ping timeout: 245 seconds). 08:15:42 [[Language list]] M https://esolangs.org/w/index.php?diff=60335&oldid=60282 * CrazySqueak * (+16) Added Headshot! (a language I'm developing) to the list. 08:16:23 [[Headshot!]] M https://esolangs.org/w/index.php?diff=60336&oldid=60334 * CrazySqueak * (-5) 08:29:08 [[Hellborne]] M https://esolangs.org/w/index.php?diff=60337&oldid=46957 * CrazySqueak * (+1) Fixed a spelling mistake ("Fliping" -> "Flipping") 08:31:55 but that completely flipes the meaning... 10:12:37 -!- tromp has quit (Remote host closed the connection). 10:24:45 -!- AnotherTest has joined. 10:31:30 -!- danieljabailey has joined. 10:38:39 -!- tromp has joined. 10:46:51 -!- oerjan has quit (Quit: Later). 11:01:10 -!- b_jonas has joined. 12:12:29 -!- danieljabailey has quit (Ping timeout: 268 seconds). 12:16:21 -!- AnotherTest has quit (Ping timeout: 252 seconds). 12:29:33 -!- Lord_of_Life_ has joined. 12:30:53 -!- Lord_of_Life has quit (Ping timeout: 245 seconds). 12:31:59 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:45:04 [[Post Dominos]] M https://esolangs.org/w/index.php?diff=60338&oldid=60333 * Orby * (+9) Adjusting notation to match interpreter 12:51:35 -!- arseniiv has joined. 13:08:23 [[Post Dominos]] M https://esolangs.org/w/index.php?diff=60339&oldid=60338 * Orby * (+2) Fixing typo 13:19:27 -!- FreeFull has joined. 13:34:37 [[User:CrazySqueak]] N https://esolangs.org/w/index.php?oldid=60340 * CrazySqueak * (+149) Created. 14:34:23 [[Post Dominos]] https://esolangs.org/w/index.php?diff=60341&oldid=60339 * Orby * (+356) 14:52:05 [[Headshot!]] https://esolangs.org/w/index.php?diff=60342&oldid=60336 * CrazySqueak * (+932) Headshot! now has conditionals and iteration through the 'label', 'goto', and 'cgoto' commands. Also added truth machine example. 14:52:29 -!- xkapastel has joined. 14:56:56 [[User talk:A]] https://esolangs.org/w/index.php?diff=60343&oldid=60303 * A * (-29) 14:59:09 [[User talk:A]] https://esolangs.org/w/index.php?diff=60344&oldid=60343 * A * (+32) 14:59:23 [[User talk:A]] https://esolangs.org/w/index.php?diff=60345&oldid=60344 * A * (-2) 15:14:36 [[Bucket]] N https://esolangs.org/w/index.php?oldid=60346 * A * (+383) Created page with "[[Bucket]] is a series of programming languages involving 3 basic operations. A derivative can be described using the tuple (a,b), where a<=b. What you can do is: * Empty the..." 15:19:08 [[Bucket]] https://esolangs.org/w/index.php?diff=60347&oldid=60346 * A * (+688) 15:26:26 -!- Essadon has joined. 16:00:22 -!- arseniiv_ has joined. 16:02:58 -!- arseniiv has quit (Ping timeout: 245 seconds). 16:13:30 -!- danieljabailey has joined. 16:46:11 -!- imode has joined. 16:55:25 -!- Phantom_Hoover has joined. 16:55:25 -!- Phantom_Hoover has quit (Changing host). 16:55:25 -!- Phantom_Hoover has joined. 16:56:04 -!- CrazySqueak has joined. 16:57:27 -!- CrazySqueak has quit (Client Quit). 17:12:27 [[TOD]] https://esolangs.org/w/index.php?diff=60348&oldid=53949 * Null * (+86) 17:51:39 -!- arseniiv_ has changed nick to arseniiv. 17:59:08 [[Post Dominos]] M https://esolangs.org/w/index.php?diff=60349&oldid=60341 * Orby * (-132) /* Canonical programs */ Updating with interpreter behvaior 18:00:31 -!- orby has quit (Ping timeout: 256 seconds). 18:19:32 -!- Remavas has joined. 18:22:58 -!- pikhq has quit (Ping timeout: 246 seconds). 19:11:08 -!- pikhq has joined. 19:39:55 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60350&oldid=60327 * Cortex * (+130) 20:08:37 -!- orby has joined. 20:08:53 [[Interfrac]] N https://esolangs.org/w/index.php?oldid=60351 * Orby * (+1275) Created page with "Interfrac is a declarative esolang. It was discovered by [[User:Orby]] in 1994. ==Introduction== In 1994, at the tender age of ten, I made a startling discovery about fractio..." 20:09:32 [[User:Orby]] M https://esolangs.org/w/index.php?diff=60352&oldid=60308 * Orby * (+73) 20:11:13 -!- AnotherTest has joined. 20:14:36 [[Interfrac]] M https://esolangs.org/w/index.php?diff=60353&oldid=60351 * Orby * (+60) /* See also */ 20:24:17 -!- moony__ has quit (Remote host closed the connection). 20:25:22 -!- moony__ has joined. 20:35:47 -!- orby has quit (Ping timeout: 256 seconds). 20:35:59 [[Interfrac]] https://esolangs.org/w/index.php?diff=60354&oldid=60353 * Orby * (+315) /* Examples */ Adding more examples 20:36:33 -!- orby has joined. 20:48:14 -!- olsner has quit (Ping timeout: 250 seconds). 20:56:32 -!- olsner has joined. 21:00:41 [[Talk:Interfrac]] N https://esolangs.org/w/index.php?oldid=60355 * Ais523 * (+456) this might be more interesting than it looks? 21:04:43 [[Talk:Interfrac]] https://esolangs.org/w/index.php?diff=60356&oldid=60355 * Orby * (+254) 21:09:01 [[Interfrac]] https://esolangs.org/w/index.php?diff=60357&oldid=60354 * Ais523 * (+638) implementation (other than parsing/syntax) 21:21:24 -!- adu has joined. 21:54:44 -!- ais523 has joined. 21:55:50 Interfrac is really interesting 21:56:01 I'm leaning towards it being sub-TC, but it's hard to prove that 21:57:42 if you restrict the number of times each fraction is used to being a power of n for some n, you can solve it in an amount of space that depends only on the program (not the size of the input), which proves that that variation of the language is sub-TC, but there's no obvious reason this would generalize to the language without that restriction 22:03:45 Hey ais523! Yeah, I've been struggling with the TC question too. If it is TC, I think mapping it to the PCP might be the most straight forward way of proving it. 22:04:29 that's why I was thinking along the power-of-n lines 22:04:47 ahh, I see where you're coming from. that's interesting 22:05:02 but I don't think it works, because the left and right strings of a Post domino can have an arbitrary shift between them, whereas in Interfrac the shift would have to be the same for the two 22:05:22 it's more like But Is It Art? than the PCP, but it can't implement that for the same reason (the power-of-n thing) 22:06:10 Let me catch up on BIIA. I've looked at it before, but not in a long time. 22:06:53 I've been thinking about implementing some sort of cracked out push down automaton for the purposes of proving things sub TC 22:07:39 the idea being that you compile the sub-TC languages into it? 22:08:38 yeah, exactly 22:09:06 that you implement an interpreter in the push down automaton for a language with a questionable computational class 22:09:07 https://esolangs.org/wiki/BuzzFizz was created for a very similar purpose, but I'm not sure it's a perfect fit for this 22:10:05 Nice, good idea :) 22:10:09 and I certainly can't see a way to implement Interfrac in it 22:10:39 hmm, no neither do I 22:12:38 Maybe oerjan will have an idea if he comes along 22:14:53 Interfrac reduces to integer linear programming, I'd think. (The + is addition of 2D vectors of integers.) 22:16:04 I think that it's decidadble whether, in Interfrac, there's /some/ input that will work 22:16:55 Take the -2/5, 1/-7, 1/-3, 1/-2 program; introduce a variable for how often each vector is added: a,b,c,d; then n is accapted if -2a+b+c+d = n and 5a-7b-3c-2d = n, where a,b,c,d >= 0 and a+b+c+d > 1. 22:17:42 if you have two fractions a/b, c/d with a>b and c and if you /don't/ have two fractions a/b, c/d with a>b and c1 or every fraction is <1 and thus it's obvious that the two sides can't balance 22:18:44 however, the introduction of the input makes things much more complex 22:18:47 And I think there's enough theory to compute the set of all n that have solutions as well; it should be ultimately periodic, but hmm... details. 22:19:35 int-e: as far as I can tell from the Wikipedia article, ILP has an unknown computational class 22:19:39 (although it's known to be NP-hard) 22:20:21 there are special cases with known computational classes, though, and Interfrac may be one of them 22:20:35 Doesn't that make an interfrac program equivalent to a system of linear diophantine equations? 22:20:51 ais523: the decision problem (does a set of constraints have a solution) is NP-complete. 22:20:57 for a given n 22:21:05 orby: I think so, yes 22:21:12 ais523: computing an optimal solution just isn't a decision problem. 22:21:51 int-e: the decision problem variant of that is "does a set of constraints have a solution with a <= k" for given k, likewise for the other variables 22:22:00 then you can find the optimal solution via binary search 22:23:13 It's not clear to be that the existance of some n for which the system has a solution is decidable, is that clear to either of you? 22:23:37 orby: yes 22:24:00 well then it's definitely sub tc because we're solving the halting problem, right? 22:24:16 here is the decision algorithm: if there is a fraction with numerator ≥ denominator, and a fraction with denominator ≥ numerator, there is some input that is a solution, otherwise there is not 22:24:17 ais523: I'm pretty sure there's an upper bound ... looking for a reference 22:24:29 /however/, my proof doesn't work for a given input 22:25:03 but for a given input, it's just a system of linear diophantine equations, which are well understood? 22:26:00 even without a given input, it's a system of linear diophantine equations 22:26:07 but without a given input, you have one equation rather than two 22:26:18 https://en.wikipedia.org/wiki/Diophantine_equation#System_of_linear_Diophantine_equations 22:26:20 err, although it trivially collapses to one equation in either case 22:26:20 Right? 22:26:43 OK, so we have a decision algorithm for that too 22:26:51 so yes, decidable language, thus sub-TC 22:26:55 yeah, I think sub tc 22:27:03 and the correct computational class is now almost certainly NP-complete 22:27:24 yeah, np-complete for the subset sum problem you brought up on the talk page 22:27:57 that's NP-complete for given input, you can solve it in linear time and constant space if you just want to know whether some input matches 22:28:37 right right 22:30:05 hmm, this is interesting, now we have a known computational class but it's not any of the wiki's computational class categoriees 22:32:41 ha, I broke the wiki 22:35:15 Which wiki? 22:36:43 I didn't break any wiki, I'm just kidding 22:37:52 I see. Sorry, I just notice that sort of thing since it usually means I need to fix something. 22:38:04 Sorry to startle you! 22:39:13 I think I should update MediaWiki sometime soon anyway, though, it's been a long while. 22:39:30 Updates are good for the soul. 22:40:02 ais523: hrm I'm drawing a blank for now. In any case decidability of ILP is all we need here anyway. 22:40:50 (to show that this is sub-TC) 22:41:03 yes 22:41:07 agreed 22:41:47 so we can use things like the omega test 22:49:37 hah. http://lara.epfl.ch/w/_media/papadimitriou81complexityintegerprogramming.pdf 22:51:22 ais523: ^^ found something 22:53:21 that's awesome 22:57:35 fun fun 23:01:27 -!- AnotherTest has quit (Ping timeout: 240 seconds). 23:12:56 -!- Remavas has quit (Quit: Leaving). 23:17:52 -!- ais523 has quit (Remote host closed the connection). 23:18:45 [[Special:Log/newusers]] create * Zesterer * New user account 23:19:07 -!- ais523 has joined. 23:21:51 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60358&oldid=60331 * Zesterer * (+204) Added personal introduction 23:22:42 [[Language list]] https://esolangs.org/w/index.php?diff=60359&oldid=60335 * Zesterer * (+16) Added Stackfuck 23:41:54 [[User:Orby]] M https://esolangs.org/w/index.php?diff=60360&oldid=60352 * Orby * (+80) 23:47:47 -!- arseniiv has quit (Ping timeout: 240 seconds). 23:55:26 [[Hanoifuck]] N https://esolangs.org/w/index.php?oldid=60361 * Zesterer * (+2105) Created page 23:57:53 [[Hanoifuck]] https://esolangs.org/w/index.php?diff=60362&oldid=60361 * Zesterer * (+312) 23:58:46 [[Hanoifuck]] M https://esolangs.org/w/index.php?diff=60363&oldid=60362 * Zesterer * (+24) 2019-03-10: 00:09:20 -!- Phantom_Hoover has quit (Remote host closed the connection). 00:13:19 -!- GeekDude has changed nick to tibdit. 00:17:47 -!- tromp has quit (Remote host closed the connection). 00:29:50 -!- Lord_of_Life_ has joined. 00:30:53 -!- Lord_of_Life has quit (Ping timeout: 245 seconds). 00:32:12 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:53:35 -!- Essadon has quit (Quit: Qutting). 01:13:33 orin: c strings are kind of scow, don't you think 01:15:54 -!- Remavas has joined. 01:17:32 very 01:17:35 also hi shachaf 01:18:42 higan mchelloister 01:19:28 yep 01:22:58 shachaf: well yeah 01:23:29 shachaf: I forget how fortran handles strings 01:23:47 shachaf: but i vaguly recall them being better 01:24:29 does fortran even have strings? 01:26:07 -!- danieljabailey has quit (Ping timeout: 240 seconds). 01:26:24 ais523: yes 01:27:43 From what I recall, it's usually fixed-maximum-length things. 01:27:43 ais523: they are bounds checked 01:27:48 [[Talk:Interfrac]] https://esolangs.org/w/index.php?diff=60364&oldid=60356 * Ais523 * (+677) mention our computational class conclusions 01:28:30 now I'm wondering if COBOL has strings 01:28:40 presumably it does for things like employee names 01:29:05 COBOL is basically SQL except it's trying to be a complete programming language and isn't as declarative 01:31:02 Pascal strings are the famous kind, with a prefix byte for length. 01:31:46 I think later that's called a ShortString. 01:32:29 I think ideal prefix size is a 24 bit integer 01:32:50 too bad modern processors don't have support for those 01:33:29 what's the correct alignment for one of those, anyway? first byte falls on a 32-byte boundary? 01:33:58 I mean, 24 bits = 3 bytes 01:33:58 if so, it's one of the best arguments for little-endian storage that I've heard (as that would then let you do all computations on 24-bit integers, other than writing them to memory, using 32-bit primitives) 01:34:17 allegedly some C compilers use the name "short long int" for a 24-bit integer 01:34:38 well i mean on a 6502, you do any length integer by using ADC 01:34:47 6502 is an 8-bit processor 01:34:51 x86 has adc too, I think 01:35:02 Well, who would know. 01:35:04 although it's rarely used because normally your integers aren't large enough to need to split them up over separate instructions 01:35:08 The manual is fcking huge 01:35:25 RISC ftw 01:36:03 if x86 has adc then that is the best way to do bigint 01:36:19 C strings are used even in stuff other than C 01:36:24 Incidentally, recently came across a blog post that had some microbenchmarks suggesting on recent x86-64 processors (let's say anything Sandy Bridge onwards), unaligned memory access no longer has a performance penalty. 01:36:57 At least for sequential access. 01:37:08 Does x86-64 have fast endianness conversion? (What I know is that MMIX does, but I don't know if x86 does.) 01:37:22 (For random access, presumably it still makes it more likely to straddle two cache lines.) 01:37:28 (I also don't know if RISC-V has) 01:37:41 wow x86-64 DOES havs an adc instruction 01:37:50 (I guess that's technically "infinitely more likely", since aligned access never will.) 01:37:53 Of course it has an adc. 01:37:59 ADC r64, r/m64 01:38:03 `` echo '__int128_t f(__int128_t a, __int128_t b) { return a+b; }' | gcc -S -o /dev/stdout -x c /dev/stdin | fgrep -v '.' 01:38:07 f: \ pushq%rbp \ movq%rsp, %rbp \ pushq%rbx \ movq%rdi, %rax \ movq%rsi, %r8 \ movq%rax, %rsi \ movq%rdx, %rdi \ movq%r8, %rdi \ movq%rsi, -32(%rbp) \ movq%rdi, -24(%rbp) \ movq%rdx, -48(%rbp) \ movq%rcx, -40(%rbp) \ movq-32(%rbp), %rcx \ movq-24(%rbp), %rbx \ movq-48(%rbp), %rax \ movq-40(%rbp), %rdx \ addq%rcx, %rax \ adcq%rbx, %rdx \ popq%rbx \ popq%rbp \ ret 01:38:32 nicet 01:38:34 compilers even generate it 01:38:42 (although all the spilling going on there is /really/ suspicious) 01:38:45 Come on, stick some optimization flags in there. 01:38:48 oh, I forgot to use optimization flags 01:39:02 `` echo '__int128_t f(__int128_t a, __int128_t b) { return a+b; }' | gcc -S -O3 -o /dev/stdout -x c /dev/stdin | fgrep -v '.' 01:39:03 f: \ movq%rdi, %r9 \ movq%rsi, %r10 \ addq%rdx, %r9 \ adcq%rcx, %r10 \ movq%r9, %rax \ movq%r10, %rdx \ ret 01:39:07 that's better 01:39:27 It would be even better if this IRC client formatted it without inverse-I tabs. 01:39:50 `` echo '__int128_t f(__int128_t a, __int128_t b) { return a+b; }' | gcc -S -O3 -o /dev/stdout -x c /dev/stdin | fgrep -v '.' | perl -pe 's/\s+/ /g' 01:39:51 f: movq %rdi, %r9 movq %rsi, %r10 addq %rdx, %r9 adcq %rcx, %r10 movq %r9, %rax movq %r10, %rdx ret 01:40:06 surely it's possible in five? 01:40:20 actually, no, I see 01:40:39 %rdx is the LSD of the input, but the MSD of the output 01:40:46 so you do need six instructions 01:41:06 presumably gcc is using %r9 and %r10 as temporaries because they're caller-saved 01:42:14 By the way, GCC accepts - for /dev/std{in,out}. 01:42:31 oh, clang can do it in four 01:42:38 by overwriting the input arguments, I should have thought of that 01:43:09 `` echo '__int128_t f(__int128_t a, __int128_t b) { return a+b; }' | clang -S -O3 -o /dev/stdout -x c /dev/stdin | fgrep -v '.' 01:43:10 ​/hackenv/bin/`: line 5: clang: command not found 01:43:22 Haven't installed it there. 01:43:34 `cat bin/` 01:43:35 ​#!/bin/bash \ cmd="${1-quote}" \ TIMEFORMAT="real: %lR, user: %lU, sys: %lS" \ shopt -s extglob globstar \ eval -- "$cmd" | rnooodl 01:43:39 (Clang is okay with dashes as well.) 01:43:42 `cat bin/`` 01:43:43 ​#!/bin/sh \ export LANG=C; exec bash -O extglob -c "$@" | rnooodl 01:44:04 Those are nicely divergent. 01:44:12 what does rnooodl do, anyway 01:44:29 `` echo "noodl" 01:44:30 noodl 01:44:32 `` echo "noodl" 01:44:32 noodl 01:44:36 `` echo "nooooodl" 01:44:37 nooooodl 01:44:39 Randomizes the number of "o"s in that nick, I think? 01:44:41 Something silly like that. 01:44:43 `` echo "nooo0oodl" 01:44:44 nooo0oodl 01:44:51 `` echo "nooodl" 01:44:52 nooooooooodl 01:44:55 `` echo "nooodl" 01:44:56 noooooooodl 01:45:00 yeah 01:45:37 so the fundamental difference is that ``` uses a subshell, `` uses an eval 01:45:59 I'm not sure offhand why this difference would matter, though 01:46:10 ais523: There is a few other difference too, such as ``` specifying the C locale, and `` specifying a different timer format 01:46:19 yes, but those aren't fundamental 01:46:30 `` echo $LANG 01:46:31 en_NZ.UTF-8 01:46:40 (I put in ``` (without rnooodl) in order that it would set the C locale.) 01:46:42 -!- Remavas has quit (Read error: Connection reset by peer). 01:46:47 ah, I see 01:47:15 en_NZ.UTF-8 is an oddly specific choice. 01:47:26 I think it was there to serve as a talking point? 01:47:28 As with everything on that bot, it's a kind of joke. 01:47:42 I've propagated it forward from Gregor. 01:47:45 Okay granted, it _is_ HackEgo. 01:47:57 how many strings even differ in en_NZ? 01:48:18 the vast majority of packages that even bother to give different spellings for English variants tend to concentrate on en_US and en_GB 01:48:26 `` time 01:48:27 real: 0m0.001s, user: 0m0.000s, sys: 0m0.000s 01:48:33 `` date 01:48:34 Sun Mar 10 01:48:34 UTC 2019 01:48:41 ``` time sleep 1 01:48:43 ​ \ real0m1.027s \ user0m0.000s \ sys0m0.020s 01:49:04 `` time sleep 10 01:49:27 I'd expect 99% of the time it's just falling back to C. 01:49:40 no, it'll fall back within the en family 01:49:47 LANG=C has some very distinctive messages 01:49:50 I think the TIMEFORMAT is there to avoid hard tabs in the output. 01:49:59 `` ls /nonexistent 01:50:00 ls: cannot access '/nonexistent': No such file or directory 01:50:04 ``` ls /nonexistent 01:50:09 ls: cannot access '/nonexistent': No such file or directory 01:50:14 real: 1m8.856s, user: 0m0.000s, sys: 0m0.020s 01:50:30 Oh, is glibc doing silly things with its C locale messages? 01:50:30 That's an odd result from sleep 10. 01:50:32 hmm, LANG=C has become more verbose since last time I looked 01:50:35 fizzie: indeed 01:50:46 would't it be better to just have an filter that tgranslates all tabs to something 01:51:01 you could translate them to → 01:51:03 There's no particular reason to have its strings distinct from en_US -- the specific contents of the strings in the C locale aren't specified. 01:51:24 ␉ 01:52:02 the unicode control char symbols are 01:52:03 The number formatting is specified, some details of its charset are specified, etc. but the strings are not. 01:52:07 ␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏ 01:52:07 ␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟ 01:52:25 we could have a filter that does all of them 01:52:32 Heck, it'd be valid (if silly) for the errno strings to just be the errno macro. 01:52:46 I'm well aware of the Unicode control char symbols, I've written enough programs with nonprintables in on PPCG 01:53:00 But using en_US is probably the saner choice. 01:53:14 pikhq: ideally they should be specified, the main purpose of the C locale should be to be machine-readable 01:53:25 (as humans will prefer a different locale for human-readable messages, but machines like consistency) 01:53:39 Maybe, but POSIX underspecifies a lot of things. 01:54:05 even "error 2" would be more useful than just stealing a message from English 01:54:51 -!- Remavas has joined. 01:55:07 Like how cal(1) has to handle the switch from Julian to Gregorian happening in 1752, but doesn't bother even saying _what the output should look like_. 01:55:16 the tab sybol on keyboards is ↹ 01:55:38 vertical tab is ⭿ 01:55:46 #ais523: Pidgin has en_NZ specific messages on my system, though looks like the only thing in there is "Authorize" → "Authorise". 01:55:56 (Where did that # come from?) 01:56:08 #hashtag #ais523 01:56:38 ais523: Shit, POSIX doesn't even make real requirements about what error messages should be output by utilities at all. 01:57:30 I do not think ls is actually required to output a message when it errors out. 01:57:57 Oh, wait: "If the file specified is not found, a diagnostic message shall be output on standard error." 01:58:01 It does have to output an error. 01:58:17 Past that though, nah. 01:59:29 And there's also en_NZ/LC_MESSAGES/avahi.mo, where the changes are "Initializing..." → "Initialising..." and "Canceled." → "Cancelled." 01:59:52 `` perl -pe 'tr/\0-\037/␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟/' <$'\n\t\b\r\e' 01:59:52 ​/hackenv/bin/`: line 5: \ 02:00:11 I wonder if NZ users actually set LANGUAGE=en_NZ:en_GB:en. 02:00:23 Does that even work? 02:00:37 `` perl -pe 'tr/\0-\037/␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟/' <<$'\n\t\b\r\e' 02:00:38 ​/hackenv/bin/`: line 5: warning: here-document at line 5 delimited by end-of-file (wanted ` \ 02:00:44 For GNU gettext and LANGUAGE, I think it should. 02:00:44 Oh, yes, it does. 02:00:45 `` perl -pe 'tr/\0-\037/␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟/' <<<$'\n\t\b\r\e' 02:00:45 ​ₐ 02:00:51 crap 02:00:59 It's only the LANG and LC_* environment variables that don't do that sort of thing. 02:00:59 LANGUAGE is a GNU gettext thing, not a C locale thing. Okay. 02:01:19 * pikhq wonders if musl gettext handles that case 02:01:37 Might be other tools than just gettext that also respect it. 02:01:40 where did that a come from 02:03:14 `` perl -mutf8 -pe 'tr/\0-\037/␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟/' <<<$'\n\t\b\r\e' 02:03:15 ​ₐ 02:03:23 damn 02:03:48 `` perl -Mutf8 -pe 'tr/\0-\037/␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟/' <<<$'\n\t\b\r\e' 02:03:49 Wide character in print at -e line 1, <> line 1. \ Wide character in print at -e line 1, <> line 2. \ ␊␉␈␍␛␊ 02:03:56 great 02:07:07 You're probably looking for the -C7 option. But it doesn't work with that either, for some reason. 02:07:28 `` perl -CS -Mutf8 -pe 'tr/\0-\037/␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟/' <<<$'\n\t\b\r\e' 02:07:28 fizzie: apparently "#ais523" pings me 02:07:29 ​␊␉␈␍␛␊ 02:07:33 there 02:07:45 although that may be because I have my pings set up to ping me on "ais523" even when I'm using a different nick 02:16:13 -!- Remavas-Hex has joined. 02:16:22 -!- Remavas has quit (Disconnected by services). 02:16:28 -!- Remavas-Hex has changed nick to Remavas. 02:19:28 -!- Remavas-Hex has joined. 02:19:40 -!- Remavas has quit (Disconnected by services). 02:19:44 -!- Remavas-Hex has changed nick to Remavas. 02:38:57 [[Bucket]] https://esolangs.org/w/index.php?diff=60365&oldid=60347 * A * (+720) /* Implementation */ 02:40:27 [[Bucket]] https://esolangs.org/w/index.php?diff=60366&oldid=60365 * A * (+21) 02:43:23 If making the compiler that can compile a C code into a Glulx code, there is a few thing being noted, including that Glk functions that require C strings as input, in Glulx are required to start with a type byte. However, as far as I can tell all of the Glk functions that can use a string can also use a address and length instead, so the calls could be converted. 02:43:37 The only exception seems to be glk_fileref_create_by_name(). 02:52:13 -!- xkapastel has quit (Quit: Connection closed for inactivity). 02:52:52 [[Bucket]] https://esolangs.org/w/index.php?diff=60367&oldid=60366 * A * (+851) /* Examples in the "standard" derivative:(3,4) */ 02:53:35 [[Bucket]] https://esolangs.org/w/index.php?diff=60368&oldid=60367 * A * (-5) /* Hello World! program in Bucket in integers (derivative (1,119)) */ 02:54:50 [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=60369&oldid=60087 * A * (+834) /* BSoD */ 02:57:32 [[Bucket]] https://esolangs.org/w/index.php?diff=60370&oldid=60368 * A * (-19) /* Implementation */ 03:02:15 [[Bucket]] https://esolangs.org/w/index.php?diff=60371&oldid=60370 * A * (+173) /* Implementation */ 03:02:23 [[Bucket]] https://esolangs.org/w/index.php?diff=60372&oldid=60371 * A * (-31) /* Implementation */ 03:12:10 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60373&oldid=60350 * A * (+439) I have more ideas based on dc. 03:16:58 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60374&oldid=60373 * A * (+611) /* Commands */ 03:19:44 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60375&oldid=60374 * A * (+148) /* Commands */ 03:22:30 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60376&oldid=60375 * A * (+218) /* Commands */ 03:23:42 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60377&oldid=60376 * A * (+0) Overlapping commands 03:24:14 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60378&oldid=60377 * A * (+0) /* Commands */ 03:25:47 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60379&oldid=60378 * A * (+88) /* Commands */ 03:27:45 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60380&oldid=60379 * A * (+106) /* Commands */ 03:28:49 [[Talk:Toadskin]] https://esolangs.org/w/index.php?diff=60381&oldid=34112 * Camto * (+194) TC with unbounded cells? 03:29:17 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60382&oldid=60380 * A * (+39) /* Commands */ 03:29:34 [[User:Camto]] https://esolangs.org/w/index.php?diff=60383&oldid=58316 * Camto * (-50) 03:30:20 [[User:Camto]] M https://esolangs.org/w/index.php?diff=60384&oldid=60383 * Camto * (+1) Heh 03:31:05 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60385&oldid=60382 * A * (+55) /* Commands */ 03:32:21 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60386&oldid=60385 * A * (+1538) /* Commands */ 03:33:13 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60387&oldid=60386 * A * (-1538) Messed up with the table 03:33:45 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60388&oldid=60387 * A * (-130) /* Commands */ 03:34:29 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60389&oldid=60388 * A * (+0) /* Commands */ 03:37:47 [[Talk:Toadskin]] https://esolangs.org/w/index.php?diff=60390&oldid=60381 * Camto * (+159) Fix 03:39:35 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60391&oldid=60389 * A * (+454) /* Commands */ 03:40:38 [[3 cell Brainfuck]] N https://esolangs.org/w/index.php?oldid=60392 * Camto * (+60) Page redirect for TC proof of 3 unbounded cells in BF. 03:41:27 [[Talk:Toadskin]] M https://esolangs.org/w/index.php?diff=60393&oldid=60390 * Camto * (-99) Use redirect page 03:43:23 [[Talk:Toadskin]] M https://esolangs.org/w/index.php?diff=60394&oldid=60393 * Camto * (+88) Accidental deletion. 03:45:53 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60395&oldid=60391 * A * (+78) /* Commands */ 03:49:00 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60396&oldid=60395 * A * (+187) /* Commands */ 03:50:28 -!- Remavas has quit (Quit: Leaving). 04:01:59 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60397&oldid=60396 * A * (+363) /* Commands */ 04:02:02 [[User:Camto]] https://esolangs.org/w/index.php?diff=60398&oldid=60384 * Camto * (+144) Add Underload. 04:04:47 If some titles use roman numbers, what sort keys will you use? It might sort in alphabetical order by itself, but once you reach nine or if you have fractions, then alphabetical order won't work. 04:05:49 A 04:05:50 A 04:05:50 A 04:06:48 [[Bucket]] https://esolangs.org/w/index.php?diff=60399&oldid=60372 * A * (+115) 04:07:05 [[Bucket]] https://esolangs.org/w/index.php?diff=60400&oldid=60399 * A * (+3) /* Compugtational Class */ 04:07:14 [[Bucket]] https://esolangs.org/w/index.php?diff=60401&oldid=60400 * A * (+0) /* Computational Class */ 04:09:55 -!- salpynx has joined. 04:15:35 zzo38: how do roman fractions work? 04:15:37 hi shachaf 04:15:59 kmc: A dot represents one twelvth and "S" represents one half. 04:16:08 (Subtractive notation is not used with fractions.) 04:18:42 if we are betting on user accounts by the same person, I'm voting A == Cortex, and A != areallycoolusername. Evidence in favour: "(for lack of a better term) Unicode/ASCII" text in ALLSCII and Hexomnia, by different users, and a general confusion of the standards by 'both' users. Also, I seem to occasionally get areallycoolusername's humour, but not the others, they feel different. 04:21:42 A's nomination of Bitch feels in good faith though, pretty confident they are very different users. I can't make sense of the TC proof, it shouldn't be to hard to prove either way. Unbounded value in the accumulator is almost like a tape, but the shifting complicates quite a bit. The original creator wrote "Probably not TC" I believe. 04:22:32 [[Bucket]] https://esolangs.org/w/index.php?diff=60402&oldid=60401 * A * (+85) /* Implementation */ 04:26:26 [[Bucket]] https://esolangs.org/w/index.php?diff=60403&oldid=60402 * A * (+82) 04:27:40 [[SWhoopieenddns]] N https://esolangs.org/w/index.php?oldid=60404 * Camto * (+849) The spec so far. 04:28:48 -!- tromp has joined. 04:31:26 [[SWhoopieenddns]] M https://esolangs.org/w/index.php?diff=60405&oldid=60404 * Camto * (-2) 04:33:00 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60406&oldid=60397 * A * (+316) /* Commands */ 04:33:01 -!- tromp has quit (Ping timeout: 246 seconds). 04:35:26 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60407&oldid=60406 * A * (+53) /* Commands */ 04:36:57 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60408&oldid=60407 * A * (+203) /* Commands */ 04:40:41 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60409&oldid=60408 * A * (+231) /* Commands */ 04:46:11 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60410&oldid=60409 * A * (+70) /* Commands */ 04:52:29 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60411&oldid=60410 * A * (-33) /* Commands */ 04:53:23 [[ALLSCII]] https://esolangs.org/w/index.php?diff=60412&oldid=60411 * A * (+45) /* Commands */ 05:26:47 -!- FreeFull has quit. 06:16:53 -!- tromp has joined. 06:17:25 [[Reverse-Polish-notation Calculator]] N https://esolangs.org/w/index.php?oldid=60413 * A * (+724) Created page with "[[Reverse-Polish-notation Calculator]] is heavily influenced by the UNIX utility "Desktop Calculator". The only difference is that it adds input to make more programs possible..." 06:18:12 [[Reverse-Polish-notation Calculator]] https://esolangs.org/w/index.php?diff=60414&oldid=60413 * A * (+13671) 06:19:37 [[Reverse-Polish-notation Calculator]] https://esolangs.org/w/index.php?diff=60415&oldid=60414 * A * (+43) 06:21:17 -!- tromp has quit (Ping timeout: 245 seconds). 06:21:41 [[Reverse-Polish-notation Calculator]] https://esolangs.org/w/index.php?diff=60416&oldid=60415 * A * (-1) /* Examples */ 06:23:28 [[Reverse-Polish-notation Calculator]] https://esolangs.org/w/index.php?diff=60417&oldid=60416 * A * (+170) /* Examples */ 06:42:03 [[Reverse-Polish-notation Calculator]] https://esolangs.org/w/index.php?diff=60418&oldid=60417 * A * (+34) /* Examples */ 06:42:15 [[Reverse-Polish-notation Calculator]] https://esolangs.org/w/index.php?diff=60419&oldid=60418 * A * (-7) /* Examples */ 06:42:23 [[Reverse-Polish-notation Calculator]] https://esolangs.org/w/index.php?diff=60420&oldid=60419 * A * (-1) /* Increment by 1 */ 06:50:03 [[Reverse-Polish-notation Calculator]] https://esolangs.org/w/index.php?diff=60421&oldid=60420 * A * (-80) 06:51:31 When will IBM release the PC BIOS as free software? The source code can already be found in a book, at least. 06:57:57 -!- ProofTechnique has quit (*.net *.split). 06:57:57 -!- sparr has quit (*.net *.split). 06:57:58 -!- incomprehensibly has quit (*.net *.split). 06:57:58 -!- j4cbo has quit (*.net *.split). 07:06:06 -!- ais523 has quit (Quit: quit). 07:23:44 [[Bitwise Scanner]] N https://esolangs.org/w/index.php?oldid=60422 * A * (+736) Created page with "[[Bitwise Scanner]] is a bitwise language created by [[User:A]]. It is based on scanning a bitwise array. =What happens when binary numbers are incremented=
 000->001 001..."
07:24:18  [[Bitwise Scanner]]  https://esolangs.org/w/index.php?diff=60423&oldid=60422 * A * (-151) /* What happens when binary numbers are incremented */
07:26:42  [[Bitwise Scanner]]  https://esolangs.org/w/index.php?diff=60424&oldid=60423 * A * (+93) 
07:28:48  " Heck, it'd be valid (if silly) for the errno strings to just be the errno macro." => it wouldn't be silly. it would actually be useful. it's difficult to figure out what errno code localized strerror messages stand for.
07:29:48  Even for English messages it's not so obvious. I even have an old list http://math.bme.hu/~ambrus/pu/errno to be able to search the C locale messages from glibc
07:29:53  It gets worse on windows.
07:30:21  [[Bitwise Scanner]]  https://esolangs.org/w/index.php?diff=60425&oldid=60424 * A * (+394) /* What happens when binary numbers are incremented */
07:32:24  [[Bitwise Scanner]]  https://esolangs.org/w/index.php?diff=60426&oldid=60425 * A * (+57) /* What happens when binary numbers are decremented */
07:33:06  multiple fallback locales in LANGUAGE => oh nice! I wanted something like that for TERM back a decade ago when older systems didn't have the rxvt-unicode terminfo installed, or only had it installed in my homedir so setuid programs couldn't use it.
07:34:36  [[Bitwise Scanner]]  https://esolangs.org/w/index.php?diff=60427&oldid=60426 * A * (+59) /* What happens when binary numbers are decremented */
07:35:42  [[Bitwise Scanner]]  https://esolangs.org/w/index.php?diff=60428&oldid=60427 * A * (+164) 
07:38:52  [[Bitwise Scanner]]  https://esolangs.org/w/index.php?diff=60429&oldid=60428 * A * (+233) 
07:39:19  [[Bitwise Scanner]]  https://esolangs.org/w/index.php?diff=60430&oldid=60429 * A * (-73) /* Computational Class */
07:40:08  [[Bitwise Scanner]]  https://esolangs.org/w/index.php?diff=60431&oldid=60430 * A * (+58) /* Computational Class */
07:41:41  [[Bitwise Scanner]]  https://esolangs.org/w/index.php?diff=60432&oldid=60431 * A * (-1) 
07:42:16  [[Bitwise Scanner]]  https://esolangs.org/w/index.php?diff=60433&oldid=60432 * A * (+41) 
07:47:58 -!- imode has quit (Ping timeout: 245 seconds).
08:00:35  [[Bitwise Scanner]]  https://esolangs.org/w/index.php?diff=60434&oldid=60433 * A * (-50) 
08:04:51 -!- tromp has joined.
08:05:48 -!- tromp has quit (Remote host closed the connection).
08:06:04 -!- tromp has joined.
08:08:08  [[Bitwise Scanner]]  https://esolangs.org/w/index.php?diff=60435&oldid=60434 * A * (+14) /* Commands */
08:16:11 -!- reconcyl has joined.
08:24:15 -!- arseniiv has joined.
08:27:03  I'm trying to read arbitrary character input in Fueue
08:27:08  Let 'a' be a code snippet, 'b' be the result of that snippet after 1 iteration, 'c' be after 2 iterations, etc.
08:27:12  Similarly, if 'A' is a code snippet, then 'B' is the next iteration.
08:27:16  The basic idea is that the construct [[*A])[a!]])$ will read an input (say 5)
08:27:22  and then evaluate to edcbaB, where the number of repetitions of 'a' is equal to the input
08:27:27  The question is, how do we pick values for 'A' and 'a' so that that we can turn `edcbaB` back into the input number?
08:27:31  (the '*' isn't important, by the way; it can be replaced with any item because it gets deleted immediately)
08:27:36  The only example given on the wiki page that uses input is the truth machine, but that only has to distinguish between 2 values
08:28:18  We want 'a' to be something that's relatively stable because we don't know how many times it's going to be evaluated
08:33:40  Sorry, no, the construct is [[*A])[a!])])$
08:33:49  there's an extra ')' in there
08:42:15 -!- orby has quit (Ping timeout: 256 seconds).
09:38:30 -!- AnotherTest has joined.
09:40:09  [[Phone call]] N https://esolangs.org/w/index.php?oldid=60436 * A * (+155) Created page with "[[Phone call]] is a minimalist programming language that uses the character set possible to enter in a phone call. [[Category:Languages]] [[Category:2019]]"
09:40:55  [[Special:Log/upload]] upload  * A *  uploaded "[[File:Phone dial.JPG]]": This file is used as an example for a phone dial.
09:44:04  [[Phone call]]  https://esolangs.org/w/index.php?diff=60438&oldid=60436 * A * (+128) 
09:48:23  [[Phone call]]  https://esolangs.org/w/index.php?diff=60439&oldid=60438 * A * (+195) 
09:50:36  [[Phone call]]  https://esolangs.org/w/index.php?diff=60440&oldid=60439 * A * (+75) /* Commands */
09:54:27 -!- AnotherTest has quit (Ping timeout: 240 seconds).
09:54:48  [[Phone call]]  https://esolangs.org/w/index.php?diff=60441&oldid=60440 * A * (+94) /* Commands */
10:09:09  should we put http://esolangs.org/wiki/Brainfuck to the http://esolangs.org/wiki/Category:Brainfuck_equivalents ?
10:16:50  yes
10:25:56  oh, ALLSCI is a Cortex language that A is finishing, so 'for lack of a better term' is all Cortex. It's too confusing. I still think neither of them are a reallycoolusername.
10:26:29 -!- moony__ has quit (Remote host closed the connection).
11:15:15  [[Language list]]  https://esolangs.org/w/index.php?diff=60442&oldid=60359 * Zesterer * (+16) Added Hanoifuck
11:20:19 -!- adu has left.
11:30:33 -!- reconcyl has quit (Ping timeout: 256 seconds).
11:32:14 -!- j4cbo has joined.
11:32:29 -!- incomprehensibly has joined.
11:32:44 -!- ProofTechnique has joined.
11:59:15 -!- sparr has joined.
12:23:25 -!- arseniiv_ has joined.
12:25:03 -!- arseniiv has quit (Ping timeout: 245 seconds).
12:29:38 -!- Lord_of_Life_ has joined.
12:31:52 -!- Lord_of_Life has quit (Ping timeout: 244 seconds).
12:31:52 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
12:55:11  [[Thue]] M https://esolangs.org/w/index.php?diff=60443&oldid=60214 * Salpynx * (+25) /* External resources */  Wayback link to Safalra's Thue pages
13:10:35 -!- Phantom_Hoover has joined.
13:10:36 -!- Phantom_Hoover has quit (Changing host).
13:10:36 -!- Phantom_Hoover has joined.
13:32:33 -!- arseniiv_ has changed nick to arseniiv.
13:47:58 -!- Phantom_Hoover has quit (Remote host closed the connection).
13:54:10 -!- Phantom_Hoover has joined.
13:54:10 -!- Phantom_Hoover has quit (Changing host).
13:54:10 -!- Phantom_Hoover has joined.
14:29:59  [[Bitwise Scanner]]  https://esolangs.org/w/index.php?diff=60444&oldid=60435 * A * (+11) Simplify the syntax
14:30:25  [[Bitwise Scanner]]  https://esolangs.org/w/index.php?diff=60445&oldid=60444 * A * (+32) /* Commands */
14:31:12  [[Bitwise Scanner]]  https://esolangs.org/w/index.php?diff=60446&oldid=60445 * A * (+19) /* Computational Class */
14:32:28 -!- Essadon has joined.
14:32:48 -!- Essadon has quit (Max SendQ exceeded).
14:35:30  [[Bucket]]  https://esolangs.org/w/index.php?diff=60447&oldid=60403 * A * (-23) /* Commands */
14:35:57  [[Bucket]]  https://esolangs.org/w/index.php?diff=60448&oldid=60447 * A * (-166) /* Implementation(s) */
14:36:14  [[Bucket]]  https://esolangs.org/w/index.php?diff=60449&oldid=60448 * A * (-93) /* Computational class */
14:36:42  [[Bucket]]  https://esolangs.org/w/index.php?diff=60450&oldid=60449 * A * (+9) 
14:43:26 -!- FreeFull has joined.
14:51:43 -!- xkapastel has joined.
15:54:14  `bobadventureslist http://bobadventures.comicgenesis.com/d/20190310.html
15:54:15  bobadventureslist http://bobadventures.comicgenesis.com/d/20190310.html: b_jonas
15:57:59 -!- imode has joined.
17:07:41 -!- contrapumpkin has joined.
17:09:10 -!- copumpkin has quit (Ping timeout: 255 seconds).
17:10:24 -!- copumpkin has joined.
17:12:33 -!- contrapumpkin has quit (Ping timeout: 245 seconds).
17:49:03 -!- sparr has quit (Changing host).
17:49:03 -!- sparr has joined.
18:09:52 -!- AnotherTest has joined.
18:15:29  I have idea if each command executed is erased, but the program is initially tiled into the infinite plane so that you will not run out.
19:18:50  [[User:BradensEsolangs]]  https://esolangs.org/w/index.php?diff=60451&oldid=59778 * BradensEsolangs * (+8) fixed
19:44:52 -!- imode has quit (Ping timeout: 255 seconds).
19:59:41 -!- imode has joined.
20:03:54  kmc: Even though I don't have an antenna for that RTL-SDR stick, I managed to catch a beacon with it by plugging it to the TV aerial here: http://www.gb3vhf.co.uk/GB3UHFhome.html -- I guess the 70cm amateur radio band is pretty close to DVB-T broadcasts.
20:04:07  cool
20:04:29  I didn't know 70cm even has beacons
20:04:36  here I would listen to a repeater and wait for it to ident
20:05:08  meanwhile I'm trying to decode digital modes on HF using the little shortwave radio i bought yesterday at the flea market
20:12:14  [ 3e8%0.70 NB. 70 cm? what's that in frequency?
20:12:15  b_jonas: 4.28571e8
20:12:30  428 megahertz
20:15:40  b_jonas: the 70 cm ham band is 430-440 in the UK, and 420-450 in murca
20:15:47  (ITU regions 1 and 2 resp.)
20:15:49  https://en.wikipedia.org/wiki/70-centimeter_band
20:16:00  http://www.arrl.org/files/file/Regulatory/Band%20Chart/Band%20Chart%20-%2011X17%20Color.pdf
20:16:06  it's also known as UHF
20:16:30  very popular for local communication
20:16:52  those cheap baofeng handhelds everyone buys / complains about do 70 cm as well as 2 m (VHF, 144-147)
20:17:10  some also do 1.25 m (222-225) but that's much less popular
20:17:55  most areas have plenty of repeaters on 2m and 70cm
20:18:01  using a repeater you can easily go 100 miles
20:18:24  VHF/UHF depends a whole lot on location. line of sight is key
20:18:36  repeaters are on top of mountains which is why they're so effective (plus better antenna and hardware and more power)
20:19:12  if not using a repeater your range will vary from less than a mile, up to 50+ miles if you're both on top of tall hills
20:19:23  my wife and I made a 28 mile contact: https://i.imgur.com/eLhLWBJ.png
20:19:31  using a 5W handheld and a 50W mobile (car) radio
20:19:43  I was on top of a hill and as you can see, there were almost no obstructions
20:21:36  the consumer stuff like FRS, GMRS, and PMR446 are near the 70cm ham band
20:21:38  [[Special:Log/delete]] delete  * Ais523 *  deleted "[[Reverse-Polish-notation Calculator]]": Copyright violation: page is mostly copied from a GPL source
20:21:39  MURS is near the 2m band
20:21:50  there are newer radios which use 900 MHz and digital modes
20:22:06  I guess you can get ok range with part 15 digital radio on 900
20:22:22  CB is much lower frequency, 27 MHz / 11 meters
20:22:29  sure, line of sight is part of why people use a large antenna 
20:22:31  as a result you need much longer antennas
20:22:45  so this is why it's mainly a vehicle as opposed to handheld thing
20:23:18  plus, the CB power limit is very low. many people use illegal amplifiers, which are generally of poor quality and cause all kinds of interference
20:23:36  tho CB is declining in popularity now that there's LTE coverage along pretty much the whole US interstate network
20:35:05  I have about 300 repeaters from all over northern California programmed into my handheld
20:35:24  how many of them are active, I don't know
20:35:32  a fair number
20:35:46  I don't talk much, but I listen, and it would be good to have in an emergency
20:37:34  b_jonas: you can also use a directional antenna to get better signal for the same radio power
20:37:50  I built a directional 2m antenna out of bits of tape measure
20:38:05  kmc: sure, people use that for all sorts of high bandwidth wireless digital internet connections
20:38:33  it's a good choice for direction finding http://theleggios.net/wb2hol/projects/rdf/tape_bm.htm
20:38:33  both long distance between two mountains or tall buildings, and short distance with a pair of directional wifi relays for a local network
20:38:41  which is a sport among hams
20:39:06  b_jonas: yeah, even with consumer grade wifi gear you can get impressive distance
20:39:21  of course with 2.4 GHz the line of sight matters even more
20:39:38  my favorite design is "Wi-Fry" or "Wok-Fi"
20:39:46  you take a steel wok 🏆
20:39:54  which approximates a parabolic dish
20:40:07  yes, with line of sight. my previous job used a pair of wifi routers to relay wifi between the two buildings where the company has offices, a few hundred meters apart. I can't call that high bandwidth though.
20:40:12  drill a hole, stick a USB wifi adapter through to the correct distance
20:40:28  done
20:40:50  the servers and all the tech people were in our building, only some managers and marketing guys worked in the other building, so they didn't need a fast conection to the servers of the local network
20:40:56  they had separate internet service of course
20:41:18  I used to have 300 mbps internet at my house, but that was with several commercial grade millimeter wave (60-80 GHz) links
20:41:26  now I have gigabit symmetrical fiber
20:41:58  our friendly local ISP MonkeyBrains runs a mesh of wireless links all over the city
20:42:14  unlike Comcast they are not douchebags
20:43:59  b_jonas: you can actually run wifi under amateur radio rules in the USA
20:44:05  with greater power
20:44:48  but you can't use encryption of any kind, you must identify (usually by putting callsign in SSID), and no commercial use
20:45:23  wait, it possible to use wifi with no encryption of any kind, not even weak one?
20:46:56  yes
20:47:09  Yeah, that's what open Wifi is.
20:47:13  no encryption also means no SSL, no SSH, etc
20:47:19  sure
20:47:44  the common interpretation of the rules is that you can encrypt passwords or use cryptographic authentication
20:47:55  since that isn't obscuring the content of a "message"
20:48:08  armchair lawyering is an important part of the hobby
20:48:14  kmc: um, what do you mean by "cryptogrtaphic authentication"?
20:48:27  oh
20:48:28  I see
20:48:29  ssh pubkey, ssl xlient certs
20:48:30  sorry
20:48:55  And the FCC mostly doesn't care unless you're causing problems for other licensed users.
20:48:59  but you would have to use a null cipher
20:49:10  pikhq: well, some hams are snitches
20:49:24  pikhq: or interference with other frequencies, not necessarily with HAM stuff, right?
20:49:31  it's self regulating and people want to keep that privilege
20:49:39  b_jonas: Other frequencies tend to have other licensed users on it.
20:49:40  b_jonas: yes
20:49:55  oh, you mean licensed in the broad meaning, not just HAM-licensed
20:50:01  Yes.
20:50:35  there are some bands where hams are secondary and must yield to other users
20:50:53  on the rest, any licensed amateur has equal right to use the band
20:50:54  although I think there are also frequencies reserved for earth-based radio-telescopy, and I don't think the stars broadcasting there got a license from FCC, for lightspeed limit reasons
20:51:28  a person can't "own" a frequency although there are voluntary agreements. general courtesy is the way
20:51:35  sure
20:52:07  there are also specific frequencies known for rule breaking
20:52:19  b_jonas: Yeah, that's some of the ISM bands.
20:52:21  you can never own them because they're only leased for long term
20:52:22  people let them be as long as it doesn't spill over to other freqs
20:53:57  and even then with specific restrictions
20:54:48  right
20:55:14  but my point is that for hams there's no exclusive right to use any frequency
20:55:21  yeah
20:55:52  the exclusive rights are for television, radio, and mobile telephony
20:55:57  and probalby some others
20:56:22  marine, land mobie radio, public safety, aviation, military
20:56:37  yeah, the UHF bands used by some public services
20:57:18  how does aviation count as exclusive? aren't most of those bands open for any aviation user?
20:57:46  at least partitioned by location that is
20:58:15  you need a license for that and the aviation authority controls that tightly, but still
20:58:22  it's not like it's exclusive to anyone
21:00:17  I'm guessing each ATC has a specific right for their frequency
21:00:22  Isn't there certain code words and stuff like that for aviation use? (Although I suppose anyone can learn what they are, though.)
21:00:52  zzo38: yes, and there's a license to pilot aviation, not only for the radio
21:03:09  but there's also a license and protocol for HAM
21:03:24  (I have been told there is FOWER and FIFE, which is supposed to be used for 4 and 5 but it is rarely used. NINER for 9 is common though)
21:04:05  b_jonas: Yes, and I think there is more than one kind of protocol for HAM, such as Morse code or RTTY or voice, and for pictures, slowscan and fastscan are used.
21:04:48  zzo38: sure, but I think that sort of redundant words are not really exclusive for aviation, it's used for any noisy voice channel, even without radio.
21:06:00  Yes, maybe it is
21:07:13  mind you, it's getting less common, because we don't have noisy analog phone lines anymore, so the noise comes more from the air environment rather than wires or radio
21:16:02  why does wifi over ham radio ban encryption...?
21:19:50  oh, all encrypted comms are banned over ham radio
21:19:57  Why is the range ARL TWENTY SEVEN up to ARL FORTY FIVE unused? (ARL FORTY EIGHT and ARL FORTY NINE also seems unused, even though ARL FORTY SIX and ARL FORTY SEVEN are defined.)
21:38:19 -!- Phantom_Hoover has quit (Remote host closed the connection).
21:40:27 -!- MDude has quit (Ping timeout: 240 seconds).
21:50:45 -!- xkapastel has quit (Quit: Connection closed for inactivity).
22:15:18  zzo38: yeah, ham radio uses all kinds of abbreviations and codes. it's full of jargon for jargon's sake
22:15:24  but they are all well known, so they don't count as encryption
22:16:18 -!- AnotherTest has quit (Ping timeout: 252 seconds).
22:19:15 -!- Remavas has joined.
22:22:06  Is Roblox basically BYOND for 3D games?
22:22:30  I used to love BYOND as a kid. These days I think people only care about BYOND for Space Station 13
22:40:55 -!- salpynx has quit (Ping timeout: 256 seconds).
22:55:03  [[Thue]] M https://esolangs.org/w/index.php?diff=60452&oldid=60443 * Salpynx * (+25) /* External resources */ bf in Thue archived resource
22:59:03 -!- Sgeo_ has quit (Read error: Connection reset by peer).
23:01:11 -!- Sgeo has joined.
23:34:06 -!- MDude has joined.
23:45:24 -!- b_jonas has quit (Quit: leaving).
23:53:29 -!- reconcyl has joined.
23:55:58 -!- xkapastel has joined.
23:57:12 -!- Sgeo_ has joined.

2019-03-11:

00:00:03 -!- Sgeo has quit (Ping timeout: 245 seconds).
00:00:36 -!- tromp has quit (Remote host closed the connection).
00:02:31 -!- reconcyl has quit (Ping timeout: 256 seconds).
00:17:34 -!- arseniiv has quit (Ping timeout: 255 seconds).
00:30:10 -!- Lord_of_Life_ has joined.
00:32:58 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
00:33:04 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
01:32:52 -!- danieljabailey has joined.
02:03:58 -!- adu has joined.
02:05:43 -!- xkapastel has quit (Quit: Connection closed for inactivity).
02:56:07 -!- tromp has joined.
03:00:27 -!- tromp has quit (Ping timeout: 245 seconds).
03:17:33 -!- danieljabailey has quit (Ping timeout: 245 seconds).
03:36:07 -!- Remavas has quit (Quit: Leaving).
03:38:43 -!- Sgeo__ has joined.
03:42:57 -!- Sgeo_ has quit (Ping timeout: 268 seconds).
03:54:31 -!- FreeFull has quit.
04:00:00 -!- Taneb has quit (Quit: I seem to have stopped.).
04:02:27 -!- Taneb has joined.
04:04:45 -!- tibdit has changed nick to GeekDude.
05:19:44  zzo38, have you seen quantum chess?
05:20:01  Sgeo__: I don't think so. How is quantum chess is working?
05:20:28  https://chess.stackexchange.com/questions/18278/what-are-the-rules-of-quantum-chess
05:21:17  OK I will look
05:21:18  https://quantumfrontiers.com/2016/02/15/quantum-chess/
05:23:04  I do hope the creator of that just shares an unfortunate name with the infamous person
05:23:10  Rather than being the person
05:25:01  I don't really care if they are or not
05:30:53  I think the software the person made for it isn't sufficient to show the full state
05:36:44  I think you are probably correct, but I have not tried it. Is there a explanation with Dirac notation or other mathematical notations to show the states?
05:38:43  No idea
06:41:53 -!- adu has left.
06:54:42 -!- Sgeo_ has joined.
06:57:33 -!- Sgeo__ has quit (Ping timeout: 245 seconds).
06:58:46 -!- atslash has joined.
07:19:08 -!- danieljabailey has joined.
07:36:43 -!- imode has quit (Ping timeout: 245 seconds).
08:21:05 -!- tromp has joined.
08:25:32 -!- tromp has quit (Ping timeout: 246 seconds).
09:15:27 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
09:20:37 -!- Lord_of_Life has joined.
09:20:49 -!- xkapastel has joined.
09:32:25 -!- AnotherTest has joined.
09:34:07 -!- tromp has joined.
10:01:10  I'm reminded of this https://imgur.com/HO7CC (though in this case the person with the unfortunate name was actually the guy)
10:04:41 -!- tromp has quit (Remote host closed the connection).
10:16:36 -!- heroux has quit (Ping timeout: 272 seconds).
10:16:58 -!- heroux has joined.
10:26:04 -!- tromp has joined.
11:08:45 -!- Sgeo_ has quit (Read error: Connection reset by peer).
11:09:12 -!- Sgeo_ has joined.
12:33:24 -!- Lord_of_Life_ has joined.
12:33:41 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
12:35:46 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
12:55:02 -!- mniip has quit (Ping timeout: 600 seconds).
12:56:06 -!- Essadon has joined.
13:10:35 -!- xkapastel has quit (Quit: Connection closed for inactivity).
13:11:43 -!- arseniiv has joined.
13:45:18 -!- mniip has joined.
14:46:16 -!- xkapastel has joined.
14:51:58 -!- heroux has quit (Ping timeout: 250 seconds).
14:52:19 -!- heroux has joined.
15:16:26 -!- mniip has quit (Ping timeout: 615 seconds).
15:18:11 -!- danieljabailey has quit (Ping timeout: 246 seconds).
15:18:46 -!- imode has joined.
15:21:01 -!- mniip has joined.
15:30:43  it's always fun when you compile your code with profiling enabled and it becomes 3x slower.
15:32:30  it's fine as long as everything becomes 3x slower
15:35:18  it's probably good enough to find hotspots at this stage
15:35:45  i am glad that i did not yet come to a point where i needed to do that
16:05:43 -!- imode has quit (Ping timeout: 244 seconds).
16:06:24  6x speedup in one slow case. sweet.
16:07:53  (Though not unexpected. In the spirit of keeping code simple I deliberataly iterated over a list of pairs, filtering on some element, rather than preparing an associative map for that purpose.)
16:49:55  [[Bitwise Scanner]]  https://esolangs.org/w/index.php?diff=60453&oldid=60446 * Plokmijnuhby * (+84) /* Computational Class */
16:50:36  [[Bitwise Scanner]] M https://esolangs.org/w/index.php?diff=60454&oldid=60453 * Plokmijnuhby * (+51) /* Computational Class */
16:53:07  [[SWhoopieenddns]] M https://esolangs.org/w/index.php?diff=60455&oldid=60405 * Plokmijnuhby * (+1) You missed a /.
17:10:02  [[Talk:Interfrac]]  https://esolangs.org/w/index.php?diff=60456&oldid=60364 * Plokmijnuhby * (+434) /* Mathematics */ new section
17:12:42 -!- MDead has joined.
17:13:17 -!- AnotherTest_ has joined.
17:14:17 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
17:14:17 -!- Lord_of_Life has quit (Excess Flood).
17:14:17 -!- AnotherTest_ has changed nick to AnotherTest.
17:15:26 -!- Lord_of_Life has joined.
17:15:43 -!- MDude has quit (Ping timeout: 268 seconds).
17:15:47 -!- MDead has changed nick to MDude.
17:27:08 -!- MDude has quit (Ping timeout: 245 seconds).
17:40:23 -!- tromp has quit (Remote host closed the connection).
17:54:10 -!- tromp has joined.
17:55:06 -!- LKoen has joined.
18:07:01 -!- AnotherTest has quit (Ping timeout: 246 seconds).
18:25:46 -!- Phantom_Hoover has joined.
18:48:51  https://imgur.com/1OlVNke
19:13:53  [[Hurgusburgus]]  https://esolangs.org/w/index.php?diff=60457&oldid=59797 * BradensEsolangs * (+93) 
19:31:54 -!- b_jonas has joined.
19:58:41 -!- FreeFull has joined.
20:12:15 -!- oerjan has joined.
20:14:18 -!- AnotherTest has joined.
20:20:18  does decoding digital ham radio transmissions with a pocket shortwave and a microphone count as esoteric? https://imgur.com/a/0I3xOsw
20:28:27 -!- b_jonas has quit (Quit: leaving).
20:30:42 -!- FreeFull has quit (Quit: Adventures in partitioning your SSD).
20:35:06 -!- FreeFull has joined.
20:42:36  hm fueue questions in the logs
20:42:42  but reconcyl is not here.
20:45:22  or on freenode
20:49:38  i'm pretty sure the truth-machine example answers their question in principle, although they may not have deciphered it enough to tell
20:50:19  (as in, it _does_ turn the input back into a number before doing anything else.)
21:44:36 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
21:55:41 -!- bobby has quit (Ping timeout: 268 seconds).
21:57:37 -!- arseniiv has quit (Ping timeout: 255 seconds).
22:01:25 -!- bobby has joined.
22:10:36 -!- Phantom_Hoover has quit (Remote host closed the connection).
22:21:44 -!- bobby has quit (Remote host closed the connection).
22:25:20 -!- bobby has joined.
22:27:56  amusing unicode fact of the day:
22:28:09  'HOT BEVERAGE' (U+2615) is specified to be *either* tea or coffee, depending on locale
22:35:41 -!- bobby has quit (Ping timeout: 252 seconds).
22:36:11  how do I test if a glob matches anything
22:36:20 -!- bobby has joined.
22:37:53  kmc: I can't drink either :(
22:38:50  oh, ls returns 0 if it exists
22:39:13 -!- david_werecat has joined.
22:39:48  !zjoust mist ++++>(+)*7([{(>)*8(>(-)*9[+-+][+--+](-)*7)*-1}]<(+-++-+++)*-1)%1333
22:39:49  david_werecat.mist: points 12.62, score 53.25, rank 1/47
22:41:23  Taneb: how come
22:44:02  kmc: caffeine intolerance, they make me feel ill
22:44:06  oh dear
22:44:13  what about decaf coffee or herbal tea?
22:44:45  Never acquired the taste for decaf coffee, haven't actually tried herbal tea but it doesn't appeal to me
22:48:00  huh, a short new bfjoust winner
22:48:41  I won't call it generally good, but it works for the current hill.
22:49:02  I'm just happy the whole thing was still online and didn't immediately crash.
22:49:12  always a bonus
22:50:22  I think a new winner means I need to relearn how to update the visualizations.
22:54:38  git push origin new-new-new-new-refactor
22:54:52  there are a lot of different herbal teas
22:54:55  hi fizzie 
22:55:03  hmc
22:55:12  (I'm bad at portahellos.)
22:56:30  I found a "commands.txt" that seems to suggest how to generate the visualizations, but it predates the superfluous switch to Bazel.
22:57:31  *superfluid
23:15:03 -!- tromp has quit (Remote host closed the connection).
23:17:31 -!- MDude has joined.
23:20:00 -!- AnotherTest has quit (Ping timeout: 252 seconds).
23:23:44  Hrm. I managed to update the legacy egostats plots, but apparently the modern browsery kind are done differently. And the Ruby stuff has bitrotted away. :/
23:23:55  "undefined method `>>' for [909064502]:Array"
23:25:25  Thanks for the update!
23:37:59  Okay, looks like on Ruby 2.5.0, requiring nmatrix (0.2.4) which depends on packable (1.3.10) just breaks all IO.
23:38:46  rubby
23:38:55  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=888164
23:39:22  Maybe I should give up on this and try to get moving again with the port over to esolangs.org.
23:41:01  . o O ( why would you port a broken program )
23:41:31  Maybe "port" is the wrong word, it's a full-on rewrite as usual.
23:45:55 -!- xkapastel has quit (Quit: Connection closed for inactivity).
23:52:21 -!- tromp has joined.
23:56:43 -!- tromp has quit (Ping timeout: 252 seconds).

2019-03-12:

00:03:20  OKAY
00:12:32 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
00:17:11 -!- Lord_of_Life has joined.
00:24:19  fizzie: Consider another viewpoint: if all IO is broken, your code is guaranteed to be pure
00:24:22  hth
00:25:33  tdh but only my feelings.
00:29:59 -!- tromp has joined.
00:30:01  whoa
00:30:11  has everyone been making clever help/hurt hth puns for years
00:30:14  that i never got
00:30:15  tdh
00:31:22  No, I meant "help" there.
00:31:40  It was an unintenpun.
00:34:12 -!- tromp has quit (Ping timeout: 245 seconds).
00:49:28 -!- oerjan has quit (Quit: Nite).
00:57:54  [[Special:Log/newusers]] create  * EnilKoder *  New user account
01:17:58 -!- david_werecat has quit (Quit: Leaving).
01:20:41 -!- FreeFull has quit (Remote host closed the connection).
01:25:09 -!- FreeFull has joined.
01:26:57 -!- ais523 has joined.
01:44:10  @tell zzo38 To answer a question I missed, x86 has always had a fast byte swap for 16-bit values (via `xchg al, ah` and so on), and from 80486 onwards gained a BSWAP instruction to swap the endianness of 32-bit and (on x86-64) 64-bit values.
01:44:10  Consider it noted.
01:45:58  And GCC will convert a more naive bit shifting sequence into just using bswap.
01:47:06  Like, uint32_t x = (b[0] << 24) | (b[1] << 16) | (b[2] << 8) | b[3]; becomes a nice and simple fetch and bswap.
01:47:21 -!- Essadon has quit (Quit: Qutting).
01:47:33  oh neat
01:48:31  `` echo 'unsigned f(unsigned n) { return n >> 24 | (n & 0xff0000) >> 8 | (n & 0xff00) << 8 | n << 24; }' | gcc -x c - -o - -S -O3 | grep -v \\. | tr '\t' ' '  # just checking
01:48:32  f: \  movl %edi, %eax \  bswap %eax \  ret
01:49:07  nice command line
01:49:08  A+
01:50:22  I stole the grep -v idiom from ais523's prior art. Although `fgrep -v .` would've been simpler.
01:50:37  `` gcc -x c - -o - -S -O3 <<<'unsigned f(unsigned n) { return n >> 24 | (n & 0xff0000) >> 8 | (n & 0xff00) << 8 | n << 24; }' | fgrep -v . | expand
01:50:38  f: \         movl    %edi, %eax \         bswap   %eax \         ret
01:50:47  UUOE removed :-)
01:51:01  also I wanted to test to see how it looked after running through expand
01:51:55  the tr output is probably better
01:52:05  better still would be a "condense all whitespace to a single space", though
01:52:17  but I'm not sure there's a standard command for that
01:52:39  `` gcc -x c - -o - -S -O3 <<<'unsigned f(unsigned n) { return n >> 24 | (n & 0xff0000) >> 8 | (n & 0xff00) << 8 | n << 24; }' | fgrep -v . | fmt -999
01:52:40  f: \ movl%edi, %eax bswap   %eax ret
01:52:54  hmm
01:55:04  If you condense *all* whitespace to single space, it may be hard to separate opcodes and arguments. And if you leave newlines untouched, the \s will look misaligned because there will be (coalesced) whitespace right after a newline, but not before.
01:56:43  what about condensing all whitespace to a single whitespace character, \n the whitespace contained vertical whitespace, space if it was entirely horizontal?
01:56:53  * \n if
01:57:03  That sounds reasonable, but probably not a standard utility.
01:57:08  hmm, this is beginning to sound like a PPCG challenge now
01:57:34  `! retina abc
01:57:34  ​/hackenv/bin/!: line 4: /hackenv/ibin/retina: No such file or directory
01:57:47  bleh, why can't HackEso do its originial job of interpreting esolangs? :-D
01:58:09  that said, IIRC the official Retina interpreter is written in C#, so getting it running on HackEso is likely to be difficult
01:59:02 -!- ais523 has quit (Quit: sorry for my connection).
01:59:14 -!- ais523 has joined.
01:59:46  `` gcc -x c - -o - -S -O3 <<<'unsigned f(unsigned n) { return n >> 24 | (n & 0xff0000) >> 8 | (n & 0xff00) << 8 | n << 24; }' | fgrep -v . | cat -v
01:59:47  f: \ movl%edi, %eax \ bswap%eax \ ret
02:00:06  now I'm confused, what happened to the tabs?
02:00:23  `` printf '\t' | cat -v | od -t x1z
02:00:24  0000000 09                                               >.< \ 0000001
02:00:34  apparently cat -v doesn't make them visible, despite what it's documented to do?
02:00:34  `` gcc -x c - -o - -S -O3 <<<'unsigned f(unsigned n) { return n >> 24 | (n  0xff0000) >> 8 | (n & 0xff00) << 8 | n << 24; }' | fgrep -v . | perl -0 -pe 's|(\s+)|$1=~/\n/?"\n":" "|ge'
02:00:35  ​[01m[K:[m[K In function ‘[01m[Kf[m[K’: \ [01m[K:1:47:[m[K [01;31m[Kerror: [m[Kexpected ‘[01m[K)[m[K’ before numeric constant
02:00:52  Hm, it worked for me in a terminal.
02:00:55  you somehow missed an & sign
02:00:59  in the middle of the C code
02:01:04  ...oh.
02:01:10  `` gcc -x c - -o - -S -O3 <<<'unsigned f(unsigned n) { return n >> 24 | (n & 0xff0000) >> 8 | (n & 0xff00) << 8 | n << 24; }' | fgrep -v . | perl -0 -pe 's|(\s+)|$1=~/\n/?"\n":" "|ge'
02:01:11  f: \ movl %edi, %eax \ bswap %eax \ ret
02:01:13  that's pretty bizarre as typos go
02:01:25  It's where the line was wrapped, I copy-pasted it as two chunks.
02:04:51  And I'm sure the Perl part has a lot of fluff, but the ()/$1 bit could've been just $&.
02:06:32  `` ls ibin | wc -l
02:06:33  46
02:06:35  I vaguely remember nested regexes not working in old Perl versions, but that's likely been fixed by now
02:06:36  It does have a bunch of them.
02:06:45  yes, from something like ten years ago
02:06:55  also, don't most of them not work?
02:07:08  `! kipple 65>o<66
02:07:08  Some probably don't, some just haven't been tried.
02:07:08  BA
02:07:13  OK, that one works
02:07:39  "sh" and "c" are hardly esoteric. Or "bf_txtgen" an interpreter, for that matter.
02:07:46  I remember that EgoBot's Underload interpreter wasn't built in, rather it was written in brainfuck
02:07:47  (I'm guessing bf_txtgen is unlikely to work too.)
02:07:54  `! bf_txtgen Hello, world!
02:07:55  ​/hackenv/ibin/bf_txtgen: line 6: java: command not found
02:08:05  OK, that's a fairly major problem :-D
02:08:22  can't run a Java program without a JVM
02:08:27  maybe we could write one in Befunge or something
02:08:40  compile it with GCJ!
02:08:49  There's no GHC either, so `! haskell won't run. But lambdabot makes it pretty unnecessary.
02:08:55  can GCJ compile Java bytecode?
02:09:36  I think it ought to.
02:10:42  The source code seems to be there next to the .class files in interps/bf_txtgen/ anyway.
02:16:34  you can decompile .class to .java
02:16:37  so it ought to be able to
02:16:40  there are probably corner cases, though
02:16:59 * kmc remembers as a wee lad decompiling the Yahoo! Poker applet to successfully figure out how to cheat
02:17:25  I had a Perl script that would proxy the game communications and tell me which cards everyone had
02:17:35  as well as which cards would be dealt in the future
02:17:40  too bad it wasn't real money
02:17:56 -!- tromp has joined.
02:18:08  this was possible because they didn't send the cards from the server, only a RNG seed, and the data stream had some weak (XOR-level) encryption
02:20:27  I remember watching someone try to play Go on Yahoo!
02:20:41  it had a rule that if the players didn't agree on the score after two passes, they were forced to play on and weren't allowed to pass
02:21:12  so you could win by passing repeatedly, forcing the opponent to play stones on every square of the board, and eventually lose on time
02:21:24  (because it wouldn't let them pass nor play a move at that point)
02:21:28  I know a 6 dan player who learned all the way up to 2d or something by playing Go on Yahoo, he actually had no idea that it was a game that people played anywhere else.
02:22:39 -!- tromp has quit (Ping timeout: 252 seconds).
02:23:45  haha
02:25:18  He thought it was just like, invented by Yahoo! or something
02:25:20  hahaha
02:25:37  until they shut down
02:37:06  [[Increment]]  https://esolangs.org/w/index.php?diff=60458&oldid=60077 * Camto * (+267) Added partial implementation.
03:25:47 -!- FreeFull has quit.
03:31:17 -!- xkapastel has joined.
03:32:31  ais523: how can it be that the players don't agree on the score
03:32:38  what does that mean
03:32:54  kmc: the game asked the players what the score was, if they disagreed, it forced play on
03:33:02  under Japanese rules the players have to agree which stones are alive or dead
03:33:12  (most computer play nowadays uses a scoring variation where it doesn't matter)
04:06:28 -!- tromp has joined.
04:11:22 -!- tromp has quit (Ping timeout: 272 seconds).
05:45:55 -!- xkapastel has quit (Quit: Connection closed for inactivity).
05:49:13 -!- S_Gautam has joined.
05:54:48 -!- tromp has joined.
05:59:12 -!- tromp has quit (Ping timeout: 245 seconds).
06:00:14 -!- sebbu2 has joined.
06:02:43 -!- ais523 has quit (Quit: quit).
06:04:06 -!- lifthrasiir_ has joined.
06:05:00 -!- oren has joined.
06:05:01 -!- ineiros has joined.
06:07:20 -!- sebbu has quit (Read error: Connection reset by peer).
06:07:21 -!- fractal has quit (Ping timeout: 246 seconds).
06:07:21 -!- lifthrasiir has quit (Remote host closed the connection).
06:07:21 -!- orin has quit (Ping timeout: 246 seconds).
06:07:21 -!- ineiros_ has quit (Ping timeout: 246 seconds).
06:24:32 -!- fractal has joined.
06:32:46 -!- MDude has quit (Read error: Connection reset by peer).
06:41:23 -!- MDude has joined.
07:42:41 -!- tromp has joined.
07:45:42 -!- arseniiv has joined.
07:47:04 -!- tromp has quit (Ping timeout: 246 seconds).
07:53:10 -!- tromp has joined.
08:12:02 -!- sebbu2 has changed nick to sebbu.
08:21:15 -!- AnotherTest has joined.
08:25:39 -!- AnotherTest has quit (Ping timeout: 252 seconds).
08:28:16 -!- AnotherTest has joined.
09:24:47 -!- AnotherTest has quit (Ping timeout: 240 seconds).
09:40:02 -!- AnotherTest has joined.
09:44:07 -!- AnotherTest has quit (Ping timeout: 240 seconds).
09:54:51 -!- AnotherTest has joined.
10:02:10 -!- AnotherTest has quit (Ping timeout: 246 seconds).
10:08:28 -!- AnotherTest has joined.
10:14:30 -!- AnotherTest has quit (Ping timeout: 252 seconds).
10:20:17 -!- AnotherTest has joined.
10:26:18 -!- AnotherTest has quit (Ping timeout: 250 seconds).
10:26:57 -!- AnotherTest has joined.
10:41:56 -!- wob_jonas has joined.
11:28:10 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
12:17:54 -!- Lord_of_Life_ has joined.
12:19:40 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
12:20:22 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
12:51:06 -!- Essadon has joined.
14:00:18 -!- newbie37 has joined.
14:03:38 -!- Roger9_ has joined.
14:04:24 -!- int-e_ has joined.
14:04:28 -!- atehwa_ has joined.
14:09:39 -!- Essadon has quit (*.net *.split).
14:09:39 -!- atehwa has quit (*.net *.split).
14:09:39 -!- rdococ has quit (*.net *.split).
14:09:39 -!- int-e has quit (*.net *.split).
14:09:39 -!- HackEso has quit (*.net *.split).
14:10:35 -!- HackEso has joined.
14:12:59 -!- fractal has quit (Ping timeout: 246 seconds).
14:30:58 -!- fractal has joined.
14:45:15 -!- xkapastel has joined.
14:47:21 -!- AnotherTest has quit (Ping timeout: 252 seconds).
15:14:21 -!- newbie37 has quit (Quit: Qutting).
15:14:39 -!- Essadon has joined.
15:18:21 -!- imode has joined.
15:19:01  what would an automaton look like that could generate a list of all possible combinations of n pairs of parentheses?
15:19:13  i.e I hand you the number 2, you give me back (()) and ()()
15:19:53  intuition about matching tells me that you can write an acceptor for dyck words of that sort using a PDA.
15:20:00  but I've never thought about generating.
15:20:51  I assume you'd need separate automata depending on the number of pairs you wanted to generate.
15:24:02  imode: up the answer for that in TAOCP chapter 7.2.1.6
15:24:35  is the solution actually an automaton or some pseudocode.
15:29:03  okay... that wasn't what I was looking for, but thanks for the pointer.
15:33:34  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=60459&oldid=60358 * EnilKoder * (+638) /* Introductions */
15:33:44  [[EnilKode]] N https://esolangs.org/w/index.php?oldid=60460 * EnilKoder * (+5068) Created page with "==enilKode== enilKode is the first programming language created by enilKoder, which is where he got his username for Esolang. The name enilKode comes from his username on [htt..."
15:42:29  [[Mao]] N https://esolangs.org/w/index.php?oldid=60461 * EnilKoder * (+550) No information for this programming language is available; learn about robots.txt
15:45:51  [[TroJavaScript]] N https://esolangs.org/w/index.php?oldid=60462 * EnilKoder * (+216) This is just JavaScript, right? That's not what I wanted my program to do!
15:47:05  [[Special:Log/newusers]] create  * Caotic *  New user account
16:04:40  [[Joke language list]]  https://esolangs.org/w/index.php?diff=60463&oldid=60237 * EnilKoder * (+95) /* General languages */
16:16:42 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
16:27:46 -!- imode has quit (Ping timeout: 255 seconds).
16:51:22 -!- imode has joined.
16:54:47 -!- xkapastel has quit (Quit: Connection closed for inactivity).
17:03:10 -!- FreeFull has joined.
17:11:02  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=60464&oldid=60459 * Caotic * (+198) 
17:11:36  [[User:Caotic]] N https://esolangs.org/w/index.php?oldid=60465 * Caotic * (+118) Created page with "Hello! I like how esolang can be a unique tool for learning minimal calculus, so I am here to help more the community."
17:11:58  [[Grr]] N https://esolangs.org/w/index.php?oldid=60466 * Caotic * (+3723) Created page with "Grr is a pure textual programming language that composes rules and functions inspired in macro and high-order programming. Exist two ways of define rules in Grr, first using a..."
17:13:49  [[Grr]]  https://esolangs.org/w/index.php?diff=60467&oldid=60466 * Caotic * (+108) 
17:15:27  [[Grr]]  https://esolangs.org/w/index.php?diff=60468&oldid=60467 * Caotic * (+0) 
17:18:26  [[ASCII]] N https://esolangs.org/w/index.php?oldid=60469 * Camto * (+124) Page creation.
17:18:33 -!- pikhq has quit (Ping timeout: 252 seconds).
17:18:41 -!- pikhq has joined.
17:20:42  [[Bootstrap]] N https://esolangs.org/w/index.php?oldid=60470 * Camto * (+234) Page creation.
17:23:40  [[Call stack]]  https://esolangs.org/w/index.php?diff=60471&oldid=51804 * Camto * (-31) Broken link.
17:24:55  [[Language list]]  https://esolangs.org/w/index.php?diff=60472&oldid=60442 * Caotic * (+10) 
17:25:04 -!- AnotherTest has joined.
17:25:58  [[90]]  https://esolangs.org/w/index.php?diff=60473&oldid=44763 * Camto * (-6) Broken link.
17:26:49  [[The Inevitable]]  https://esolangs.org/w/index.php?diff=60474&oldid=46316 * Camto * (+19) Broken link.
17:31:14  [[Grr]]  https://esolangs.org/w/index.php?diff=60475&oldid=60468 * Caotic * (+6) 
17:31:54  [[Grr]]  https://esolangs.org/w/index.php?diff=60476&oldid=60475 * Caotic * (+0) 
17:38:59 -!- int-e_ has changed nick to int-e.
17:43:27 -!- nfd has quit (Ping timeout: 240 seconds).
17:43:45 -!- LKoen has joined.
17:44:23 -!- imode has quit (Ping timeout: 246 seconds).
18:15:29 -!- LKoen has quit (Remote host closed the connection).
18:15:54 -!- imode has joined.
18:29:08 -!- adu has joined.
18:47:10  [[Special:Log/newusers]] create  * Asty *  New user account
18:47:57 -!- xkapastel has joined.
18:49:31  [[Special:Log/newusers]] create  * Sentry *  New user account
18:52:07 -!- imode has quit (Ping timeout: 245 seconds).
18:56:45  [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=60477&oldid=60464 * Sentry * (+176) add my introduction
18:57:02  [[Ly]]  https://esolangs.org/w/index.php?diff=60478&oldid=58552 * Sentry * (+96) Add new interpreter to list
19:07:20 -!- LKoen has joined.
19:16:52 -!- Sgeo has joined.
19:19:00 -!- b_jonas has joined.
19:19:13 -!- Sgeo_ has quit (Ping timeout: 255 seconds).
19:20:40 -!- imode has joined.
19:23:43 -!- Sgeo_ has joined.
19:27:29 -!- Sgeo has quit (Ping timeout: 252 seconds).
19:33:10 -!- imode has quit (Ping timeout: 255 seconds).
20:00:56 -!- Phantom_Hoover has joined.
20:01:05 -!- Phantom_Hoover has quit (Changing host).
20:01:05 -!- Phantom_Hoover has joined.
20:15:49 -!- imode has joined.
20:17:25 -!- oerjan has joined.
20:25:54  @tell ais523  apparently cat -v doesn't make them visible, despite what it's documented to do? <-- the man page here says it excludes tabs, you need -T for that.
20:25:54  Consider it noted.
20:26:27  @tell ais523 or just -t
20:26:27  Consider it noted.
20:26:36  is that why it's considered harmful
20:26:47  what is
20:27:17  . o O ( i didn't mention goto anywhere... )
20:27:21 -!- nfd9001 has joined.
20:28:16  or cat -A
20:28:21  oerjan: do you occasionally comment on yafgc?
20:30:32  int-e: yes
20:31:16  yesterday i couldn't get comments to load, though.
20:31:52  iirc it was an occasional problem some days before too
20:32:29 -!- imode has quit (Quit: WeeChat 2.4).
20:32:46  or rather, comments for the last page, the previous loaded fine.
20:33:04  (but i loaded that first and then went to read something else, so...)
20:33:48  so i still have the tabs open.
20:37:07  int-e: do you? not by that nick, at least.
20:37:34 * oerjan guesses you're not Guesticus.
20:38:33  i would _not_ bet on Guesticus not being A, though.
20:42:58 -!- mniip has quit (Ping timeout: 600 seconds).
20:44:08  oerjan: no I don't. I just read a few and stumbled over a certain nick.
20:45:03  (sorry if that's disappointing)
20:52:30  awwwwwwwwwwwwwwwwwnot really
20:58:41  "VAROITUS: Tamä tuote sisältää ja sitä poltettaessa siltä erityy kemikaaleja, joiden on Kalifornian osavaltiossa todettu aiheuttavan syöpää ja sikiön epämuodostumia tai muita lisääntymiskykyyn littyviä vaurioita." — a camp stove fuel canister I own
21:00:24 -!- LKoen has quit (Remote host closed the connection).
21:00:44 -!- LKoen has joined.
21:24:33 -!- tswett[m] has joined.
21:24:47 -!- xkapastel has quit (Quit: Connection closed for inactivity).
21:25:34  Whoa, I've got a fancy [m] at the end of my nick! I think.
21:25:48  I figure I probably do. That seems pretty likely.
21:26:49  the [m]atrix has got you
21:27:09  tswett[m]: if that was a question, yes, you do
21:28:00  tswett: you can use a bot to find what your nick is. eg. try /msg perlbot &n
21:29:29 -!- mniip has joined.
21:29:36  or to find if you have a [m] at the end of your nick, 
21:29:45  /msg perlbot compose `eval `arg d&n'=~/[\[{][mM][\]}]$/ ? "yes" : "no"'
21:29:55  though that doesn't try to determine if it's a fancy one or not
21:30:32  hmm wait
21:30:35  they could also check the channel logs
21:30:37 * int-e shrugs
21:30:42  but where's the fun in that?
21:31:09  [[ALLSCII]]  https://esolangs.org/w/index.php?diff=60479&oldid=60412 * Cortex * (-122) Removed ~ and @, we already have those instructions
21:31:41  But more importantly, the real quote is just "the matrix has you".
21:32:55  there's also /msg perlbot 8ball do I have a fancy [m] at the end of my nick?
21:32:58  but it's less reliable
21:37:04  fungot: hi!
21:37:05  int-e: so of course it's ambiguous if you don't, it will handle an empty array the same way
21:37:25  aaaaaaaaaaaaaaa
21:37:46  don't even remind me of matlab's truthyness rule, my hon. and learned friend fungot
21:37:47  b_jonas: nooooo, don't ask why), microsoft products have assimilated quite well, thanks. i don't
21:39:18  (if you're looking for a bot that will parrot your nick...)
21:39:48 -!- nfd9001 has quit (Ping timeout: 252 seconds).
21:39:52  @metar lowi
21:39:54  LOWI 122120Z 28010KT 9999 FEW090 BKN120 02/M03 Q1015 NOSIG
21:44:50  '"
21:44:55  `"
21:44:56  417)  It's ok guys.  I am doing what I can to keep my psyche and ego surviving. All the while the threat of ww3 looms, the mortality of family and friends(loved ones?) and sooner or llater my own mortality. \ 1217)  ...my university's Scandinavian Society is having a trip to IKEA
21:45:49  Fear and Loathing at IKEA
21:59:33  oh man
21:59:37  i miss itidus
21:59:43  what a nutter
21:59:53  i hope he's doing well
21:59:58  yeah
21:59:58  still making his instant coffee
22:00:32  I am feeling pretty shit today :(
22:00:38  day started good and got bad
22:00:42  that's kind of the opposite of usual
22:01:25  I don't think I'm ever going to get over the things that upset me :(
22:01:31  I'm not going to last much longer if I don't :(
22:01:51  is this, like, your general dissatisfaction with the rest of the human race or something else
22:02:00  no
22:02:32  is it... bay area property disputes or something
22:02:35  the stuff with rust-lang and all my trauma from living with gender dysphoria
22:03:42  sorry, this probably isn't the place to talk about it
22:03:48  the mention of nutters made me bring it up :P
22:03:55  what's wrong with rust-lang other than the sjw shitheads setting themselves up as moral arbiters
22:04:00  that
22:04:05  more or less
22:04:19  and the general niceness policing
22:04:42  hypocrisy
22:04:43 -!- Sgeo__ has joined.
22:05:03  the first CoC dispute I got into was not SJW related, it was the fact that they failed to get rid of a particular abrasive community member for at least 3 years
22:05:06  because "he writes good code"
22:05:14  they all acknowledge he was a problem
22:05:21  it's the exact opposite of what the CoC was supposed to mean
22:05:24  they were hypocrites from day one
22:05:33  it really hurts that I used to believe them and believe in all that crap
22:05:41  and now it's taken over open source and I don't feel safe anywhee
22:05:44  anywhere*
22:05:57  to me that's like... ok at least i can understand it as a pragmatic compromise
22:06:31  yeah but the whole community just pats each other on the back over how ~friendly and welcoming~ they are
22:06:35  while ignoring everyone who disagrees
22:06:36  yes
22:07:14  the sjw shit disturbs me on a deeper level because ashley williams or whoever she was does not actually say 'kill all men' out of a deep personality dysfunction
22:07:35  she says it because there's a whole fucking culture now that covers for and endorses that sort of behaviour
22:07:43 -!- Sgeo_ has quit (Ping timeout: 252 seconds).
22:07:50  I partly agree with that
22:08:03  I think people say awful things to get applause on Twitter without thinking about how it might affect others
22:08:06  it just seems like manifestations of a cult that glorifies abuse and suffering
22:08:13  definitely
22:08:19  but also, I would not at all be surprised if she has some gender related trauma in her past
22:08:29  a lot of people do
22:08:33  and people tend to pay their trauma forward
22:08:36  I do it too :(
22:10:42  mm
22:11:17  I'm doing therapy and lots of other things but i'm not sure it will help fast enough :(
22:12:45  it's really exhausting waking up every goddamn day and being upset about the same thing
22:13:07  Phantom_Hoover: I'm sorry again for supporting those people long ago :(
22:13:13  I got disillusioned pretty quick
22:13:19  my interpretation of a lot of events has changed
22:15:06  I think Ashley also gets special treatment because she's fucking Steve Klabnik
22:15:18  this may explain why she gets to be in charge to begin with, seeing as she appears to have no useful skills
22:15:41  ahahahahahaha
22:16:18  I do think the npm sjw's have chilled out though, whether it's because they realized they hurt people or just that it's bad for their careers, i don't know
22:16:36  did you read jon ronson's book on public shaming
22:16:50  i would hope that being the subject of investigations from all of npm, linux, and rust may have given her pause
22:17:02  it has a chapter on donglegate
22:18:11  i did not read it
22:18:29  I do feel bad for encouraging public shaming against her
22:18:30  it's really interesting because the two dudes who lost their jobs for making dumb dick jokes behind an inquisitor were really humble and apologetic about the whole thing, and they'd also got decent jobs right afterwards
22:18:35  i feel like something of a hypocrite
22:18:45  on the other hand, live by the sword die by the sword
22:18:51  plus I complained through the Proper Channels first
22:18:56  and was dismissed
22:19:34  the inquisitor herself also lost her job and when interviewed was completely unrepentant, all 'i was martyred for standing up for women. this is what they do. my life is ruined. my every day is suffering. i still don't have a job. i blame the trauma'
22:19:54  yeah
22:20:00  they cry misogyny whenever challenged
22:20:06  and, like, i actually have principles and i don't think anyone deserves to lose their job because of an internet hate mob
22:20:16  I don't even want ashley to lose her job, I would like an apology though
22:20:19  but it's far too late for that
22:20:19  but i think i smirked a bit after that chapter
22:20:22  after the way I've acted
22:20:24  yeah
22:20:31  I think her clique also lost a lot of status after the ayo.js debacle, which was beyond embarrassing
22:20:41  people have seen that they are a drain on the project
22:20:52  and I think that's why she's bouncing around to different communities
22:21:05 -!- moei has joined.
22:21:18  I just need to figure out what my unfinished business is, so I can move on and forget all of this
22:21:34  well i think the 4channy dipshits who afaik actually do love slinging death and rape threats and doxx at any woman they can pick out make it easy to honestly think it's Them Vs The Misogynists
22:23:39  yeah i mean this stuff bothers me but it seems to weigh on you a lot more
22:24:41  yeah
22:24:51  I think it bothers me more than anyone else I know :(
22:24:58  although there are a few people who are close
22:25:14  and they happen to be non-cisgender AMABs as well
22:25:28 -!- copumpkin has quit (Ping timeout: 245 seconds).
22:25:34  ....All Mods Are Bastards?
22:26:52  lol
22:26:55  assigned male at birth
22:26:58  but I like yours too
22:29:05  I'd feel a lot better if I could work on some other OSS thing or something else in life that is productive
22:29:16  I'm kind of drifting right now
22:29:51  most things in my life are great, I'm not really depressed, I get upset about specific things though
22:30:00  and I feel like I'm not contributing much to society
22:30:00  I've been thinking all my open source stuff is pointless because nobody cares about it
22:30:11  I worked on things people actually do care about
22:30:15  and now I don't see that happening ever again :(
22:30:29  how come?
22:31:00  rain1: combination of bad feelings about the code of conduct stuff and general burnout
22:31:05  maybe I can at least start blogging again
22:31:43  yeah it's frustrating how coc's shelter abusive people
22:32:27 -!- LKoen has quit (Remote host closed the connection).
22:32:59 -!- LKoen has joined.
22:33:32  i wish i could just stop thinking about it
22:34:00  is there a specific one ? something happened recently?
22:34:04  no
22:34:15  yes specific, no not recently
22:34:24  ah
22:34:51  I was talking about it just now and I don't feel like going over it again because, as noted, I should think about it less
22:35:55  i'm just feeling really down today
22:36:00  and talking about it often helps
22:51:03  I just really don't know how to make progress :(
22:52:10 -!- arseniiv has quit (Ping timeout: 246 seconds).
22:52:15 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
22:53:59  sadly, telling your nick is one of those tricks that I believe we can't teach to hackeso
22:54:03  unless that's changed recently
22:59:09  hackeso's software could easily stuff some of the IRC state to the environment or something, but no, it doesn't bother
22:59:24  it definitely knows about IRC state because it puts it to the hg commit message
22:59:30  well, some of it
23:00:02  But you can make `list
23:00:44  yeah
23:01:30  of course, I can't complain. I don't want to run one of these bots either. 
23:01:43  b_jonas: fizzie is considering adding the feature.
23:03:36  so you want like  `echo $NICK  to work?
23:05:01  kmc: something like that, though probably with some better names, so there's a shared prefix for all the IRC-related context
23:05:16  I was in fact going to use $NICK.
23:05:24  It's not like this is serious business.
23:06:03  Previously, when we had logs access, there was the workaround of looking at the last few lines for the trigger. But that's not available in the current setup, and anyway it was racy.
23:06:13  `learn #esoteric is serious business.
23:08:40  The umlbox init has a way of setting environment variables, though the Python script part never puts that in the config file. So it needs a tiny umlbox patch to add a --env flag or something, and then another hackbot patch to use that to set the nick (and maybe some other state).
23:08:57  fizzie: a common prefix would make all the hackeso-related environment variables more discoverable by users
23:09:22  since they could do, like, ``` echo "${!HACKESO_*}" to find them
23:09:47  what kind of shell wizardry is that
23:10:02  too advanced for me
23:10:26  env|grep
23:10:44  kmc: meh, `perl -efor (keys%ENV) { /^HACKESO_/ and print } # if you prefer
23:10:58  i do not prefer
23:11:00  um, that needs separators
23:11:09  so like `perl -efor (keys%ENV) { /^HACKESO_/ and print "$_ " }
23:11:20  ``` echo "${!BASH*}"
23:11:21  BASH BASHOPTS BASHPID BASH_ALIASES BASH_ARGC BASH_ARGV BASH_CMDS BASH_COMMAND BASH_EXECUTION_STRING BASH_LINENO BASH_SOURCE BASH_SUBSHELL BASH_VERSINFO BASH_VERSION
23:11:37  ``` echo "${!L[ACO]*}"
23:11:38  No output.
23:11:46  I miss knowing weird perl things
23:11:54  `` echo "${!L[ACO]*}"
23:11:55  No output.
23:11:57  what?
23:12:05  ``` locale
23:12:07  LANG=C \ LANGUAGE= \ LC_CTYPE="C" \ LC_NUMERIC="C" \ LC_TIME="C" \ LC_COLLATE="C" \ LC_MONETARY="C" \ LC_MESSAGES="C" \ LC_PAPER="C" \ LC_NAME="C" \ LC_ADDRESS="C" \ LC_TELEPHONE="C" \ LC_MEASUREMENT="C" \ LC_IDENTIFICATION="C" \ LC_ALL=
23:12:10  hmm
23:12:21  I thought we still had some locale-related stuff set
23:12:23  `` locale
23:12:24  LANG=en_NZ.UTF-8 \ LANGUAGE= \ LC_CTYPE="en_NZ.UTF-8" \ LC_NUMERIC="en_NZ.UTF-8" \ LC_TIME="en_NZ.UTF-8" \ LC_COLLATE="en_NZ.UTF-8" \ LC_MONETARY="en_NZ.UTF-8" \ LC_MESSAGES="en_NZ.UTF-8" \ LC_PAPER="en_NZ.UTF-8" \ LC_NAME="en_NZ.UTF-8" \ LC_ADDRESS="en_NZ.UTF-8" \ LC_TELEPHONE="en_NZ.UTF-8" \ LC_MEASUREMENT="en_NZ.UTF-8" \ LC_IDENTIFICATION="en_NZ.UTF-8" \ LC_ALL=
23:12:30  hmm
23:12:42  ` echo "${!LC*}"
23:12:43  ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: : not found
23:12:45  `` echo "${!LC*}"
23:12:46  No output.
23:13:07  `` echo "${!LA*}"
23:13:08  LANG
23:13:12  `` echo "${!L[ACO]*}"
23:13:12  No output.
23:13:16  what?
23:13:41  `env
23:13:42  HACKENV=/hackenv \ LANG=en_NZ.UTF-8 \ PWD=/hackenv \ HOME=/tmp \ http_proxy=http://127.0.0.1:3128 \ TERM=linux \ SHLVL=0 \ PATH=/hackenv/bin:/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin
23:14:05  that's a bit too long to print in full
23:14:14  ``` echo "${!*}"
23:14:14  No output.
23:14:18  what
23:14:22  I don't get how this works
23:15:38  ``` echo "${!L@}"
23:15:39  LANG LINENO
23:15:41  ``` echo "${!@}"
23:15:42  No output.
23:15:48  I see
23:15:52  it's all in the BASH manual
23:16:09  Right, we already set a handful of environment variables. Looks like that doesn't actually go through umlbox init, but we instead just prefix an 'env' to the command.
23:16:14  `perl -e for (sort keys%ENV) { print "$_ " }
23:16:15  HACKENV HOME LANG PATH PWD SHLVL TERM http_proxy
23:16:20  hmm, it's not that long
23:16:27  ``` perl -e 'for (sort keys%ENV) { print "$_ " }'
23:16:27  HACKENV HOME LANG PATH PWD SHLVL TERM _ http_proxy
23:16:48  The `env output was complete, if that's what the "bit too long" comment was referring to.
23:16:53  `` grep -ri hackego bin
23:16:55  bin/echo:echo I AM HACKEGO! I AM THE VOID! PREPARE... TO DIE!
23:17:12  fizzie: yes, sorry
23:17:16  I expected it to be longer
23:17:25  `dobg echo
23:17:27  3764:2013-09-13  rm bin/echo \ 3763:2013-09-13  chmod +x bin/echo \ 3762:2013-09-13  echo echo No output. > bin/echo \ 3557:2013-08-29  revert f6f3d9626c03 \ 3530:2013-08-29  chmod +x /hackenv/bin/echo \ 3529:2013-08-29  echo echo Cats are cool but should be made illegal. > /hackenv/bin/echo
23:17:56  How is rm the last commit?
23:18:00  Is this a bad scowrev?
23:18:25  `hurl bin/echo
23:18:26  https://hack.esolangs.org/repo/log/tip/bin/echo
23:18:38  shachaf: no, bin/echo just doesn't exist I think. not that it matters, I invoke the shell builtin. you could override it from "bin/``"
23:18:41  I am confusil.
23:18:54  ``` du bin/echo
23:18:54  du: cannot access 'bin/echo': No such file or directory
23:19:00  Wait, how did grep find it?
23:19:02  ``` du bin/ping
23:19:03  4bin/ping
23:19:18  `` grep -ri hackego bin
23:19:20  bin/echo:echo I AM HACKEGO! I AM THE VOID! PREPARE... TO DIE!
23:19:23  `` grep -i hackego bin/echo
23:19:24  grep: bin/echo: No such file or directory
23:19:48  ``` grep -l HACKEGO bin | cat -A
23:19:48  grep: bin: Is a directory
23:19:53  ``` grep -Rl HACKEGO bin | cat -A
23:19:54  bin/^B^Becho$
23:19:59  aha
23:20:27 -!- AnotherTest has quit (Ping timeout: 240 seconds).
23:20:37  `` dobg echo
23:20:39  3800:2013-09-18  chmod +x bin/\x02\x02echo \ 3799:2013-09-18  echo "echo I AM HACKEGO! I AM THE VOID! PREPARE... TO DIE!" > bin/\x02\x02echo
23:20:52  PATH, TERM and HOME are set by umlbox. Our 'sandbox' script resets path (actually, to a rather wrong value) and adds HACKENV and http_proxy. PWD and SHLVL and _ are presumably from the shell. I can't remember where LANG is getting set.
23:20:55  `echo echo
23:20:55  I AM HACKEGO! I AM THE VOID! PREPARE... TO DIE!
23:21:05  `rm bin/echo
23:21:07  No output.
23:21:10  ``` echo "$PATH"
23:21:10  ​/hackenv/bin:/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin
23:21:10  hack the ego, patch the soul
23:21:15  `` ls bin/**
23:21:16  bin/welcome
23:21:17  `` ls bin/**
23:21:18  bin/ \ bin/welcome \ bin/8ball
23:21:24  what would the right value be?
23:22:07  The rigth value wouldn't include /opt/ghc/bin or /opt/python27/bin because there are nothing at those paths.
23:22:23  So I guess /hackenv/bin:/usr/bin:/bin minimally.
23:22:29  `` printf "%b" bin/*$'\x02'* 
23:22:29  bin/welcome
23:22:37  `` printf "%q" bin/*$'\x02'* 
23:22:38  ​$'bin/\002welcome'
23:24:26  Now I don't know if I should reuse the existing env command from the 'sandbox' wrapper, or finish adding the umlbox feature to set variables via init.
23:26:14  ``` $'\x0F'
23:26:15  229)  Phantom_Hoover: I have just one tvtropes page open in elinks, but my tvtropes.txt "queue" has 38 tvtropes.org URLs waiting for processing.
23:26:40  ``` cat bin/$'\x0F'
23:26:41  ​#!/bin/bash \ cmd="${1-quote}" \ TIMEFORMAT="real: %lR, user: %lU, sys: %lS" \ shopt -s extglob globstar \ eval -- "$cmd" | rnoooooooodl
23:27:17  `` ls -l bin/$'\x0F'
23:27:18  lrwxrwxrwx 1 1000 1000 1 Jul  8  2017 bin/ -> `
23:27:22  whoa
23:27:22  ``
23:27:23  1240)  do we seriously not do quotes any more?
23:27:52  ``` cat bin/$'\x16'
23:27:52  No output.
23:28:01  ``` echo bin/$'\x16'*
23:28:03  bin/ bin/ bin/echo
23:28:11  anyway, there's three of those
23:28:35  `cat bin/
23:28:35  No output.
23:28:36  `perl -we opendir $d,"bin" or die; for (sort readdir$d) { if (!/\A[!-~]+\z/) { $o=$_=~s/[^ -z]/sprintf"{%02X}",ord$&/ger; print "$o "; } }
23:28:36  ​{02}welcome {03}04w{03}08e{03}09l{03}11c{03}12o{03}13m{03}04e{0F} {0F} {16} {16}{16}{16} {16}{16}echo 8{0F}ball `{CC}{80} d{C3}{B6}ts qu{C3}{B8}rjan r{C3}{A8}sum{C3}{A8} v{C3}{A4}lkommen wisd{C3}{B6}m {C2}{BF} {C3}{BC}ml{C3}{A4}{C3}{BC}t {CE}{BF}{CF}{85}{CE}{B5}{CE}{BB}{CE}{BA}{CE}{BF}{CE}{BC}{CE}{B5} {D0}{B4}{D0}{BE}{D0}{B1}{D1}{80}{D0}{BE}-{D0}{BF}{D0}{BE}{D0}{B6}{D0}{B0}{D0}{BB}{D0}{BE}{D0}{B2}{D0}{B0}{D1}{82}{D1}{8C} {D8}{9F} {E2}{81}{97}
23:30:07  `perl -we use Encode; opendir $d,"bin" or die; for (sort readdir$d) { if (!/\A[!-~]+\z/) { $o=decode_utf8($_)=~s/[^ -z]/sprintf"{%02X}",ord$&/ger; print "$o "; } } print "~"
23:30:09  ​{02}welcome {03}04w{03}08e{03}09l{03}11c{03}12o{03}13m{03}04e{0F} {0F} {16} {16}{16}{16} {16}{16}echo 8{0F}ball `{300} d{F6}ts qu{F8}rjan r{E8}sum{E8} v{E4}lkommen wisd{F6}m {BF} {FC}ml{E4}{FC}t {3BF}{3C5}{3B5}{3BB}{3BA}{3BF}{3BC}{3B5} {434}{43E}{431}{440}{43E}-{43F}{43E}{436}{430}{43B}{43E}{432}{430}{442}{44C} {61F} {2057} ~
23:30:48  ``` cat $'`\xCC\x80'
23:30:48  cat: '`'$'\314\200': No such file or directory
23:30:52  ``` cat bin/$'`\xCC\x80'
23:30:53  echo "This should probably do something, but it does not."
23:31:19  cc 80?
23:31:22  shouldn't that be cd 80?
23:31:31  `¿
23:31:32  ​¯/)o_​°(\¯ ?
23:33:02  `¿ C
23:33:03  tluaf noitatnemgeS��.�דIW>�V��fo egaugnal eht si C
23:33:17  `¿ rules of wisdom
23:33:18  ​ noitautcnup dna noitazilatipac reporp esu dna ,taht erofeb ecaps on htiw enilwen a ni dne dna decaps elgnis eb ,yek pukool eht tuohtiw elbadnatsrednu eb  :dluohs yeht ,romuh s‘yrtne eht rof laitnesse sselnu
23:34:03  laitnesse
23:34:16  `? rules of wisdom
23:34:17  unless essential for the entry‘s humor, they should:  be understandable without the lookup key, be single spaced and end in a newline with no space before that, and use proper capitalization and punctuation
23:35:04 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:35:08 -!- xkapastel has joined.
23:35:53  ``` cat $'bin/\x61F'
23:35:53  cat: bin/aF: No such file or directory
23:36:00  ``` cat $'bin/\xD8\x9F'
23:36:00  ​\? "$@" | rev
23:39:46 -!- MDude has quit (Ping timeout: 246 seconds).
23:55:36 -!- b_jonas has quit (Quit: leaving).

2019-03-13:

00:06:41 -!- Sgeo_ has joined.
00:09:55 -!- Sgeo__ has quit (Ping timeout: 255 seconds).
00:11:11 -!- Sgeo__ has joined.
00:14:25 -!- Sgeo_ has quit (Ping timeout: 255 seconds).
00:14:45  `` echo hello your name is $IRC_NICK  # turns out there was multibot precedence for this name, I just propagated it
00:14:45  hello your name is fizzie
00:17:02  :O
00:17:21  `` echo $IRC_NICK is the cutest girl in the world
00:17:22  kmc is the cutest girl in the world
00:17:24  :O
00:17:27  why thank you HackEso 
00:17:38 -!- Lord_of_Life_ has joined.
00:17:48  `` env | grep IRC
00:17:49  IRC_NICK=shachaf
00:17:57  imo what about the rest of the message
00:17:59  `` env | grep kmc
00:18:00  IRC_NICK=kmc
00:18:39  `mkx bin/whoami//echo $IRC_NICK
00:18:41  bin/whoami
00:19:01  `` /usr/bin/whoami  # the official one wasn't very useful anyway
00:19:02  ​/usr/bin/whoami: cannot find name for user ID 1000: No such file or directory
00:19:46 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
00:20:03 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:38:53  ^ul (:*)(:*)(a)~^~(^)~^*(~S:^):^
00:38:53  aa^^ ...out of stack!
00:39:29 -!- MDude has joined.
00:39:55  ^ul (:*)(:*)(a)~^~(^)~^*(((:):)())~*^(~S:^):^
00:39:55  (:): ...out of stack!
00:40:12  ^ul (:*)(:*)(a)~^~(^)~^*(((:):)())~*^^(~S:^):^
00:40:12  (:): ...out of stack!
00:40:36  ^ul (:*)(:*)(a)~^~(^)~^*(((:):)())~*^^^(~S:^):^
00:40:36  :: ...out of stack!
00:40:50  hm oh.
00:40:57  ^ul (:*)(:*)(a)~^~(^)~^*(((:):)())~*^^^(~aS:^):^
00:40:57  (:)(:) ...out of stack!
00:41:07  ^ul (:*)(:*)(a)~^~(^)~^*(((:):)())~*^^(~aS:^):^
00:41:07  ((:):) ...out of stack!
00:41:19  ^ul (::**)(:*)(a)~^~(^)~^*(((:):)())~*^^(~aS:^):^
00:41:19  (:)(:) ...out of stack!
00:41:29  ^ul (::**)(:::***)(a)~^~(^)~^*(((:):)())~*^^(~aS:^):^
00:41:29  ()((:):) ...out of stack!
00:42:35  ^ul (::**)(:::***)(a)~^~(^)~^*(((=)S)((!=)S)((:):)())~*^^!!^
00:42:35  !=
00:42:43  ^ul (:::***)(:::***)(a)~^~(^)~^*(((=)S)((!=)S)((:):)())~*^^!!^
00:42:43  =
00:50:56  ^ul ((==)S)((!=)S)((:):)()(:::***)(:::***)(a)~^~(^)~^*^^!!^
00:50:56  ==
00:51:44  ^ul ((==)S)((!=)S)((:):)()(:::***)(:::***)(a)~^~(^)~^^!!^
00:51:44  !=
00:51:47  oops
00:52:10  ^ul ((==)S)((!=)S)((:):)()(:::***)(:::***)(a)~^~(^)~^^^!!^
00:52:10  !=
00:52:14  ^ul ((==)S)((!=)S)((:):)()(:::***)(:::***)(a)~^~(^)~^^^^!!^
00:52:14  ==
00:52:52  ^ul ((==)S)((!=)S)(:):(:::***)(:::***)(a)~^~(^)~^^^^!!^
00:52:52  !=
00:53:16  ^ul ((==)S)((!=)S)(:):(:::***)(:::***)(a)~^~(^)~^^^!!^
00:53:16  !=
00:53:40  Should `list be adapted to use whoami?
00:53:56  Yes.
00:54:07  `whoami
00:54:08  kmc
00:54:25  whoa, mi?
00:54:39  hi kmc
00:54:41  ^ul ((==)S)((!=)S)(:):(:::***)(:::***)(a)~^~(^)~^^!!^
00:54:41  !=
00:54:50  hichaf
00:54:53  `WeLcOmE kmc
00:54:54  KmC: wElCoMe tO ThE InTeRnAtIoNaL HuB FoR EsOtErIc pRoGrAmMiNg lAnGuAgE DeSiGn aNd dEpLoYmEnT! fOr mOrE InFoRmAtIoN, cHeCk oUt oUr wIkI: . (fOr tHe oThEr kInD Of eSoTeRiCa, TrY #eSoTeRiC On eFnEt oR DaLnEt.)
00:54:55  oh right duh
00:55:02  `relcome shachaf 
00:55:04  ​shachaf: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
00:55:11  `tervetuloa kmc
00:55:12  kmc: Tervetuloa esoteeristen ohjelmointikielten suunnittelun ja käyttöönoton kansainväliseen keskukseen! Lisätietoa saat wikistämme: . (Muu esoteerisuus: kokeile kanavaa #esoteric joko EFnet- tai Dalnet-verkossa.)
00:55:55  "VAROITUS: Tamä tuote sisältää ja sitä poltettaessa siltä erityy kemikaaleja, joiden on Kalifornian osavaltiossa todettu aiheuttavan syöpää ja sikiön epämuodostumia tai muita lisääntymiskykyyn 
00:56:00  littyviä vaurioita."
00:56:33  ääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääää
00:56:35  Alavilla mailla hallan vaara, älä rääkkää sitä kääkkää.
00:56:52  `ברוכים הבאים
00:56:53  ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ברוכים: not found
00:57:13  is that a tongue twister?
00:57:21  `which \`
00:57:21  They're the canonical most and least beautiful sentences of Finnish, according to someone.
00:57:21  No output.
00:57:40  `words --finnish 15
00:57:41  muillesi voisekonotkaamissamme korostamasi jyräävä seltuaalisempaan pilkupakkaamme alkamaltasi tuhoukkivälit holle kauemporummat kielialiltanhua tasi turvat ulstressa odostanne
00:57:58  regular finnish is tongue twisty enough for me
00:58:01  google thinks the first half is Malayalam
00:58:11  and it sounds rather nicer when text-to-spoken as such
00:58:20  Not bad in terms of % of real words this time: muillesi, korostamasi, jyräävä, turvat.
00:58:26  "älä rääkkää sitä kääkkää" could only be finnish
00:58:27  Usually there's just one or two.
00:58:44  Holle's long-tailed drumsticks for you!
00:58:47  "Don't torture that old crone", basically.
00:59:00  Hollow drops of the hollow-spotted tongue cups for Holle that we emphasized for others
00:59:08  ensin sinä sitten minä
01:00:09  okay, ok, this is too good: https://i.imgur.com/B0Nfc1a.png
01:00:34  I am just removing words from the end one by one
01:00:40  next is "the rumbling spheres we've been stressing to others for our more stellar backside"
01:00:52  "your crunchy belligerent bundle that you emphasized to others"
01:00:57  It's a bit hard to reason out how it got that.
01:01:24  `? king
01:01:25  king? ¯\(°​_o)/¯
01:01:26  `? fizzie
01:01:27  fizzie is not fnord with a monad but the sneaky king of #esoteric, see https://zem.fi/static/img/square_fizzie_320px_white.jpg
01:01:34  fizzie: are you actually sneaky twh
01:01:47 * kmc has a more stellar backside
01:02:10  I think not, I probably must've just edited a file in a query around the time that got added.
01:02:34  `dowg fizzie
01:02:36  11495:2018-04-12  ` hg cat -r 10000 wisdom/fizzie > wisdom/fizzie \ 11493:2018-04-12  slwd fizzie//s.prime minister.emperor. \ 11286:2017-12-28  slwd fizzie//s/\\bfi/Fi/ \ 11285:2017-12-25  slwd fizzie//s/^/King / \ 10285:2017-02-16  revert \ 10284:2017-02-16 <\oren̈\> slwd fizzie//s/$/ He never remembers w\'s./ \ 10241:2017-02-13  slwd fizzie//s.king.prime minister. \ 10201:2017-02-01  `2 dowg fizzie
01:02:46  2/3:chäf> slwd fizzie//s. k. canary k. \ 8869:2016-07-28  slwd fizzie//s#http.*#https://zem.fi/static/img/square_fizzie_320px_white.jpg# \ 8168:2016-05-25  ` sed -i \'s/k/sneaky k/\' wisdom/fizzie \ 4999:2014-10-02  revert 4969 \ 4984:2014-09-30  learn_append fizzie Fizzie is a bot controlled by fungot. \ 4249:2013-12-30  learn fizzie is not fnord with a monad but the king of #esoteric, see http://codu
01:03:19  http://esolangs.org/logs/2016-05.html#l1kg
01:03:38  kmc: are you sure it's not a black hole hth
01:03:38  netcraft confirms it
01:03:41  `slwd fizzie//s/sneaky //
01:03:43  fizzie//fizzie is not fnord with a monad but the king of #esoteric, see https://zem.fi/static/img/square_fizzie_320px_white.jpg
01:03:57  oh, no
01:04:03  This was about the mv trick.
01:04:12  I think that's sneaky after all.
01:04:38  shachääf
01:05:12  kiigän
01:05:53  `words --hebrew 15
01:05:54  ​התבל ללבו ויתרת ימים דבש וכו מונה האשמורו מורת שהבני לגל ולהעבדו כמפנ המוזלי כשתית
01:06:51  hebrew is p. dense
01:06:52  it's tg
01:07:54  is that because the vowels are not written
01:08:02  probably has to do with it?
01:08:28  books translated into hebrew are noticeably shorter if i remember correcctly
01:08:52  presumably chinese or something is even better
01:09:03  but the alphabet is much larger
01:09:54  [[Special:Log/upload]] upload  * A *  uploaded "[[File:Scratch(3.0).png]]": Deadfish
01:10:00  I'm playing with my fidget cube
01:10:01  it's tg
01:11:09  [[Deadfish]]  https://esolangs.org/w/index.php?diff=60481&oldid=59790 * A * (+44) /* The language defined by the Revised Revised Revised Revised Revised Report on the Algorithmic Language Scheme */
01:12:04  [[Special:Log/upload]] overwrite  * A *  uploaded a new version of "[[File:Scratch(3.0).png]]"
01:15:21 -!- oerjan has quit (Quit: Nite).
01:30:24 -!- imode has joined.
01:44:53 -!- xkapastel has quit (Quit: Connection closed for inactivity).
02:03:01  `` echo $PATH  # cleanups
02:03:02  ​/hackenv/bin:/usr/bin:/bin
02:06:06  i am considering doing something sneaky and evil
02:06:10  should i do it y/n
02:07:09  probably
02:07:11  what is it, though
02:08:08  it wouldn't be sneaky if i told you
02:11:46  well
02:11:53  will this affect me
02:13:22  probably not
02:13:27  i am overstating it
02:13:33  will hugs affect you
02:13:41  imo yes
02:21:17 -!- Essadon has quit (Quit: Qutting).
02:23:34  A cafe nearby had an advertising sign (advertisign?) outside, and at the bottom it said "hugs are free", and I got puzzled about whether that was a general statement or if they're actually hugging their customers.
02:23:53  means don't tip with a hug.
02:25:11  I guess that's possible, it just didn't seem likely from the context. Anyway, people don't usually tip at coffee shops here.
02:27:54  imo go in and ask for a hug
02:32:49  IMO tipping is weird
02:41:53  yeah
02:42:09  american tipping culture is really bad
02:44:44  it is scow
02:47:17  especially the part where employers can count tips as part of minimum wage :(
02:47:57  not in california
02:48:44  CO's setup for that is weird. Tipped wage is $2.02/hour below non-tipped minimum.
02:48:58  And that's a constant figure.
02:49:36  Sorry, $3.02
02:50:26  (minimum wage is $11.10/hr, going to $12/hr next year, after which point it will be pegged to inflation)
02:56:44  shachaf: also you should come to san francisco and hug me sometime
02:57:45  If you come to Denver I will have hugs on tap.
02:57:52  hooray!
02:57:54  I just might
02:58:00  in fact there's some chance I'll move to the area
02:58:26  Whoo
02:58:36  unclear, but it's under consideration
03:00:48  I was in Denver and didn't find any hugs there.
03:01:03  Admittedly I wasn't there for very long. And I think you were in California at the time.
03:02:28  Probably.
03:02:39  And I'm technically not in Denver yet.
03:02:52  I'm moving up there in about a month.
03:03:02  (that said, I'm about 60 miles south of there, so...)
03:04:24  imo berkeley is closer than denver and possibly has more hugs per capita
03:06:07  Denver's still in reasonable travel distance of family.
03:09:07  Also, I'm kinda trying to move to be _close_ to the office...
03:09:28  i meant for kmc
03:09:40  *shrug*
03:09:53  the goal is hugs
03:10:06  shachaf: do you know other people in berkeley who will hug me?
03:10:07  That is admittedly a valiant goal.
03:10:19  hmm, probably?
03:11:40  gUd aftRnUn evrEwun! is nO dEl breksit upon us? hW sUn wil nO?
03:13:52  They're voting on no deal tomorrow, though just a moment ago my newsfeed said it might still happen even if they vote no for no deal.
03:14:10  I think it boils down to "it's all messed up".
03:14:57  wel yes bEcuz Du E.yU. has tU agrE tU
03:15:08  that has been my impression for some time
03:18:27  Yeah. No deal is what happens if the UK just fails to take action at this point.
03:19:10  And given the past couple of years in UK politics, I dare say that's the safe bet.
03:25:35  hm, is there a prediction market contract for no-deal brexit?
03:25:37  i can't find one
03:26:03  Fair question, actually. Hmm.
03:34:14  https://www.betfair.com/exchange/plus/politics/market/1.153694387
03:35:38  what tf do all these numbers mean
03:39:05  https://www.livetipsportal.com/en/betting-strategies/back-lay/
03:39:09  not sure why they make it so complicated
03:40:25  Oh, it's just the inverse of the probability?
03:42:33  And I guess the other numbers are the bid and ask sizes at other prices?
04:00:01 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
04:02:52 -!- Lord_of_Life has joined.
04:50:13 -!- Sgeo_ has joined.
04:53:22 -!- Sgeo__ has quit (Ping timeout: 246 seconds).
05:12:18 -!- adu has quit (Quit: adu).
05:12:26  [[User talk:A]]  https://esolangs.org/w/index.php?diff=60483&oldid=60345 * Ais523 * (+706) some bugs in the Deadfish-in-Scratch implementation
06:25:49 -!- tromp has quit (Remote host closed the connection).
07:04:06 -!- adu has joined.
07:04:34 -!- tromp has joined.
07:06:07 -!- adu has quit (Client Quit).
07:08:52 -!- tromp has quit (Ping timeout: 255 seconds).
07:14:26 -!- AnotherTest has joined.
07:19:02 -!- AnotherTest has quit (Ping timeout: 272 seconds).
07:20:43 -!- imode has quit (Ping timeout: 246 seconds).
07:35:36 -!- tromp has joined.
08:07:07 -!- tromp has quit (Remote host closed the connection).
08:24:20 -!- tromp has joined.
09:15:37 -!- wob_jonas has joined.
09:18:25 -!- AnotherTest has joined.
09:33:11  fizzie: nice! though I was hoping for the full sender and receiving channel/nick too, although of course there are ways to abuse that with sneaky commands that behave differently in private message than on the channel
09:33:13  `whoami
09:33:13  wob_jonas
09:33:47  ``` perl -e'print reverse $ENV{IRC_NICK}'
09:33:48  wob_jonas
09:33:56  ``` perl -e'print "".reverse $ENV{IRC_NICK}'
09:33:57  sanoj_bow
10:04:34  I guess now we could make a subscribe macro that appends you to a list
11:32:15 -!- arseniiv has joined.
12:19:02 -!- Lord_of_Life_ has joined.
12:20:13 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
12:21:26 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
12:26:32 -!- lolol has joined.
12:31:16 -!- lolol has quit (Client Quit).
13:02:23 -!- AnotherTest has quit (Ping timeout: 252 seconds).
13:10:12 -!- AnotherTest has joined.
13:16:27 -!- AnotherTest has quit (Ping timeout: 252 seconds).
13:18:43  wob_jonas: The receiving side needs a patch in multibot, which I don't currently have a fork of. But I could easily propagate multibot's IRC_IDENT and IRC_HOST variables to the sandbox as well.
13:21:16  The exact semantics of those are: IRC_NICK is the incoming message's prefix with the leading ':' and any characters after the first '!' removed; IRC_IDENT is either empty or the characters from the first '!' to the first '@' after that; and IRC_HOST is either empty or the characters after the '@' from the previous step.
13:24:58  `` echo $IRC_NICK $IRC_IDENT $IRC_HOST  # <- wob_jonas
13:24:59  fizzie fis unaffiliated/fizzie
13:28:50  `` whoami; whoami -v
13:28:51  fizzie \ fizzie!fis@unaffiliated/fizzie
13:30:20 -!- AnotherTest has joined.
13:32:22  [[Special:Log/upload]] upload  * A *  uploaded "[[File:Truth-machine.JPG]]": Truth-machine
13:33:24  [[Truth-machine]]  https://esolangs.org/w/index.php?diff=60485&oldid=60310 * A * (+49) /* Sceql */
13:33:37  [[Truth-machine]]  https://esolangs.org/w/index.php?diff=60486&oldid=60485 * A * (-4) 
13:33:51  fizzie: ok, but how about also the message target, which is usually either #esoteric or HackEso ?
13:34:22  whcih is the first parameter after the PRIVMSG or NOTICE
13:37:20  Yes, that's the part that's not available to a running multibot command.
13:38:36  multibot itself obviously has it, but it's only used (after a fashion) to determine the name of the script/executable to run, not exported in an environment variable.
13:38:56 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
13:39:18 -!- AnotherTest has joined.
13:39:23  I can add it (probably as IRC_TARGET), but not while I'm supposed to be working, because it involves forking the multibot repo to make changes on that level.
13:40:33  [[Special:Log/upload]] overwrite  * A *  uploaded a new version of "[[File:Scratch(3.0).png]]": Fix bugs
13:41:45  [[Special:Log/upload]] overwrite  * A *  uploaded a new version of "[[File:Scratch(3.0).png]]": Fix that again :(
13:53:08 -!- adu has joined.
13:53:08 -!- adu has quit (Client Quit).
13:56:00 -!- Essadon has joined.
13:56:29 -!- Essadon has quit (Max SendQ exceeded).
13:57:29  [[User talk:A]]  https://esolangs.org/w/index.php?diff=60489&oldid=60483 * A * (-783) Clear talk page
14:03:20 -!- Essadon has joined.
14:42:17  fizzie: I see.
14:42:36  `whoami -v
14:42:37  wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209
14:42:42  ``` cat bin/whoami
14:42:43  echo -n $IRC_NICK; if [[ "$1" == "-v" && -n "$IRC_IDENT" ]]; then echo -n "!$IRC_IDENT"; if [[ -n "$IRC_HOST" ]]; then echo -n "@$IRC_HOST"; fi; fi; echo
15:17:42 -!- Sgeo__ has joined.
15:20:47 -!- Sgeo_ has quit (Ping timeout: 246 seconds).
15:26:32 -!- imode has joined.
15:39:33 -!- david777 has joined.
15:40:32 -!- david777 has quit (Read error: Connection reset by peer).
15:41:11 -!- S_Gautam has joined.
15:54:07 -!- tromp has quit (Remote host closed the connection).
16:09:41 -!- tromp has joined.
16:24:28 -!- tromp has quit (Remote host closed the connection).
16:31:44 -!- tromp has joined.
17:00:07 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
17:28:58 -!- MDude has quit (Ping timeout: 255 seconds).
17:36:23 -!- xkapastel has joined.
17:48:16 -!- imode has quit (Quit: WeeChat 2.4).
17:50:39 -!- LKoen has joined.
17:53:24 -!- LKoen has quit (Remote host closed the connection).
18:08:16 -!- atslash has quit (Quit: Leaving).
18:15:05 -!- Phantom_Hoover has joined.
18:15:05 -!- Phantom_Hoover has quit (Changing host).
18:15:05 -!- Phantom_Hoover has joined.
18:26:37 -!- LKoen has joined.
18:33:54  Today's "duh" moment: if you parse a bunch of bytes as proto X and rely on the idea that surely it'll throw some sort of exception if that's actually a message of type Y, you may end up spending a few hours (this thing is slow to run) figuring out why that stuff you see in the byte[] just won't seem to go in the proto.
18:35:30  (An InvalidProtocolBufferException will only get thrown if the incoming message has a set field that has a type that conflicts with the parsed-as proto; for all field numbers that don't exist the protobuf runtime will just go "huh, this is probably from some future version of X, I'll be forwards-compatible and ignore it".)
18:40:51 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
19:13:18 -!- LKoen_ has joined.
19:16:45 -!- LKoen has quit (Ping timeout: 252 seconds).
19:25:34 -!- LKoen_ has quit (Remote host closed the connection).
19:46:05 -!- xkapastel has quit (Quit: Connection closed for inactivity).
20:15:19 -!- oerjan has joined.
21:03:21 -!- b_jonas has joined.
21:04:01  fizzie: have you decided yet whether you'll join HackEso to #esoteric-blah ?
21:05:07  shachaf: no, `list shouldn't be adapted to use whoami. the whole point of list is that it makes it impossible to just remove you from the list, without changing the source code
21:05:31  it doesn't just put nicks to a file. if it did that, people would just remove themselves afterwards by editing that file or reverting.
21:05:54  but you can't do that, the way it's implemented. you'd have to mess with its source code to remove you.
21:05:58  or with scowrevs I think.
21:06:38  [[Esolang:Featured languages/Candidates]]  https://esolangs.org/w/index.php?diff=60490&oldid=60293 * Camto * (+804) Suggest Underload.
21:08:28  oh, that reminds me. who asked about rubik's cubes, and have you ordered one yet?
21:18:40 -!- Sgeo_ has joined.
21:21:54 -!- Sgeo__ has quit (Ping timeout: 250 seconds).
21:45:40  ^ul (:::***)(:::***)(a)~^~(^)~^*(((==)S)(!(<)S)(!(!(>)S)(:):)())~*^^!!^
21:45:40  ==
21:45:50  ^ul (::**)(:::***)(a)~^~(^)~^*(((==)S)(!(<)S)(!(!(>)S)(:):)())~*^^!!^
21:45:50  <
21:46:00  ^ul (::**)(:*)(a)~^~(^)~^*(((==)S)(!(<)S)(!(!(>)S)(:):)())~*^^!!^
21:46:00  >
21:51:49  ^ul (::**)(:*)(a)~^~(^)~^*(((==)S)(!(<)S)(!(!(>)S)(:):)())~*^^!!^(aS:^):^
21:51:49  >(aS:^) ...out of stack!
21:52:06  oops
21:52:17  ^ul (::**)(:*)(a)~^~(^)~^*(((==)S)(!(<)S)(!(!(>)S)(:):)())~*^^!!^(~aS:^):^
21:52:17  > ...out of stack!
21:52:29  ^ul (::**)(::**)(a)~^~(^)~^*(((==)S)(!(<)S)(!(!(>)S)(:):)())~*^^!!^(~aS:^):^
21:52:29  == ...out of stack!
21:52:38  ^ul (:*)(::**)(a)~^~(^)~^*(((==)S)(!(<)S)(!(!(>)S)(:):)())~*^^!!^(~aS:^):^
21:52:38  < ...out of stack!
21:54:40  ``` rustc --versions
21:54:41  bash: rustc: command not found
22:02:51 -!- bobby has quit (Ping timeout: 252 seconds).
22:04:43 -!- bobby has joined.
22:07:24 -!- nykebarz has joined.
22:07:26  Hello!
22:07:47  Guys, what language uses just ".?!"
22:09:58  Nevermind! I got it!
22:10:03 -!- nykebarz has quit (Client Quit).
22:11:17  . o O ( Ook! minus Ook )
22:11:51  meh.
22:12:19 -!- imode has joined.
22:12:35  ... https://esolangs.org/wiki/Blub ... really.
22:19:06  It would have been nice to hear the answer. But "Ook! minus Ook" seems to exist, so I'll stick to that guess: https://www.dcode.fr/ook-language ("In order to shorten writing and avoid multiples Ook, the code is sometimes simplified (by removing the Ook) [...]")
22:23:38  int-e: wouldn't that work by still writing one Ook followed by all the punctuation though, the theory being that an orangutan would be able to pronounce a single Ook expressively enough? 
22:28:08  ........!?.?................?.!!?!.?!.!.!.
22:28:40  sorry, I meant ........!?.?................?.!!?!.?..!.!.!.
22:32:16 -!- arseniiv has quit (Ping timeout: 255 seconds).
22:33:26 -!- moei has quit (Quit: Leaving...).
22:33:38  `perl -e %m=("..",'$m[$s]++',"!!",'$m[$s]--',".?",'$m++',"?.",'$m--',"!.",'print chr$m[$s]',"!?",'while($m[$s]){',"?!",'}');$m{ while("........!?.?................?.!!?!.?..!.!.!."=~/(..)/){print(($m{$1}//die"what$1"),"; ");}
22:33:39  syntax error at -e line 1, near "{ while" \ Missing right curly or square bracket at -e line 1, at end of line \ Execution of -e aborted due to compilation errors.
22:34:15  `perl -e %m=("..",'$m[$s]++',"!!",'$m[$s]--',".?",'$m++',"?.",'$m--',"!.",'print chr$m[$s]',"!?",'while($m[$s]){',"?!",'}'); while("........!?.?................?.!!?!.?..!.!.!."=~/(..)/g){print(($m{$1}//die"what$1"),"; ");}
22:34:15  ​$m[$s]++; $m[$s]++; $m[$s]++; $m[$s]++; while($m[$s]){; $m++; $m[$s]++; $m[$s]++; $m[$s]++; $m[$s]++; $m[$s]++; $m[$s]++; $m[$s]++; $m[$s]++; $m--; $m[$s]--; }; $m++; $m[$s]++; print chr$m[$s]; print chr$m[$s]; print chr$m[$s];
22:34:40  `perl -e %m=("..",'$m[$s]++',"!!",'$m[$s]--',".?",'$m++',"?.",'$m--',"!.",'print chr$m[$s]',"!?",'while($m[$s]){',"?!",'}'); while("........!?.?................?.!!?!.?..!.!.!."=~/(..)/g){ $f.=(($m{$1}//die"what$1"),"; "); } eval$f;
22:34:41  No output.
22:35:55  `perl -e %m=("..",'$m[$s]++',"!!",'$m[$s]--',".?",'$m++',"?.",'$m--',"!.",'print chr$m[$s]',"!?",'while($m[$s]){',"?!",'}'); while("........!?.?................?.!!?!.?..!.!.!."=~/(..)/g){ $f.=(($m{$1}//die"what$1"),';print"['.$1.':$s:$m[$s]]"; '); } eval$f;
22:35:55  ​[..::][..::][..::][..::][!?::][.?::][..::][..::][..::][..::][..::][..::][..::][..::][?.::][!!::][?!::][.?::][..::][!.::][!.::][!.::]
22:36:11  `perl -e %m=("..",'$m[$s]++',"!!",'$m[$s]--',".?",'$m++',"?.",'$m--',"!.",'print chr$m[$s]',"!?",'while($m[$s]){',"?!",'}'); while("........!?.?................?.!!?!.?..!.!.!."=~/(..)/g){ $f.=(($m{$1}//die"what$1"),';print"['.$1.':$s:$m[$s]]"; '); } $s=@m=0; eval$f;
22:36:12  ​[..:1:][..:1:][..:1:][..:1:][!?:1:][.?:1:][..:1:][..:1:][..:1:][..:1:][..:1:][..:1:][..:1:][..:1:][?.:1:][!!:1:][?!:1:][.?:1:][..:1:][!.:1:][!.:1:][!.:1:]
22:36:33  `perl -e %m=("..",'$m[$s]++',"!!",'$m[$s]--',".?",'$m++',"?.",'$m--',"!.",'print chr$m[$s]',"!?",'while($m[$s]){',"?!",'}'); while("........!?.?................?.!!?!.?..!.!.!."=~/(..)/g){ $f.=(($m{$1}//die"what$1"),';print"['.$1.':$s:$m[$s]]"; '); } $s=@m=0; eval$f; print'[STOP]';
22:36:34  ​[..:1:][..:1:][..:1:][..:1:][!?:1:][.?:1:][..:1:][..:1:][..:1:][..:1:][..:1:][..:1:][..:1:][..:1:][?.:1:][!!:1:][?!:1:][.?:1:][..:1:][!.:1:][!.:1:][!.:1:][STOP]
22:37:13  `perl -e %m=("..",'$m[$s]++',"!!",'$m[$s]--',".?",'$m++',"?.",'$m--',"!.",'print chr$m[$s]',"!?",'while($m[$s]){',"?!",'}'); while("........!?.?................?.!!?!.?..!.!.!."=~/(..)/g){ $f.=(($k{$1}//die"what$1"),';print"['.$1.':$s:$m[$s]]"; '); } $s=@m=0; eval$f; print'[STOP]';
22:37:14  what.. at -e line 1.
22:37:26  `perl -e %m=("..",'$m[$s]++',"!!",'$m[$s]--',".?",'$m++',"?.",'$m--',"!.",'print $m[$s]',"!?",'while($m[$s]){',"?!",'}'); while("........!?.?................?.!!?!.?..!.!.!."=~/(..)/g){ $f.=(($m{$1}//die"what$1"),';print"['.$1.':$s:$m[$s]]"; '); } $s=@m=0; eval$f; print'[STOP]';
22:37:27  ​[..:1:][..:1:][..:1:][..:1:][!?:1:][.?:1:][..:1:][..:1:][..:1:][..:1:][..:1:][..:1:][..:1:][..:1:][?.:1:][!!:1:][?!:1:][.?:1:][..:1:][!.:1:][!.:1:][!.:1:][STOP]
22:38:11  `perl -e %m=("..",'$m[$s]++',"!!",'$m[$s]--',".?",'$m++',"?.",'$m--',"!.",'print $m[$s]',"!?",'while($m[$s]){',"?!",'}'); while("........!?.?................?.!!?!.?..!.!.!."=~/(..)/g){ $f.=(($m{$1}//die"what$1"),';print"['.$1.':$s:$m[$s]]"; '); } $s=0;@m=(0)x9; eval$f; print'[STOP]';
22:38:12  ​[..:0:0][..:0:0][..:0:0][..:0:0][!?:0:0][.?:0:0][..:0:0][..:0:0][..:0:0][..:0:0][..:0:0][..:0:0][..:0:0][..:0:0][?.:0:0][!!:0:0][?!:0:0][.?:0:0][..:0:0][!.:0:0][!.:0:0][!.:0:0][STOP]
22:38:16  that doesn't look right
22:38:22  the .. should increment the memory
22:39:49  huh. one of $m[$s]++ or $m++ doesn't make sense... unless perl has a commutative [] just like C.
22:39:51  `perl -e %m=("..",'$m[$s]++',"!!",'$m[$s]--',".?",'$m++',"?.",'$m--',"!.",'print "($m[$s])"',"!?",'while($m[$s]){',"?!",'}'); while("........!?.?................?.!!?!.?..!.!.!."=~/(..)/g){ $f.=(($m{$1}//die"what$1").'; '); } $s=0;@m=(0)x9; eval$f; print'[STOP]';
22:39:55  better
22:39:59  sorry, $f had the wrong content
22:40:04  oh
22:40:10  that's another bug
22:40:22  No output.
22:40:41  `perl -e %c=("..",'$m[$s]++',"!!",'$m[$s]--',".?",'$s++',"?.",'$s--',"!.",'print "($m[$s])"',"!?",'while($m[$s]){',"?!",'}'); while("........!?.?................?.!!?!.?..!.!.!."=~/(..)/g){ $f.=(($c{$1}//die"what$1").'; '); } eval$f; print'[STOP]';
22:40:42  ​(33)(33)(33)[STOP]
22:40:51  ok, so that prints three exclamation marks
22:41:00  that's what I intended
22:41:13  `perl -e %c=("..",'$m[$s]++',"!!",'$m[$s]--',".?",'$s++',"?.",'$s--',"!.",'print chr($m[$s])',"!?",'while($m[$s]){',"?!",'}'); while("........!?.?................?.!!?!.?..!.!.!."=~/(..)/g){ $f.=(($c{$1}//die"what$1").'; '); } eval$f; 
22:41:13  ​!!!
22:42:31  Though maybe I should have opted for five. https://wiki.lspace.org/mediawiki/index.php/Multiple_exclamation_marks
22:43:21  `perl -e while("........!?.?................?.!!?!.?..!.!.!."=~/(..)/g){ $w{$1}++; } for(sort keys%w) { printf "%d%s | ",$w{$_},$_; }
22:43:22  1!! | 3!. | 1!? | 13.. | 2.? | 1?! | 1?. |
22:44:33  hmm, I could have just translated it to branfuck, then ask our hon. and learned friend fungot to run it
22:44:33  b_jonas: one could say, this piet program prints " wrong"
22:45:14  b_jonas: your way was more entertaining though a bit on the spammy side.
22:45:47  yeah, I should have switched to private earlier
22:46:02  fizzie: get HackEso onto #esoteric-blah, then I can still be entertaining
22:46:12  without being spammy here
22:51:43 -!- housecarpenter has joined.
22:59:36 -!- imode has quit (Quit: WeeChat 2.4).
23:03:08 -!- b_jonas has quit (Quit: leaving).
23:05:38  [[Esolang:Featured languages/Candidates]] M https://esolangs.org/w/index.php?diff=60491&oldid=60490 * Oerjan * (+0) Capitalize Turing
23:09:21 -!- AnotherTest has quit (Ping timeout: 252 seconds).
23:18:04  [[Interfrac]] M https://esolangs.org/w/index.php?diff=60492&oldid=60357 * Oerjan * (+6) Be bold
23:36:02 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:36:05 -!- Essadon has quit (Quit: Qutting).
23:46:33 -!- housecarpenter has quit (Read error: Connection reset by peer).
23:46:57 -!- housecarpenter has joined.

2019-03-14:

00:00:33 -!- housecarpenter has quit (Read error: Connection reset by peer).
00:00:57 -!- housecarpenter has joined.
00:19:23 -!- Lord_of_Life_ has joined.
00:21:37 -!- Lord_of_Life has quit (Ping timeout: 244 seconds).
00:21:37 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:46:56 -!- HackEso has quit (Remote host closed the connection).
00:47:06 -!- HackEso has joined.
00:47:33  `` echo :$IRC_NICK!$IRC_IDENT@$IRC_HOST $IRC_COMMAND $IRC_TARGET :$IRC_MESSAGE  # <- b_jonas
00:47:33  ​:fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :`` echo :$IRC_NICK!$IRC_IDENT@$IRC_HOST $IRC_COMMAND $IRC_TARGET :$IRC_MESSAGE # <- b_jonas
00:47:48  I guess they might miss that if they don't practice logreading.
00:48:03  @tell b_jonas `` echo :$IRC_NICK!$IRC_IDENT@$IRC_HOST $IRC_COMMAND $IRC_TARGET :$IRC_MESSAGE
00:48:03  Consider it noted.
00:52:34  @tell b_jonas #esoteric-blah I'll do later. multibot doesn't support autojoining several channels, and I don't have the old HackEgo's workaround hack around.
00:52:34  Consider it noted.
01:58:15 -!- mniip has quit (Ping timeout: 608 seconds).
02:01:10 -!- MDude has joined.
02:29:09 -!- oerjan has quit (Quit: Nite).
02:29:52 -!- housecarpenter has quit (Quit: Leaving).
03:09:52 -!- mniip has joined.
03:40:41 -!- FreeFull has quit.
05:12:24  [[Talk:Interfrac]]  https://esolangs.org/w/index.php?diff=60493&oldid=60456 * Ais523 * (+130) /* Computational class */ add a missing case to the triviality proof for missing input
07:04:37  smìl! swèt! sistŕ! sadistic! suprìz! sŕvis! speliñ refòrm!
07:12:33  smIl! swEt! sistR! sadistic! suprIz! sRvis! speliN refOrm!
07:20:03  [[Talk:Interfrac]]  https://esolangs.org/w/index.php?diff=60494&oldid=60493 * Int-e * (+381) /* Computational class */ Reference for membership in NP
07:20:53  [[Talk:Interfrac]] M https://esolangs.org/w/index.php?diff=60495&oldid=60494 * Int-e * (+5) typo & tweak
07:22:55  . o O ( Hmm it's called "feasibility", but I don't want to make a third edit. )
08:31:58 -!- arseniiv has joined.
09:07:57 -!- AnotherTest has joined.
09:10:31 -!- lleu has joined.
09:11:23 -!- lleu has quit (Read error: Connection reset by peer).
09:33:46 -!- AnotherTest has quit (Ping timeout: 255 seconds).
09:53:29 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net).
10:04:13 -!- wob_jonas has joined.
10:04:28  fizzie: oh wow nice! let me see
10:04:32  ``` echo $IRC_TARGET
10:04:33  ​#esoteric
10:04:56  and it says HackEso in private
10:05:20  now I just have to test what happens if HackEgo's voiced and I send the message to *#esoteric
10:12:18  since it won't be in another channel you say
10:35:13 -!- bobby has quit (Ping timeout: 246 seconds).
10:41:13 -!- bobby has joined.
11:28:16 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
11:29:59 -!- wob_jonas has joined.
11:31:45 -!- wob_jonas has quit (Client Quit).
11:44:54 -!- AnotherTest has joined.
12:06:08 -!- AnotherTest has quit (Ping timeout: 272 seconds).
12:15:40 -!- AnotherTest has joined.
12:21:35 -!- Lord_of_Life_ has joined.
12:22:12 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
12:22:25 -!- AnotherTest has joined.
12:22:58 -!- Lord_of_Life has quit (Ping timeout: 255 seconds).
12:23:55 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
14:03:42 -!- xkapastel has joined.
14:28:31 -!- fungot has quit (Ping timeout: 250 seconds).
14:30:33 -!- Sgeo has joined.
14:33:05 -!- Sgeo_ has quit (Ping timeout: 246 seconds).
14:33:47 -!- fungot has joined.
15:03:51 -!- AnotherTest has quit (Ping timeout: 258 seconds).
15:56:17 -!- imode has joined.
16:10:06 -!- andrew_ has joined.
16:10:09  jo
16:10:48  yo wassup
16:13:08 -!- imode has quit (Ping timeout: 272 seconds).
16:13:27 -!- xkapastel has quit (Quit: Connection closed for inactivity).
16:18:24  eh
16:26:52 -!- imode has joined.
16:47:34  `relcome andrew_ 
16:47:35  ​andrew_: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
16:49:36 -!- andrew_ has quit (Quit: Page closed).
16:50:22  [[Nope.]]  https://esolangs.org/w/index.php?diff=60496&oldid=59298 * Areallycoolusername * (+348) 
16:52:09  . o O ( free font? )
16:53:58  [[User:Int-e]] M https://esolangs.org/w/index.php?diff=60497&oldid=59381 * Int-e * (+2) I'm feeling silly.
16:58:31 -!- AnotherTest has joined.
17:46:04 -!- imode has quit (Ping timeout: 250 seconds).
17:47:04 -!- Sgeo_ has joined.
17:50:02 -!- Sgeo has quit (Ping timeout: 272 seconds).
18:00:27  3/14 1:59!
18:00:33  happy pi day!
18:00:37 -!- imode has joined.
18:19:51  happy pi day
18:20:31  > pi
18:20:33   3.141592653589793
18:26:38 -!- Phantom_Hoover has joined.
18:30:37  One of our internal tools with the substring "pi" in its name, let's say "Tapir" for the sake of illustration, not it's real name, is showing the title in the top navigation bar today as "Taπr".
18:31:40  > (!!1000000).scanl1(+).zipWith(((4/).).(*))[1,3..]$cycle[1,-1]  -- a pointless and rather slow way to compute pi
18:31:43   3.1415936535887745
18:32:01  @where pi_10
18:32:01  (!!3)<$>transpose[show$foldr(\k a->2*10^2^n+a*k`div`(2*k+1))0[1..2^n]|n<-[0..]]
18:32:14  > (!!3)<$>transpose[show$foldr(\k a->2*10^2^n+a*k`div`(2*k+1))0[1..2^n]|n<-[0..]]
18:32:17   "314159265358979323846264338327950288419716939937510582097494459230781640628...
18:32:29  nice
18:37:19  @where e_10
18:37:19  [show(sum$scanl div(100^n)[1..[4..]!!n])!!n|n<-[0..]]
18:38:53  there is a Soyuz launch today scheduled for 3:14 pm EDT
18:38:54  :D
18:43:51  https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.32.4249
19:00:28 -!- imode has quit (Ping timeout: 245 seconds).
19:01:08  kmc, but soyuz is so boring, it always works
19:01:18  actually wait didn't one of them blow up mid-flight recently
19:04:42  https://en.wikipedia.org/wiki/Soyuz_MS-10
19:13:39  [[HelloWorld]]  https://esolangs.org/w/index.php?diff=60498&oldid=20035 * Gamer * (+69) /* Example */
19:15:39  yeah
19:15:48  successful abort
19:16:48  soyuz is the only space vehicle where they've used the launch escape system in anger
19:16:51  and it worked
19:16:52  (Soyuz 7K-ST No. 16L, 1983)
19:17:07  MS-10 was a post-LES-jettison abort
19:17:44  > unfoldr(\((x:y:rs),c,n)->Just(4*c/n,(rs,c+if x**2+y**2<1then 1else 0,n+1)))(map((/4294967296.0).realToFrac)$iterate((`mod`4294967296).(1013904223+).(1664525*))420247365,0,1)!!100000  -- hope you like this abominatio
19:17:47   3.1416085839141608
19:19:27  it turns out I still know Haskell a bit??? weird
19:28:20 -!- FreeFull has joined.
19:29:27  [[User:Gamer]]  https://esolangs.org/w/index.php?diff=60499&oldid=58632 * Gamer * (+31) 
19:29:43  [[User:Gamer]] M https://esolangs.org/w/index.php?diff=60500&oldid=60499 * Gamer * (-2) 
19:33:29  kmc, there's a great graphic on wp's article on challenger which documents the launch escape modes before and after the disaster and subsequent reforms
19:33:56  before the chart basically says "you're fucked, rip" for about half the ascent
19:54:05 -!- imode has joined.
19:57:00  kmc: “Upon being greeted by recovery crews, they immediately asked for cigarettes to steady their nerves. The cosmonauts were then given shots of vodka to help them relax.”
19:59:33 -!- Sgeo has joined.
20:03:02 -!- Sgeo_ has quit (Ping timeout: 272 seconds).
20:03:09 -!- b_jonas has joined.
20:05:14  When people claim that a pope and an antipope excommunicates each other, does the antipope actually excommunicate the pope, or does he merely hire a sorcerer to change the target of the pope's excommunication back to him?
20:07:06  kmc: "in anger"?
20:12:08  kmc, shachaf: also, I have some pi approximations http://jsoftware.com/pipermail/chat/2012-August/004909.html
20:17:05  b_jonas: archaic way of saying “for real”
20:17:38  j4cbo: #russia
20:18:04  b_jonas: they annihilate each other, releasing a huge amount of energy
20:21:22  I see
21:15:36 -!- S_Gautam has joined.
21:34:06 -!- oerjan has joined.
21:55:58 -!- nfd9001 has joined.
22:16:34 -!- tromp has quit (Remote host closed the connection).
22:27:20 -!- arseniiv has quit (Ping timeout: 246 seconds).
22:48:50 -!- tromp has joined.
22:58:23 -!- imode has quit (Ping timeout: 244 seconds).
23:25:27 -!- AnotherTest has quit (Ping timeout: 240 seconds).
23:55:16 -!- S_Gautam has quit (Quit: Connection closed for inactivity).

2019-03-15:

00:05:34 -!- Phantom_Hoover has quit (Remote host closed the connection).
00:21:37 -!- b_jonas has quit (Quit: leaving).
00:21:40 -!- Lord_of_Life_ has joined.
00:23:47 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
00:24:01 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:33:43 -!- Sgeo_ has joined.
00:36:37 -!- Sgeo has quit (Ping timeout: 246 seconds).
01:58:48 -!- oerjan has quit (Quit: Nite).
03:12:43  [[Special:Log/newusers]] create  * DrMeepster *  New user account
03:16:19  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=60501&oldid=60477 * DrMeepster * (+171) introduced
03:44:32 -!- adu_ has joined.
03:53:13 -!- adu_ has changed nick to adu.
03:53:54 -!- FreeFull has quit.
03:55:28 -!- S_Gautam has joined.
05:26:42 -!- Sgeo__ has joined.
05:29:48 -!- Sgeo_ has quit (Ping timeout: 246 seconds).
06:04:50 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
06:14:41 -!- S_Gautam has joined.
06:24:13  [[11CORTLANG]]  https://esolangs.org/w/index.php?diff=60502&oldid=59423 * Cortex * (+108) 
06:37:07 -!- heroux has quit (Read error: Connection reset by peer).
06:37:35  [[Talk:Underload]]  https://esolangs.org/w/index.php?diff=60503&oldid=50936 * Challenger5 * (+230) /* Y-combinator */ new section
06:37:46 -!- heroux has joined.
07:02:47 -!- adu has quit (Quit: adu).
07:28:26 -!- tromp has quit (Remote host closed the connection).
07:47:26 -!- tromp has joined.
08:20:42 -!- Sgeo_ has joined.
08:23:37 -!- Sgeo__ has quit (Ping timeout: 244 seconds).
08:34:06 -!- iconmaster has joined.
09:24:50 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
09:36:48 -!- nfd9001 has quit (Ping timeout: 252 seconds).
09:45:05 -!- S_Gautam has joined.
09:56:01 -!- AnotherTest has joined.
09:59:45  [[User:A]]  https://esolangs.org/w/index.php?diff=60504&oldid=59982 * A * (+259) Summary
10:02:31  [[User:A]]  https://esolangs.org/w/index.php?diff=60505&oldid=60504 * A * (+35) 
10:07:17  [[User:A]]  https://esolangs.org/w/index.php?diff=60506&oldid=60505 * A * (-159) 
10:08:20  [[User:A]]  https://esolangs.org/w/index.php?diff=60507&oldid=60506 * A * (+7) 
10:11:49  [[User:A]]  https://esolangs.org/w/index.php?diff=60508&oldid=60507 * A * (+39) 
10:17:07  [[User:A]]  https://esolangs.org/w/index.php?diff=60509&oldid=60508 * A * (+182) 
10:17:16  [[User:A]]  https://esolangs.org/w/index.php?diff=60510&oldid=60509 * A * (+0) 
10:17:45  [[User:A]]  https://esolangs.org/w/index.php?diff=60511&oldid=60510 * A * (+28) 
10:58:21 -!- b_jonas has joined.
11:22:37 -!- arseniiv has joined.
11:51:35 -!- orby_work has quit (Ping timeout: 256 seconds).
12:24:19 -!- Lord_of_Life has quit (Ping timeout: 255 seconds).
12:24:48 -!- Lord_of_Life has joined.
12:37:48 -!- Essadon has joined.
12:38:13 -!- Essadon has quit (Max SendQ exceeded).
14:56:51 -!- iconmaster has quit (Quit: Leaving).
15:10:53 -!- bobby has quit (Ping timeout: 252 seconds).
15:14:55  [[Nope.]]  https://esolangs.org/w/index.php?diff=60512&oldid=60496 * Areallycoolusername * (-25) 
15:15:45  [[Nope.]]  https://esolangs.org/w/index.php?diff=60513&oldid=60512 * Areallycoolusername * (+20) 
15:57:03 -!- bobby has joined.
16:06:37 -!- bobby has quit (Ping timeout: 252 seconds).
16:13:48 -!- bobby has joined.
16:29:59 -!- Essadon has joined.
16:56:53 -!- ais523 has joined.
17:05:19  @messages?
17:05:19  You have 2 new messages. '/msg lambdabot @messages' to read them.
17:08:22  `perl-e @a=(10,20,30); $b = 1; print $a[$b]; print $b[$a];
17:08:22  20
17:08:55  `perl-e @a=(10,20,30); $a = 1; print $a[$a];
17:08:55  20
17:09:05  b_jonas: ^ why Perl's [] is not commutative
17:14:50 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
17:24:36  hello
17:30:38  ais523: no news yet about that balanced tree library that you were planning to write?
17:30:58  no, I haven't written any more of it
17:38:36  `perl -efor(sort keys%ENV) { if(/^IRC/) { print "$_=$ENV{$_} " }} # fizzie modified HackEso so now execution gets some IRC context
17:38:36  IRC_COMMAND=PRIVMSG IRC_HOST=catv-176-63-24-175.catv.broadband.hu IRC_IDENT=~x IRC_MESSAGE=`perl -efor(sort keys%ENV) { if(/^IRC/) { print "$_=$ENV{$_} " }} # fizzie modified HackEso so now execution gets some IRC context IRC_NICK=b_jonas IRC_TARGET=#esoteric
17:54:57  `` echo $IRC_MESSAGE # easiest quine ever
17:54:57  ​`` echo $IRC_MESSAGE # easiest quine ever
17:55:22  I guess technically it's not, because there's the command character escaping.
17:59:35  fizzie: that apply to any HackEso quine
18:07:18  ``` r=(\\ \  \' '``` r=(' ');for k in 3 0 0 1 0 1 1 0 2 0 2 3 2 1 2 4 2 4;do echo -n "${r[k]}";done');for k in 3 0 0 1 0 1 1 0 2 0 2 3 2 1 2 4 2 4;do echo -n "${r[k]}";done
18:07:18  ​``` r=(\\ \  \'\'``` r=(' ');for k in 3 0 0 1 0 1 1 0 2 0 2 3 2 1 2 4 2 4;do echo -n "${r[k]}";done');for k in 3 0 0 1 0 1 1 0 2 0 2 3 2 1 2 4 2 4;do echo -n "${r[k]}";done
18:07:26  is that a HeckEso quine?
18:07:35  the stupid backticks are hard to escape in bash
18:08:08  is there a shell option that makes backticks ordinary characters? I never use them for their shell special meaning, since I have $() insteaed
18:14:57  `perl -eprint+("`perl -eprint+(","\"",",","\\",")[g1012131121212133121414=~/./g]")[g1012131121212133121414=~/./g]
18:14:58  ​`perl -eprint+("`perl -eprint+(","\"",",","\\",")[g1012131121212133121414=~/./g]")[g1012131121212133121414=~/./g]
18:15:00  this is easier
18:16:48  `perl -eprint+("\\","\"",",","`perl -eprint+(",")[3,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,4]")[3,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,4]
18:16:48  ​`perl -eprint+("\\","\"",",","`perl -eprint+(",")[3,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,4]")[3,1,0,0,1,2,1,0,1,1,2,1,2,1,2,1,3,1,2,1,4,1,4]
18:18:40  `perl -eprint unpack a43X43a42xaXXaaXaXXa,"`perl -eprint unpack a43X43a42xaXXaaXaXXa,\"\\"
18:18:41  ​`perl -eprint unpack a43X43a42xaXXaaXaXXa,"`perl -eprint unpack a43X43a42xaXXaaXaXXa,\"\\"
18:20:40  https://www.perlmonks.com/?node_id=835038 has some nice ones
18:21:27 -!- FreeFull has joined.
18:48:22  I still think this is a paradox https://commons.wikimedia.org/wiki/Category:M%C3%B6mpelgarder_Altar . Not only was the winged altar full of paintings ordered for a protestant church building, but also the church building is named after a saint.
19:06:26 -!- hereforawhile has joined.
19:07:04 -!- hereforawhile has quit (Client Quit).
19:08:46 -!- Sgeo__ has joined.
19:12:17 -!- Sgeo_ has quit (Ping timeout: 246 seconds).
19:23:04  ^ul ((^ul )SaS(:^)S):^
19:23:04  ^ul ((^ul )SaS(:^)S):^
19:23:56  `` file `which file`
19:23:57  ​/usr/bin/file: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=833d99e1b8d7884dc6b1cfb142ba3034b1bf6968, stripped
19:24:09  b_jonas: I tend to use backticks by default in simple command lines like that one
19:24:14  but $() in more complex situations
19:25:27  I switched to $() and never looked back
19:25:30  it's prettier
19:25:34  and it nests
19:25:56  `echo $(echo $(echo $(echo hi)))
19:25:57  ​$(echo $(echo $(echo hi)))
19:26:11  `bash -c 'echo $(echo $(echo $(echo hi)))'
19:26:12  bash: - : invalid option \ Usage:bash [GNU long option] [option] ... \ bash [GNU long option] [option] script-file ... \ GNU long options: \ --debug \ --debugger \ --dump-po-strings \ --dump-strings \ --help \ --init-file \ --login \ --noediting \ --noprofile \ --norc \ --posix \ --rcfile \ --restricted \ --verbose \ --version \ Shell options: \ -ilrsD or -c command or -O shopt_option(invocation only) \ -abefhkmnptuvxBCHP or -o option
19:26:15  bluh
19:29:47  The problem with ` is that you can only give a single command-line argument, and most shells want -c separately from the body. That's why bin/` is so good.
19:29:50  `` echo $(echo $(echo $(echo hi)))
19:29:51  hi
19:32:36  h
19:32:38  m
19:32:39  o
19:32:40  k
19:37:33 -!- ais523 has quit (Quit: quit).
19:40:18 -!- danieljabailey has joined.
19:40:25 -!- danieljabailey has quit (K-Lined).
19:47:36  ``` echo "$(echo "$(echo "$(echo hi)")")"
19:47:36  hi
19:47:39  ``` echo "$(echo "$(echo "$(echo hi)")")"; echo x
19:47:40  hi \ x
19:47:49  oh right
19:47:59  this is shell backtick, not perl backtick, it strips the trailing newline
19:48:37  ``cat bin/\`
19:48:37  ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: `cat: not found
19:48:49  `` cat bin/\`
19:48:49  ​#!/bin/bash \ cmd="${1-quote}" \ TIMEFORMAT="real: %lR, user: %lU, sys: %lS" \ shopt -s extglob globstar \ eval -- "$cmd" | rnoooooodl
19:49:03  `` cat bin/rnoooooodl
19:49:03 -!- TheWild has joined.
19:49:03  cat: bin/rnoooooodl: No such file or directory
19:49:09  `` cat `which rnoooooodl`
19:49:17  heheheh
19:49:22  rnoodl caught you
19:49:25  `` cat bin/\`\`
19:49:25  ​#!/bin/sh \ export LANG=C; exec bash -O extglob -c "$@" | rnoooooodl
19:49:40  what is rnoooooodl
19:49:50  imo let kmc puzzle this one out
19:49:52  `` for x in {1..19}; do echo rnooodl; done
19:49:53  rnooooodl \ rnoooooodl \ rnoooodl \ rnoooodl \ rnooooooodl \ rnooooooodl \ rnoooodl \ rnooooooodl \ rnooooodl \ rnooooooooodl \ rnoooodl \ rnooodl \ rnoooooodl \ rnooooooodl \ rnooooooooodl \ rnooooooodl \ rnooooooodl \ rnoooooooodl \ rnooooooooodl
19:49:54  `` alias
19:49:54  No output.
19:50:01  No output.
19:50:07  `` rnoooooodl
19:50:09  ​/hackenv/bin/`: line 5: rnoooooodl: command not found
19:50:16  `` ls bin/rno*dl
19:50:17  bin/rnoooodl
19:50:23  spoilers
19:50:25  `` cat bin/rnoooodl
19:50:26  cat: bin/rnoooodl: No such file or directory
19:50:31  lol
19:50:32  `` cat bin/rno*dl
19:50:32  perl -pe 's/([Nn])ooodl/"$1@{[o x(3+rand 7)]}dl"/ge'
19:50:37  lolololol
19:51:00  `` ls bin/rno*dl | tr n-za-m a-z
19:51:01  ova/eabbbqy
19:51:09  `` stat bin/rno*dl
19:51:10  ​  File: bin/rnooooooooodl \   Size: 53        Blocks: 8          IO Block: 1024   regular file \ Device: 12h/18dInode: 1204943     Links: 1 \ Access: (0755/-rwxr-xr-x)  Uid: ( 1000/ UNKNOWN)   Gid: ( 1000/ UNKNOWN) \ Access: 2019-03-15 19:51:09.000000000 +0000 \ Modify: 2018-04-07 22:41:28.000000000 +0000 \ Change: 2018-04-07 22:41:28.000000000 +0000 \  Birth: -
19:51:19  `` stat bin/rnooodl
19:51:19  ​  File: bin/rnooooooodl \   Size: 53        Blocks: 8          IO Block: 1024   regular file \ Device: 12h/18dInode: 1204943     Links: 1 \ Access: (0755/-rwxr-xr-x)  Uid: ( 1000/ UNKNOWN)   Gid: ( 1000/ UNKNOWN) \ Access: 2019-03-15 19:51:19.000000000 +0000 \ Modify: 2018-04-07 22:41:28.000000000 +0000 \ Change: 2018-04-07 22:41:28.000000000 +0000 \  Birth: -
19:51:56  <3
19:51:59 * kmc -> afk
19:53:19  [[Special:Log/newusers]] create  * LasChicasGG *  New user account
19:54:53  [[Special:Log/newusers]] create  * Lambda94 *  New user account
19:55:28  `card-by-name Excommu
19:55:28  Excommunicate \ 2W \ Sorcery \ Put target creature on top of its owner's library. \ ALA-C, M10-C, M11-C
19:59:57 -!- nfd9001 has joined.
20:34:40 -!- MDude has quit (Ping timeout: 246 seconds).
20:48:06 -!- Phantom_Hoover has joined.
20:48:06 -!- Phantom_Hoover has quit (Changing host).
20:48:06 -!- Phantom_Hoover has joined.
20:57:46 -!- oerjan has joined.
21:07:08  i see you've been noodling around
21:08:12  hopefully without incident
21:08:24  we don't want a repeat of that
21:09:28 -!- MDude has joined.
21:11:23  i think no incident was involved. ais523 quit just before.
21:15:54  snackleford is definitely building up karma to become eaten by that monster instead of whoever he's sacrificing.
21:38:01 -!- Sgeo__ has quit (Read error: Connection reset by peer).
22:02:28 -!- b_jonas has quit (Quit: leaving).
22:08:33 -!- Remavas has joined.
22:21:53  oerjan: that's boring... how do you think he'd feel if he was accidently spread out over a few millenia?
22:22:06  ... millennia
22:35:59  good point
22:53:22  [[NPFuck]] N https://esolangs.org/w/index.php?oldid=60514 * Cortex * (+1322) Created page with "'''NPFuck''' is a [[Brainfuck]] derivative made by [[User:Cortex|]] designed to be as hard to implement as possible.  == How to write an NPFuck program == First, write the num..."
23:16:49 -!- arseniiv has quit (Ping timeout: 255 seconds).
23:20:48  oerjan, ais quit??
23:24:23 -!- Sgeo has joined.
23:27:04  [[Talk:Underload]]  https://esolangs.org/w/index.php?diff=60515&oldid=60503 * Oerjan * (+227) unsigned, golf
23:27:32 -!- TheWild has quit (Ping timeout: 245 seconds).
23:28:05 -!- AnotherTest has quit (Ping timeout: 252 seconds).
23:28:59  Phantom_Hoover: /quit
23:30:02  19:37:33 -!- ais523 has quit (Quit: quit).
23:30:05  lmao
23:36:16 -!- int-e has left ("SPORADIC CHICKEN").
23:36:16 -!- int-e has joined.
23:36:52 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:40:07 -!- int-e has set topic: 2019 IOCCC ended March 15th | Welcome to the international soiree  for esoteric programming language discussion, design, development and devaluation! | https://esolangs.org | logs: https://esolangs.org/logs/ http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | https://www.dropbox.com/s/fyhqyvy3i8oh25m/wisdom.pdf.
23:40:22 -!- int-e has set topic: 2019 IOCCC ended March 15th | Welcome to the international soiree for esoteric programming language discussion, design, development and devaluation! | https://esolangs.org | logs: https://esolangs.org/logs/ http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | https://www.dropbox.com/s/fyhqyvy3i8oh25m/wisdom.pdf.

2019-03-16:

00:22:18 -!- Cale has quit (Ping timeout: 252 seconds).
00:22:39 -!- Lord_of_Life_ has joined.
00:25:26 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
00:25:32 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:34:31 -!- Cale has joined.
01:10:33 -!- Essadon has quit (Quit: Qutting).
01:10:55  I played GURPS game today.
01:11:00  ?messages-loud
01:11:00  fizzie said 3d 23h 26m 50s ago: To answer a question I missed, x86 has always had a fast byte swap for 16-bit values (via `xchg al, ah` and so on), and from 80486 onwards gained a BSWAP instruction
01:11:00  to swap the endianness of 32-bit and (on x86-64) 64-bit values.
01:11:51  Do you like MOR?
01:12:58  Do you mean the MOR instruction in MMIX? It is good to switch endian (including PDP-endian), and other uses.
01:13:15  Does anyone care about PDP-endian?
01:13:56  Hamster archive files uses PDP-endian for the lump data sizes
01:47:32 -!- Remavas has quit (Quit: Leaving).
01:51:55  Now in SQLite they implemented the EXCLUDE clause for window functions, although EXCLUDE CURRENT ROW does not seem a very useful feature to me. However, they also implemented " PRECEDING" and " FOLLOWING" for RANGE type window frames, which does looks like useful to me (and in that case, non-integers make sense, since it is the range of values rather than the number of rows, and the values might not be integers).
02:51:07 -!- oerjan has quit (Quit: Nite).
04:13:16  [[User:Cortex]]  https://esolangs.org/w/index.php?diff=60516&oldid=60227 * Cortex * (+35) 
05:31:03 -!- FreeFull has quit.
05:42:03 -!- Taneb has quit (Quit: I seem to have stopped.).
05:42:12 -!- Taneb has joined.
06:55:06 -!- arseniiv has joined.
09:36:20 -!- vertrex has quit (Ping timeout: 250 seconds).
09:36:50 -!- vertrex has joined.
09:36:50 -!- vertrex has quit (Changing host).
09:36:50 -!- vertrex has joined.
11:12:08 -!- AnotherTest has joined.
11:26:47 -!- b_jonas has joined.
11:38:41  oh, it's a soiree now?
11:41:08 -!- TheWild has joined.
12:04:58  [[User:DMC]] M https://esolangs.org/w/index.php?diff=60517&oldid=58741 * DMC * (-10) 
12:11:40 -!- andrew_ has joined.
12:11:43  hi
12:20:00  oh hey, the eh author drew art for bobadventures
12:22:43 -!- Lord_of_Life_ has joined.
12:25:37 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
12:25:37 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
12:26:52  whats the worst esolang in general in your opinion
12:27:05  not the hardest, but generally the worst
12:27:22 -!- andrew_ has quit (Quit: Page closed).
12:27:42 -!- andrew_ has joined.
12:30:24 -!- bobby has quit (Ping timeout: 268 seconds).
12:43:55 -!- bobby has joined.
12:51:27 -!- bobby has quit (Ping timeout: 252 seconds).
12:53:22  Perl - looks like some normal language but unlike other languages, Perl has especially high tendency to turn into line noise.
12:54:13  but really, the worst one? Three star programmer?
12:54:28 -!- bobby has joined.
12:55:21  or maybe Rule 110. This has been proven Turing-complete, but really I have no idea how I could use it to multiply two integers.
12:55:55  ^^ andrew_
12:57:58  perl is normal
12:58:08  but it does often devolve into golfing
12:58:19  also heyo
12:58:21  andrew here
12:59:00  hi
12:59:25  to me the worst one is nullary
12:59:31  it depends on the settings of your computer
12:59:49  it's on the line of nit being a language at all
13:02:00 -!- xkapastel has joined.
13:04:40  esolangs.org: Needless to say, Nullary isn't a very practical language. It may be of use to time travellers with a warped sense of humour, or those of a very patient disposition. 
13:05:07  eh... yeah... so...
13:05:30  maybe let's create another one. The one that executes a program based on planets position?
13:07:25  yes
13:07:46  planetary outputs the name of a planet if said planet is at its closest point to earth
13:07:59  however
13:08:04  you can define your own planets
13:09:19  with the handy dandy notation from slashes
13:09:21  specifically
13:09:44  planet/distance/perihelion/eccentricity
13:09:46  is the syntax
13:11:08  also
13:11:13  you can define actions
13:11:34  (i'm too lazy to make a full fledged esolang)
13:18:43 * TheWild will be back within a minute. (syncing chat)
13:18:45 -!- TheWild has quit (Quit: TheWild).
13:20:23 -!- TheWild has joined.
13:21:22  andrew_: maybe not entirely esoteric but you may find the concept interesting: https://gist.github.com/beyondlimits/e00159460b55ea4eff949933a2b7dc8e
13:22:00  andrew_: also you can download Logisim and build a computer using *only* N-type or P-type transistors as functional blocks
13:22:13  oooof
13:23:54  or download Rocks'n'Diamonds, go to the level editor and prove it's Turing-complete. The game allows creation of custom elements, but since it's "programmed" from rules and not via script, it gets quite challenging. Personally I failed.
13:24:46  darn, I would bet I've already mentioned the game on this channel but I have nothing in chat logs
13:24:49 -!- Essadon has joined.
13:27:33  oof
13:47:33  i suspect "the sequence" and "the sequence 2" to being tc as bullying automatons
14:07:27 -!- andrew_ has quit (Quit: Page closed).
14:20:23 -!- FreeFull has joined.
15:32:04 -!- fmease has quit (Remote host closed the connection).
15:32:15 -!- tswett[m] has quit (Remote host closed the connection).
15:34:50 -!- vertrex has quit (Ping timeout: 246 seconds).
15:37:23 -!- vertrex has joined.
15:37:23 -!- vertrex has quit (Changing host).
15:37:23 -!- vertrex has joined.
15:39:58 -!- rain1 has quit (Ping timeout: 272 seconds).
15:41:45 -!- xkapastel has quit (Quit: Connection closed for inactivity).
15:42:05 -!- rain1 has joined.
15:43:36 -!- fmease has joined.
15:45:56 -!- Sgeo_ has joined.
15:49:39 -!- Sgeo has quit (Ping timeout: 252 seconds).
15:53:06 -!- xkapastel has joined.
15:56:49 -!- andrew_ has joined.
15:56:59  hello there guys, andrew here
15:58:33 -!- tswett[m] has joined.
16:19:58  [17:15] 
16:20:26  [17:20] <__andrew___>
16:26:44 -!- andrew_ has quit (Quit: Page closed).
16:53:59  oh no! Andrew left.
16:55:12  I have tried Rocks'n'Diamonds before, although it lacks the Hero Mesh property, so that is why I try to make Free Hero Mesh.
16:58:04  Do you like Free Hero Mesh?
17:01:53  i have no idea what these things are
17:04:06  There is the explanation of Free Hero Mesh:  http://zzo38computer.org/fossil/heromesh.ui/index
17:06:54  this explains that the project is not yet complete, its configuration options, keybinding etc. but not *what it is*
17:09:23  It is a puzzle game engine, for a game involving a rectangular grid no larger than 64x64, which is turn based so that the state depends only on the initial state, game rules, and sequence of moves played; not time or randomness.
17:10:11  isn't that yet another Golly?
17:10:46  oh wait, my bad - not reading carefully
17:11:36  Furthermore, each move played is specified by a 8-bit key code (although future versions might allow coordinate input too, but maybe not).
17:12:18  heh, char direction:2, amount:6;
17:13:10  unless you mean the keyboard scancode
17:13:28  there aren't 256 keys on my keyboard
17:13:31  not even 128
17:14:25  I mean the Windows key code; since Free Hero Mesh is a Linux program though, it converts the key codes according to the user configuration into the corresponding Windows key codes.
17:18:26  sure, customizable mapping of keys or buttons is a useful feature, because if your games don't allow it, people will still do it using third-party mapping software, and it doesn't even count as cheating in real-time speedruns as long as they don't use two buttons for an action that the default mapping only has one button so they can mash faster.
17:19:08  it's still worth to have default mappings for keyboard and for controller of course, for new players
17:19:43  Yes, a default configuration file may be made up
17:21:21 -!- vertrex has quit (Ping timeout: 250 seconds).
17:26:49 -!- vertrex has joined.
17:49:42 -!- DevHackBot has joined.
17:49:45 -!- DevHackBot has quit (Remote host closed the connection).
17:56:27  b_jonas: HackEso is now available on #esoteric-blah.
18:00:41  fizzie: nice!
18:01:34  `env\
18:01:34  ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: env\: not found
18:01:35  `env
18:01:36  HACKENV=/hackenv \ IRC_HOST=catv-176-63-25-70.catv.broadband.hu \ IRC_IDENT=~x \ IRC_TARGET=#esoteric \ PWD=/hackenv \ HOME=/tmp \ http_proxy=http://127.0.0.1:3128 \ IRC_NICK=b_jonas \ IRC_MESSAGE=`env \ TERM=linux \ IRC_COMMAND=PRIVMSG \ SHLVL=0 \ PATH=/hackenv/bin:/usr/bin:/bin
18:31:31  I played GURPS game yesterday. This time we go underground through the basement in the church, but the bald gnomes will not believe us that above the ground the hair is not as valuable as here and you do not need to kill people to cut their hair, and that there is actually two barbers one in day time and one in night time; they think only the barber working in night time.
18:34:05  I said I wanted to look in the leper window, but at first the GM did not know what is a leper window but then he look it up in his computer and he learn.
18:37:33  you want to sneak into a cementary to sell the hair of the dead for wigs?
18:38:03  I mean, steal the hair of the dead and sell it for wigs
18:40:49 -!- oerjan has joined.
18:49:45  Actually that was not our intention (just there happens to be the entrance through the church), but yes that could do too, since they are dead and do not need their hair anymore. However, I have no use for it anyways; they can do it themself, and do not have to kill people to get it. Rather my intention was that people who go to barber to get hair cut, you can use their hair.
18:51:30  the barber already buys the hair, and stealing from the dead in the cementary can be a bad idea because town authorities and lawful gods don't like it, and it may disturb the undead that haunt the cementary
18:53:39  and I think the crypts and pyramids of rich dead people have the most treasure but also the most undead curses
18:56:43  I've seen a lot of pyramid loot in the Kunsthistorisches Museum, Wien. those rich people were buried with a lot of little statuettes.
18:56:49  and jewelry too
18:57:27  I have a lot of photos too, and should process and publish them
18:58:01  not very good photos, because the museum isn't lit too well, and it's also full of other people so it's hard to make photos without other people being on them
18:58:47  Can you crop them so that only the object of interest is included in the picture, then?
18:59:14  zzo38: the problem is that being a museum, almost everything is behind glass, so the people are on the reflections
18:59:21  not only the backgrouns
18:59:33  yes, in some cases I have to crop
18:59:41  but in some other cases I had to wait a lot to make a good photo
19:00:12  OK, although I suppose the reflection would not be avoided (although it would be ideal not to have the reflections of anything, but, you cannot do that, it seem like).
19:00:29  I'll have to return there for like two days after I buy a camera withh a non-small lens
19:01:13  helps somewhat with the bad lighting (although some rooms are still too dark that way), and potentially helps a bit with the reflections if I use a polarizer filter
19:01:22  but even then it's hard
19:02:36  it's not just the amount of light, but that it comes from windows and spotlights, so there are often reflections of the lights too, not proper diffuse light from multiple directions
19:03:07  so multiple problems at the same time
19:04:03  OK, I can understand now how you mean, yes it is many
19:05:08  the darkest rooms aren't even ones with the textiles and wood, it seemed like they're some of the ones containing marble statues or noble metal jewelry, ones that aren't harmed by bright lights
19:06:11  mind you, technology may help here, because both fluorescent lighting and LED lighting became better recently, so perhaps the museum will have more in a few decades
19:06:43  mind you, I'm generally sceptical of those things, and prefer good old traditional incandescent or halogen lights, but for lighting such a huge space all day, the modern stuff is cheaper
19:07:02  they do already have fluorescent ceiling lamps of course
19:07:41  the good thing is, there was apparently a project sponsored by Google where they made high quality photos of most of the paintings at least
19:08:37  Incandescent light is good for Christmas light because the other ones aren't nice (to save energy, the lights should be flashy), but for the indicator light on many things the LED is better. And, there can be use for fluorescent too.
19:09:09  indicator light could be led for a very long time, because those don't need to have a decent spectrum
19:09:38  it can be narrow band red or green or yellow (or "amber" if you like fancy words)
19:09:52  Yes, it doesn't need a decent spectrum, it is what I think too.
19:09:57  heck, it was better when they were all read or green or yellow, I hate these new blue indicator lights
19:10:42  not all paintings though, eg. the paradoxical winged altar of which I just uploaded photos https://commons.wikimedia.org/wiki/File:Wien-khm-kunstkammer30-montbeliard-composite.jpg doesn't have good photos yet
19:10:43  I don't like the blue one either so much they are used too much. The power light on my computer is blue, but I think green would be better; the blue is bad for sleeping.
19:11:52  I uploaded them because noisy photos is still better than no photos
19:12:09  OK
19:12:18  I still haven't checked all paintings for whether they have photos
19:12:29  well, not all paintings obviously
19:12:34  just the selection of which I made photos
19:12:47  that's still just a small fraction of all the paintings they have
19:15:36  https://commons.wikimedia.org/wiki/File:Antonio_de_Pereda_-_Allegory_of_Vanity_-_Google_Art_Project.jpg here's an example of a painting that does have a decent photo by the Google Art project
19:15:48  it's not perfect, they could have made it higher resolution, but it's good enough
19:16:57  by the way, the museum has more than one painting about an allegory of vanitas, so you have to be specific
19:17:55 -!- arseniiv has quit (Ping timeout: 246 seconds).
19:21:44 -!- xkapastel has quit (Quit: Connection closed for inactivity).
19:40:40  [[Bucket]]  https://esolangs.org/w/index.php?diff=60518&oldid=60450 * Camto * (+35) Added category.
19:45:32 -!- danieljabailey has joined.
19:54:55  flash memory and cordless vacuum cleaners are both supposed to be impossible, but everyone uses them now. even I use SD cards. this decade is crazy.
20:12:33 -!- TheWild has quit (Ping timeout: 245 seconds).
20:16:50  hmm wait, what word starting with "a" was it that I wanted to look up the pronunciation of?
20:37:24  amortized hth
20:38:08  `? oerjan
20:38:10  Your omnidryad saddle principal ideal golfing toe-obsessed "Darth Ook" oerjan the shifty eldrazi grinch is a punctual expert in minor compaction. Also a Groadep who minces Roald Dahl. He could never remember the word "amortized" so he put it here for convenience. His ark-nemesis is Noah. He twice punned without noticing it.
20:47:43 -!- TheWild has joined.
21:02:42  int-e: SPOILER WARNING
21:23:58 -!- FreeFull has quit (Ping timeout: 250 seconds).
21:28:56  fizzie: now if you change your mind and I do implement an olist that saves listed strips to the version-controlled fs, I'll make them save ordered pairs of $IRC_TARGET and strip now
21:54:22 -!- FreeFull has joined.
21:57:32  oerjan: I'll pretend that I was refreshing my memory :P
22:08:10 -!- copumpkin has joined.
22:26:17 -!- adu_ has joined.
22:29:31 -!- adu_ has changed nick to adu.
22:44:56  can you bring forth the next o? current strip was ten years ago
22:54:57  . o O ( b_jonas seems a little out of synch )
22:56:25  um
22:56:26  ten days
22:56:30  yeah, that was strange
23:14:43 -!- oerjan has quit (Quit: Nite).
23:30:27 -!- AnotherTest has quit (Ping timeout: 240 seconds).
23:31:50  [[Talk:Memfractal]]  https://esolangs.org/w/index.php?diff=60519&oldid=50103 * Camto * (+1526) Add my own spec interpretation.
23:34:24 -!- TheWild has quit (Ping timeout: 250 seconds).
23:36:10 -!- Remavas has joined.

2019-03-17:

00:14:12 -!- adu has quit (Ping timeout: 245 seconds).
00:24:12 -!- Lord_of_Life_ has joined.
00:26:21 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
00:26:34 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
01:16:50 -!- adu has joined.
01:35:43 -!- Essadon has quit (Quit: Qutting).
01:46:01 -!- adu has quit (Quit: adu).
01:46:31 -!- adu has joined.
01:46:34 -!- adu has quit (Client Quit).
01:47:05 -!- adu has joined.
01:47:21 -!- adu has quit (Client Quit).
01:47:46 -!- adu has joined.
01:48:08 -!- adu has quit (Client Quit).
01:48:36 -!- adu has joined.
01:48:54 -!- adu has quit (Client Quit).
01:49:18 -!- adu has joined.
01:49:41 -!- adu has quit (Client Quit).
01:53:24  [[Symbolic Python]]  https://esolangs.org/w/index.php?diff=60520&oldid=58738 * Cortex * (+39) 
03:11:57 -!- b_jonas has quit (Quit: leaving).
03:18:26 -!- Remavas has quit (Quit: Leaving).
04:08:19  http://ljkrakauer.com/LJK/60s/hamchess.htm
04:08:41 -!- FreeFull has quit.
04:32:15  It is not the same as the modern algebraic notation (although I have used some computer programs that use that kind of "E2E4" notation)
04:35:42  That MAC HACK 6 game though seems to use another different notation
05:20:59  [[Talk:Memfractal]]  https://esolangs.org/w/index.php?diff=60521&oldid=60519 * Zzo38 * (+155) 
05:23:32  
07:40:59  [[String rewriting paradigm]] N https://esolangs.org/w/index.php?oldid=60522 * A * (+626) Created page with "[[String rewriting paradigm]] is a programming language in the string-rewriting paradigm. ==Syntax== 
 d: duplicate the next character. Example: d* results in **.  -: repl..."
07:48:53  [[String rewriting paradigm]]  https://esolangs.org/w/index.php?diff=60523&oldid=60522 * A * (-123) /* Syntax */
09:24:34  int-e: Have you played Baba Is You yet?
09:24:34  twh
10:09:36 -!- S_Gautam has joined.
10:16:50 -!- AnotherTest has joined.
10:28:50 -!- olsner has quit (Ping timeout: 268 seconds).
10:34:00 -!- olsner has joined.
10:46:04 -!- b_jonas has joined.
10:50:02 -!- olsner has quit (Ping timeout: 245 seconds).
10:55:03 -!- olsner has joined.
11:29:48  no
11:40:27  I might bite if it goes on sale
11:55:30 -!- arseniiv has joined.
11:56:16 -!- olsner has quit (Ping timeout: 250 seconds).
11:58:13 -!- olsner has joined.
11:58:38 -!- TheWild has joined.
12:06:23  stupid stemmer search, "miserable" is not related to "miser"
12:10:08 -!- olsner has quit (Ping timeout: 250 seconds).
12:11:07 -!- xkapastel has joined.
12:13:22  hmm, this fish is salty
12:14:45 -!- olsner has joined.
12:17:58 -!- TheWild has quit (Ping timeout: 245 seconds).
12:20:53 -!- TheWild has joined.
12:21:27 -!- TheWild has left.
12:23:57 -!- Lord_of_Life_ has joined.
12:26:26 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
12:26:29 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
13:09:12 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
13:19:46 -!- john_metcalf has joined.
13:35:17  oh, I know how I should use the new IRC_TARGET env-var. I can make a noping variant that mangles words only in chnanel, not in private message
13:41:56 -!- andrew_ has joined.
13:42:11  hello
14:02:40 -!- FreeFull has joined.
14:05:57  sup
14:06:53 -!- pikhq has quit (Ping timeout: 246 seconds).
14:08:08 -!- pikhq has joined.
14:08:36 -!- Essadon has joined.
14:13:33  `? Saint Anthony of Padua
14:13:35  Saint Anthony of Padua? ¯\(°​_o)/¯
14:26:25 -!- Sgeo has joined.
14:29:18 -!- Sgeo_ has quit (Ping timeout: 264 seconds).
14:32:07 -!- Sgeo has quit (Ping timeout: 245 seconds).
14:34:49  ouch, what's with people always defining simple languages with a built-in integer addition, multiplication and division operator, but no less-than comparison?
14:38:00  i dunno
14:38:22  one day i wanna make a golfing language with exactly 128 characters
14:38:28  or 256, or any power of 2
14:39:25  or commands
14:45:42 -!- danieljabailey has quit (Ping timeout: 272 seconds).
15:19:29 -!- andrew_ has quit (Quit: Page closed).
15:23:09 -!- andrew has joined.
15:27:31 -!- andrew has quit (Client Quit).
15:32:13 -!- moei has joined.
15:51:35  Does a language used only for educational purposes count as esoteric?
15:52:21  [[Lawrence J. Krakauer's decimal computer]] N https://esolangs.org/w/index.php?oldid=60524 * B jonas * (+796) Created page with "Lawrence J. Krakauer's decimal computer was an educational language invented after 1965 for teaching programming to children in a camp.  It was implemented as an emulator on a..."
15:52:52  Also, does a languauge count as implemented if we believe there was an implementation, but it is lost now, such as BANCStar?
15:58:23  I don't know; perhaps add neither implemented nor unimplemented category.
16:05:28  You could try to reimplement BANCStar, but I think not enough is known about it to reimplement it; how many programs with it have been found and which instructions have been used? I don't know what the different function keys means, there is other unknown stuff, and then there is disagreements of what we think it means.
16:07:50  (I also don't know if modern area codes would be accepted in the old implementation. I had this problem with another database program, so I don't know if BANCStar does too or not.)
16:09:47  no way
16:10:30  reimplement BANCStar when the last person who wanted to bring an implementation disappeared in suspicious circumstances? I'm not going to tempt the Men in Black or whatever power took him away
16:10:43  if I want to implement esoteric languages, I have better ones to choose
16:10:56  most importantly Consumer Society, my own language
16:11:32  OK
16:15:42  also, my current job involves using a commercial GUI framework and try to abuse it in ways it wasn't primarily designed for, and that's already too close to BANCStar programming
16:17:07  OK
16:36:14  haha
16:48:24  yeah, I'll be laughing about it too when I'll quit, just wait a few months
16:56:52  In those stereotypical cartoons where people throw tomatoes and rotten eggs at a performer, I wonder where they get reliably rotten eggs from? Eggs keep pretty well, and you can tell if they're rotten only once you open them.
17:07:05  I don't know? They used a egg rottening device?
17:09:30  maybe they do rot reliably if you keep them outside of the fridge for three years or something
17:10:12  Yes, maybe, I haven't tried so I don't know (and I do not really intend to try)
17:10:34  or... wait, I think I heared something about how there might be a trick to tell if it's rotten without opening the egg, perhaps from how it shakes or shining a strong light through it
17:11:02  or with some divination spell
17:11:17  If there is, then that can help because then you can take out the rotten egg and don't eat it, and yet you can still use it for throwing.
17:13:16  yeah, the internet says there are (not quite perfect) ways to tell if it's rotten without opening
17:15:38  none of them are very reliable
17:15:47 -!- Sgeo has joined.
17:31:52 -!- grumble has quit (Read error: Connection reset by peer).
17:32:20 -!- grumble has joined.
18:02:53  also: eggs last longer if refridgerated, but they also HAVE to be fridged in the USA, because we wash off a protective coating for some reason
18:02:58  in most countries eggs are stored at room temp
18:11:37  kmc: well, I store them in the fridge, but they're the kind of thing like tomatoes and some other fruit which can be stored either in the fridge or outside
18:12:02  for fruits it's more of a tradeoff, for eggs I believe the fridge doesn't hurt them at all
18:12:23  mhm
18:12:38  I have read that eggs last longer in the fridge, my wife may dsypute that though
18:12:49  I would ask her about fruit but she's busy copying Morse code
18:14:22  for fruits it depends a lot on the type of fruit, and also the temperature of the fridge
18:14:45  and in particular, they say tomatoes may lose some of their taste in the fridge
18:15:24  for some fruits and vegetables it's obvious: raspberries must be kept in the fridge, potatoes are better kept outside
18:16:21  it will slow down ripining, which mkes it good for things like avocados
18:16:35  I think it would be cool to have a system wwhich stores open avocados in an oxygen-poor environment
18:18:46  I have a dream where in the future, we won't have fridges at home, but instead a sci-fi stasis cupboard that vibrates the inside at near light speed, so that very little time passes for the things inside between you open the doors
18:19:03  :D
18:19:29  when that becomes usual in household, ice cubes will become less usual, and they'll be something you only get in bars and restaurants, not at home
18:24:14  I have these cube shaped rocks that you keep in the freezer
18:24:22  you can put them in a drink to chill it without diluting it
18:24:32  I think they are called whiskey rocks or similar
18:24:59  sort of nice if you have a fancy whisky or such, although I generally drink those neat, more flavor
18:32:07  yeah, I know those exist
18:32:16  but the stasis cupboard won't help much for that
18:32:43  mind you, at the moment you have such crazy gravity warping devices at home, you'll probably have large homes and might be able to afford a freezer too
18:47:06 -!- danieljabailey has joined.
18:47:11 -!- danieljabailey has quit (K-Lined).
19:03:22  I looked at the HTTP headers for one webpage because I wanted to see when it was written; I could see no date on the article itself or in the URL. I did not find that information, but there was a "X-hacker" header.
19:12:13  zzo38: that's the unofficial one for advertising jobs to webdevs, right?
19:13:46  That is what it looks like to me
19:42:52 -!- andrew has joined.
19:42:57  hey y'all
19:42:59  andrew here
19:44:42  int-e: but what if the original price was $30 and it went on sale for the current price of $15
19:44:49  then you'd bite hth
19:44:58  shachaf: nope
19:45:14  this is above your price ceiling?
19:46:24  whatchall talking about my cowboys
19:47:11  shachaf: I'm not really looking for new games to play atm. So pretty much any game will be in the "meh I might try this if it's cheap" category.
19:48:21  andrew:  int-e: Have you played Baba Is You yet?
19:49:13  andrew: Also, these endearments don't fly with me. I find them annoying, not cute.
19:50:27  yeah, that was stupid
19:50:28  anyway
19:50:33  i haven't played baba is you
19:51:21  but this one is tg, hth
19:51:30  but that makes sense
19:51:35 -!- TheWild has joined.
19:59:11  Have you played XYZABCDE.ZZT? It costs only $0
20:00:31  no
20:01:19  Has anyone on played any of the new NES/Famicom games written recently?
20:02:22  nope
20:02:26  are they turing completw?
20:02:32  https://archive.org/details/zzt_xyzabcde
20:03:33  why's iti mportant
20:03:35  self promo?
20:04:19  I don't think the recent ones are Turing complete, but people have tried esolangs with NES/Famicom before, but not any actual game
20:05:49  This game is self promo yes, I wanted to see what are some people's opinion of this, and other comments.
20:06:03  It isn't otherwise that important, but you can try if you want to do.
20:06:56  no, I haven't played any sort of videogame for quite a while
20:07:02  OK
20:07:10  and when I choose to play them, I'll probably play old ones, not new ones
20:07:18  OK
20:07:41  (Although the new ones I am suggesting are working just as well on old computers anyways)
20:09:33  i have only played it for a few seconds but it seems difficult
20:09:55  (The animated screenshot there is rather messy)
20:10:21  Yes, it is difficult, although there are many ways to try, as well as cheat codes, and you can set the game speed if you wish, and you can save/restore at any time (including multiple files if you wish)
20:12:22  meh I may have tried this.
20:12:52   i tried to shoot all bad guys but they killed me
20:13:06  its good though
20:13:48  rain1: You might not have enough ammunition; you can find more. It is also possible to outrun the bad guys in some places.
20:13:56 -!- andrew has quit (Quit: Page closed).
20:17:24  You also do not have to go directly east from the start; you can try other locations too. (Nobody will kill you in the library.)
20:30:51 -!- xkapastel has quit (Quit: Connection closed for inactivity).
20:41:29  "The books about weather were destroyed by rain, the books about cooking were cooked and destroyed by the heat, the books about astronomy were taken in a space ship and they seem to have never been returned, the books about police were confiscated by the police, the books about termites were eaten by termites, and the books about about invisibility magic suddenly turned invisible somehow, making it hard to read." - oh irony!
20:46:14 -!- nfd9001 has quit (Ping timeout: 250 seconds).
20:54:45  Well... give me a version without hazards (monsters, devices shooting) and darkness (torches run out quickly) and I might enjoy wandering around a bit. But as is, I can see five rooms, then I die. Well I actually got past the south room but there was little fun in that.
20:57:30  There are cheat codes. Type a question mark, and then type what you want: "ammo", "health", "gems", or "torches". You can also type "-dark" to get rid of darkness (and "dark" to add darkness).
20:57:34  If I just want to play a game where I die constantly and quickly I'll play a round of Tower of Guns :P
20:59:05  There is also "zap", which destroys the objects on the four adjacent tiles to the player, but don't do that when standing next to the edge of the board; a bug in ZZT causes problems if you do that.
21:03:09  There are some other cheat codes too: "keys" gives you all seven keys, and "+debug" tells you the memory usage.
21:05:27  O, and "time" gives you more time when in timed areas (using it elsewhere will make an internal counter negative, and some of the game logic will fail to work properly in this case).
21:34:02  In the area north of the starting room, use the "+lever" cheat code to get rid of the shooting.
21:47:40 -!- Phantom_Hoover has joined.
22:24:06 -!- Sgeo_ has joined.
22:26:20 -!- Sgeo has quit (Ping timeout: 246 seconds).
22:41:34 -!- Phantom_Hoover has quit (Remote host closed the connection).
22:42:07 -!- Phantom_Hoover has joined.
23:03:03 -!- xkapastel has joined.
23:04:47 -!- TheWild has quit (Quit: TheWild).
23:16:18 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:23:51 -!- AnotherTest has quit (Ping timeout: 252 seconds).
23:31:00  [[Talk:String rewriting paradigm]] N https://esolangs.org/w/index.php?oldid=60525 * Salpynx * (+1464) Misnamed language?
23:54:29  Looking at the free chapter of the Manga Guide to Linear Algebra, already learned something I didn't know (the distinction between range and codomain)
23:55:28 -!- FreeFull has quit (Quit: rebooting).
23:56:38 -!- FreeFull has joined.
23:59:32 -!- MDead has joined.

2019-03-18:

00:01:46 -!- MDude has quit (Ping timeout: 272 seconds).
00:01:47 -!- MDead has changed nick to MDude.
00:05:32 -!- tromp has quit (Remote host closed the connection).
00:10:24  psn,The word "range" should be illegal
00:10:36  "codomain" and "image" are good words
00:12:08  shachaf: range is just another word for the image of the domain
00:12:45  They should not make the words to be illegal.
00:14:08  They should make all words illegal.
00:14:11  Language was a mistake.
00:27:05 -!- Lord_of_Life_ has joined.
00:27:28 -!- Lord_of_Life has quit (Ping timeout: 255 seconds).
00:28:09 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:36:06 -!- Essadon has quit (Quit: Qutting).
00:36:07  Cale: No, some people use "range" to mean "image" and some people use "range" to mean "codomain".
00:36:13  That is why the word should be illegal.
00:37:02  Cale: Did you play Baba is You yet?
00:37:46  yes
00:38:00  well, I've played a bit of it
00:38:00  isn't it tg
00:38:06  Ah.
00:38:12  It's pretty great
00:40:55 -!- tromp has joined.
00:45:03 -!- tromp has quit (Ping timeout: 245 seconds).
00:56:44  [[Rockstar]]  https://esolangs.org/w/index.php?diff=60526&oldid=58713 * Dylanbeattie * (+210) 
00:58:28  [[Rockstar]]  https://esolangs.org/w/index.php?diff=60527&oldid=60526 * Dylanbeattie * (+70) /* Project Pages */
00:59:03  [[Rockstar]]  https://esolangs.org/w/index.php?diff=60528&oldid=60527 * Dylanbeattie * (-1) /* Project Pages */
00:59:21  [[Rockstar]]  https://esolangs.org/w/index.php?diff=60529&oldid=60528 * Dylanbeattie * (+0) /* Implementations */
01:03:58  [[Rockstar]]  https://esolangs.org/w/index.php?diff=60530&oldid=60529 * Dylanbeattie * (+234) /* Implementations */
01:35:07 -!- john_metcalf has quit (Quit: john_metcalf).
02:00:46 -!- b_jonas has quit (Quit: leaving).
02:29:28 -!- tromp has joined.
02:33:47 -!- tromp has quit (Ping timeout: 246 seconds).
02:48:41 -!- danieljabailey has joined.
02:49:34  shachaf: I thought it always meant image
02:50:12  I've seen it used to mean codomain.
02:50:20  https://en.wikipedia.org/wiki/Range_(mathematics) agrees
02:50:26  kmc: you should babajam
02:50:27  it's tg
02:54:14 -!- tswett[m] has quit (Changing host).
02:54:14 -!- tswett[m] has joined.
02:54:14 -!- tswett[m] has quit (Changing host).
02:54:14 -!- tswett[m] has joined.
03:22:41  shachaf: ?
03:23:15  play the game baba is you
03:33:29  what is it
03:34:26  puzzle game
03:34:42  https://www.youtube.com/watch?v=U7MJljsoUSo
04:08:05 -!- tromp has joined.
04:09:14  shachaf: not baba is yo
04:09:16  *you
04:10:30  not rock is you
04:10:38  hm
04:10:40  this is spoilers
04:10:45  please ignore
04:12:33 -!- tromp has quit (Ping timeout: 245 seconds).
04:21:08 -!- yaewa has joined.
04:22:32 -!- moei has quit (Ping timeout: 250 seconds).
04:35:55  I thought some esolangs related stuff could be involved in xyzabcde2 game.
04:54:48  [[Special:Log/newusers]] create  * Yevano *  New user account
04:57:34  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=60531&oldid=60501 * Yevano * (+182) /* Introductions */
04:58:53 -!- Yevano has joined.
05:03:46 -!- danieljabailey has quit (Ping timeout: 255 seconds).
05:13:20  Oops, less doesn't find matches with / if there is a null character before it on that line.
05:37:04 -!- Yevano has quit (Ping timeout: 250 seconds).
05:56:12 -!- tromp has joined.
06:00:54 -!- tromp has quit (Ping timeout: 250 seconds).
06:22:10 -!- xkapastel has quit (Quit: Connection closed for inactivity).
06:42:11 -!- yaewa has quit (Quit: Leaving...).
06:58:00 -!- FreeFull has quit.
07:44:23 -!- tromp has joined.
07:44:32 -!- tromp has quit (Remote host closed the connection).
07:44:48 -!- tromp has joined.
09:02:17 -!- arseniiv has quit (Ping timeout: 246 seconds).
09:03:02 -!- sparr has quit (Quit: WeeChat 1.9.1).
09:03:34 -!- sparr has joined.
09:07:00 -!- danieljabailey has joined.
09:13:04 -!- AnotherTest has joined.
09:57:36 -!- tromp has quit.
10:04:07 -!- xkapastel has joined.
10:27:14 -!- tromp has joined.
11:14:44 -!- j-bot has quit (Remote host closed the connection).
12:05:50 -!- S_Gautam has joined.
12:13:51 -!- xkapastel has quit (Quit: Connection closed for inactivity).
12:28:22 -!- Lord_of_Life has quit (Ping timeout: 255 seconds).
12:29:27 -!- Lord_of_Life has joined.
12:30:37  [[Special:Log/newusers]] create  * MentallyProblematic *  New user account
12:48:07 -!- AnotherTest has quit (Ping timeout: 258 seconds).
13:41:54 -!- xkapastel has joined.
13:45:34 -!- joast has quit (Quit: Leaving.).
13:47:01 -!- arseniiv has joined.
13:55:30 -!- joast has joined.
14:29:13 -!- Sgeo has joined.
14:32:07 -!- Sgeo_ has quit (Ping timeout: 255 seconds).
14:35:24 -!- Sgeo_ has joined.
14:36:08 -!- Sgeo_ has quit (Remote host closed the connection).
14:36:33 -!- Sgeo_ has joined.
14:37:58 -!- Sgeo has quit (Ping timeout: 255 seconds).
14:51:36 -!- danieljabailey has quit (Ping timeout: 272 seconds).
15:05:04 -!- sparr has quit (Changing host).
15:05:04 -!- sparr has joined.
16:07:07 -!- ais523 has joined.
16:08:30 -!- ais523 has quit (Remote host closed the connection).
16:08:42 -!- ais523 has joined.
16:09:02  `ping
16:09:03  pong
16:09:25 -!- ais523 has quit (Client Quit).
16:37:17 -!- AnotherTest has joined.
17:10:31  [[Nope.]]  https://esolangs.org/w/index.php?diff=60532&oldid=60513 * Areallycoolusername * (+205) 
17:27:24 -!- moei has joined.
17:31:16  AAAAA
17:31:48  screen freezes when I attach to it
17:32:31  . o O ( don't do that then )
17:32:41  nyaa
17:32:49  screen is very crusty software
17:33:44 * int-e usually blames some ^S^Q shenanigans
17:34:06  and I have like 30 ssh-agent processes running
17:34:46  aaagh I guess I'll just kill everything
17:36:39  I need a command to "kill everything except this bash and ssh instance"
17:48:48 -!- LKoen has joined.
17:56:42 -!- LKoen has quit (Remote host closed the connection).
18:00:39 -!- AnotherTest has quit (Ping timeout: 264 seconds).
18:21:15 -!- Phantom_Hoover has joined.
18:41:01 -!- LKoen has joined.
18:58:20 -!- b_jonas has joined.
19:01:12  `olist 1159
19:01:12  olist 1159: shachaf oerjan Sgeo FireFly boily nortti b_jonas
19:50:39 -!- nfd9001 has joined.
19:54:38 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
20:10:03 -!- arseniiv has quit (Ping timeout: 245 seconds).
20:19:41 -!- FreeFull has joined.
20:31:02 -!- yorick has joined.
20:56:24 -!- AnotherTest has joined.
21:01:45 -!- incomprehensibly has changed nick to glowcoil.
21:14:28 -!- LKoen has quit (Remote host closed the connection).
21:17:41 -!- LKoen_ has joined.
21:53:37  [ +/8 4 4 4 4
22:07:26 -!- Remavas has joined.
22:21:26 -!- LKoen_ has quit (Remote host closed the connection).
22:23:14 -!- LKoen has joined.
22:24:22 -!- asie has joined.
22:26:27 -!- kmc has quit (Quit: leaving).
22:26:58 -!- Yevano has joined.
22:27:37 -!- LKoen has quit (Remote host closed the connection).
22:31:19 -!- bobby has quit (Ping timeout: 244 seconds).
22:31:34  [[Talk:String rewriting paradigm]] M https://esolangs.org/w/index.php?diff=60533&oldid=60525 * Salpynx * (+2) /* Very Misnamed? */ fix bug in !, should remove char from current string when pushing to stack
22:31:50 -!- LKoen has joined.
22:33:55 -!- LKoen has quit (Remote host closed the connection).
22:36:02 -!- bobby has joined.
22:37:27 -!- Remavas has quit (Read error: Connection reset by peer).
22:37:36 -!- Remavas has joined.
22:40:16 -!- LKoen has joined.
22:43:38 -!- bobby has quit (Ping timeout: 252 seconds).
22:43:53 -!- Bob- has joined.
22:45:35 -!- Yevano has quit (Ping timeout: 268 seconds).
22:48:56 -!- bobby has joined.
22:49:52 -!- Bob- has quit (Ping timeout: 252 seconds).
22:58:21 -!- bobby has quit (Remote host closed the connection).
23:01:19 -!- bobby has joined.
23:01:30 -!- LKoen has quit (Read error: Connection timed out).
23:02:08 -!- LKoen has joined.
23:09:18 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:10:51 -!- bobby has quit (Remote host closed the connection).
23:17:06 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:22:36 -!- moony has quit (Quit: Bye!).
23:22:57 -!- moony has joined.
23:28:56 -!- bobby has joined.
23:35:10 -!- Bob- has joined.
23:35:14 -!- tromp has quit (Remote host closed the connection).
23:35:47 -!- Bowserinator has quit (Quit: Blame iczero something happened).
23:36:20 -!- bobby has quit (Ping timeout: 258 seconds).
23:36:26 -!- Bowserinator has joined.
23:37:27 -!- Remavas has quit (Quit: Leaving).
23:42:04 -!- Bob- has quit (Ping timeout: 264 seconds).
23:42:40 -!- bobby has joined.
23:47:27 -!- AnotherTest has quit (Ping timeout: 258 seconds).
23:49:56 -!- Yevano has joined.
23:53:23 -!- oerjan has joined.

2019-03-19:

00:03:44   stupid stemmer search, "miserable" is not related to "miser" <-- surely they're from the same latin word, "miser".
00:12:23  b_jonas: i think your stasis cupboard may have the flaw that if it fails you get a nuclear sized explosion
00:12:52  see: various xkcd whatifs
00:13:01  (well #1 iirc)
00:27:56 -!- fmease has quit (Remote host closed the connection).
00:27:58 -!- tswett[m] has quit (Remote host closed the connection).
00:28:22 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
00:30:59 -!- Lord_of_Life has joined.
00:35:37 -!- fmease has joined.
00:49:22 -!- tswett[m] has joined.
01:26:29 -!- sebbu has quit (Ping timeout: 246 seconds).
01:33:51 -!- xkapastel has quit (Quit: Connection closed for inactivity).
01:42:24 -!- sebbu has joined.
02:52:13 -!- oerjan has quit (Quit: Nite).
03:31:41 -!- tromp has joined.
03:35:59 -!- tromp has quit (Ping timeout: 246 seconds).
04:26:21 -!- tromp has joined.
04:30:35 -!- tromp has quit (Ping timeout: 246 seconds).
05:20:47 -!- FreeFull has quit.
06:14:11 -!- tromp has joined.
06:18:23 -!- tromp has quit (Ping timeout: 246 seconds).
06:54:48 -!- danieljabailey has joined.
06:55:10 -!- danieljabailey has quit (K-Lined).
07:00:03 -!- arseniiv has joined.
07:49:25 -!- xkapastel has joined.
07:57:44 -!- tromp has joined.
08:32:50 -!- b_jonas has quit (Quit: leaving).
08:59:27 -!- SoniEx2 has joined.
08:59:27 -!- Soni has quit (Ping timeout: 264 seconds).
09:12:20 -!- S_Gautam has joined.
09:13:18 * Taneb hello!
09:31:25 -!- SoniEx2 has changed nick to Soni.
10:21:47 -!- AnotherTest has joined.
10:56:02 -!- danieljabailey has joined.
11:32:59 -!- aloril has quit (Remote host closed the connection).
11:36:47 -!- aloril has joined.
11:45:50 -!- oerjan has joined.
12:11:32 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
12:23:04 -!- danieljabailey has quit (Ping timeout: 250 seconds).
12:28:43 -!- Lord_of_Life_ has joined.
12:29:31 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
12:29:50 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
12:41:42 -!- AnotherTest has quit (Ping timeout: 250 seconds).
12:51:41 -!- oerjan has quit (Quit: Later).
12:58:30 -!- xkapastel has quit (Quit: Connection closed for inactivity).
13:15:38  david_werecat.slag: points 16.83, score 42.00, rank 3/47
13:26:11 -!- AnotherTest has joined.
13:31:51  :O
13:34:32 -!- AnotherTest_ has joined.
13:34:32 -!- AnotherTest has quit (Ping timeout: 272 seconds).
13:34:32 -!- AnotherTest_ has changed nick to AnotherTest.
13:50:17  [[User:David.werecat]] M https://esolangs.org/w/index.php?diff=60534&oldid=50855 * David.werecat * (+14716) Updated BFJoust competitors
13:51:45 -!- xkapastel has joined.
13:52:54  Idea: BF Joust variant where scores are divided by some function of the program's length
13:56:42 -!- david_werecat has joined.
14:01:29  not sure why. in theory, aren't you already at a disadvantage through longer time to cycle throughyour program?
14:08:01  Most large competitors have many branches and thus may not be significantly slower than smaller competitors.
14:19:50 -!- tromp has quit (Remote host closed the connection).
14:24:55 -!- Sgeo__ has joined.
14:26:08  On a completely different note, can I regard Set as the full subcategory of Cat restricted to discrete (small) categories?
14:27:20 -!- tromp has joined.
14:27:45 -!- Sgeo__ has quit (Excess Flood).
14:28:04 -!- Sgeo_ has quit (Ping timeout: 255 seconds).
14:28:12 -!- Sgeo__ has joined.
14:41:46 -!- AnotherTest has quit (Ping timeout: 258 seconds).
14:52:17 -!- AnotherTest has joined.
14:58:40 -!- AnotherTest has quit (Ping timeout: 244 seconds).
15:42:54  As a note: the following is a list of BFJoust competitors and their sizes:
15:42:56  Place  Name                                      Score  Points  Size
15:42:56  1      david_werecat.mist                        52.05  12.36   67
15:42:56  2      Lymia.nyuroki2                            50.56  19.9    9299
15:42:56  3      david_werecat.slag                        42     16.83   173
15:42:57  4      quintopia.space_hotel                     35.96  12.05   334244
15:42:59  5      ais523.growth2                            34.49  11.9    185931
15:43:01  6      ais523.margins3                           33.56  6.52    12028
15:43:03  7      david_werecat.MV                          32.59  12.14   14135
15:43:05  8      ais523.omnipotence                        32.3   11.83   21695
15:43:07  9      david_werecat.jackal2                     29.45  9.38    69
15:43:09  10     quintopia.space_elevator                  28.03  7.71    19635
15:43:11  11     ais523.preparation                        27     7.29    34356
15:43:13  12     david_werecat.antigen                     24.53  5.48    205
15:43:15  13     ais523.monolith                           23.81  4.33    195
15:43:17  14     Oj742.quicklock                           22.44  3.64    14117
15:43:19  15     mroman.cupnoodles                         22.4   3.21    92
15:43:21  16     mroman_.cupnoodles                        22.4   3.21    92
15:43:23  17     StackOverflow.Sp3000_ParanoidBot          21.02  3.19    18637
15:43:25  18     david_werecat.atom                        20.93  0.38    28
15:43:29  19     david_werecat.neutrino                    20.19  0       96
15:43:31  20     Lymia.finnel                              19.69  -0.17   55
15:43:33  21     david_werecat.xurtle                      19.32  -0.24   62
15:43:35  22     ais523.hippo_ballerina                    17.82  -2.76   1651
15:43:37  23     ais523.optimism                           17.7   -2.26   78
15:43:39  24     ais523.stealth2                           17.38  -3.81   954
15:43:41  25     david_werecat.pheonix                     17.21  -2.4    115
15:43:43  26     david_werecat.leviathan                   17.19  -2.74   146
15:43:45  27     ais523.margins                            16.39  -2.4    618
15:43:47  28     david_werecat.dreadnought                 15.64  -3.88   5148
15:43:49  29     ais523.slowpoke                           15.61  -3.86   7100
15:43:51  30     ais523.anticipation2                      15.55  -2.74   188182
15:43:53  31     SuperJedi224.Hyper                        15.23  -5.45   100
15:43:55  32     ais523.death_to_defence                   15.12  -6.17   827
15:43:59  33     Oj742.smartlock                           15.09  -5.86   343489
15:44:01  34     web.TellsToBeat                           14.81  -6.6    195
15:44:03  35     david_werecat.behemoth                    14.79  -5.88   199
15:44:05  36     mroman_.funky                             14.41  -7.02   157
15:44:07  37     Gregor.furry_furry_strapon_pegging_girls  14.22  -4.79   114923
15:44:09  38     quintopia.brachiation                     13.98  -6.24   342
15:44:11  39     mroman_.athena                            13.96  -7.67   61
15:44:13  40     mroman_.snail                             13.76  -7.71   54
15:44:15  41     ais523.sometimes                          13.69  -6.19   23
15:44:17  42     kerbal.Checkers                           13.64  -7      144
15:44:19  43     AndoDaan.BeatYouMate                      13.61  -8.38   194
15:44:21  44     mroman_.strapon_fuck_machine              12.99  -8.71   75
15:44:23  45     oerjan.pathetic                           11.84  -9.83   18
15:44:24  fuck you
15:44:25  46     oerjan.lame_horse                         11.84  -9.83   22
15:44:29  47     web.very_suicidal                         11.82  -10.79  30
15:48:35  wtf is that lock loop in mist
15:49:23  I'm surprised that Nyuroki's anti-defense loop doesn't clear it
15:51:12  It was originally (+-++)*-1, but I found (+-++-+++)*-1 later via brute-force
15:51:25  It works unusually well
15:52:04  (not just at locking programs, but at forcing them off the end of the tape)
15:52:45  Nyuroki assumes its anti-defense loop will clear shudder locks.
15:53:30  But I guess that loop specifically avoids it.
15:54:00  I have a billion copies of the anti-defense loop, so. I wonder if I can make it effectively choose randomly
15:54:18  That'd prevent a specifically chosen defense loop from doing this.
15:54:25  Since it'd have to be effective against every defense loop.
15:54:32  anti-defense*
15:56:49  True; at the very least the anti-defense loop could be different for each branch.  Given that different tape sizes will typically yield different branches, it could work most of the time.
15:58:30 -!- xkapastel has quit (Quit: Connection closed for inactivity).
16:00:02  Actually, maybe not in Nyuroki.  It appears that most of the branching is due to the checks on the decoy setup.
16:04:16  (and to break out of clear loops)
16:13:53  Still, I'm surprised that mist made it to first place; it started as a joke.  I didn't think that a strategy like that would do well.
16:20:39  As for the random anti-defense, that would be far easier to do in LuaJoust (adjust the seed each cycle and do additional modifications on any conditional operator)
16:26:13  Synchronization seems to have been the key here.
16:26:22  It turns 10% wins into 100% wins.
16:26:43  And given that, you can brute force a defense loop that works very well against the current hill more than likely
16:30:59  Yes.  In fact, just that part of the strategy alone made it up to 16th place.  I tried more sophisticated synchronization strategies but didn't find one of hand-editable size that worked well.
16:31:48  The other half of the strategy is the weird attack loop (which is tuned against the defense programs on the current hill).
16:32:23  Really, mist only does well because it's optimized against the current "meta".
16:34:29  In fact, running an amalgamation of the current hill, the Codu hill, and the StackOverflow hill yields scores where mist doesn't do nearly as well.
16:35:44  (IIRC, I ran the test on my home computer and don't have the logs with me right now)
16:53:14 -!- kmc has joined.
17:00:02 -!- LKoen has joined.
17:06:58 -!- LKoen has quit (Remote host closed the connection).
17:10:57 -!- LKoen has joined.
17:20:13 -!- Essadon has joined.
17:34:44 -!- AnotherTest has joined.
17:41:30 -!- b_jonas has joined.
18:09:42 -!- LKoen has quit (Remote host closed the connection).
18:33:09 -!- Phantom_Hoover has joined.
18:33:09 -!- Phantom_Hoover has quit (Changing host).
18:33:09 -!- Phantom_Hoover has joined.
19:00:22 -!- LKoen has joined.
19:09:24 -!- LKoen has quit (Remote host closed the connection).
19:09:41 -!- LKoen has joined.
19:54:54 -!- TheWild has joined.
20:07:36  `? dog
20:07:37  dog? ¯\(°​_o)/¯
20:26:24 -!- david_werecat has quit (Quit: Leaving).
20:35:13 -!- dub has joined.
20:36:33 -!- dub has quit (Client Quit).
20:37:59 -!- FreeFull has joined.
20:59:17  > (\x. x x) (\x. x x)
20:59:19   :1:4: error: parse error on input ‘.’
20:59:26  > (\x -> x x) (\x -> x x)
20:59:28   error:
20:59:28       • Occurs check: cannot construct the infinite type: t0 ~ t0 -> t
20:59:28         Expected type: t0 -> t
21:01:27  lol
21:01:52  you need to define names to type it, right?
21:04:06  I'm not sure you can
21:10:55  hmm
21:11:14  i know you can circumvent the type problems that break the Y combinator
21:11:45  hi kmc
21:12:30  apparently? https://stackoverflow.com/questions/33546004/is-it-possible-to-define-omega-combinator-%CE%BBx-xx-in-modern-haskell
21:13:02  Yes, you can define Y and this thing with negative recursion.
21:13:59  prove it
21:14:15  you prove it
21:14:17  Phantom_Hoover: you can put a data type between it
21:14:26  one with a constructor, not a synonym
21:14:32  The type error tells you what to do.
21:14:38  Cannot construct infinite type t0 ~ t0 -> t
21:14:51  So define a type T0 where T0 ~ T0 -> T
21:16:13  I think I already mentioned the olvashato program http://math.bme.hu/~ambrus/pu/olvashato/t2n.olv which does something like this
21:16:34  it's not quite the Y combinator, but it still does recursion without using the built-in named recursion calls, with just lambdas and named types
21:17:31  you could write the Y combinator that way too
21:17:53  you don't really need to, because the language allows you to just call named functions recursively, but still
21:17:56  @let newtype Rec a = Rec { runRec :: Rec a -> a }
21:17:57   .L.hs:166:31: error:
21:17:58       Ambiguous occurrence ‘Rec’
21:17:58       It could refer to either ‘Lambdabot.Plugin.Haskell.Eval.Trusted.Rec’,
21:18:29  what?
21:18:34  @let newtype Curry a = Curry { runCurry :: Curry a -> a }
21:18:35   Defined.
21:19:25  newtype Rec a = InR { outR :: Rec a -> a }
21:19:30  :P
21:19:34  @let why :: (a -> a) -> a; why f = (\x -> runCurry x x) (Curry (\x -> f (runCurry x x)))
21:19:36   ghc: panic! (the 'impossible' happened)
21:19:36     (GHC version 8.2.2 for x86_64-unknown-linux):
21:19:36           Simplifier ticks exhausted
21:19:44  int-e: Oh, InR/outR
21:20:14  I have no clue why it's there instead of L.hs though.
21:20:31  historical accident.
21:20:35  Anyway, this is the same deal as Curry's paradox.
21:20:42  "if this sentence is true, then a"
21:21:12  And I see it's still a good way to exhaust ghc's simplifier. I was wondering about that.
21:24:00  uh
21:49:32  do we love Turing tar-pits here, right?
21:49:52  how I'm going to add two numbers on this? https://en.wikipedia.org/wiki/Iota_and_Jot
22:01:19  do it in combinatory logic and then replace S, K and I by the corresponding iota terms?
22:04:54 -!- AnotherTest has quit (Ping timeout: 258 seconds).
22:05:55  https://en.wikipedia.org/wiki/Combinatory_logic
22:06:09  reading this is as painful as reading arbitrary RFC
22:09:14  https://esolangs.org/wiki/Combinatory_logic is perhaps less overwhelming
22:14:40  https://esolangs.org/wiki/Combinatory_logic doesn't really talk about numbers or algebraic types IIRC
22:15:46  what's the name for that technique where you translate algebraic data types (like products and distinguished sums) into combinatory logic?
22:15:55  IIRC it was named of someone
22:16:20  TheWild: there's of course always http://www.madore.org/~david/programs/unlambda/
22:26:02  reading unlambda... I mean, not reading, it's impossible ;)
22:26:46  I didn't get it how functions fighting functions using functions could produce a single bit.
22:29:47  TheWild: well, you eventually need some sort of I/O primitives, either Haskell style or with side effects
22:35:23  and there's tromp's Binary Lambda Calculus (which basically follows the main :: [Char] -> [Char] model)
22:36:45  Hmm https://esolangs.org/wiki/Lambda_calculus gives a glimpse at Church numerals
22:39:10  So basically that's what you do in pure lambda calculus: represent data as special kinds of functions. It takes a while to get used to, but it can be fun. It's not terribly useful though.
22:39:43  I think of it as first representing the data as algebraic data types, untyped, and then encoding that as functions
22:39:44  I wonder whether wikipedia has an articule on Church encodings...
22:39:49  even though that's not, strictly speaking, necessary
22:40:49 -!- Phantom_Hoover has quit (Remote host closed the connection).
22:41:13  `? articule
22:41:13  articule? ¯\(°​_o)/¯
22:41:38  I must have been feeling particularly articulate there.
22:48:07 -!- heroux has quit (Ping timeout: 240 seconds).
22:48:45 -!- heroux has joined.
22:57:42  what sane language you know?
23:00:49  okay, let it be JavaScript. Did I get iota right? https://kopy.io/DFPdI
23:00:53 -!- moei has quit (Quit: Leaving...).
23:04:43 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:13:27 -!- TheWild has quit (Quit: TheWild).
23:50:13 -!- Essadon has quit (Quit: Qutting).
23:51:24  web.silly-pi: points -33.19, score 3.14, rank 47/47
23:51:51  Heh.

2019-03-20:

00:28:19 -!- Lord_of_Life_ has joined.
00:29:41  what's this
00:31:02 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
00:31:06 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:34:12  I assume the gist of the joke was that score.
00:35:07  There's a web submission form at https://zem.fi/bfjoust/ although you don't get to use your nickname, all programs submitted from there are "web.*".
00:35:36  ah it's a bfjoust result
00:36:51 -!- b_jonas has quit (Quit: leaving).
00:55:08 -!- Sgeo__ has quit (Read error: Connection reset by peer).
00:56:14 -!- Sgeo has joined.
01:28:55 -!- oerjan has joined.
01:44:08  [[Talk:String rewriting paradigm]] M https://esolangs.org/w/index.php?diff=60535&oldid=60533 * Salpynx * (-2) Undo revision 60533 by [[Special:Contributions/Salpynx|Salpynx]] ([[User talk:Salpynx|talk]]) actually it's more interesting in the original form, and prob not a bug
01:48:25  `` cp src/hello*.c tmp; cd tmp; gcc -o hello hello.c; gcc -o hello2 hello2.c
01:48:27  No output.
01:48:36  `ls tmp
01:48:37  UnicodeData.txt \ a \ b \ a.c \ a.out \ hello \ hello.c \ hello2 \ hello2.c \ paste \ perm10 \ rakudo-star-2018.06 \ spline \ spout \ spout.raw
01:48:48  `tmp/hello
01:48:48  Hello, world!
01:48:51  `tmp/hello2
01:48:51  No output.
01:49:09  `cat tmp/hello2.c
01:49:09  const char main[] = "AXAYAZA[A\\ATX-pppp-0```- ///P^VTXH10XP4>40PZ414>P_\x0f\x05XATASARAQAP\xc3Hello, world!\n";
01:50:10  That always makes me think of AT commands for some reason.
01:50:17  I think it's the "ATX-pppp-0" part.
01:50:55  hello2.c seems to have bitrotted. i was trying to test them because of a question in PPCG chat.
01:52:29  Back in the olden (or at least moderately moldy) days, you could use "ping -p 2b2b2b415448300d0a" to disconnect people from IRC.
01:53:04  `file tmp/hello2
01:53:05  tmp/hello2: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=a83df14d01723d512f38d7545549f6275133454f, not stripped
01:53:23  `tmp/hello2
01:53:23  No output.
01:53:48  `url tmp/hello2.c
01:53:49  https://hack.esolangs.org/tmp/hello2.c
01:54:46  `cat tmp/hello2.c
01:54:46  const char main[] = "AXAYAZA[A\\ATX-pppp-0```- ///P^VTXH10XP4>40PZ414>P_\x0f\x05XATASARAQAP\xc3Hello, world!\n";
01:55:06  write(1, 0xd7ef86c0, 14) = -1 EFAULT
01:55:12  I wonder what's happened to it.
01:56:15  Maybe it could even be collateral damage from some security feature. On my home system, it just plain segfaults except with "-fuse-ld=gold". (With that, it has the same behavior of not crashing but just not printing anything.)
01:56:44  hm
01:57:09  the originals were put in the bot back in 2013 by Jafet
01:57:30  i don't remember if e made them or copied them from elsewhere
01:57:51  The disassembled code looks kinda odd, but printable x86 always does.
01:58:16  it's not entirely prinable
01:58:22  *+t
01:58:50  Oh, you're right. I wonder why it's that long then.
01:59:43  `` cd tmp; gcc -O2 -o hello2 hello2.c
01:59:44  No output.
01:59:53  `tmp/hello2
01:59:53  No output.
02:00:12  oh well duh
02:00:24  it's not like gcc understands what's happening
02:01:17  I'm not sure how it's getting that address for write. I was expecting the usual position-independent tricks (or on x86-64 it's just a lea with rip-relative addressing, which isn't a really a trick) but it just does a bunch of pushing, popping and math.
02:03:51  `cat tmp/hello.c
02:03:51  const short main[] = {18517,58761,49201,49801,49407,51081,3816,0,18432,27749,28524,8236,28535,27762,8548,24074,3762,1295,15536,-207,1295};
02:04:13  they're not accidentally the same?
02:05:40  No, they look entirely different.
02:06:18  That's rather simpler, and uses the classic position-independent trick (call+pop).
02:06:47  It's still a little bit more complicated than necessary (since it also exits via syscall), but less so than hello2.
02:07:10  ic
02:11:07  Well, there's only 32-bit displacement for RIP-relative addressing, so you'd get a few 0s in there, ... but it's not like that's an issue for a short[].
02:14:45  oh maybe that's why it's not a string constant
02:15:03 -!- arseniiv has quit (Ping timeout: 245 seconds).
02:19:43 -!- olsner has quit (Ping timeout: 246 seconds).
02:20:53  You can put zero bytes in a string literal.
02:21:00  I mean, even in the middle, not just the end.
02:21:08  `` echo 'const char main[] = "1\xc0\xff\xc0""1\xff\xff\xc7H\x8d""5\x07\0\0\0""1\xd2\xb2\x0e\x0f\x05\xc3""Hello, world!\n";' | gcc -x c - -o /tmp/hello3 && /tmp/hello3
02:21:09  Hello, world!
02:21:17  That's exceedingly ugly, though.
02:26:23  in freefall, one of those toys looks a little familiar.
02:26:59  fancy
02:34:15  I guess if you do the numbers approach from hello.c, and the sort of straightforward code you'd write under normal circumstances, it's not too bad.
02:34:19  `` echo 'const long main[] = {5244310924189237688, 1061160662199711117, 7298297622647799808, 8245940422806826092, 169960556};' | gcc -x c - -o /tmp/hello3 && /tmp/hello3
02:34:20  Hello, world!
02:37:34  Another reason why the hello2.c code might've rotten: it starts with a lot of pops, it might be making some assumptions about the initial state of the stack.
02:38:06  In fact, that might be how it's arriving at the address of the string to write, and maybe ASLR or something has changed.
02:41:49  Also the nonprintable parts (\x0f\x05 and \xc3) of hello2 are the "syscall" and "ret" instructions, which are pretty hard to work around when you don't have any read-write-execute memory. So I guess it's trying to be maximally printable under those constraints.
02:54:05  mhm
03:11:28 -!- oerjan has quit (Quit: Nite).
03:52:34 -!- olsner has joined.
04:17:50 -!- Yevano_ has joined.
04:20:52 -!- Yevano has quit (Ping timeout: 245 seconds).
04:23:08 -!- moei has joined.
04:23:28 -!- Yevano_ has changed nick to Yevano.
04:27:09 -!- danieljabailey has joined.
04:46:17 -!- danieljabailey has quit (Ping timeout: 245 seconds).
05:31:26 -!- FreeFull has quit.
05:43:29 -!- adu has joined.
06:05:25 -!- Yevano has quit (Ping timeout: 255 seconds).
06:53:14 -!- TheWild has joined.
07:08:39 -!- adu has quit (Read error: Connection reset by peer).
08:14:58 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
08:18:52 -!- Lord_of_Life has joined.
08:32:21 -!- adu has joined.
09:07:50  I think I may be losing track of what's going on in GG
09:29:29 -!- adu has quit (Quit: adu).
10:07:59 -!- AnotherTest has joined.
10:13:05 -!- nfd9001 has quit (Ping timeout: 268 seconds).
10:59:50  do we have PHP equivalent of JSFuck?
11:01:18 -!- nfd9001 has joined.
11:01:24  i don't think it will be that easy
11:01:27  https://bolknote.ru/all/4065/
11:01:35  the autocasts of php are much less wild
11:10:16  thanks rain1
11:13:22 -!- joast has quit (Ping timeout: 245 seconds).
12:30:02 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
12:31:44 -!- Lord_of_Life has joined.
12:54:29 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
12:56:47 -!- Lord_of_Life has joined.
13:17:35 -!- heroux has quit (Read error: Connection reset by peer).
13:18:15 -!- heroux has joined.
13:22:09 -!- arseniiv has joined.
14:00:52 -!- wob_jonas has joined.
14:01:04  fizzie: sure, but those start with "+++AT", and that hello world thing doesn't have that
14:01:59  have you tried compiling that to x86_32 by the way? IIRC the original HackEso used that.
14:09:14  Yes, didn't work at least out of the box -- it uses "syscall", which IIRC is only available as a Linux system call convention on x86-64. The ones available on x86-32 are the int 0x80 and sysenter paths.
14:15:55  fizzie: do you mean the syscall instruction, or the syscall libc macro/function?
14:16:33  and yes, the syscall instruction is only available on x86_64
14:17:53  ah I see. it has \x0f\x05 in it, which is the syscall instruction, and you suppose that gets ran
14:18:04  in that case, have you tried to compile it x86_64?
14:20:20  ah I see
14:37:24 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
14:38:22 -!- Sgeo has quit (Ping timeout: 245 seconds).
14:59:55 -!- TheWild has quit (Quit: TheWild).
15:05:21 -!- tromp has quit (Remote host closed the connection).
15:14:02 -!- tromp has joined.
15:23:21 -!- wob_jonas has joined.
15:23:59  You know how there are some programs and websites where if you participate, you can upload a small avatar image associated with your user account, and then the website displays it in multiple small sizes, right?
15:26:31  The problem is that since multiple sizes are involved, such as 32x32 and 24x24 and 16x16 in the case of StackExchange, or 30x30 circular and 24x24 circular in the case of another example, it's hard to make an image that looks good when resized to each of those sizes (plus sometimes a large size).
15:27:14  It would be nice if you could just upload separate images for each resolution, but obviously websites don't want to just allow it, because people could then upload deliberately very different images to confuse others.
15:27:29  I don't think there's a good solution for this.
15:28:10  When more trust is involved, such as for windows icons, you are allowed to use different images at different resolutions.
15:49:44 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
15:56:43  [[Special:Log/newusers]] create  * Sygmei2 *  New user account
16:02:12  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=60536&oldid=60531 * Sygmei2 * (+75) /* Introductions */
16:02:17  [[Kitanai]]  https://esolangs.org/w/index.php?diff=60537&oldid=50294 * Sygmei2 * (+586) /* Full language Syntax : */
16:07:24  [[Kitanai]]  https://esolangs.org/w/index.php?diff=60538&oldid=60537 * Sygmei2 * (+654) /* Standard Library */
16:21:04  [[Kitanai]]  https://esolangs.org/w/index.php?diff=60539&oldid=60538 * Sygmei2 * (-24) /* Examples */
16:25:33 -!- bobby has quit (Ping timeout: 246 seconds).
16:27:10 -!- bobby has joined.
16:34:41 -!- bobby has quit (Remote host closed the connection).
16:36:55 -!- bobby has joined.
16:43:58 -!- bobby has quit (Remote host closed the connection).
16:44:37 -!- bobby has joined.
16:49:12 -!- danieljabailey has joined.
16:51:52 -!- Bob- has joined.
16:52:19 -!- bobby has quit (Ping timeout: 252 seconds).
16:57:13 -!- bobby has joined.
16:57:18 -!- Bob- has quit (Ping timeout: 252 seconds).
17:11:57 -!- LKoen has joined.
17:13:00  @tell wob_jonas Maybe it could make sense to allow different images, but require some sort of (well-defined and tooled) visual similarity score to be good enough. Although I'm sure some of those might have pathological cases that could still look similar to the machine but different to humans.
17:13:01  Consider it noted.
17:17:46 -!- joast has joined.
17:30:47 -!- LKoen has quit (Remote host closed the connection).
17:36:36 -!- b_jonas has joined.
17:39:49  fizzie: it's tricky, yes. one problem is that for the small images, you often want to show a crop of the larger image (still scaled down), or a stylized version, and it's hard to make a similarity function that allows good crops but doesn't allow bad crops
17:41:05  it's hard even if the uploader is allowed to give some hints to it apart from the image data
17:41:40  I think it's hard even for humans
17:41:42  oh well
17:42:03  I mean, it's *supposed* to be easy for humans
17:42:11  because the end goal is that it can't confuse humans
17:42:12  but still
17:42:56  mind you, even without different resolutions of avatars, there are already some attacks people can try, with similar or identical avatar images and/or similar or identical nicks
17:43:35  or users can upload pornographic avatars, but that gets tricky at low resolutions
17:54:32 -!- danieljabailey has quit (Ping timeout: 250 seconds).
18:31:54 -!- ^[ has quit (Ping timeout: 252 seconds).
18:31:54 -!- lynn has quit (Ping timeout: 252 seconds).
18:33:41 -!- lynn has joined.
18:35:05 -!- ^[ has joined.
18:41:58  `` echo 'const char main[] = "%0000%HELOPPPPPPT]5Hell1E XP5o wo1E$XP5rld!1E(XP4@4J1E,4@4GPZ$AP_^^^^T^\x0f\x05XX\xc3";' | gcc -x c - -o /tmp/hello4 && /tmp/hello4
18:41:59  Hello world!
18:42:20  There, that should be a lot more portable and not really that much longer.
18:42:40  (It's portable because it encodes the payload text inside immediate operands.)
18:44:20  It'd be a lot simpler on x86-32, because you can just PUSH imm32 without leaving any gaps. On x86-64, that still decrements the stack pointer by 8.
18:46:11  oh hey
18:47:07  fizzie: but on x86_64, you get RIP-relative addressing. or do you want to use only printable characters?
18:47:28  It's under the same constraints as the one we were failing to make to work, "only printable except for syscall and ret".
18:47:38  yeah, with those exceptions that you explained earlier
18:48:45  I made one with RIP-relative addressing earlier, it's the one encoded as long[].
18:49:23 * kmc seeks and offers hugs
18:50:00  fizzie: oh right. in that one, why don't you write the numbers as hexadecimal literals? or use long long, or both? 
18:50:37  They were already 64-bit, it was assuming I32LP64.
18:51:26  ah
18:51:30  sorry, that makes sense
18:51:36  um, hexadecimal then
18:51:47  also, isn't the stack executable if you compile for linux like this? I'll have to test that
18:51:55  maybe it isn't on x86_64 or something
18:53:01  Hexadecimal constants might've saved a little space. Just thought it'd nicely obfuscate the "Hello, world!" string to do decimal. Also, with the "0x" prefixes probably not a big difference.
18:53:38  Actually, on my system, neither the stack *nor* the place where read-only data goes were executable.
18:54:32  Back when I was last playing, string literals and static const char variables were indeed executable, because linkers tended to merge .rodata and .text sections into a single read-and-execute-but-not-write ELF segment.
18:54:48  `rm a.out
18:54:49  No output.
18:55:09  But at least on my Debian testing + default GCC flags to use classic GNU as, it's no longer the case: .rodata goes in a separate read-only ELF segment, distinct from the read-and-execute .text.
18:55:32  So when testing this at home, I have to use "-fuse-ld=gold", which still makes them executable.
18:56:02  (gold provides a flag to control this, so "-fuse-ld=gold -Wl,--rosegment" makes them non-executable again.)
18:56:04  fizzie: ok. I'm going to test on HackEso anyway
18:57:00  I think "no mappings that are both writable and executable by default" has been a standard practice for quite a while now.
18:57:49  There is (or at least was) a flag you can set on the binary to make stack executable again, though, via something like "-z execstack" at link time.
19:03:15  fizzie: yes, but for a while it wasn't enforced, because x86 didn't use to have a way to mark pages non-executable (only segments), and then libraries wanted to be compatible with programs that assumed that any readable page is also executable
19:03:24  but that's on x86_32, not on x86_64
19:04:08  but you are right, the stack isn't executable
19:05:26  then you are right in what you said
19:05:43  you could of course get a writable and executable memory area, but you would need to do a system call for that
19:05:54  now I don't know if there's any other system call interface on x86_64 linux than this
19:07:20  On most x86-64 kernels (those who support 32-bit binaries at all), you can actually call (even from 64-bit code) through the int 0x80 interface.
19:07:48  But it truncates pointers to 32 bits.
19:08:21  And 0x80 isn't printable either. :)
19:09:01  (Or 0xcd, for "int".)
19:10:20  Of course you have the full C runtime library available, you could just go and look up the address of write(2) and call that.
19:11:10  fizzie: can you call them with the sysenter instruction? that one is older than x86_64
19:11:47  I would assume so, but the opcode for that is "0F 34", which is only half-printable.
19:12:06  full C runtime library => sure, you can just int main(){printf("hello, world");}, or at least refer to a function address in the initializer of a long main[] = { ... };
19:12:41  fizzie: my guess is no, in that I think syscall was introduced at the same time as x86_64, so there's no reason not to use it as the main syscall interface for x86_64 architecture
19:13:10  Not the main syscall interface, no, I was just assuming it'd support both sysenter and int 0x80 for the 32-bit compatibility layer.
19:13:14  Haven't looked that up though.
19:13:39  or you could refer to the address of main in the initializer, to be able to load the address of the literal
19:13:54  fizzie: the 32-bit compatibility layer is for 32-bit code
19:14:00  oh
19:14:02  wait
19:14:05  Yes, but as mentioned, you can call it from 64-bit code as well.
19:14:42  does int 0x80 and sysenter actually call to the same kernel routine from 64-bit or 32-bit code, so it would be extra work to check which one is calling?
19:14:46  that would make sense
19:15:12  I just sort of assumed that the calls from 32-bit code would naturally land to a different place than the ones from the 64-bit code, but that's stupid
19:15:17  that's not really how x86 works
19:15:27  so that's why there's a syscall instruction!
19:17:21 -!- LKoen has joined.
19:17:50  hmm no, it isn't
19:17:56 -!- Essadon has joined.
19:17:59  they're genuinely different
19:18:12 -!- Essadon has quit (Max SendQ exceeded).
19:18:14  and besides, they could just dispatch by using different syscall numbers
19:18:39  although there's a slight penalty for that, because the lowest syscall numbers are already used
19:20:06  In any case, I'm guessing you should be able to call write(/printf/puts) from a fully printable 'const char main[] = "...";'-form program, you'd just have to do the symbol lookup manually. Although that's kind of an odd problem statement in the first place, it's more strict than just "the main function body must be made out of printable bytes".
19:20:15 -!- TheWild has joined.
19:20:24  b_jonas: they must be different entry points, because the state is different
19:20:35  e.g. after int 0x80, there is already a kernel stack and such
19:20:56  after syscall the userspace registers are still in place, except for ip and sp
19:21:00  which are loaded from MSRs
19:21:12  kmc: int vs sysenter vs syscall are different entry points, sure
19:21:26  oh, I see what you mean now
19:21:37  kmc: what I assumed as that int 0x80 called from 32-bit code vs called from 64-bit code were different entry points
19:21:43  but it wouldn't work that way
19:21:48  There are some Linux demoscene intros that do hash-based symbol lookups to avoid having to include all those long X/OpenGL function names.
19:21:53  it would be extra work for the kernel to distinguish between those
19:22:03  fizzie: hehehe
19:22:04  fizzie: seems reasonable
19:22:19  They're all very envious regarding Windows and its ordinal-based imports.
19:22:56  fizzie: that makse sense, though I'd assume they also just compress the whole executable
19:25:17  I'm sure some do that as well. Although I think most of the innovation happens on the Windows side. There are pretty sophisticated executable packers that do a lot of nontrivial transformations on the code to make it more compressible.
19:25:33  as for that, how does an x86_64 program call into an x86_32 code sequence in linux? what does it have to ask the kernel? I think the cpu knows the difference from the attributes of the code segment descriptor
19:26:22  fizzie: sure, but it's hard to put such packers in a smaller demoscene. I was thinking just ordinary compressors, still useful for something not too small, and pre-installed on a linux machine
19:27:13  is there maybe a segment descriptor with a fixed number that it has to jump to?
19:27:28  Farbrausch have released their old kkrunchy tool designed for 64k intros -- http://www.farbrausch.de/~fg/kkrunchy/ -- and I think http://www.crinkler.net/ is the state-of-the-art for 1k/4k intros.
19:27:47  and how do you ask gcc to do that too?
19:28:08  fizzie: oh, 1k and 4k are different. I was thinking more of 64k or 16k intros, sorry
19:28:20  mostly because you mentioned linux
19:28:30  Right.
19:29:04  plus there are some of these browser-based intros
19:31:40  here's a tiny animation thing for linux I made. it's not trivial to run it on modern linuxen. => https://www.perlmonks.com/?node_id=793690
19:32:18  I don't know how mixed 32-bit/64-bit code works on Linux. It might not even be a really full-fledged feature.
19:32:23  Also I'm not sure what the rationale is for the int 0x80 entry point being available for 64-bit code in a 64-bit process. If mixed code was supported, that'd be one good reason. Or it could just be that it was easier to have it than not have it.
19:33:06 -!- LKoen has quit (Remote host closed the connection).
19:35:08 * b_jonas looks at http://refspecs.linuxbase.org/
19:35:25  fizzie: I think it's because it would be extra work for the kernel to forbid that interface
19:35:57  the kernel doesn't want to change the interrupt table just because it switches between processes, and doesn't want to check whether to allow the interface at each syscall entry
19:36:50  eek this doc is ugly
19:41:00  at least that doc says that system calls are done using the syscall instruction, and tells how the arguments are passed
19:42:00  (syscall number and return value or -errno in RAX; arguments in RDI, RSI, RDX, R10, R8, R9; scratch registers are RCX and R11)
19:42:44  it doesn't seem to mention how to call 32-bit functions
19:43:45  liiiiiiiiiiinux
19:44:56  I mean, this is totally an esoteric only application
19:45:03  I certainly don't want to call 32-bit code from a real program
19:48:43  I'll be happy when x86_32 will finally be gone except very early to boot the cpu to 64-bit mode in the boot loader
19:49:05  and perhaps in the kernel for the same reason
20:16:09  I don’t think you can mix 32 and 64 like that
20:28:32  [[Special:Log/newusers]] create  * Watashiwaanata *  New user account
20:29:46  you have to go into 48 bit mode, obviously :P
20:36:57 -!- tromp has quit (Remote host closed the connection).
20:37:10 -!- FreeFull has joined.
20:40:54  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=60540&oldid=60536 * Watashiwaanata * (+150) /* Introductions */
20:51:10  [[User:Watashiwaanata]] N https://esolangs.org/w/index.php?oldid=60541 * Watashiwaanata * (+187) Created page with "

Watashi wa anata<..." 20:57:43 [[User:Watashiwaanata]] https://esolangs.org/w/index.php?diff=60542&oldid=60541 * Watashiwaanata * (-8) 21:53:36 -!- TheWild has quit (Quit: TheWild). 21:55:47 -!- danieljabailey has joined. 22:05:39 -!- Yevano has joined. 22:07:28 -!- b_jonas has quit (Quit: leaving). 22:10:24 Lol I made this tool print an error message of "Oren is a moron" when constraints are violated, apparently they are in fact violated 22:10:50 -!- arseniiv has quit (Ping timeout: 258 seconds). 22:11:16 just not violated on my dev machine 22:13:48 this thing prints out so many error messages that mine have to be avant garde to get user attention 22:14:01 -!- tromp has joined. 22:14:49 -!- moei has quit (Quit: Leaving...). 22:18:41 haha 22:38:26 -!- AnotherTest has quit (Ping timeout: 258 seconds). 22:50:13 -!- LKoen has joined. 22:55:48 -!- LKoen has quit (Remote host closed the connection). 22:58:34 -!- LKoen has joined. 23:00:38 -!- LKoen has quit (Remote host closed the connection). 23:01:07 -!- LKoen has joined. 23:03:12 -!- LKoen has quit (Remote host closed the connection). 23:03:27 -!- LKoen has joined. 23:13:46 -!- LKoen has quit (Remote host closed the connection). 23:33:00 -!- Sgeo has joined. 23:48:56 -!- tromp has quit (Remote host closed the connection). 2019-03-21: 00:09:19 -!- tromp has joined. 00:20:54 -!- tromp has quit (Remote host closed the connection). 00:29:39 -!- Lord_of_Life_ has joined. 00:29:54 -!- LKoen has joined. 00:31:18 -!- Lord_of_Life has quit (Ping timeout: 245 seconds). 00:32:05 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:38:16 -!- sftp has quit (Ping timeout: 268 seconds). 00:38:53 -!- sftp has joined. 00:45:15 Come to think of it, it's not actually that easy to work around the non-printable characters, since the only printable control transfer instructions are relative jumps with a byte offsets. So even if you can locate a useful function (say, mprotect or puts or exit), there's no way to call it. 00:45:20 All the printable shellcode I've come across kind of assumes self-modification is possible. 00:45:47 You could definitely get by with just ret, though (by using it as an indirect jump, or doing the ROP thing), and while that's not printable ASCII, it is part of many valid and unassuming UTF-8 sequences; e.g. Þ is 'ret; sahf' and ß is 'ret; lahf'. 03:01:14 -!- Sgeo_ has joined. 03:04:30 -!- Sgeo has quit (Ping timeout: 268 seconds). 03:41:46 -!- tromp has joined. 03:46:04 -!- tromp has quit (Ping timeout: 246 seconds). 03:46:59 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 05:03:11 -!- Sgeo has joined. 05:05:51 -!- Sgeo_ has quit (Ping timeout: 252 seconds). 05:13:13 -!- FreeFull has quit. 05:36:14 [[User:Hakerh400]] N https://esolangs.org/w/index.php?oldid=60543 * Hakerh400 * (+2213) Created user page 05:42:30 -!- tromp has joined. 05:46:41 -!- tromp has quit (Ping timeout: 246 seconds). 05:48:19 -!- Yevano has quit (Ping timeout: 244 seconds). 05:55:28 -!- danieljabailey has quit (Ping timeout: 245 seconds). 06:36:36 -!- tromp has joined. 06:40:52 -!- tromp has quit (Ping timeout: 245 seconds). 07:35:34 -!- tromp has joined. 08:36:34 -!- arseniiv has joined. 08:47:13 -!- AnotherTest has joined. 08:48:20 -!- tromp has quit (Remote host closed the connection). 08:51:09 -!- tromp has joined. 09:15:57 -!- tromp has quit (Remote host closed the connection). 09:29:47 -!- AnotherTest has quit (Ping timeout: 240 seconds). 09:45:40 -!- tromp has joined. 11:44:06 -!- AnotherTest has joined. 12:31:13 -!- Lord_of_Life_ has joined. 12:32:05 -!- Lord_of_Life has quit (Ping timeout: 252 seconds). 12:33:39 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:51:54 -!- Essadon has joined. 13:25:26 -!- wob_jonas has joined. 15:03:59 -!- AnotherTest has quit (Ping timeout: 258 seconds). 16:06:31 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 16:32:35 -!- AnotherTest has joined. 16:35:46 -!- heroux has quit (Read error: Connection reset by peer). 17:02:44 [[BOREDOM]] N https://esolangs.org/w/index.php?oldid=60544 * Areallycoolusername * (+416) Created page with "[[BOREDOM]] was made in a time of boredom by [[User:Areallycoolusername|Areallycoolusername]. It needs an infinite number of code to make a successful program. == Specifics =..." 17:16:07 [[BOREDOM]] https://esolangs.org/w/index.php?diff=60545&oldid=60544 * Areallycoolusername * (+1009) 17:16:51 [[BOREDOM]] https://esolangs.org/w/index.php?diff=60546&oldid=60545 * Areallycoolusername * (+1) 17:18:23 [[Joke language list]] https://esolangs.org/w/index.php?diff=60547&oldid=60463 * Areallycoolusername * (+42) 17:31:37 -!- heroux has joined. 17:40:06 -!- LKoen has joined. 17:59:04 -!- danieljabailey has joined. 17:59:25 [[Functasy]] N https://esolangs.org/w/index.php?oldid=60548 * Hakerh400 * (+8481) Published Functasy 18:01:25 -!- b_jonas has joined. 18:01:46 [[Functasy]] M https://esolangs.org/w/index.php?diff=60549&oldid=60548 * Hakerh400 * (+4) Aligned the code for readability 18:04:08 [[Functasy]] https://esolangs.org/w/index.php?diff=60550&oldid=60549 * Hakerh400 * (+55) 18:06:21 [[Functasy]] M https://esolangs.org/w/index.php?diff=60551&oldid=60550 * Hakerh400 * (+1) 18:19:03 [[Functasy]] M https://esolangs.org/w/index.php?diff=60552&oldid=60551 * Hakerh400 * (+1) 18:20:58 [[Language list]] https://esolangs.org/w/index.php?diff=60553&oldid=60472 * Hakerh400 * (+15) Added Functasy to the language list 18:22:09 [[User:Hakerh400]] https://esolangs.org/w/index.php?diff=60554&oldid=60543 * Hakerh400 * (+18) 18:27:59 [[EnilKode]] https://esolangs.org/w/index.php?diff=60555&oldid=60460 * EnilKoder * (+883) example programs 18:29:08 -!- tromp has quit (Remote host closed the connection). 18:40:14 -!- tromp has joined. 19:33:01 -!- b_jonas has quit (Read error: Connection reset by peer). 19:42:13 -!- b_jonas has joined. 20:16:38 -!- rain1 has quit (Quit: WeeChat 1.6). 20:28:43 -!- FreeFull has joined. 20:32:18 -!- rain1 has joined. 20:33:16 -!- Roger9_ has quit (Changing host). 20:33:17 -!- Roger9_ has joined. 20:33:20 -!- Roger9_ has changed nick to rdococ. 20:57:59 -!- tromp has quit (Remote host closed the connection). 21:31:06 -!- tromp has joined. 21:35:29 -!- tromp has quit (Ping timeout: 252 seconds). 21:36:36 -!- Essadon has quit (Quit: Qutting). 21:45:28 -!- tromp has joined. 22:01:32 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 22:36:10 -!- zestymug has joined. 22:48:08 shachaf: I saw a good seagull today 22:48:52 "Go is a boring language. You're right - it does feel like it's from the 70's. No parametric algebraic sum category monoid types and no fizzle berry jiggleloops. It's like C. It exists to get shit done and not wank off on various blogs how you used it to create yet another DSL for converting medieval Japanese poetry into BDD tests or whatever." 22:49:27 how rude 22:50:49 to be fair: fuck BDD 22:52:25 go is a language for people stuck in the 70s 22:52:39 where the average iq was several points below where it is now 22:54:37 how about java? 22:54:43 or C#? 22:54:54 are they also boring? 22:55:27 at least they have generics 22:55:38 java just barely has them, yes 22:55:48 not very useful when everything is dynamic typed 22:56:19 java and c sharp have their own issues 22:56:36 go is idiomatic idiocy 22:59:09 -!- tromp has quit (Remote host closed the connection). 22:59:29 java's generics are for most people and for the most part compiler sugar 23:00:39 and they don't do primitives, only objects... so effectively a way to do compile-time cast generation for interface{} would accomplish roughly the same thing in Go...? 23:03:14 the primitive/object distinction is a deficiency of java 23:03:31 -!- arseniiv has quit (Ping timeout: 246 seconds). 23:04:53 a historical artifact, but last i checked they're trying to fix it alongside adding value types? 23:06:15 i don't know how you fix it without breaking backward compatibility 23:06:56 well they've been hacking on it for almost 5 years now as Project Valhalla 23:07:13 what about the "wrapper pattern" 23:08:02 i don't think there's anything changing in java itself in this regard 23:08:12 there's a few other WIP trees with experimental features though 23:08:25 java sucks 23:08:25 java has backwards compatibility? 23:08:55 for the most part? 23:08:57 any language for which to write meaningful code it is required to drudge about writing repetitive "design patterns" 23:09:17 probably kind of has some deep deficiency 23:11:22 -!- tromp has joined. 23:25:44 -!- oerjan has joined. 23:25:52 -!- AnotherTest has quit (Ping timeout: 252 seconds). 23:26:05 bonsoerjan 23:27:11 b_hellonas 23:28:55 @tell Taneb I think I may be losing track of what's going on in GG <-- some recent events _may_ be slightly out of order hth 23:28:55 Consider it noted. 23:28:56 hi kmc 23:29:54 lady steelgarter's credit rating did take a hit 23:30:33 i have a bad feeling about violetta's continued survival, though, given tarvek's predicted madness 23:31:38 also, i should metaphorically slap myself for not suggesting it could be violetta 23:35:38 I don't think there's a good solution for this. <-- obviously we need avatar hinting hth 23:37:37 i still use the default assigned icon on SE. i even put those winter bash hats on it. 23:38:04 (or winter whatever they call it) 23:39:03 also some of us do rampant zooming 23:39:33 hi shachaf 23:41:24 b_jonas: it seems to me that there has to be software that can heuristically guess if two images are resizings of the same one 23:42:10 kmhic, shellochaf 23:45:12 oerjan: guessing for existing images is possible. it gets harder if there's a stake for that and so people can try to actively create inputs that defeat it 23:50:17 `# Preserve fizzie's repaired version//`mk src/hello3.c//const char main[] = "%0000%HELOPPPPPPT]5Hell1E XP5o wo1E$XP5rld!1E(XP4@4J1E,4@4GPZ$AP_^^^^T^\x0f\x05XX\xc3"; 23:50:20 src/hello3.c 23:50:44 -!- danieljabailey has quit (Ping timeout: 244 seconds). 23:51:06 finally remembered to use `# as originally intended 23:51:23 `cat src/hello3.c 23:51:24 const char main[] = "%0000%HELOPPPPPPT]5Hell1E XP5o wo1E$XP5rld!1E(XP4@4J1E,4@4GPZ$AP_^^^^T^\x0f\x05XX\xc3"; 23:51:44 `? `# 23:51:45 ​`# //` is useful if you want to add a comment to HackEgo history for things like `sled or `le/rn. 23:52:52 `` cd tmp; gcc -o hello3 ../src/hello3.c; ./hello3 23:52:53 Hello world! 23:53:02 `ls tmp 23:53:03 UnicodeData.txt \ a \ b \ a.c \ a.out \ hello \ hello.c \ hello2 \ hello2.c \ hello3 \ paste \ perm10 \ rakudo-star-2018.06 \ spline \ spout \ spout.raw 23:54:04 `` rm tmp/* 23:54:06 rm: cannot remove 'tmp/paste': Is a directory \ rm: cannot remove 'tmp/rakudo-star-2018.06': Is a directory 23:54:39 `` ls tmp/ra* 23:54:39 Configure.pl \ LICENSE \ MANIFEST \ MoarVM \ README \ build_msi.bat \ config.status \ docs \ modules \ nqp \ patches \ ports \ rakudo \ tools 23:54:52 `which rakudo 23:54:53 No output. 23:55:06 `` rm -r tmp/ra* 23:55:23 huh 23:55:31 No output. 23:55:58 `ls tmp 23:55:59 paste 23:57:03 -!- tromp has quit (Remote host closed the connection). 2019-03-22: 00:00:21 -!- tromp has joined. 00:17:26 @metar ENVA 00:17:28 ENVA 212350Z 18011KT CAVOK 01/M04 Q1024 RMK WIND 670FT 21018KT 00:21:35 `` doag | grep '> #' | awk '{print $2}' 00:21:38 \ \ \ \ \ 00:24:14 `doag src/hello3.c 00:24:16 11756:2019-03-21 # Preserve fizzie\'s repaired version//`mk src/hello3.c//const char main[] = "%0000%HELOPPPPPPT]5Hell1E XP5o wo1E$XP5rld!1E(XP4@4J1E,4@4GPZ$AP_^^^^T^\\x0f\\x05XX\\xc3"; 00:24:46 `` doag | grep '> #' | grep copp 00:24:48 1181:2012-12-18 addquote < zzo38> What is portable way of load/save floating points in files, using a C code? < kmc> #ifndef __STDC_IEC_559__ #error Here\'s a nickel, kid. Buy a real computer. #endif 00:24:57 aha 00:25:13 i don't think coppro has used that nick since i added `# 00:29:20 -!- Lord_of_Life_ has joined. 00:31:52 -!- Lord_of_Life has quit (Ping timeout: 250 seconds). 00:31:54 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:33:36 hehe I'm happy with that quote 00:33:42 it stands the test of time 00:42:38 -!- tromp has quit (Remote host closed the connection). 00:46:51 `sled src/hello3.c//s/x0f/17/;s/x05/5/;s/xc3/303/ 00:46:53 src/hello3.c//const char main[] = "%0000%HELOPPPPPPT]5Hell1E XP5o wo1E$XP5rld!1E(XP4@4J1E,4@4GPZ$AP_^^^^T^\17\5XX\303"; 01:34:06 fizzie: i advertized that on PPCG's chat 01:34:22 (s?) 01:34:32 s. 01:34:43 i just found a known working MC88110 for sale. 01:34:46 yes 01:34:51 * moony celebrate 01:36:50 ^celebrate 01:36:50 \o| c.c \o/ ಠ_ಠ \m/ \m/ \o_ c.c _o/ \m/ \m/ ಠ_ಠ \o/ c.c |o/ 01:37:33 not the same since the monqy exodus. 01:38:25 `? monqy 01:38:26 monqy is no longer extant. He lives in concept, hidden, unfindable. You could ask itidus21 for details, if you find him. 01:38:42 hm i think i may be confusing people 01:38:56 `grwp feet 01:38:58 limerick:A limerick is a verse with two left metrical feet and three right metrical feet. \ myndzi:myndzi used to keep us all on our feet. 01:39:05 myndzi it was. 01:39:20 oerjan: I've been working on a "proper" printable version, in the something that fits in the same 'const char main[]' form but uses only valid UTF-8 printable Unicode characters (to make 'ret' available). 01:39:27 But since it can't use syscall (0f 05 is just not okay), it's a lot more complicated. I have a non-printable version now for looking up "puts" and "exit" via ELF auxiliary vector -> program header -> PT_DYNAMIC section -> DT_DEBUG entry -> struct link_map list of linked libs -> string/symbol tables of all loaded libraries. 01:39:36 It's already 214 bytes without any work to make it printable. 01:40:09 is it cheating to use the dynamic linker? 01:40:15 because you could look for a PLT entry 01:40:18 yes 01:40:21 mm 01:40:28 I think it is 01:40:29 there's also a syscall instruction in the VDSO isn't there 01:40:37 kmc: Not in x86-64 any more. 01:40:44 or... you could just scan all of +x memory for 0f 05 01:40:48 kmc: Or, I mean, yes, there's three syscall instructions, but not one just for calling. 01:40:58 fizzie: but you can jump to any point can't you 01:41:02 you’ve read the tom7 printable compiler paper right? 01:41:04 i guess it might be hard to get control back 01:41:06 oh yes 01:41:15 tom7 is a mad genius 01:41:19 kmc: Yes, but there's usually annoying code after, and in any case it doesn't feel right relying on those sort of offsets. 01:41:28 fizzie: well, fair enough 01:41:33 Scanning memory for the right thing would presumably work though. 01:42:48 . o O ( until the compilers start putting in traps to prevent it ) 01:43:28 Also, I gave some thought about using the int 0x80 syscall interface, because "int 0x80" is printable (U+0340 COMBINING GRAVE TONE MARK), but the problem with that is that there's no mappings below the 2G limit, and that thing's "write" can only push through 32 bits of pointers. 01:43:29 or kernels, whatever 01:44:04 And the mmap syscall on x86-32 takes the arguments packed into a struct, so you'd need a pointer in order to get some memory you can point at. 01:47:02 can't you use the stack for that, though? 01:47:29 No, because the stack is somewhere around 0x7ffe70532000. 01:48:01 So a pointer to something on it would get truncated. 01:48:27 I mean, it's very arbitrary that I'm trying to make this a x86-64 binary. If I just compiled it with -m32, it'd be simple. 01:49:14 ah yeah 01:49:38 and you're not allowed to define any symbols but 'main', right? 01:49:59 Well, it's not like there's a law. But that's what I've been operating under. 02:32:43 -!- zestymug has quit (Ping timeout: 256 seconds). 02:36:58 -!- FreeFull has quit. 02:37:13 [[Special:Log/newusers]] create * W3Rn1ckz * New user account 02:40:06 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60556&oldid=60540 * W3Rn1ckz * (+258) /* Introductions */ 03:14:52 [[Functasy]] M https://esolangs.org/w/index.php?diff=60557&oldid=60552 * Hakerh400 * (-43) /* Advanced examples */ 03:37:48 -!- izabera has changed nick to redbutt. 03:54:04 -!- danieljabailey has joined. 03:56:19 -!- redbutt has changed nick to izabera. 04:31:33 -!- ^[ has quit (Ping timeout: 250 seconds). 04:32:07 -!- ProofTechnique has quit (Ping timeout: 240 seconds). 04:33:08 -!- dingwat has quit (Ping timeout: 268 seconds). 04:34:25 -!- ProofTechnique has joined. 04:34:25 -!- ^[ has joined. 04:36:06 -!- dingwat has joined. 04:47:38 -!- oerjan has quit (Quit: Nite). 04:51:47 -!- tromp has joined. 04:56:39 -!- tromp has quit (Ping timeout: 268 seconds). 05:56:32 -!- danieljabailey has quit (Ping timeout: 244 seconds). 06:40:07 -!- tromp has joined. 06:44:23 -!- tromp has quit (Ping timeout: 252 seconds). 07:47:48 " If I just compiled it with -m32, it'd be simple." => no, it wouldn't be, because HackEso doesn't have the necessary system headers installed so you can't easily compile to x86_32 with gcc with the default options 08:02:31 -!- tromp has joined. 08:15:24 "And the mmap syscall on x86-32 takes the arguments packed into a struct" => are you sure? because it only has six arguments, and the linux man-pages don't mention that. can you use the ipc system call to map a sysvipc shared memory segment instead? 08:17:37 I think it's the socket syscalls that take argument the way you describe: http://man7.org/linux/man-pages/man2/socketcall.2.html 08:21:06 fizzie: and http://man7.org/linux/man-pages/man2/syscall.2.html confirms that syscalls take up to six arguments on x86_32 08:21:17 with the int80 interface 08:23:25 http://man7.org/linux/man-pages/man2/mmap.2.html and http://man7.org/linux/man-pages/man2/mmap2.2.html describe the specific syscall 09:03:56 -!- b_jonas has quit (Quit: leaving). 09:05:34 -!- tromp has quit (Remote host closed the connection). 09:30:05 -!- arseniiv has joined. 09:36:45 -!- nfd9001 has quit (Read error: Connection reset by peer). 09:38:14 -!- nfd9001 has joined. 09:38:19 -!- tromp has joined. 09:57:55 -!- danieljabailey has joined. 10:09:58 -!- ais523 has joined. 10:13:00 @tell b_jonas No, the man pages describe the C wrappers. See https://github.com/torvalds/linux/blob/master/mm/mmap.c#L1624 10:13:00 Consider it noted. 10:13:06 @tell b_jonas However, it seems like only the "legacy" mmap call uses the struct wrapper, and the more modern mmap_pgoff (the one that takes page offset and is behind mmap2) is defined via SYSCALL_DEFINE6, so should in fact be callable: https://github.com/torvalds/linux/blob/master/mm/mmap.c#L1616 10:13:07 Consider it noted. 10:13:16 @tell b_jonas I know you can pass 6 arguments via the in 0x80 interface, I don't know why the old_mmap call packs them in a struct. Maybe the interface was slightly different in olden times. 10:13:16 Consider it noted. 10:15:54 -!- AnotherTest has joined. 10:43:47 I vaguely remember that an old, old syscall interface took fewer arguments than that 10:55:37 naturally; x86 simply had fewer registers to spare 10:59:36 -!- dingwat has quit (Ping timeout: 252 seconds). 11:01:01 -!- dingwat has joined. 11:34:48 Well, or so I thought. They're using all 7 of them now, even ebp, which I expected to be left out. 11:49:17 oh wow, why did I never see ELVM before? https://github.com/shinh/elvm 11:49:21 somehow I am not surprised at the author 11:49:51 (it's a C compiler modified to support a range of esolangs as backends, e.g. it can compile to BF, INTERCAL or Whitespace) 11:51:01 also, sizeof(char) == sizeof(int) == sizeof(void*), and CHAR_BIT varies but is usually 24 :-D 11:55:11 ais523: did you see the reference that I added to https://esolangs.org/wiki/Talk:Interfrac ? (I was almost giddy when I finally found it. It's actually a different source than I originally had for ILP in NP.) 11:55:36 (And I still don't know where that was.) 11:55:38 no, but I've seen it now 12:07:12 -!- mich181189_ has joined. 12:09:05 -!- S_Gautam has joined. 12:14:34 -!- Cale has quit (*.net *.split). 12:14:34 -!- mich181189 has quit (*.net *.split). 12:14:37 -!- mich181189_ has changed nick to mich181189. 12:17:34 -!- HackEso has quit (Ping timeout: 255 seconds). 12:17:41 -!- HackEso has joined. 12:20:48 -!- Cale has joined. 12:27:31 -!- wob_jonas has joined. 12:28:05 fizzie: was that old_mmap syscall even used on x86_32? 12:28:46 I'll try to look this up later 12:29:39 wati 12:29:45 there's a note about mmap in http://man7.org/linux/man-pages/man2/syscalls.2.html 12:30:53 fizzie: sorry, you're right. that note tells that because the original mmap is a very old syscall, it used to be called with a parameter block on x86_32, despite that six arguments can be passed in syscalls in x86_32 now 12:32:26 fizzie: ok, so you can call the mmap2 system call, or the ipc system call in the shmget mode, to get a memory mapping. 12:32:39 -!- Lord_of_Life_ has joined. 12:33:20 -!- Lord_of_Life has quit (Ping timeout: 244 seconds). 12:35:03 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:45:44 -!- danieljabailey has quit (Ping timeout: 272 seconds). 13:11:17 ais523: yes, you're right, apparently there is a historical artifact there in the original mmap syscall. 14:03:45 shachaf: ftr, you're an evil person ;-) (I relented and bought Baba is You and I've already sunk 11 hours into it) 14:05:21 int-e: how many levels does that have? I hope they improved level design since that demo 14:06:24 more than a hundred 14:07:00 and at least one level is impossible (probably not really but I have no clue how it's supposed to work) 14:29:00 int-e: I see 14:33:49 suppose you're writing an esolang which does I/O as individual bits; should bits within a byte be big- or little-endian? 14:34:04 unlike bytes within a word, for which there are several good reasons to be little-endian, I can't see a reason to break the symmetry here 14:34:50 I guess I'd prefer big endian for human readability: 00100000 for a space 14:35:53 I guess big endian is slightly easier for input, little endian slightly easier for output? At least when doing the standard multiplication/division based base conversions. 14:36:01 I'm wondering whether one particular endianness might be easier to produce from within esolang code 14:36:20 hmm, yes, you save a temporary in both cases, don't you? 14:36:48 although not really, because you need a loop counter anyway, and you can use the same temporary for the loop counter and for remembering which bit you've reached 14:36:51 ais523: yeah, that's the sort of thing I have to decide for specifying (and implementing) a standard library for consumer society, although it's not necessarily base 2, I can use larger bases (3 or 4 or 5 or 8 or 16), and not only for IO, but for arithmetic too 14:38:13 so far I think I'll be using the endianness where the code emits the higher order bits first 14:38:14 also you can shift the bits into the number backwards, if you have 256/128 as a constant or wrapping storage 14:38:18 in BF it's often easier to read the top bit of a number than the bottom bit… 14:38:21 or, hmm, now I'm not sure; the top bit (for some fixed bitwidth) is easier to read in a non-wrappinig impl, but you can read the bottom bit in a wrapping impl by multiplying by 128 and checking to see whether you have 0 14:38:32 -!- ais523 has quit (Quit: sorry for my connection). 14:38:44 -!- ais523 has joined. 14:46:40 I think you can read the lowest bit in brainfuck too. 14:48:10 well, BF is transformation-on-memory-complete, the question is as to how easy the various bit-reading codes are 14:48:45 this problem comes up in The Waterfall Model too, I haven't decided whether it's easier to read high bits or low bits first 14:49:03 this should read the low bit: >[-]+>[-]>[-]<<< [- >[->>+<<]>[-<+>]>[-<+>]<<<] 14:49:07 (you either repeatedly halve, or else compare against something that's repeatedly halving) 14:49:26 clears the three fields to the right, then puts the parity to the field two to the right while zeroing the current cell 14:49:41 you could also copy the value if you don't want to destroy it 14:49:53 ais523: in a typical language I'd do the equivalent of acc = 0; for (i = 0; i < 8; i++) { acc = 2*acc + get_bit(); } 14:50:09 well, 128 in a wrapping impl can be obtained via --[>-<--]>- 14:50:32 you can change the >-< to a nondestructive add to get a nondestructive multiply-by-128 14:50:32 ais523: how do you read the seventh bit? 14:50:43 that's got to be shorter, but you'd then have to double the number to read the next bit 14:50:53 rather than acc = 0; bit = 1; for (i = 0; i < 8; i++) { if (get_bit()) { acc += bit }; bit *= 2; } 14:51:17 (this is assuming something without builtin bit shift (or exponentiation)) 14:51:55 acc = 0; for (i = 1; i != 256; i*=2) { if (get_bit()) acc += i; } 14:52:02 ... I misplaced that semicolon in "};". 14:52:15 I think that's less natural than your first example, but it's way shorter than the second 14:52:32 if I can compare wit 256 easily... sure. 14:52:44 well, in wrapping BF it's very easy, comparing with 256 is what ] does :-) 14:53:09 . o O ( let's take a 16 bit variant ) 14:53:15 ;) 14:53:32 then the same code reads a 16-bit character and you don't have to change it at all :-) 14:53:48 Also input may be less important than output? Or not? It really depends on what you want to do... 14:54:18 ...and the difference between big endian and little will always be relatively insignificant, I think. 14:55:20 what got me thinking about this was "suppose you're making an IR to target esolangs, what does I/O look like?" 14:55:40 unary is an option and has several advantages, but also a clear disadvantage 14:58:31 -!- arseniiv has left ("gone too far"). 14:58:43 -!- arseniiv has joined. 15:01:10 I think the optimum is probably unary for text output (likely with 1 = NUL, 2 = SOH, etc., and 0 = EOF); and binary for binary output 15:01:24 (in either case the language itself would just output 0s and 1s, just the interpretation of them would be different) 15:03:41 ais523: I'm definitely not going to use unary. I'm going to use radixes between 2 and 16 inclusive. 15:04:31 wob_jonas: well, we're designing different languages, so your usecase may well be different from mine 15:04:47 I guess this goes back to the whole "what is a number?" question 15:05:10 sure 15:05:20 and in esolangs, at least, the answers seems fairly clear for nonnegative integers: it's a count of something, typically data or loop iterations 15:05:58 part of the reason why I want a radix higher than 2 for some options is to make the code more compact, so that if I want to put an integer literal in the source code, I don't have to enter 32 bits, but instead just 8 hexits 15:05:58 so "do this 4 times" is a property inherent in the number 4, it's what defines it, really (because it lets you impose 4ness onto arbitrary structures) 15:06:07 and "output a 1 bit 4 times" is how you output the numebr 4 in unary 15:06:26 wob_jonas: isn't that just syntax, though? you could have the lexer expand your high-radix number into unary 15:06:29 (+)*12345 15:07:38 ais523: the syntax itself doesn't know about numbers. only the standard library knows about them, and the standard library interface is such that I can implement the arithmetic library in pure Consumer Society. in fact that's how I want to implement it first, just to prove that it works, and then I add an optimized implementation into the interpret 15:07:38 er. 15:08:07 the library can't add arbitrary syntax to the language 15:08:14 OK, and you don't want a preprocessor 15:08:51 yes, or at least, I have a specific syntax in mind, and want to make that work 15:09:36 the reference implementation would then store the numbers as binary internally 15:09:44 but that isn't visible in the interface 15:10:05 well, IMO a good Underload interpreter should store numbers in binary 15:10:12 internally 15:10:15 but the syntax doesn't work like that at all 15:10:43 why not? if you want to handle large numbers in underload, you can implement a binary representation in underload just fine 15:11:12 in this case I want to handle 32-bit numbers because I decided I want to implement the SGB random generator, and that uses 32-bit division 15:11:43 and then I'll implement a maze generator that calls that random number generator 15:12:03 wob_jonas: because the binary representation is very inconvenient for working with 15:12:10 you wouldn't be able to multiply with just *, for example 15:12:14 so some numbers will be greater than 2**30, but I won't repeat anything as many times 15:12:44 make the interpreter use bignums internally 15:12:51 ais523: yes, I'll have to implement the multiplication and division myself. I've implemented binary arithmetic a fwe times already, so I know what I'm getting myself into 15:13:01 all esolang interpreters should do that unless the esolang inherently has a word size cap (which IMO is bad esolang design) 15:13:11 ais523: for underload, yes, I'd use bignums. for Consumer society, that's not so easy 15:13:56 from my point of view, the best way to write esolangs is normally for the program to handle numbers in unary (simplest), and the interpreter to optimize that, unless the esolang is timing-dependent in some way and thus can't be optimized 15:14:42 it's not that 32 bits is an inherent limit. I could implement 128 bits instead if I wanted to, for just slightly larger code, but if I do 32 bits, that makes it clear enough that I could do larger if I wanted while keeping the code clean. 15:18:22 it'd be hard to imagine an esolang where 32 bits /is/ an inherent limit (so, of course, I'm trying) 15:26:10 ais523: I don't think it would be hard. x86_32 already has built-in 32-bit integers, and you can encourage that even more if you don't expose a carry flag and don't expose high multiplication. 15:27:04 yeah, and don't expose double shift and don't expose unsigned division either. it goes a long way to make longer arithmetic inconvenient, but still totally realistic and characteristic of real cpus. 15:27:24 sure, that means it's for non-esoteric languages, but I don't see why an esoteric language couldn't do the same 15:27:44 intercal already has 16 bits as an inherent limit, and I can imagine a 32-bit variant. 15:56:27 the 16 is arbitrary though 16:08:03 [[Livefish]] N https://esolangs.org/w/index.php?oldid=60558 * Areallycoolusername * (+1681) Created page with "[[Livefish]] is an [[esoteric programming language]] made by [[User: Areallycoolusername|Areallycoolusername]]. It's the opposite of [[Deadfish]] in that it has a way to input..." 16:10:55 [[Joke language list]] https://esolangs.org/w/index.php?diff=60559&oldid=60547 * Areallycoolusername * (+71) /* General languages */ 16:17:12 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 16:18:30 Livefish would be /way/ more interesting if i was input, and o was some other operation 16:18:39 that said, it would still likely be uninteresting 16:19:11 [[Livefish]] https://esolangs.org/w/index.php?diff=60560&oldid=60558 * Areallycoolusername * (+131) 16:19:18 you can write practically useful TC input-only languages, though (e.g. context-free grammars); they provide observable output in the form of halt/nonhalt 16:19:32 [[Livefish]] https://esolangs.org/w/index.php?diff=60561&oldid=60560 * Areallycoolusername * (-31) 16:20:41 [[Livefish]] https://esolangs.org/w/index.php?diff=60562&oldid=60561 * Areallycoolusername * (+6) 16:22:08 [[Livefish]] https://esolangs.org/w/index.php?diff=60563&oldid=60562 * Areallycoolusername * (+10) 16:22:42 [[Livefish]] https://esolangs.org/w/index.php?diff=60564&oldid=60563 * Areallycoolusername * (-17) /* Categories */ 16:51:54 int-e: Which level is impossible? 16:53:00 Level 12 in the forest... skull house. I don't want any spoilers though. 16:54:05 Of course. 17:05:55 [[User:Areallycoolusername]] https://esolangs.org/w/index.php?diff=60565&oldid=59883 * Areallycoolusername * (+249) 17:07:07 [[User:Areallycoolusername]] https://esolangs.org/w/index.php?diff=60566&oldid=60565 * Areallycoolusername * (+34) 17:07:19 [[User:Areallycoolusername]] https://esolangs.org/w/index.php?diff=60567&oldid=60566 * Areallycoolusername * (+2) 17:48:45 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 17:51:21 -!- danieljabailey has joined. 17:55:49 -!- adu has joined. 18:16:01 Huh. I somehow thought when you call int 0x80 in a 64-bit binary, you go through the compatibility layer where the syscall numbers are the x86-32 ones, and you pass in 32-bit ebx/ecx/edx/etc registers. In actual fact, it looks like when I call int 0x80 it's interpreted using the 64-bit syscall numbers and register order. Or at least that's how strace is printing them. 18:16:21 Maybe strace is just confused by the whole concept. Because the call doesn't actually do anything, and it prints "?" as the return value too. 18:19:38 Right, I think that's just strace. Because when I try to run the regular "syscall"-based version with int 0x80, strace prints write(1, "Hello world!\n", 13) = ? but the process just exits. (The 64-bit syscall write number 1 is exit on the i386 side.) 18:20:17 -!- b_jonas has joined. 18:20:31 I guess I just won't use strace; just wanted to use it to validate the args. Still getting a -1 (EPERM) out of the purported mmap call. 18:22:56 Oh, looks like it might actually care about fd needing to be -1 when MAP_ANONYMOUS is set. The man page was ambivalent (stating it should be ignored), so I left it at 0 as that was easier. 18:24:36 Or not. I'm getting EBADF when I try to set it to -1. 18:26:09 -!- FreeFull has joined. 18:48:57 -!- danieljabailey has quit (Read error: Connection reset by peer). 18:50:57 "you can write practically useful TC input-only languages, though (e.g. context-free grammars)" => huh what? no context free grammar is Turing-complete 18:51:05 ais523: ^ 18:51:37 I meant context-sensitive grammars 18:51:48 and said the wrong thing out of habit because CFGs are common and CSGs are rare 18:52:20 fizzie: try to call write first, that has the same syscall number in all versions, right? 18:52:46 b_jonas: No, that's what confusing me right before you joined. 18:53:10 b_jonas: The 32-bit write (1) is actually the 64-bit exit, so strace printed "write(...) = ?" + "program exited". 18:53:33 fizzie: what I don't know is, when you call a syscall with int 80, what registers or register halves is the syscall allowed to clobber 18:53:44 for the proper x86_64 syscall interface, I do know the answer 18:53:59 but not for the int 80 18:54:00 Er, I mean, the 64-bit write (1) is the 32-bit exit, is what I needed to say. 18:54:09 wait what? 18:54:12 even that's changed? 18:54:13 wow 18:54:18 Single-stepping with gdb confirms that it exits immediately on the "int 0x80" where eax/rax is 1, so it's being treated in the 32-bit manner, even though strace prints it it as write. 18:55:25 fizzie: even without strace or gdb, you could get a few bits result out if you make the program (1) call an illegal instruction, (2) cause a segmentation fault by writing to the null page, (3) livelock with an infinite loop 18:55:28 Yes, the syscall_64.tbl list starts at 0 with "read, write, open, close, ..." while the syscall_32.tbl starts from 1 (well, 0 is restart_syscall, that's special) with "exit, fork, ...". 18:56:04 -!- adu has quit (Quit: adu). 18:56:26 -!- adu has joined. 18:56:34 the 32-bit one starts with exit, fork, read, write, open, close, waitpid, creat, link, unlink, execve, chdir, time, mknod, chmod, lchown, break 18:56:51 -!- adu has quit (Client Quit). 18:56:51 hmm 18:57:11 -!- adu has joined. 18:57:38 -!- adu has quit (Client Quit). 18:57:39 that could get ugly the other way, if you try to call write, but actually call fork 18:58:05 -!- adu has joined. 18:58:16 In any case, I'm a bit unsure about this EBADF. I think it's likely using the x86-32 argument registers, because when I change the fifth register (edi) from 0 to -1, the return value goes from -1 (EPERM) to -9 (EBADF). 18:58:17 and what does the sysenter interface do? is that the same as the int80 interface? 18:58:25 -!- adu has quit (Client Quit). 18:58:28 ...uh, actually, scratch all that. It's just that I can't count. 18:58:47 Turns out 0x20 | 0x40 *isn't* actually 0x40, but 0x60 instead. 18:58:48 -!- adu has joined. 18:58:57 Who knew. 18:59:11 -!- adu has quit (Client Quit). 18:59:22 Well, then it all makes sense, it doesn't have 0x20 (MAP_ANONYMOUS) set so it's either trying to mmap stdin (EPERM) or -1 (EBADF). 18:59:44 -!- adu has joined. 18:59:53 yeah, it ought to use the x86_32 register conventions if you use int80 18:59:58 -!- adu has quit (Client Quit). 19:00:27 so the syscall number goes in eax, and the arguments to ebx, ecx, edx, esi, edi, ebp 19:00:44 EPERM seems like an interesting error for mmapping stdin 19:01:13 it should be EACCES according to the docs 19:01:31 oh, but EACCES is "Permission denied" 19:01:37 (EPERM is "Operation not permitted") 19:02:04 EPERM The prot argument asks for PROT_EXEC but the mapped area belongs to a file on a filesystem that was mounted no-exec. 19:02:10 It kind of might be an instance of that sort of thing. 19:02:21 I was trying to map it rwx just because there's no reason not to. 19:02:32 oh, I see 19:02:41 I normally avoid +x in maps 19:02:52 ais523: yeah, what fizzie says, plus /dev/pts is mounted noexec 19:02:53 besides, mapping /anything/ rwx is a huge w^x violation 19:02:58 I thought I might want to run some code in there, though right now it doesn't. 19:03:16 Anyway, with the flags fixed (MAP_PRIVATE | MAP_ANONYMOUS | MAP_32BIT), it's now returning a pointer in the low 32 bits, so that should be fine: http://ix.io/1Ee2 19:03:24 ais523: like I said yesterday, rwx used to be normal, because for a pretty long time, x86 didn't have a way to mark pages (as opposed to segments) readable but not executable 19:04:03 b_jonas: clearly you should just make your mutable variables write-only, then 19:04:29 (this is… possibly viable given the right sort of language?) 19:04:40 ais523: old x86 didn't allow marking a page executable but not readable either 19:05:01 now I'm wondering what operations x86 allows on write-only memory, can you do RMW instructions if they don't have visible side effects? I'm guessing no 19:05:48 -!- sebbu3 has joined. 19:06:10 the whole non-executable page thing came about only because of security people trying to reduce effects of bugs 19:06:49 wtf was these loud noise 19:09:26 -!- sebbu has quit (Ping timeout: 250 seconds). 19:12:30 Aw. Works locally, crashes on HackEso. That might be a little annoying to debug. 19:12:46 fizzie: ouch 19:12:54 fizzie: how do you even compile it on HackEso? 19:13:03 oh wait 19:13:10 `` echo 'const char main[] = "%0000%HELOP[P]P_4~PY4yPZ4eP^,b,@̀PYSX5Hell1ADSX5o wo1AHSX5rld!1ALSX4@4J1AP4@4GPZ$AP[QX4DPYRX$D̀ß";' | gcc -x c - -o /tmp/hello4 && /tmp/hello4 19:13:11 you're compiling a x86_64 program, sorry 19:13:11 ​/hackenv/bin/`: line 5: 64 Segmentation fault /tmp/hello4 19:13:14 that you can compile 19:13:41 try cheating by making the program not of that format 19:13:59 That command line prints "Hello world!" on both my home machine and this work computer. 19:14:25 Yeah, will have to look into it a bit later, need to go grocery shopping. 19:14:36 But I know the format in general works. 19:15:02 `` echo 'const char main[] = "%0000%HELOPPPPPPT]5Hell1E XP5o wo1E$XP5rld!1E(XP4@4J1E,4@4GPZ$AP_^^^^T^\17\5XX\303";' | gcc -x c - -o /tmp/hello4 && /tmp/hello4 19:15:04 Hello world! 19:16:43 The int 0x80 version also works on the machine HackEso is running on, so it's something about the UML sandbox. Which isn't *that* surprising: UML in general does weird things about memory. 19:16:55 Actually, it's a separate Linux kernel. 19:17:05 Maybe it's compiled without the 32-bit emulation in the first place. 19:18:01 hmm 19:18:20 it sure does 19:22:52 I do have that working version that doesn't use any syscalls at all, I just suspect if I finish converting it to be printable in a naive way, it's going to end up being longer than comfortably fits on an IRC line. 19:24:12 ``` set -e; >tmp/a.c echo $'#include\n''int main(void) { printf("hello ifrzMgePz7Lg,\n"); }'; gcc -g -Wall -O -fdiagnostics-color=never -o tmp/a.out tmp/a.c; tmp/a.out 19:24:14 hello ifrzMgePz7Lg, 19:24:46 does it have to fit in an irc line? you can just use multiple irc lines 19:24:59 I guess it doesn't, really, just would be more elegant if it did. 19:25:10 If the word "elegant" can really be attached to that. 19:25:22 fizzie: it's really the -fdiagnostics-color=never why I don't want to insist on putting all the compilation stuff in one irc line 19:25:51 it's just a ridiculously long compilation option, and the gcc defaults and libc defaults are somewhat bad for historical reasons, 19:26:20 so you can end up needing stuff like -std=gnu++-17 and #define _GNU_SOURCE and twenty includes just to do nothing 19:26:35 and I don't want to omit those just to golf the program 19:27:16 The non-syscall code walks up the stack to reach the ELF auxiliary vector, picks up the AT_PHDR pointer to locate the program header, scans that to find the PT_DYNAMIC section, looks up the DT_DEBUG entry used for communicating between the dynamic linker and a debugger, uses the link_map chain there to enumerate all loaded shared objects, scans through their symbol tables to find "exit" and "puts", and 19:27:22 finally uses those to do the job. 19:27:37 fizzie: ok, wait a moment 19:27:51 I think I read something relevant yesterday, let me look it up 19:28:02 hmm wait 19:28:06 that was for x86_32 code 19:28:21 so that can't work 19:29:06 but still, even in x86_64, there must be a function with a syscall instruction mapped somewhere, that the kernel and libc together use for signal handler magic 19:29:12 -!- tromp has quit (Remote host closed the connection). 19:29:41 Yes, I could definitely do it much easier if I were willing to make it work on one specific libc. 19:29:55 (Or scan through memory to find suitable bytes.) 19:30:12 (Well, maybe that wouldn't be so much easier than the enumerate-symbols approach.) 19:30:56 There's also an easy-to-find entry to locate the vDSO page, which could be used to make a version that reliably works on one specific kernel. 19:31:54 On x86-32 systems, the vDSO actually has a function just for this, __kernel_vsyscall, which is there so that userspace apps can just call that instead of having to do the work of deciding whether sysenter is supported. 19:32:34 On x86-64, that's not there, the page contains just __vdso_clock_gettime, __vdso_getcpu, __vdso_gettimeofday and __vsdo_time. 19:33:04 Some of those do have syscall instructions that could be jumped to, but again that would make the solution brittle if the vDSO contents change. 19:33:06 -!- sebbu3 has changed nick to sebbu. 19:39:01 fizzie: but doesn't it have to work that way on any libc? I mean 19:39:14 fizzie: what does the kernel put on the stack when it calls a signal handler? 19:39:29 fizzie: I vaguely remember Web of Lies scanning the vDSO to find a syscall instruction 19:39:32 doesn't it put a return address to a routine that calls the magic system call that tells the kernel that the signal handler has finished? 19:39:37 wasn't there something like that? 19:39:39 and then jumping to it via IP teleportation over ptrace 19:39:50 maybe I'm confused 19:39:52 (it seemed saner than trying to alter the executable's memory image to do a system call) 19:39:53 I'll have to test that 19:43:21 I think there's a specific system call (sigreturn?) somewhere in user-space code that signal handlers return to, which then informs the kernel that the signal handling is done. But I'm not sure how that helps for this. 19:43:40 Unless there's an easier way to find that code than there is to find the puts/exit functions. 19:44:21 syscall/signal interaction is interesting 19:44:37 the kernel frequently, either virtually or actually, rewinds the IP a couple of bytes to send it over the same syscall again 19:44:44 that's how restartable syscalls are restarted, for example 19:45:00 it wouldn't surprise me if sigreturn is used as a replacement syscall for nonrestartable signals in much the same way 19:45:26 (fwiw, this mechanism makes it highly likely that syscalls use only caller-saves registers, as it'd be hard to get the parameters correct otherwise) 19:46:51 ais523: is that really what the kernel does? I always thought it was the libc that handled all the restarting, by intercepting all the sigaction calls to know which signals it has to restart after, and restarting on a -EITNR in the C functions that call the system call 19:47:07 b_jonas: no, it happens in the kernel, you can see this using strace 19:47:27 there are a few really out-there signal numbers (not in the normal sequence) reserved for this purpose 19:47:31 and I think the sigreturn had some other reason to exist, not the syscall restarting 19:47:34 I can't remember whether they're negative or really large 19:48:16 but I didn't pay much attention to the whole system call restarting thing, because why would you want that? the whole point of signal handlers is that they must be able to wake up your program, and you can only do that if the system call isn't restarted 19:48:36 in blocking high level functions like fread, sure, there you restart 19:49:02 b_jonas: well, if you've set the signal to SIG_IGN, you presumably don't want the signal to interrupt the system call 19:49:10 sometimes that's implemented as restarting it 19:49:13 but otherwise, when a signal interrupts a syscall, it will be the blocking syscall that is the center of your event loop, like poll or something 19:49:33 I do understand that the restarting must be handled for compatibility with existing programs of course 19:50:17 ais523: no! if you set it to SIG_IGN, then the system call isn't interrupted at all, from the user process's point of view. the kernel doesn't have to restart anything, or even interrupt the system call, because it doesn't have to invoke a handler 19:50:39 I vaguely remember that the kernel actually /does/ interrupt the system call while it checks to see if there's a handler 19:51:35 and SIG_IGN has some special semantics for the kernel anyway, it's not just like calling an empty handler: SIG_IGN is inherited through an execve, SIG_IGN on SIGCLD makes the kernel wait all your children when they die. 19:52:33 well, what actually matters is the SA_RESTART flag on the signal handler, which can be set independently per-handler (although it defaults to off unless you're using SIG_IGN, IIRC) 19:52:36 that is why you have to be very careful with SIG_IGN: if a child accidentally inherits it, you can get really hard to debug bugs 19:53:03 there was a particularly nasty bug in linux distros where some process set sigprocmask and children inherited it, the same could happen with signaction SIG_IGN 19:54:02 well, there are some programs that do this sort of thing intentionally 19:54:04 nohup comes to mind 19:54:18 ais523: yeah, I guess what you're saying makes sense, because libc can't easily tell which signal interrupted the syscall 19:57:50 oh, I know why! 19:58:55 ais523: the kernel must put something on the stack because on signal return the stack pointer must be modified. on x86_32 that's only if a sigaltstack is active, but on x86_64 always, because there's a redzone 19:59:27 oh right, you can't clobber the redzone 19:59:27 you can't just have the signal handler return like a normal C function, the stack pointer would be wrong 19:59:58 what even is the purpose of that thing, anyway? 20:00:58 is it just to save a few assignments to SP? or is there some better optimization you can do with it? 20:01:23 ais523: uh, some optimization thing, but I'm not sure what right now 20:03:12 -!- tromp has joined. 20:03:21 ais523: I think part of that is that the one-byte displacement you use in x86 addressing modes is a signed int8 20:03:48 but I think there's something other than that, possibly connected to instructions like push/pop 20:04:32 the redzone is 128 bytes, isn't it? that would make a lot of sense if it's the signed-int8 displcement that's relevant 20:07:04 ais523: something close to that, yes 20:11:20 ais523: it also allows you to load a value from the stack with pop but still keep the copy on the stack 20:12:10 well, the copy isn't on the stack any more, it's in the redzone, but I know what you mean 20:12:13 I'm not saying this comes up often, but the redzone doesn't have much of a price either 20:13:06 if the kernel calls a signal handler, those 128 bytes don't cost much even when you aren't using them 20:13:08 b_jonas: there's also the bit that tail functions don't have to set up their own stack frame if they need fewer than 120 or so bytes. 20:14:44 int-e: that could be true even if the redzone was over *rsp, not under, if the calling convention just said that the 120 bytes over the return addess are callee-clobbered 20:15:58 int-e: basically you have a choice of a constant offset of where the rsp points, and it only matters for when the stack is accessed with small displacements or call/ret/push/pop or similar which use a fixed displacement 20:16:07 b_jonas: then you'd pay 120 bytes of stack space for every level of function calls even if no stack frame is allocated at all 20:16:17 (just for the return address) 20:16:35 hmm 20:16:39 oh, because it would intersect the previous ret address? 20:16:45 yeah, sorry, you're right 20:16:49 that wouldn't work 20:17:08 Err, yes, I think what I said is correct. I'm confusing myself. 20:18:14 int-e: yes, what you say is correct. because the call/ret instructions access right above *rsp, you want space below that that can be used even if you did a dense series of calls and pushed above *rsp 20:19:16 so the stuff you access with call/ret/push/pop and kin are above the stack pointer, and some of the thing you access only with displacements, not with those instructions, can be above 20:19:20 some of them can be below 20:19:37 or perhaps 20:21:19 well, there definitely has to be a boundary somewhere on the stack so that above that is generally preserved by the callee, below that can be clobbered 20:22:53 and because of how call/ret/push/pop works, it makes sense to put that boundary near *rsp 20:23:28 which is why there's a scratch area below [rsp] 20:25:51 well, I don't really claim I understand this 20:26:02 figuring out good general-purpose calling conventions is a very hard problem 20:26:08 good thing we already have one to use 20:28:33 it's probably only good on x86 20:28:39 well sure 20:28:43 and any goodness it has is relative to the general insanity of x86 20:28:49 this is cpu-dependent 20:28:57 and this is on x86_64 in particular 20:45:15 ah, the linux manpage http://man7.org/linux/man-pages/man2/sigreturn.2.html gives some info 20:46:20 ah yes! 20:46:48 besides setting the stack pointer, it resets the saved sigprocmask. I knew there was something I missed 20:54:42 hmm 20:55:29 that won't help, because you need at least either a system call or a symbol lookup to find that function that the signal handler stack frame calls, 20:55:54 and if can you do a system call or symbol lookup then you no longer need that 20:56:32 no wait 20:56:32 wait 20:57:07 it's a bit non-portable because it technically depends on the kernel version, but you can find the address from just the auxiliary vector I think 20:58:47 oh 20:58:50 it might be even better 20:58:53 I'll have to test this 20:59:13 hmm no 20:59:15 darn 20:59:29 I dunno 21:02:29 nope 21:02:41 you need a symbol lookup into libc I think 21:02:46 so it won't help 21:16:22 [[User:Hakerh400]] https://esolangs.org/w/index.php?diff=60568&oldid=60554 * Hakerh400 * (-188) /* Programming languages we created */ 21:16:34 [[Truth-machine]] https://esolangs.org/w/index.php?diff=60569&oldid=60486 * Illuminatu * (+177) /* Implementations */ 21:18:43 [[Aeolbonn]] https://esolangs.org/w/index.php?diff=60570&oldid=20079 * Illuminatu * (+97) /* Examples */ 21:28:31 -!- arseniiv_ has joined. 21:31:44 -!- ais523 has quit (Quit: quit). 21:32:05 -!- arseniiv has quit (Ping timeout: 252 seconds). 21:33:23 smh. arduino is doing some terrible thing where code inside comments gets preprocessor-expanded and then has compiler-level syntax errors 21:33:32 I should once again ditch it and write basic AVR C 21:33:40 but it's so convenient to throw things together 21:33:43 when it isn't fucking you over 21:38:29 -!- arseniiv_ has changed nick to arseniiv. 21:38:44 kmc: ouch 21:40:24 -!- arseniiv_ has joined. 21:41:12 -!- arseniiv__ has joined. 21:44:11 -!- arseniiv has quit (Ping timeout: 246 seconds). 21:44:40 -!- arseniiv_ has quit (Ping timeout: 246 seconds). 21:50:29 -!- arseniiv__ has quit (Ping timeout: 246 seconds). 22:00:59 -!- Phantom_Hoover has joined. 22:01:05 -!- Phantom_Hoover has quit (Changing host). 22:01:05 -!- Phantom_Hoover has joined. 22:06:14 apparently used items are now described with the euphemism "pre-owned" rather than plain "used" or "second-hand" 22:06:57 (I'm shopping on ebay.com) 22:08:42 that's been the case for a looong time 22:08:44 at least for cars 22:09:10 kmc: I haven't been shopping online for long yet 22:09:19 only for like two years so far 22:09:27 ah 22:09:30 I'm somewhat conventional and find it hard to get used to 22:09:34 I bought my car online 22:09:36 also I'm definitely not buying cars 22:09:40 which is weird because no test drive 22:09:45 but they had a 14 day return policy 22:09:52 and as it turns out I love that car 22:09:59 kmc: um, just because it's online you could have a test drive 22:10:11 it was used 22:10:14 even then 22:10:18 how do you figure 22:10:55 you search in the catalog of cars for sale, you contact the owner that you're interested, 22:11:13 you agree with them at a time and place, and possibly pay an advance, and try the car before agreeing to take it, 22:11:33 because especially for a used car there are a lot of things you may want to check directly on the car, that you can't see on photos or descriptions 22:11:36 as in hidden errors 22:11:50 this need not include a test drive, but it can 22:12:12 depends on stuff like whether the car still has permission to run and insurance 22:12:36 and whether it needs things fixed in a garage immediately after buying 22:14:21 I'm buying cheap new items online, but see used ones in the listing when I search 22:14:48 obviously I have to check that field that says "brand new" 22:14:56 or "new (with tags)" 22:15:51 that's not how buying cars online works 22:15:55 it could have been thousands of miles away 22:16:00 and, the seller does an inspection 22:16:11 and you handle your own insurance and registration 22:16:21 but yeah I was a little scared of getting ripped 22:16:22 off 22:16:24 but it was fine 22:16:30 "thousands of miles" probably no, but a few hundred kilometers certainly 22:16:34 ok 22:16:43 sorry, I live in Europe, it's smaller 22:16:46 you're once again pulling stuff out of your ass regarding things you've never done 22:17:03 I wasn't buying on craigslist 22:17:18 I went through a middleman that provides various services 22:17:23 they also handled the registration for me 22:17:24 ok 22:17:29 which was convenient, although it took a long time 22:17:39 so a used cars sales company 22:17:40 makes sense 22:18:38 sorry, I wasn't thinking of that, because my family and some co-workers bought and sold some cars and motorbikes recently, and they all bought or sold them directly to the previous or next owner, not through a used car professional 22:19:27 but yes, agents handling sales of cars do exist here too 22:22:25 eh it's ok 22:22:29 i got pissed off unnecessarily 22:22:32 it happens a lot :/ 22:22:39 sorry 22:23:11 -!- Essadon has joined. 22:23:13 I'm not saying that either method is better 22:23:22 you can't trust individual people, but you also can't trust agents 22:23:49 s/people/owners/ 22:24:27 so in python, you can call list or tuple with an existing list as an argument to make a shallow copy, right? 22:24:40 let me test to make sure it's really shallow 22:25:17 yeah, shallow 22:25:18 good 22:26:52 you can call it with any iterable 22:26:54 and yeah, it's shallow 22:30:31 `` python3 <<<'a=[[4],[5]];b=list(a);a[0][0]=6;a[1]=[7];print(a,b)' # yes 22:30:32 ​[[6], [7]] [[6], [5]] 22:30:44 bzzzzonk 22:31:15 `quote 22:31:16 843) i think the problem is you're trying to interpret finnish as logic. 22:31:19 `quote 22:31:20 1075) i guess the fact i won't eat bovine tongue is just tranferred cod trauma. 22:31:23 `quote 22:31:24 465) Maybe if you try diplomacy. Pointy steel diplomacy 22:41:04 -!- AnotherTest has quit (Ping timeout: 272 seconds). 22:48:16 -!- Phantom_Hoover has quit (Remote host closed the connection). 23:01:50 -!- Phantom_Hoover has joined. 23:03:17 -!- tromp has quit (Remote host closed the connection). 23:26:07 Someone read the story I wrote of GURPS game I played, and their idea is that Ziv should just bite off the shapeshifter's face. 23:28:08 But I would think that would be difficult for a few reasons. 23:38:27 -!- tromp has joined. 23:42:52 -!- tromp has quit (Ping timeout: 250 seconds). 23:58:15 -!- oerjan has joined. 2019-03-23: 00:02:10 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 00:18:36 -!- moriarty has joined. 00:18:45 -!- moriarty has left. 00:27:32 shachaf: okay that level wasn't impossible after all 00:32:47 int-e: But you needed to figure out a new mechanic for it, I imagine 00:33:53 -!- Lord_of_Life_ has joined. 00:34:19 -!- Lord_of_Life has quit (Ping timeout: 252 seconds). 00:34:57 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:38:54 Mostly I needed a fresh start, a more open mind :P Breaks often do wonders in such a situation. 00:42:54 When I first saw that level I didn't know you could do that thing. 00:55:28 -!- tromp has joined. 00:59:50 -!- tromp has quit (Ping timeout: 246 seconds). 01:06:41 I watched someone else play for a bit, but it was a little frustrating to be a spectator for this particular game. 01:09:01 . o O ( spectator is you ) 01:16:53 fizzie: imo play it yourself hth 01:18:58 -!- Essadon has quit (Quit: Qutting). 01:19:46 twh but for some reason I never quite feel like buying games. 01:19:54 Is this a Finnish product? The company name sure sounds so. 01:20:16 Apparently so. 01:21:15 fizzie: if you like weird Linuxes like UML, you might like WSL too. 01:21:24 I wonder if there are any interesting differences from name brand Linux 01:21:32 they should have called it I Can't Believe It's Not Linux 01:25:07 @tell ais523 I meant context-sensitive grammars <-- as a class in the chomsky hierarchy, they're not TC either 01:25:07 Consider it noted. 01:25:48 Butterux 01:26:06 There are also the games that you do not have to buy, in case you prefer that 01:44:48 -!- tromp has joined. 01:49:11 -!- tromp has quit (Ping timeout: 246 seconds). 03:30:46 -!- Sgeo_ has joined. 03:31:51 -!- cq1 has joined. 03:31:56 `relcome cq1 03:31:58 ​cq1: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 03:32:53 -!- tromp has joined. 03:33:53 -!- Sgeo has quit (Ping timeout: 244 seconds). 03:37:25 -!- tromp has quit (Ping timeout: 250 seconds). 03:51:25 -!- oerjan has quit (Quit: Nite). 04:06:47 `okay nevermind whatever 04:06:47 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: okay: not found 04:09:31 -!- cq1 has quit (Quit: Leaving.). 04:14:26 `quote 04:14:27 129) Vonlebio: well, i'm only back in denmark because my work visa expired. please insert token to continue. 05:26:38 [[Define]] N https://esolangs.org/w/index.php?oldid=60571 * A * (+622) Created page with "[[Define]] is a subset of the C preprocessor with a small extension: the scans are infinite. ==Syntax== * #define ''macro'' ''replacement'' * ... and __VA_ARGS__ (These repres..." 05:26:56 [[Define]] https://esolangs.org/w/index.php?diff=60572&oldid=60571 * A * (-1) 05:31:31 [[Livefish]] https://esolangs.org/w/index.php?diff=60573&oldid=60564 * A * (+329) Part of implementation 05:32:56 [[Livefish]] https://esolangs.org/w/index.php?diff=60574&oldid=60573 * A * (+128) /* C */ 05:34:58 [[Livefish]] https://esolangs.org/w/index.php?diff=60575&oldid=60574 * A * (+153) /* C */ 05:35:22 [[Livefish]] https://esolangs.org/w/index.php?diff=60576&oldid=60575 * A * (+4) /* Lua */ 05:35:46 [[Livefish]] https://esolangs.org/w/index.php?diff=60577&oldid=60576 * A * (-59) /* Implementations */ 05:38:56 [[Livefish]] https://esolangs.org/w/index.php?diff=60578&oldid=60577 * A * (+171) Wierd proof of Turing-incompleteness 05:39:13 [[Livefish]] https://esolangs.org/w/index.php?diff=60579&oldid=60578 * A * (+1) /* Computational Properties */ 05:40:16 What instruction sets other than Glulx have convenient bit arrays like Glulx has? 05:42:38 [[Livefish]] https://esolangs.org/w/index.php?diff=60580&oldid=60579 * A * (+2) /* C */ 05:46:45 [[Fake-machine]] https://esolangs.org/w/index.php?diff=60581&oldid=56520 * A * (-535) Blanked the page 05:49:22 [[Livefish]] https://esolangs.org/w/index.php?diff=60582&oldid=60580 * A * (+33) /* C */ 05:49:40 [[Livefish]] https://esolangs.org/w/index.php?diff=60583&oldid=60582 * A * (-2) /* C */ 05:50:32 [[Livefish]] https://esolangs.org/w/index.php?diff=60584&oldid=60583 * A * (+37) /* Lua */ 05:59:11 [[User:A]] https://esolangs.org/w/index.php?diff=60585&oldid=60511 * A * (-416) Blanked the page 05:59:21 zzo38: how do glulx bit arrays work? 06:07:06 -!- FreeFull has quit. 06:08:23 kmc: There is instructions "aloadbit" and "astorebit", which takes the address of the beginning of the array, and the index of the bit in the array, which 0 is the low bit of the first byte of the array and so on. 06:08:34 ah, that is convenient 06:37:20 -!- Sgeo__ has joined. 06:40:23 -!- Sgeo_ has quit (Ping timeout: 246 seconds). 06:56:25 I suppose on amd64 you'd do something like: mov %esi, %eax; shr $6, %rsi; bt %eax, (%rdi, %rsi, 1) 06:56:52 where array pointer = %edi, bit index = %esi, result in CF 06:57:29 it could be wrong, i'm tired and not thinking clearly 06:57:32 'night all :) 07:05:33 -!- tromp has joined. 08:35:59 -!- AnotherTest has joined. 09:14:47 -!- arseniiv has joined. 09:58:46 -!- b_jonas has quit (Quit: leaving). 10:18:54 a better way to measure achievement in a game on Steam is the following: go to the "Global Achievements" page and take the most common achievement that you do not have, or the least common achievement that you do. not sure how to convert these stats into a single percentage though. 10:30:37 -!- hakatashi has quit (Remote host closed the connection). 10:30:58 -!- hakatashi has joined. 11:00:52 shachaf: I guess we differ slightly in terminology. I'd call it a trick, not a mechanic (which I tend to reserve to the builtin game features; when "has" was introduced, that was a new mechanic...). 11:02:57 shachaf: Gur guvat vf, V unq rira qvfpbirerq gur onfvp gevpx bs pbzcyrgvat gjb fragraprf ng bapr orsber... V whfg unq abg gubhtug bs hfvat gur fhowrpg sbe gur svany cvrpr. 12:31:42 -!- Lord_of_Life_ has joined. 12:35:07 -!- Lord_of_Life has quit (Ping timeout: 255 seconds). 12:35:07 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 14:03:00 -!- FreeFull has joined. 14:06:58 -!- Phantom_Hoover has joined. 14:16:44 -!- Essadon has joined. 14:17:00 -!- Essadon has quit (Max SendQ exceeded). 14:22:46 -!- Essadon has joined. 14:34:47 -!- TheWild has joined. 14:35:27 hello 14:37:30 world 14:39:09 [[Maurice Ling]] https://esolangs.org/w/index.php?diff=60586&oldid=35548 * Mauriceling * (+2) /* External resources */ 15:26:32 -!- moei has joined. 15:30:32 -!- oerjan has joined. 15:36:05 [[Special:Log/delete]] delete * Oerjan * deleted "[[Fake-machine]]": Author request: content before blanking was: "A '''Fake-machine''' is a simple program type, inspired by [[User:Keymaker|Keymaker]]'s Truth-machine to be a program that is easy, most of the time, to implement in a language, and useful for testing or showcasing the fo..." 15:48:28 I just created yet another Turing tarpit. https://gist.github.com/beyondlimits/d1278c97c57bcbbba10f50cfc3d8a77b. Shame on me! 15:49:44 we'll have to tar and feather you. 15:51:15 TheWild: Doesn't that have finite state though? 15:52:23 * oerjan too tired to read code 15:52:53 hmmm... kind of. Unless you map, say, 1..6 to pins of some serial, infinite storage device ;) 15:53:17 the neighbor's playing an annoying beat may have something to do with that. 15:53:20 *-' 15:55:15 3 would be enough 15:55:15 memory[1]: clock 15:55:15 memory[2]: 0 for input, 1 for output 15:55:15 memory[3]: 0 for setting up address, 1 for data I/O 15:55:30 oomph oomph oomph ta-da oomph oomph oomph drrrt oomph oomph oomph ta-da... 15:55:44 meh, 15:55:44 memory[4]: actual data wire 15:57:15 . o O ( What an awkward ternary if operator. ) 15:57:30 yeah, it's python 15:57:32 is it worse than the malbolge one? 15:58:12 (_possibly_ a different meaning of ternary.) 15:58:29 No, I'm comparing to mainstream languages. if else is just a very odd order of arguments. 15:59:05 oerjan: uh I missed the punniness 15:59:36 's ok, so did i 16:01:17 * oerjan assumes lord snackleford is aware that the original summoning device is supposed to wipe out the original mind of the person sitting in the chair. 16:01:34 otherwise, a great sacrifice for science there 16:12:58 -!- pikhq has quit (Ping timeout: 245 seconds). 16:13:07 -!- pikhq has joined. 16:24:12 [[Ragaraja]] https://esolangs.org/w/index.php?diff=60587&oldid=46129 * Mauriceling * (+177) /* Interpreter Environment */ 16:47:45 -!- Sgeo_ has joined. 16:51:37 -!- Sgeo__ has quit (Ping timeout: 255 seconds). 16:53:14 -!- b_jonas has joined. 16:55:52 -!- TheWild has quit (Ping timeout: 245 seconds). 16:57:22 kmc: re "I Can't Believe It's Not Linux", does every write to a regular file update its mtime, as seen by lstat, or does only opening for writing and closing does? 16:57:33 or the first write or something 16:58:06 because this is one of the traditional differences between actual unixes and windows 17:02:15 i'm ot sure 17:02:19 that's a mount option isn't it 17:02:24 or maybe that's just noatime and relatime 17:05:42 -!- tromp has quit (Remote host closed the connection). 17:14:25 There is many file format that 7-Zip will not open, such as MIME, Blorb, and Hamster archives. 17:14:42 Blorb? 17:15:49 Many Glulx games are wrapped in a Blorb file rather than standalone. (However, I am not using Blorb for my own game.) 17:16:10 yeah 17:16:15 file formats that nobody but you has ever heard of 17:17:53 But, MIME is common format, I think 17:18:40 that's true 17:21:40 kmc: also, for bit vectors, if you're indexing them little endian, you can use the memory form of the 286 bt instruction, and it does the address calculation for you, no need to explicitly shift the address 17:22:12 oh? 17:22:18 interesting 17:22:31 * kmc has configured munin to monitor a lead acid battery voltage 17:24:35 https://i.imgur.com/D7b4QvD.jpg 17:24:42 the sensor is that little board with the yellow wire coming out 17:25:42 What is the Blorb format? 17:25:51 i have heard of hamster pack format 17:26:05 rain1: It is IFF based 17:29:09 kmc: well no, it's actually a 386 instruction, not a 286 instruction, obviously 17:29:29 but other than that, yes 17:29:43 so I think the version you gave wouldn't even work 17:29:48 I didn't know it does the shift for you, that's a little weird in'nit? because it means that memory operands is different from others 17:29:51 * kmc writes test program 17:30:02 ok 17:30:09 I think shar is interestign 17:30:14 it's very "bootstrappable" 17:30:22 any time you have a shell you can extract shars 17:30:29 they are a type of self extracting archive 17:30:44 in the old times a lot of compression formats came as self extracting archives 17:38:18 -!- tromp has joined. 17:55:27 -!- TheWild has joined. 17:56:53 I think there's a bug and I got bored 17:57:01 but here's what I have if anyone else wants to play w/ it https://gcc.godbolt.org/z/Aj49i0 17:57:40 -!- oerjan has quit (Quit: Later). 17:58:08 it... doesn't seem to be assembling right? 17:59:11 had to add \n's in the asm 17:59:14 but not needed locally 17:59:15 freakin weird 17:59:27 or maybe it's just that i'm looking at .s and not disassembly, nm 18:18:20 -!- tromp has quit (Remote host closed the connection). 18:22:06 -!- tromp has joined. 18:54:41 -!- TheWild has quit (Ping timeout: 246 seconds). 19:06:49 -!- ais523 has joined. 19:07:48 @messages- 19:07:49 oerjan said 17h 42m 41s ago: I meant context-sensitive grammars <-- as a class in the chomsky hierarchy, they're not TC either 19:07:53 :t (.) 19:07:54 (b -> c) -> (a -> b) -> a -> c 19:09:13 I couldn't remember the argument order 19:09:52 (context: OCaml has ($) and (flip $) in its standard library, under the names (@@) and (|>), but I needed to implement (.) and wanted to match Haskell's; I'm calling the new operator (@.)) 19:15:19 it's the maths order 19:15:23 which is somewhat unconvenient 19:18:10 -!- ais523 has quit (Remote host closed the connection). 19:19:22 -!- ais523 has joined. 19:25:57 -!- TheWild has joined. 19:40:41 kmc: It doesn't matter in your example, but I think it's incorrect that you modify an input operand. 19:40:59 "Warning: Do not modify the contents of input-only operands (except for inputs tied to outputs). The compiler assumes that on exit from the asm statement these operands contain the same values as they had before executing the statement. It is not possible to use clobbers to inform the compiler that the values in these inputs are changing. One common work-around is to tie the changing input variable to an 19:41:05 output variable that never gets used." 19:43:01 So something like asm("..." : "=@ccc" (result), "=r" (dummy) : "r" (buf), "0" ((unsigned long) index)) or some-such. 19:43:14 Er, "1". 20:54:17 fizzie: or just make it an input-output operand, and don't use the variable after that 20:55:11 Yeah, that requires a lvalue though. 20:55:30 So you can't do `(unsigned long) index` to make the size right. 21:00:58 shachaf: the "more" mechanic is soo messy. 21:01:20 and I found a bonus. 21:33:43 -!- arseniiv has quit (Ping timeout: 246 seconds). 22:16:59 ``` quote; wisdom 22:17:00 202) I need a new desktop background j-invariant: Try http://codu.org/spinners.png (tiled) uhrghoaudp \ ronald reagan//Ronald Reagan was an actor so great that he managed to convince the US that he was the President. Then he created the Star Wars project to destroy the Soviet Union. 22:17:02 ``` wisdom; quote 22:17:05 ​the u//The U are a very mad people. \ 393) MY CONTINUITY MY FANFICTION RUINED 22:18:25 -!- Remavas has joined. 22:25:36 -!- ais523 has quit (Quit: quit). 22:32:58 -!- TheWild has quit (Ping timeout: 245 seconds). 22:35:36 -!- Remavas has quit (Quit: Leaving). 22:56:19 -!- olsner has quit (Ping timeout: 246 seconds). 23:06:11 -!- olsner has joined. 23:10:52 -!- moei has quit (Quit: Leaving...). 23:14:19 -!- tromp has quit (Remote host closed the connection). 23:34:30 -!- AnotherTest has quit (Ping timeout: 268 seconds). 23:34:42 I thought one music format could be a subset of the x86 real mode instruction set, with a subset of the I/O ports used in PC and PC sound cards. 23:37:07 int-e: On ? ? 23:38:19 int-e: It took me a long time to realize you could get there even after I had solutions to the relevant levels. 23:38:39 I spent a long time with keke instead of a flag. 23:47:49 -!- tromp has joined. 23:52:29 -!- tromp has quit (Ping timeout: 250 seconds). 2019-03-24: 00:00:02 -!- GeekDude has quit (Quit: WeeChat 2.1). 00:27:29 -!- GeekDude has joined. 00:32:38 -!- Lord_of_Life_ has joined. 00:35:28 -!- Lord_of_Life has quit (Ping timeout: 245 seconds). 00:35:29 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 01:09:01 shachaf: yes on ?. 01:09:13 -!- oerjan has joined. 01:09:41 shachaf: I may have gotten lucky because I'm still stuck on a relevant level ;) 01:12:27 Baba is you is great 01:17:18 hmm you don't need a flag to reach ? 01:17:44 anyway. almost 20 hours. so much time wasted... 01:18:23 still less than Recursed though 01:22:05 -!- Phantom_Hoover has quit (Remote host closed the connection). 01:27:33 I looked it up on Wikipedia. It look like a interesting idea. In Godel,Escher,Bach also is a idea about the pieces on a chess board affecting its own rules. 01:30:28 zzo38: It is, and it's both presented and executed well. 01:36:17 -!- tromp has joined. 01:40:49 -!- tromp has quit (Ping timeout: 255 seconds). 01:50:58 -!- Essadon has quit (Quit: Qutting). 02:13:30 I wrote some ideas about my xyzabcde2 game, which is included in the source code download. Look if you are able to help with such idea (and perhaps other ideas that you may have) 02:30:36 -!- tromp has joined. 02:34:43 -!- tromp has quit (Ping timeout: 246 seconds). 02:48:03 I read a article about "Friendly C"; I do not agree with all of the features they propose, but I agree with some of them. Others I partially agree, or need more elaboration, or have other ideas about it, or sometimes just disagree. 02:50:36 https://blog.regehr.org/archives/1180 I think 1 and 2 and 3 are good (note that in Glulx, a left or unsigned right shift by negative or shift-past-bitwidth is guaranteed to produce 0, but this is not guaranteed on all computers in general); however, with 1 I should also add that there is no guarantee that it will not also equal the address of a new object too. 02:53:30 In the case of 10, it should be a flag to tell the compiler what to do (perhaps with a #pragma command or __attribute__). In case of 4, some computers might not trap when dereferencing a null pointer, and also side effects may be possible on some target computers, but the compiler can still assume there are no side effects (unless it is marked volatile), even if there are side effects. 02:56:31 I agree with 7 and 8, and with the second part of 12 (but the first part is different; it should be allowed but not mandatory that memmove and memcpy is same). I agree 14 also. With 9 I think instead the specification should guarantee that if you perform pointer arithmetic and then make the reverse of it (in the same number of steps or not), the result is same pointer as the original. 03:12:48 -!- tromp has joined. 03:17:07 -!- tromp has quit (Ping timeout: 245 seconds). 03:47:33 -!- oerjan has quit (Quit: Nite). 03:57:54 int-e: Oh, wait, I just realized what you did wasn't what I thought. 03:58:00 Never mind what I said. 05:00:52 -!- tromp has joined. 05:05:34 -!- tromp has quit (Ping timeout: 255 seconds). 05:41:07 I look at LLVM documentation for undefined values. I think that maybe there should be a "undefrandom" instruction, which the optimizer believes generates a random number with an unspecified distribution, but the actual effect of the instruction is to do nothing (and can be compiled into nothing). This way if you write %B = undefrandom i32 %C = xor %B, %B then the result is zero. 06:49:09 -!- tromp has joined. 06:53:41 -!- tromp has quit (Ping timeout: 250 seconds). 08:03:06 -!- tromp has joined. 08:24:53 I don't know if anyone working in any kind of computer, is using instructions for floating point for purposes other than working with floating point numbers. Do you know? 08:30:11 -!- FreeFull has quit. 08:57:06 -!- TheWild has joined. 09:13:22 -!- TheWild has quit (Ping timeout: 245 seconds). 09:15:55 -!- TheWild has joined. 09:20:05 zzo38: there are a few tricks that may count, depending on what you count as "working with floating point numbers". in some non-x86 cpus that have built-in floating point, but no instruction to find the highest bit set in a word, you can find the highest bit set using the instruction that converts an integer to a floating point, then extracting the exponent part with like three more instructions. 09:21:49 in some cases, you may do integer multiplications or divisions with floating point multiplication or division instructions if the range of your numbers is just right for that to be faster. this can come up on x86 for things like alpha-compositing two pixel graphics when _both_ have an alpha channel, since then you need vector divisions with a variable divisor. 09:22:38 that's not a common case though: the common case of alpha-compositing is when one of the layers have no alpha channel, and that's easier. 09:26:04 in some cases, you can use floating point instructions for the instruction-level parallelism, or for the additional registers on cpus that have separate floating point registers, but this kind of optimization is usually not worth the bother 09:27:49 Ah, those are some stuff. Not really what I meant, but those are some tricks. (Those things do deal with floating point numbers though, rather than using floating point instructions on integers, which is what I meant.) Still, thank you for these explanations. 09:28:44 on ancient x86_16, you could use the x87 instructions to format large integers to binary. you do this by loading from either an integer or a 64-bit floating point or a 80-bit floating point into the x86 register, then storing in decimal format. 09:29:23 but that was only worth because the ancient x86_16 had very slow multiplication instructions 09:30:36 and even then it's slow and might not be worth 09:30:56 in practice it's not helpful because back then people just didn't have the x87 hardware 09:31:16 and by the time everyone had it, the x86 had faster multiplication on wider integers 09:31:41 oh, and of course there are ancient computers, and some modern high-level languages, that only give you floating point numbers and floating point arithmetic 09:31:51 in which case of course you use those for integer stuff 09:31:59 this includes programmable calculators too 09:32:59 though in that case they're not really floating point _instructions_, they're floating point subroutines implemented in a simple 8-bit cpu that doesn't know what floating point means 09:37:22 -!- TheWild has quit (Ping timeout: 250 seconds). 09:49:34 -!- TheWild has joined. 10:04:41 -!- TheWild has quit (Ping timeout: 246 seconds). 10:21:51 -!- AnotherTest has joined. 10:33:22 -!- TheWild has joined. 10:44:09 -!- Phantom_Hoover has joined. 11:05:48 -!- arseniiv has joined. 12:33:17 -!- Lord_of_Life_ has joined. 12:36:02 -!- Lord_of_Life has quit (Ping timeout: 250 seconds). 12:36:07 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:56:02 Thought I'd give PulseAudio a chance again, now that (well, some years ago) they added an "avoid-resampleing = true" option -- but turns out that for whatever reason, the Chrome + YouTube combination will still pick the 48 kHz Opus stream, internally resample to 44.1 kHz, and play that back. 12:56:08 (I can see at chrome://media-internals that the player is using FFmpegAudioDecoder "code: opus, samples_per_second: 48000", but on the audio side the stream has "sample_rate: 44100".) 12:56:18 I don't think that's really PA's fault, actually it might've been even worse back on ALSA+dmix where I had the dmix output at 48 kHz; very possibly that was doing 48 -> 44.1 -> 48. 12:56:22 (I also don't hear any of these differences, it's more of a matter of principle.) 13:07:16 Actually I guess it might sort-of be PulseAudio's "fault", because AudioOutputResampler uses AudioManager::GetPreferredOutputStreamParameters to pick, and the Pulse and ALSA implementations are different. It's attempting to get the "native" sample rate from Pulse by calling pa_context_get_server_info and then using info->sample_spec.rate. I could probably change that by setting the default-sample-rate. 13:07:42 But I guess it's always going to resample internally (don't see any flag to avoid AudioOutputResampler), so I should just guesstimate whether 44.1 or 48 is more common on the webs. 13:10:59 ...uh, now the output controller has a sample_rate of 48000, but the output *stream* is still 44100. Odd. 13:11:33 fizzie: hmm. that sucks. 13:26:42 Oh, looks like I just needed to restart Chrome. 13:27:14 fizzie: maybe you had multiple audio sources running in the browser, and they had to be mixed into a common sample rate? 13:27:44 Could be. I don't know if it does that within the browser, or as separate streams to PulseAudio. 13:28:04 fizzie: I presume it would be PulseAudio that mixes them 13:28:18 or at least not the browser 13:28:35 but either pulseaudio or the hardware 13:28:37 Well, that's easy enough to verify by just opening another tab. 13:28:52 fizzie: but it can't be just any tab 13:29:00 it has to be one with an audio running with different sample rate 13:29:47 Well, "any tab" was enough to show that they're separate streams to PulseAudio. 13:30:17 I guess that's sort of obvious, otherwise you couldn't assign different tabs to different playback devices. 13:32:43 Looks like if I open a 44.1 kHz .wav file, it's resampled in the browser to the common 48k now. Fair enough. 13:33:21 huh 13:33:38 but isn't 44.1 like the usual sample rate, because it was used on audio CDs? 13:33:48 you know, before we started to compress audio 13:34:23 Yes, but I (at least for now) changed PulseAudio's default-sample-rate to 48000, so that's now what Chrome thinks is the "native" sample rate, and that's what it will output everything as, as far as I can determine. 13:35:32 I think I'd prefer it if it just sent the streams to PulseAudio and let that make the decision, but from the code that didn't look achievable. 13:38:39 Actually, again from the code, looks like that *is* what it should do normally, but if the audio player is requesting AudioParameters::AUDIO_PCM_LOW_LATENCY as the format (which seems to be the case for all media playback), it's going to use what it thinks is the "native" sample rate of the system. 13:39:15 https://cs.chromium.org/chromium/src/media/audio/audio_manager_base.cc?l=341-344&rcl=9a9b2ae55f6b5de259deae781c20fdc9419abe7b 13:40:29 (GetPreferredOutputStreamParameters -> AudioManagerPulse::UpdateNativeAudioHardwareInfo -> pa_context_get_server_info, which returns /etc/pulse/daemon.conf's default_sample_rate.) 14:14:12 -!- oerjan has joined. 14:21:48 Yeah, confirmed by playing something from SoundCloud that even when it's decoding a 44.1k file, Chrome will upsample to 48k. Oh well. It's not any *worse* than it was with ALSA, and at least now (a) Chrome won't be all "audio renderer error" when I forget to turn the DAC on, and (b) I don't need to change .asoundrc files if I happened to play back something local that's not at 48k. 14:30:15 -!- Sgeo__ has joined. 14:31:14 -!- Sgeo__ has quit (Read error: Connection reset by peer). 14:31:41 -!- Sgeo__ has joined. 14:33:28 -!- Sgeo_ has quit (Ping timeout: 255 seconds). 14:33:58 -!- Sgeo has joined. 14:36:55 shachaf: oh it's ??? 14:37:14 -!- Sgeo__ has quit (Ping timeout: 250 seconds). 14:45:28 `? ??? 14:45:30 ​???? ¯\(°​_o)/¯ 14:55:24 -!- tromp has quit (Remote host closed the connection). 15:03:10 oerjan: That was again about Baba is You. 15:16:57 -!- tromp has joined. 15:19:23 -!- AnotherTest has quit (Ping timeout: 250 seconds). 15:21:47 -!- tromp has quit (Ping timeout: 268 seconds). 15:26:43 -!- tromp has joined. 15:35:53 -!- Essadon has joined. 15:36:09 -!- FreeFull has joined. 15:55:28 -!- oerjan has quit (Quit: Later). 16:00:20 [[Talk:Infinite Vector]] https://esolangs.org/w/index.php?diff=60588&oldid=44805 * Fmease * (+4540) Add talk about the very first implementation and thereby encountered issues 16:18:38 [[Talk:Infinite Vector]] M https://esolangs.org/w/index.php?diff=60589&oldid=60588 * Fmease * (+17) Fix wording 16:20:09 -!- AnotherTest has joined. 16:20:16 [[User talk:Fmease]] N https://esolangs.org/w/index.php?oldid=60590 * Fmease * (+0) Create page 16:57:33 -!- TheWild has quit (Ping timeout: 245 seconds). 17:12:13 [[Infinite Vector]] https://esolangs.org/w/index.php?diff=60591&oldid=44773 * Ais523 * (+368) /* Control */ add initial-value 17:19:06 [[Infinite Vector]] https://esolangs.org/w/index.php?diff=60592&oldid=60591 * Ais523 * (+100) /* I/O */ how to fix the type of the input 17:19:42 -!- TheWild has joined. 17:22:52 [[Infinite Vector]] https://esolangs.org/w/index.php?diff=60593&oldid=60592 * Ais523 * (+215) /* Commands */ types for shift/rotate 17:28:13 [[Talk:Infinite Vector]] https://esolangs.org/w/index.php?diff=60594&oldid=60589 * Ais523 * (+2208) /* Very first implementation and thereby encountered issues */ I fixed one, comments on the others 17:33:37 -!- tromp has quit (Remote host closed the connection). 17:40:10 -!- tromp has joined. 17:46:12 -!- FreeFull has quit (Quit: New kernel). 17:47:19 -!- FreeFull has joined. 18:03:26 -!- tromp has quit (Remote host closed the connection). 18:09:40 -!- adu has joined. 18:15:14 -!- tromp has joined. 18:17:00 -!- Vorpal has joined. 18:46:03 -!- tromp has quit (Remote host closed the connection). 18:56:41 Baba is You is hard ,_, 19:00:11 -!- tromp has joined. 19:02:43 push hard up and then easy into the space 19:03:58 -!- TheWild has left. 19:14:28 -!- adu has quit (Quit: adu). 19:35:12 -!- tromp has quit (Remote host closed the connection). 19:51:38 I want to install NNTP server software; what do you suggest? 19:52:34 -!- sleffy has joined. 19:52:43 -!- sleffy has quit (Remote host closed the connection). 19:56:08 -!- tromp has joined. 20:35:32 america is strange 20:38:55 oh? 20:39:30 at least, it seems strange when I hear about it through the internet or friends. I've never been there in person. 20:44:45 -!- tromp has quit (Remote host closed the connection). 20:50:18 america is very strange 20:50:23 though, I think each country is strange in some ways 20:50:31 are you thinking of anything in particular 20:52:42 kmc: well, right now I'm unfair because I'm thinking of things that apply in some parts of Euroep too 20:53:40 -!- tromp has joined. 20:55:14 -!- heroux has quit (Read error: Connection reset by peer). 20:55:32 -!- heroux has joined. 20:58:21 -!- newbie78 has joined. 21:01:10 -!- Essadon has quit (Ping timeout: 250 seconds). 21:11:59 -!- tromp has quit (Remote host closed the connection). 21:14:10 -!- bobby has quit (Ping timeout: 250 seconds). 21:14:48 -!- bobby has joined. 21:21:37 -!- arseniiv has quit (Ping timeout: 255 seconds). 21:28:50 -!- bobby has quit (Remote host closed the connection). 21:30:01 -!- bobby has joined. 21:43:40 -!- bobby has quit (Remote host closed the connection). 21:44:51 -!- bobby has joined. 21:50:48 -!- tromp has joined. 21:50:59 -!- tromp has quit (Remote host closed the connection). 21:51:13 -!- tromp has joined. 21:53:01 Currently (well 'currently' for a rather long definition of that word, maybe) some of Europe feels plenty strange too, what with everything around Brexit 21:54:02 FireFly: true 22:06:17 -!- tromp has quit (Remote host closed the connection). 22:15:49 I added into the Unusenet specification, an optional specification for accessing information about Unusenet over gopher. 22:21:53 -!- sebbu has quit (Quit: Quitte). 22:40:49 -!- tromp has joined. 22:43:08 -!- tromp has quit (Remote host closed the connection). 22:43:21 -!- tromp has joined. 22:49:28 -!- sebbu has joined. 23:08:16 -!- oerjan has joined. 23:51:57 -!- AnotherTest has quit (Ping timeout: 250 seconds). 23:54:14 -!- tromp has quit (Remote host closed the connection). 2019-03-25: 00:00:21 -!- danieljabailey has joined. 00:11:08 -!- b_jonas has quit (Quit: leaving). 00:17:04 -!- Phantom_Hoover has quit (Remote host closed the connection). 00:32:54 -!- tromp has joined. 00:34:08 -!- Lord_of_Life_ has joined. 00:36:28 -!- Lord_of_Life has quit (Ping timeout: 255 seconds). 00:36:31 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:37:08 -!- tromp has quit (Ping timeout: 245 seconds). 00:52:21 I think Brexit is a good idea but they have to do it properly, and they seem not being figuring it out in time. But if they can do Brexit and they can do it properly, then it might avoid a problem in future, even if the immediately effect isn't 00:54:55 brexit can't go well and i can prove it 00:55:36 It is difficult, but I am not sure that it is absolutely can't go well. But, if you can prove, you can try to prove it. 00:55:49 (And you can vote against it if you don't like Brexit) 00:56:00 assume it could. brexit happens and everyone's happy and the pound even gains value 00:56:23 OK, and then what? 00:56:23 thus, every single one of the other member states will want to leave too 00:56:28 at least italy will want to 00:56:32 and france will want to 00:56:37 OK 00:57:13 basically everyone except for maybe germany and the nordic countries? 00:57:51 anyway, mass leaving from the eu 00:58:15 And then what? 00:58:16 thus the eu gets dismantled, market chaos ensues 00:58:38 which will be a large enough crisis to top the 2008 one 00:58:51 and the uk will suffer as well, just like everyone else 00:59:06 thus contraddicting the assumption that brexit goes well 00:59:08 qed 00:59:49 i mean it's not that far from a reasonable train of thought 01:00:06 Yes, but I don't know if all of those other thing is true or not. So, it does not necessarily follow and is not absolutely a proof. But, I suppose it is a good guess, maybe. 01:01:09 i don't really agree, i didn't assume much 01:01:18 uk already had a weird position within the EU 01:01:30 no euro, own visa system, different treaty stuff 01:01:42 kmc: Yes, and that is one thing why they should exit 01:01:42 so idk if it implies everyone else will want to leave, but maybe 01:25:57 -!- newbie78 has quit (Quit: Qutting). 01:27:56 -!- tromp has joined. 01:31:58 -!- tromp has quit (Ping timeout: 246 seconds). 02:13:07 -!- nfd9001 has quit (Read error: Connection reset by peer). 02:13:41 -!- nfd9001 has joined. 03:09:37 -!- oerjan has quit (Quit: Nite). 03:15:34 -!- tromp has joined. 03:20:02 -!- tromp has quit (Ping timeout: 250 seconds). 03:26:51 -!- Sgeo has quit (Quit: Leaving). 03:34:09 -!- Sgeo has joined. 03:46:13 -!- Sgeo_ has joined. 03:49:22 -!- Sgeo has quit (Ping timeout: 250 seconds). 04:01:38 -!- FreeFull has quit. 04:15:45 -!- Sgeo__ has joined. 04:18:44 -!- Sgeo_ has quit (Ping timeout: 244 seconds). 05:03:34 -!- tromp has joined. 05:07:58 -!- tromp has quit (Ping timeout: 245 seconds). 06:38:15 -!- Sgeo__ has quit (Read error: Connection reset by peer). 06:38:43 -!- Sgeo__ has joined. 07:09:08 -!- Sgeo_ has joined. 07:09:23 -!- aloril_ has joined. 07:12:10 -!- Sgeo__ has quit (Ping timeout: 246 seconds). 07:12:51 -!- aloril has quit (Ping timeout: 244 seconds). 07:36:47 -!- arseniiv has joined. 07:48:29 -!- tromp has joined. 08:44:12 -!- Sgeo__ has joined. 08:47:01 -!- Sgeo_ has quit (Ping timeout: 246 seconds). 09:06:33 . o O ( one could name an esolang Macarena ) 09:41:33 -!- AnotherTest has joined. 09:47:35 -!- tromp has quit (Remote host closed the connection). 09:56:15 -!- tromp has joined. 10:51:27 [[Powder]] N https://esolangs.org/w/index.php?oldid=60595 * A * (+1293) Created page with "[[Powder]] is an [[esoteric programming language]] based on defining tables. This is influenced by this file(powder.conf):
 { "Decoration" :  { "Alpha" : 255, "Blue..."
10:52:40  [[Powder]]  https://esolangs.org/w/index.php?diff=60596&oldid=60595 * A * (+1750) 
10:53:36  [[Powder]]  https://esolangs.org/w/index.php?diff=60597&oldid=60596 * A * (+887) 
10:53:59  [[Powder]]  https://esolangs.org/w/index.php?diff=60598&oldid=60597 * A * (+57) 
10:54:14  [[Powder]]  https://esolangs.org/w/index.php?diff=60599&oldid=60598 * A * (+0) 
11:50:08 -!- Sgeo_ has joined.
11:53:18  [[Powder]]  https://esolangs.org/w/index.php?diff=60600&oldid=60599 * A * (+30) 
11:53:40  [[Powder]]  https://esolangs.org/w/index.php?diff=60601&oldid=60600 * A * (+19) 
11:53:53 -!- Sgeo__ has quit (Ping timeout: 268 seconds).
11:54:12  [[Powder]]  https://esolangs.org/w/index.php?diff=60602&oldid=60601 * A * (+18) 
11:54:56  [[Powder]]  https://esolangs.org/w/index.php?diff=60603&oldid=60602 * A * (-34) 
12:01:23  [[Powder]]  https://esolangs.org/w/index.php?diff=60604&oldid=60603 * A * (+262) /* Documentation */
12:05:57  [[Powder]]  https://esolangs.org/w/index.php?diff=60605&oldid=60604 * A * (+86) 
12:33:56 -!- Lord_of_Life_ has joined.
12:37:22 -!- Lord_of_Life has quit (Ping timeout: 255 seconds).
12:37:22 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
13:24:47  [[Powder]]  https://esolangs.org/w/index.php?diff=60606&oldid=60605 * A * (+4) /* Computational Class */
13:25:15  [[Powder]]  https://esolangs.org/w/index.php?diff=60607&oldid=60606 * A * (+11) /* Computational Class */
13:25:29  [[Powder]]  https://esolangs.org/w/index.php?diff=60608&oldid=60607 * A * (-15) /* Computational Class */
13:26:47  [[Powder]]  https://esolangs.org/w/index.php?diff=60609&oldid=60608 * A * (+10) /* Documentation */
13:28:21 -!- moony_ has joined.
13:39:22  i found a working MC88110 \o/
13:39:32  some bent pins, but those should be fixable
13:39:32 -!- MDude has quit (Ping timeout: 272 seconds).
13:39:56  [[Powder]]  https://esolangs.org/w/index.php?diff=60610&oldid=60609 * A * (-18) 
13:41:36  [[Powder]]  https://esolangs.org/w/index.php?diff=60611&oldid=60610 * A * (+4) 
13:41:44  would be nice if i knew the cooling requirements for it tho
13:42:04  pretty sure the manual doesn't list how many watts of heat it emits when operating
13:44:00  [[Powder]]  https://esolangs.org/w/index.php?diff=60612&oldid=60611 * A * (+171) /* Documentation */
13:44:32  [[Powder]]  https://esolangs.org/w/index.php?diff=60613&oldid=60612 * A * (+13) 
13:46:45 -!- moony_ has quit (Ping timeout: 256 seconds).
14:10:49  [[Powder]]  https://esolangs.org/w/index.php?diff=60614&oldid=60613 * A * (+9) /* Influenced by */
14:13:55  [[Powder]]  https://esolangs.org/w/index.php?diff=60615&oldid=60614 * A * (+3) /* Computational Class */
14:14:17  [[Powder]]  https://esolangs.org/w/index.php?diff=60616&oldid=60615 * A * (+0) /* Computational Class */
14:17:56  [[Powder]]  https://esolangs.org/w/index.php?diff=60617&oldid=60616 * A * (+363) 
14:18:22  [[Powder]]  https://esolangs.org/w/index.php?diff=60618&oldid=60617 * A * (-14) 
14:18:38  [[Powder]]  https://esolangs.org/w/index.php?diff=60619&oldid=60618 * A * (+17) 
14:19:09  [[Powder]]  https://esolangs.org/w/index.php?diff=60620&oldid=60619 * A * (+14) 
14:20:50  [[Powder]]  https://esolangs.org/w/index.php?diff=60621&oldid=60620 * A * (+4) /* Documentation */
14:22:51  [[Powder]]  https://esolangs.org/w/index.php?diff=60622&oldid=60621 * A * (+70) /* Documentation */
14:23:42  [[Powder]]  https://esolangs.org/w/index.php?diff=60623&oldid=60622 * A * (+55) /* Documentation */
14:24:54  [[Powder]]  https://esolangs.org/w/index.php?diff=60624&oldid=60623 * A * (-125) /* Documentation */
14:25:26  [[Powder]]  https://esolangs.org/w/index.php?diff=60625&oldid=60624 * A * (+4) /* Documentation */
14:26:27  [[Powder]]  https://esolangs.org/w/index.php?diff=60626&oldid=60625 * A * (+27) /* Influenced by */
14:26:45  [[Powder]]  https://esolangs.org/w/index.php?diff=60627&oldid=60626 * A * (-175) /* Documentation */
14:31:26  [[Powder]]  https://esolangs.org/w/index.php?diff=60628&oldid=60627 * A * (+163) /* Documentation */
14:40:48 -!- moony_ has joined.
14:43:08  is there a known javascript subset with fewer characters than jsfuck?
14:59:17  [[Powder]]  https://esolangs.org/w/index.php?diff=60629&oldid=60628 * A * (+0) /* Influenced by */
15:00:49  that esolang would give jacob1 a kick. Someone was inspired to make an esolang by The Powder Toy
15:01:41  [[Powder]]  https://esolangs.org/w/index.php?diff=60630&oldid=60629 * A * (+24) 
15:01:59 -!- oerjan has joined.
15:02:04  helloerjan
15:03:12  good afternoony
15:03:22  ollehrjan
15:03:36  int-ello
15:03:59  [[Powder]]  https://esolangs.org/w/index.php?diff=60631&oldid=60630 * Moon * (-16) The powder.conf file is in JSON. You may wish to update the "Influenced By" section
15:04:24  is A on irc?
15:05:22  moony_: I don't think so; anybody here would probably get annoyed by the esowiki spam from doing so many baby edits :P
15:05:33  haha
15:05:37  then again there's /ignore
15:07:05  [[Powder]]  https://esolangs.org/w/index.php?diff=60632&oldid=60631 * A * (-347) /* Documentation */
15:08:31  [[User:A]]  https://esolangs.org/w/index.php?diff=60633&oldid=60585 * Moon * (+610) New message.
15:10:44  [[Powder]]  https://esolangs.org/w/index.php?diff=60634&oldid=60632 * A * (-77) /* Documentation */
15:11:06  Was hoping the message would get their attention.
15:12:52  [[Powder]]  https://esolangs.org/w/index.php?diff=60635&oldid=60634 * A * (-108) /* Documentation */
15:13:29  oh
15:13:30  derp
15:13:33  i put it on the wrong page
15:13:47  [[User:A]]  https://esolangs.org/w/index.php?diff=60636&oldid=60633 * Moon * (-610) Wrong Page
15:14:08  [[User talk:A]]  https://esolangs.org/w/index.php?diff=60637&oldid=60489 * Moon * (+613) /* Hello! */ new section
15:16:24  lord snackleford appears to be summoning the Gone Horribly Right trope.
15:16:35  ???
15:16:48  (over at girl genius)
15:18:15  too many possibilities for _how_ it's horrible at the moment.
15:23:47  [[Powder]]  https://esolangs.org/w/index.php?diff=60638&oldid=60635 * A * (+594) /* Computational Class */
15:24:43  [[User talk:A]]  https://esolangs.org/w/index.php?diff=60639&oldid=60637 * A * (-613) Thanks for noting that. Clear page
15:25:11  . o O ( CLS )
15:25:24  . o O ( Back to the BASICs )
15:27:09  [[Hello world program in esoteric languages]]  https://esolangs.org/w/index.php?diff=60640&oldid=60369 * A * (+257) /* P0pCrn */
15:27:57  [[Truth-machine]]  https://esolangs.org/w/index.php?diff=60641&oldid=60569 * A * (+231) /* PoGo */
15:29:28  moony_: Someone was inspired to make an esolang by The Powder Toy => oh wow, I’ve seen that toy
15:29:53  let me see if A have done a decent job for once…
15:34:00  hmm it’s not inspired by The Powder Toy per se :(((
15:34:16  yea ):
15:34:26  arseniiv: have you seen what's possible in modern TPT?
15:34:52  https://github.com/siraben/r216-forth
15:39:16  why do A clear their talk page each time. Do they think they have perfect memory?
15:41:18  moony_: ummm, I have seen some things people uploaded, but I didn’t look too closely, usually I open TPT to mess with something in silly ways
15:41:35  see the link i posted :P
15:42:03  okay
15:42:50  (hm btw did they add polonium so we could do, in xkcd terms, polonium-bending?..)
15:43:56  no, i added it for fun
15:44:04  simon never finished it, so i just gave it some polish
15:44:06  (wow, forth!)
15:44:29  wait what you contribute to TPT? nice!!
15:44:45  arseniiv: LBPHacker, the guy who made that computer, has plans to make a computer that performs 4 ops/frame
15:48:55  how does it do for now? (I haven’t open it yet to see for myself)
15:56:47 -!- moony__ has joined.
15:57:05  arseniiv: the R216 computer runs one instruction per game frame
15:57:39  all instructions run at the same speed, so usually the challange of writing code for the R216 is making it as small as possible for the same performance
15:58:13 -!- moony_ has quit (Ping timeout: 256 seconds).
15:58:22  moony__: 1 op/frame, nice!
15:59:07  you can ask lbphacker how it's done, or mark2222, in #powder-subframe if you like
15:59:43  thank you
16:02:40  I don’t think it would be soon, though. But I’ll definitely run that thing
16:08:01 -!- sebbu has quit (Read error: Connection reset by peer).
16:08:31 -!- MDude has joined.
16:09:34 -!- sebbu has joined.
16:24:42 -!- moony__ has quit (Quit: Page closed).
17:23:55 -!- oerjan has quit (Quit: Later).
17:34:19 -!- tromp has quit (Remote host closed the connection).
17:49:56 -!- LKoen has joined.
17:51:36 -!- LKoen has quit (Remote host closed the connection).
17:52:44 -!- LKoen has joined.
17:54:30 -!- LKoen has quit (Remote host closed the connection).
17:54:45 -!- LKoen has joined.
18:15:05 -!- LKoen has quit (Remote host closed the connection).
18:20:35 -!- b_jonas has joined.
18:22:35 -!- tromp has joined.
18:28:15 -!- brandonson has joined.
18:42:11 -!- tromp has quit (Remote host closed the connection).
18:58:14  ``` set -e; cd wisdom; echo *le
18:58:16  apple aristotle article d-module e-module flagpole google guillible internationale klein bottle laver table le locale maple mapole merchantable misle module mole nooodle norrible perpetuum mobile pineapple ratatouille ridicule steam sale subtle tadpole thausible title tribble trisecting the angle unréliable
18:58:20 -!- Phantom_Hoover has joined.
18:58:20 -!- Phantom_Hoover has quit (Changing host).
18:58:20 -!- Phantom_Hoover has joined.
18:58:49  `? le
18:58:50  cat: le: Is a directory
18:58:57  oh
18:58:58 -!- LKoen has joined.
18:59:45  `? misle
18:59:46  misle v. tr. "I was misled about morphology."
19:00:10  `? tribble
19:00:15  99 tribbles on the wall, take one down, pass it around, 117 tribbles on the wall.
19:00:37  `? tamale
19:00:39  tamale? ¯\(°​_o)/¯
19:00:46 -!- LKoen has quit (Remote host closed the connection).
19:00:55 -!- LKoen has joined.
19:12:49 -!- LKoen has quit (Remote host closed the connection).
19:14:11 -!- LKoen has joined.
19:17:16 -!- tromp has joined.
19:22:07 -!- tromp has quit (Ping timeout: 245 seconds).
19:24:08  [[Special:Log/newusers]] create  * Koyodyne *  New user account
19:30:48  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=60642&oldid=60556 * Koyodyne * (+146) 
19:31:42  [[Special:Log/newusers]] create  * Void *  New user account
19:37:18  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=60643&oldid=60642 * Void * (+161) 
19:37:40  [[Esolang:Introduce yourself]]  https://esolangs.org/w/index.php?diff=60644&oldid=60643 * Void * (+72) 
19:50:05  [[Language list]]  https://esolangs.org/w/index.php?diff=60645&oldid=60553 * Void * (+12) 
19:55:01 -!- FreeFull has joined.
20:08:42  [[RarVM]] N https://esolangs.org/w/index.php?oldid=60646 * Void * (+3656) Created page with "{{infobox proglang |name=rarVM |paradigms=imperative |author=[[void4]] |year=[[:Category:2019|2019]] |memsys=stack-based |dimensions=tree-based |class=:Category:Turing compl..."
20:14:07  [[RarVM]]  https://esolangs.org/w/index.php?diff=60647&oldid=60646 * Void * (+445) 
20:16:56  [[RarVM]]  https://esolangs.org/w/index.php?diff=60648&oldid=60647 * Void * (+26) 
20:20:35  [[RarVM]]  https://esolangs.org/w/index.php?diff=60649&oldid=60648 * Void * (+102) 
20:21:58  [[RarVM]]  https://esolangs.org/w/index.php?diff=60650&oldid=60649 * Void * (+99) 
20:23:25  "“From what we’ve been able to uncover, this traditional maroon garment denotes that this man was a member of a fraternal cult known as ‘TTC Operators.’ These individuals must have been highly respected, as Torontonians would regularly pay homage to them before entering the subterranean chariot loading zone. You can see the slots where people would make offerings in the form of coins or metallic tokens.”"
20:23:34  "“From what we’ve been able to uncover, this traditional maroon garment denotes that this man was a member of a fraternal cult known as ‘TTC Operators.’ These individuals must have been highly respected, as Torontonians would regularly pay homage to them before entering the subterranean chariot loading zone. You can see the slots where people would make offerings in the form of coins or metallic tokens.”"
20:23:40  "Dr. Kathy Gibson of the University of Winnipeg’s Faculty of Archaeology is one of them. She said the subway system is too small to have been of much practical use to most Torontonians, and therefore must have been ceremonial. She added as proof: “No real subway system would have a line consisting of only five stops that goes to nothing but an uninhabitable wasteland.”"
20:25:03 -!- Essadon has joined.
20:25:21  [[RarVM]] M https://esolangs.org/w/index.php?diff=60651&oldid=60650 * Void * (+400) 
20:26:00  [[RarVM]] M https://esolangs.org/w/index.php?diff=60652&oldid=60651 * Void * (+1) 
21:07:27 -!- LKoen has quit (Remote host closed the connection).
21:07:44 -!- LKoen has joined.
21:45:03 -!- brandonson has quit (Ping timeout: 245 seconds).
21:45:11 -!- brandonson has joined.
21:51:19 -!- brandonson has quit (Ping timeout: 255 seconds).
22:40:41 -!- tromp has joined.
22:51:26 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:22:13 -!- AnotherTest has quit (Ping timeout: 255 seconds).
23:26:02  [ 4!10
23:31:16 -!- b_jonas has quit (Quit: leaving).
23:34:50 -!- arseniiv has quit (Ping timeout: 246 seconds).
23:46:46 -!- tromp has quit (Remote host closed the connection).
23:59:57 -!- oerjan has joined.

2019-03-26:

00:02:50 -!- Phantom_Hoover has quit (Remote host closed the connection).
00:03:09 -!- tromp has joined.
00:28:31 -!- Essadon has quit (Quit: Qutting).
00:34:54 -!- Lord_of_Life_ has joined.
00:37:57 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
00:37:57 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:42:38 -!- tromp has quit (Remote host closed the connection).
01:12:29  argh i hate web pages that steal clicks such that you accidentally follow a link when trying to do something else
01:14:03  a lot of porn sites do that
01:14:53  this time it was SE's chat archive, of all things
01:15:00  I generally disable scripts and alter CSS if necessary, so mostly is avoiding that; maybe there are other ways to make up the setting for events to control that
01:15:42  it is possible i actually accidentally clicked twice.
01:16:11  (One feature I would like is the ability to replace individual scripts on a webpage with my own versions.)
01:16:14  (i was selecting a link with the right button to copy it, and ended up following it.)
01:16:41  I was reading a site that used hot pink text on white background :(
01:16:47  (Including such things as replacing jQuery with my own version on any webpages that use that)
01:16:52  and there are other times i _do_ want the script there, when following quoting links
01:16:53  the content was actually quite good and important
01:17:02  I fixed it with element inspector
01:17:10  but I wonder the best way to link it to other people
01:17:27  kmc: i use that a lot to get rid of annoyingly large horizontal bars
01:17:34  I don't know of a way to construct a link with a custom style sheet
01:18:03  other than a javascript: url that you have to visit after
01:18:13  I don't know of any way either, but I do often customize CSS of other webpages (although this is usually not needed if the webpage has no CSS at all)
01:18:16 -!- tromp has joined.
01:18:19  perhaps I could host a page which shows it in an iframe
01:18:42  or just mirror the content and hope to not get in copyright trouble
01:18:56  or copy the entire text into my Facebook post when I share it
01:19:08  another solution to bad color choices is print to pdf
01:19:44  (I prefer to not set any colours in making webpages, instead using the user settings; unless it needs to have some colours to indicate different kind of stuff)
01:22:52 -!- tromp has quit (Ping timeout: 250 seconds).
01:31:00  hm ais523 has on some occasions on ppcg pointed out that (hindley-milner) typed SKI calculus isn't TC, and you need Y too. but i also seem to recall something about Y _not_ being enough if you don't have arithmetic...
01:31:14  (Y=fix)
01:32:03  vaguely recalling something about decidable halting problem...
01:35:07  also i cannot seem to google this.
01:48:50 * oerjan should get something to eat before he starts banning people for not answering.
03:06:07 -!- tromp has joined.
03:10:55 -!- tromp has quit (Ping timeout: 246 seconds).
03:20:01  never mind, the thing i was trying to use it for won't work anyway
03:22:02 -!- ATMunn has quit (Quit: lol rip).
04:12:04 -!- oerjan has quit (Quit: Nite).
04:27:17 -!- FreeFull has quit.
05:21:06  I partially implemented a NNTP server software, mainly, because I could not find another one that seemed suitable to my use
05:59:56  [[Ragaraja]]  https://esolangs.org/w/index.php?diff=60653&oldid=60587 * Mauriceling * (+307) /* Description of Commands / Instructions */
06:45:00  [[Ragaraja]]  https://esolangs.org/w/index.php?diff=60654&oldid=60653 * Mauriceling * (+9077) Added implementation flag
07:44:56 -!- tromp has joined.
07:50:48 -!- S_Gautam has joined.
08:44:32 -!- AnotherTest has joined.
09:42:12 -!- tromp has quit (Remote host closed the connection).
10:12:07 -!- tromp has joined.
10:27:02  [[Ragaraja]]  https://esolangs.org/w/index.php?diff=60655&oldid=60654 * Mauriceling * (+160) /* References to Biology */
11:13:21  [[Powder]]  https://esolangs.org/w/index.php?diff=60656&oldid=60638 * A * (+219) Add purpose
11:14:15  [[Powder]]  https://esolangs.org/w/index.php?diff=60657&oldid=60656 * A * (+3) And sorry for making a small edit
11:26:56  [[Brainfuck implementations]]  https://esolangs.org/w/index.php?diff=60658&oldid=59708 * Tromp * (+106) add interpreter written in lambda calculus
11:44:25 -!- ocharles has quit (Ping timeout: 258 seconds).
11:45:25 -!- ocharles has joined.
12:35:29 -!- Lord_of_Life_ has joined.
12:38:34 -!- Lord_of_Life has quit (Ping timeout: 250 seconds).
12:38:34 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
13:19:43  [[A]] N https://esolangs.org/w/index.php?oldid=60659 * Arcorann * (+1749) Created page with "'''A''' is a programming language that uses only the letter A in its source code. Its creation year is uncertain but no later than 2008.  == Description ==  A program with les..."
13:23:04  [[A]] M https://esolangs.org/w/index.php?diff=60660&oldid=60659 * Arcorann * (+11) /* See also */
13:26:48  [[A]] M https://esolangs.org/w/index.php?diff=60661&oldid=60660 * Arcorann * (+28) 
13:40:25 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
15:01:13 -!- S_Gautam has joined.
15:01:53 -!- sebbu has quit (Ping timeout: 268 seconds).
15:04:05 -!- AnotherTest has quit (Ping timeout: 250 seconds).
15:08:06 -!- sebbu has joined.
15:33:29 -!- oerjan has joined.
15:37:24  i realized an intuitive argument for why (simply/hindley-milner) typed SKIY isn't TC without infinite "basis" types: without them, the number of functions of every type you can construct is finite, so you can solve the halting problem by explicitly evaluating their CPO denotations.
15:38:20  i still would like to remember the reference someone gave to this before, though.
15:38:58  s/every/each/
15:40:59  interesting, it's not turing complete but it has programs that diverge?
15:42:04  yep, e.g. YI
15:42:17  (which is just f x=f x)
15:42:23 -!- arseniiv has joined.
15:42:58  :t let f x=f x in f
15:43:00  t1 -> t2
15:43:04  oerjan: R. Statman, "The λY calculus" shows that the word problem is decidable for that calculus.
15:43:42  argh
15:43:58  well that does seem like the same thing.
15:44:10  or well no
15:44:26  what i am looking for sounds wearker than that
15:44:43  huh, wait, I'm misrepresenting this
15:45:09  the halting problem is decidable; the word problem is decidable if Y is restricted to a single type (o -> o) -> o.
15:45:14  but not in general.
15:45:54  right
15:46:03  I'm not sure I get the finiteness angle though; even the simply typed lamda calculus has infinitely many inhabitants of (o -> o) -> o -> o.
15:46:26  int-e: it doesn't for a specific o of finite size
15:47:08  Taneb: yes it does: all church numerals have that type.
15:47:16  hmm
15:47:22  Oh I see.
15:47:32  oerjan's talking about models.
15:47:34  the church numerals collapse
15:47:45  (the "CPO" didn't fully register)
15:48:00  There's, like, three or four functions of type (() -> ()) -> () -> ()
15:48:07  for a particular set, only finitely many of them are unequal.
15:48:12  *finite set
15:48:58  But I'm not sure whether this helps; the calculus operates on terms, and the main problem is distinguishing terms representing _|_ from everything else.
15:49:18  (id, const id, const (const _|_))
15:49:49  int-e: for solving the halting problem, though, all you need is to evaluate with all the free variables = ()
15:49:55  *type variables
15:50:02  or Bool if you like that better
15:50:30  Hmm I need to think about this... it sounds too good to be true.
15:53:08  oerjan: is your "basis type" terminology standard?
15:56:32  (Of course my reference has the annoying problem that SKI and lambda calculus are not perfectly aligned.)
16:02:26  Taneb: not that i know of
16:03:24  int-e: denotationally they are, i should think
16:04:06  also i got to thinking about because i had doubts about a proof on PPCG that haskell is TC with just ()=;
16:04:10  *about this
16:04:41  i think that fails for this reason
16:05:20  *just the characters
16:08:20  How does that work at all?
16:10:02  you use (======) as identifiers
16:10:10  Oh, I see
16:11:49  that's cute
16:16:34 -!- b_jonas has joined.
16:23:47  (======)? nice!
16:24:10  good day everyone
16:24:33  hello
16:24:39  oerjan: could polymorphic recursion help out the proof in this case? And the fact that some terms have more than one type
16:31:35  on an unrelated subject: I have an idea to make something akin to Metamath but with more structured approach: there would still be metavariables of user-declared sorts, but formulas would be no simple strings, but terms of these sorts, and there would be language support for bound variables. Term constructors would be user-declared, and to declare binders, the language basically contains lambda-calculus, but terms of arbitrary sorts aren’t allowed, 
16:31:35  so I hope their unification will be decidable
16:33:03  Taneb: you need a type signature for polymorphic recursion, although i'm not sure if that's enough for TC-ness
16:34:03  Taneb: i don't think more than one type helps, because you can always duplicated definition to avoid using that.
16:34:36  oerjan: but eg. (===)(====)=(====) has an infinite number of types
16:35:12  yes, but you'll only ever use a finite number when running a program
16:35:38  (ghc defaults types to Any as i recall)
16:35:57  (without polymorphic recursion)
16:37:16  *unrestricted types
16:37:24  Right
16:37:34  hmm
16:38:31  It should be possible to make it TC by adding a few specific primitives, such as three list primitives and while
16:38:59  yes, probably even arithmetic and while is enough, as you say 
16:39:41  although while has a generic type
16:40:28  b_jonas: oh hi, that reminds me, you remember the PPCG challenge for making several quines with no characters in common, and how you suggested 3 might be possible in perl? Jo King made such an answer in perl 6 https://codegolf.stackexchange.com/a/181246/
16:40:39  oerjan: whoa
16:40:42  SIX?
16:40:49  no, "perl 6"
16:40:52  oh
16:40:54  that's better
16:40:54  sheesh
16:41:15  good
16:41:23  b_jonas: i believe ():;1- is TC
16:41:32  (for the haskell)
16:41:50  oerjan: how does that work? how do you make functions?
16:41:57  oops
16:42:06  typo, ()=;1-
16:42:11  oh ok
16:42:23  I don't see how that works, but that's at least more believable
16:42:48  oh right
16:42:50  > 1-(-1)
16:42:52   2
16:42:55  right
16:42:57  you can just make recursive function definitions
16:43:12  named functions, refering to themselves by name
16:43:17  like you said above with (===)
16:43:23  Best thing is, you can now comment your code
16:43:28  i've been trying to think of a version with 5 chars but i cannot make it work
16:43:31  only now you can use - too, so you get a slightly more conveient character set
16:43:31  Taneb: yeay
16:44:41  oerjan: could you use ()=;: and use lists terminated by some special value consed with undef?
16:44:46  instead of arithmetic that is
16:45:07  like, lists of true and false, with the tail being undef
16:46:20  b_jonas: yes, ()=;:' should work
16:46:30  oerjan: apostrophe?
16:46:35  for char literals
16:46:45  why would you need char literals?
16:47:06  I mean, just use two different well-typed functions to represent true and false
16:47:13  shortest way to get something to put in the lists that you can distinguish two values of
16:47:21  mytrue x y = x; myfalse x y = y;
16:47:23  hm...
16:47:30  then just call them to distinguish them
16:47:33  b_jonas: oh maybe that does work
16:47:43  haskell rules again, so those will be polymorphic functions
16:48:08  but that may give trouble with the original obstruction...
16:48:14 -!- LKoen has joined.
16:48:28  because they won't be polymorphic in a particular list
16:49:10  but maybe it's close enough...
16:49:17  oerjan: hmm
16:49:34  yeah ...
16:49:51 -!- ais523 has joined.
16:49:58  hi ais523
16:51:00  hi
16:51:19  ais523: I think you may be able to help with this discussion
16:52:00  oerjan was thinking of how he could choose a small set of characters so that Haskell with the source code containing just those characters is a turing-complete language
16:52:26  b_jonas: see the top answer on the PPCG question about Turing-complete subsets of languages' character sets
16:52:27  he threw in the idea that the four characters ()=; lets you define functions with names like (=====) and arguments with such names too
16:52:38  I believe (=); is the character set chosen, yes
16:52:39  ais523: yes, I think that's what spawned this
16:52:46  but oerjan says that it's not clear if that works
16:52:49  and I agree with him
16:52:51  however, I'm starting to have doubts about whether SKI+fix is enough
16:53:05  in a strongly typed language
16:53:07  ais523: oerjan is convinced that it isn't
16:53:34  ofc, we have more than SKI+fix here; we have the entirety of typed lambda calculus + recursion
16:55:43  ais523: but that's just really syntactic sugar over SKIY
16:56:13  oerjan: I guess you're right and ()=;:' or ()=;:1 should be enough
16:57:15  typed church lists are a bit complicated aren't they
16:57:20  a weirder idea i had was x"|>=;
16:57:21  the type of the list encodes the types of its elements?
16:57:36  originally without the |, so it was my best idea for getting 5
16:57:38  I probably can't make a homogeneously-typed list without some kind of injection type :/
16:57:55  oerjan: how does that work?
16:58:13  > "xxx">"xxxx"
16:58:15   False
16:58:40  well i'm not entirely sure it works, but you have monadic operations >>= and >> and comparisons == > >=
16:58:55  I tried to write fib with (=); for a while and gave up, but it's probably doable
16:58:59  oerjan: but how do you define functions or call functions or something? you have no space or parens
16:59:02  got into some occurs check hell
16:59:24  b_jonas: x""xx=xxx>>=xxxx
16:59:30  things like that
16:59:32  oh
16:59:36  adding type signatures to figure it out is tricky because a church numeral should be  type Church = forall a. (a -> a) -> a -> a, but that doesn't fly in vanilla Haskell
16:59:37  dummy string argument
16:59:39  interesting
16:59:54  i haven't thought that one all through though
16:59:59  how about ()\->
17:00:12  write lambda calculus, with names like (>>>>)
17:00:14  b_jonas: no recursion
17:00:20  because types
17:00:21  because of the types again?
17:00:22  hmm
17:00:39  that was the original version of another PPCG answer
17:02:09  ais523: on a previous occasion someone, i think here, said that fix without something like integers is not enough in a typed LC (simply or hindley/milner, i'm not sure) although i've forgot the reference. int-e gave another above.
17:02:32  I wonder if we could use square brackets instead of parenthesis
17:02:51  define functions that take each argument in a single-element list
17:03:01  oerjan: I'm wondering if you can do it using the (a->a)->(a->a) type for Church numerals
17:03:11  b_jonas: that doesn't let you create identifiers
17:03:16  then we get empty lists and one element lists "for free"
17:03:26  ais523: yeah, that is a problem
17:03:44  yeah, that would need 5 chars
17:03:49  or 6 or what
17:03:50  hmm
17:03:54  []=;x
17:04:19  woyld that work?
17:04:21  maybe you could use : rather than []?
17:04:35  although that might run into type issues
17:04:48  it'd definitely be enough in an untyped language, given that you have structure, destructure, recursion
17:05:04  ais523: you need an argument separator then
17:05:11  unless you mean ()=;:
17:05:35  I think ()=;:1 works, oerjan's suggestion was ()=;:' which should work too
17:06:15  What about x=;:'
17:07:15   []=;x <-- i considered that one and the problem was no way to construct larger values
17:08:02  Taneb: you can't pattern match with : then
17:08:28  or apply functions
17:08:33  oerjan: what do you mean by "larger values"?
17:08:59  you can construct [[[[[[[]]]]]]]
17:09:14  yes, but that has no fixed type
17:09:18  oh
17:09:21  right
17:09:25  so you can't have numbers
17:09:30  ok, then that won't work
17:10:46  it's really quite awkward how 5 just seems to slip away for several different reasons
17:11:21  > let x'x'xx=xx; xxx='x' in x'x'xxx
17:11:23   error:
17:11:23       • Variable not in scope: xx
17:11:23       • Perhaps you meant one of these:
17:11:29  are there language options you can give to infer the type of Church numerals correctly?
17:11:44  Huh
17:11:45  Taneb: alas ' is an identifier char too
17:11:46  what's PPCG?
17:11:50  :t \f x->f (f (f (f x)))
17:11:51  (t -> t) -> t -> t
17:11:56  kmc: codegolf.stackexchange.com
17:12:07  Taneb: isn'tr x'x'xx a single variable?
17:12:08  wheres pp from
17:12:12  oerjan: ...so why not x=;:"
17:12:13  possibly the world's largest users of esolangs?
17:12:22  kmc: ppcg = programming puzzles and code golf
17:12:22  :i x'x'xx
17:12:33  @type x'x'xx
17:12:33  although they basically gave up on the programming puzzles quite early on, the name didn't change
17:12:34  error: Variable not in scope: x'x'xx
17:12:49  (oddly, puzzling.stackexchange.com are typically quite willing to do programming puzzles)
17:13:42  ais523: inferring the type of Church numerals would be ImpredicativeTypes, a ghc extension which probably never quite worked for that and has languished so long it's now essentially unsupported and broken for nearly everything.
17:14:00  ais523: and puzzling.stackexchange.com has very few questions about creating puzzles, it's almost all questions that are puzzle
17:14:19  b_jonas: questions about creating and solving puzzles are ontopic but rarely asked
17:14:26  ais523: yep
17:14:44  > let add a b f x = a f (b f x); zero f x = x; one f x = f x; fibs n a b = n b (add a b); fibz a b = a; fib n = n fibs fibz zero one in let church n f x = iterate f x !! n; int n = n succ 0 in map (int . fib . church) [0..10]
17:14:46   [0,1,1,2,3,5,8,13,21,34,55]
17:14:52   oerjan: ...so why not x=;:" <-- no pattern matching of : in function arguments
17:15:01  as I discovered recently, even Stack Overflow has a similar issue; it was intended to be a collaborative build-an-FAQ site for programming but turned into a help-me-debug-this site
17:15:32  ais523: doesn't it still have lots of FAQ though?
17:15:42  let me check
17:15:45  b_jonas: nah, they just get closed for duplicaiton ;P
17:15:51  oerjan: aargh
17:15:54  I don't visit SO much, it's just too large for me
17:15:54  b_jonas: yes, there are still plenty of those around, mostly from earlier in the site's history
17:16:47  they added a new ask-a-question wizard recently which insists that you post code samples
17:16:56  it's optional, but it excludes basically any FAQ from being asked when used
17:17:28  ais523: yeah, you seem to be right
17:18:21  such a nice type: fib::(((((a->a)->a->a)->((a->a)->a->a)->(a->a)->a->a)->((a->a)->a->a)->((a->a)->a->a)->(a->a)->a->a)->(((a->a)->a->a)->((a->a)->a->a)->(a->a)->a->a)->((a->a)->a->a)->((a->a)->a->a)->(a->a)->a->a)->(a->a)->a->a
17:20:04  wow
17:20:16  ah so fib exists.
17:20:20  int-e: does that example show that SKIY is in fact TC in a typed lazy language?
17:20:29  i suppose primitive recursion is probably possible, then.
17:21:26  ais523: if a is a finite type, you can only distinguish finitely many fib types.
17:21:29  ais523: no. fib is primitive recursive. note that Y is not even used.
17:21:29  int-e: um, but can you get rid of the iterate and (!!) things?
17:21:37  b_jonas: they're just for testing
17:21:42  er, values
17:22:19  oh, so you're saying that even without them you can at least get primitive recursion, even deeper than the single exponential that fib does?
17:22:29  b_jonas: The first let defines a fibonacci function (of sorts); The second let defines conversions between Church numerals and Int.
17:23:08  b_jonas: yes, if you're willing to use sufficiently big types for the church numerals.
17:23:23  hmm
17:23:52  aren’t Church numerals basically unfolders? (so, primitive recursion)
17:23:53  OK, so the technique int-e used above is limited to primitive recursion, because its only control flow structure is the while loop
17:24:03  err, the for loop
17:24:21  (or I remember it wrong, and some other numerals are unfolders)
17:24:40  (maybe Church—Scott if it means a different thing)
17:25:09  There is a result that Church numerals at type (o -> o) -> o -> o gives you something called extended polynomials only (in simply typed lambda calculus; no Y).
17:25:36 -!- AnotherTest has joined.
17:25:39  also, EU copyright thing thing, just have to mention it on the channel, would be strange if nobody did
17:26:27  b_jonas: the article 11 / article 13 thing?
17:26:40  ais523: yeah, or the whole vote and stuff
17:26:52  the article 13 thing that got renumbered
17:26:56  I'm not 100% convinced those are bad ideas; at least, most of the examples that people have brought up as to why they're bad, I disagree with, however they may be bad for other reasons
17:27:28  I'd prefer a comprehensive reform to copyright law rather than just enforcing it
17:27:32  b_jonas: the renumbering was a normal part of the process.
17:27:46  int-e: sure
17:28:27  int-e: the renumbering is so they can publish the text of the law without the content filters kicking them off because it mentions "article 13"
17:28:40  what content filters?
17:29:17  ais523: the ones that people say article 13 requires in the sense that it makes content hosters more responsible for the content of third-party materials that they host
17:29:49  which hosters can only enforce by automatic real-time content filters to accept or reject third-party content
17:30:24  ais523: I don't like article 13 mainly because I expect that youtubers will regularly run into their own videos being blocked by an automatic filter, without any reasonable course of remedy... those videos cost time and effort, and often money, to produce, so it will discourage that particular way of producing content. It may not actually happen but I believe that's a true risk.
17:30:40  int-e: this is already the case on YouTube nowadays
17:30:49  it has an automatic filter, and it does cause problems
17:31:01  ais523: I don't think it's relevant for youtube, because youtube is the site that already wants automated content filters, and would do it anyway regardless of that law
17:31:17  Yes and that will become worse. So this is another step in the wrong direction.
17:31:18  it's more relevant for other sites
17:32:01  And yeah, other sites will be forced to implement filters at the "industry standard" which will be defined by the likes of Google and Facebook. Yay.
17:32:21  ((((
17:32:29  actually, one of the main problems with YouTube's filters at the moment is people falsely claiming to have copyright on things and fooling the input to the filter
17:32:42  I hope it will turn someday
17:32:42  so that the people making the false claims end up getting all the ad revenue
17:33:06  if a reform made that sort of claim illegal, then it would improve the current situation for youtube-like sites
17:33:28 -!- oerjan has quit (Quit: Later).
17:34:11  (btw someone interested in that Metamath-like thing?)
17:34:13  ais523: ok, but what happens to sites that aren't as large as youtube, but also aren't too tiny, and have third-party content?
17:34:32 -!- Essadon has joined.
17:34:59  ais523: also, isn't that sort of claim already illegal?
17:35:17  The main beneficiants of the directive will be publishers and right holder's organization; to some extend Google and Facebook... creators will largely lose out slightly (more if the optional Article 16 (previously 12) is implemented), and creators who currently rely on youtube and other content sharing platforms to distribute their material.
17:35:19  b_jonas: no, it would be if it were a DMCA claim, but YouTube's filters allow non-DMCA claim
17:35:27  even then, DMCA claims have huge loopholes in them
17:35:58  ais523: hmm
17:36:26  We'll see in a couple of years how bad it'll actually be.
17:37:51  from my point of view, there surely has to be a better situation then a) ridiculously strict copyright rules existing and b) those same rules rarely being enforced
17:38:01  because that leaves law-abiding people at a major disadvantage
17:38:03  What really irks me is that instead of a healthy debate we got stuck on the level of name-calling... both sides accusing the other of having no clue (which, to some extent, is true, because this is a clash of different cultures.)
17:38:26  the EU's sugested fix probably isn't a very good one, but the situation needs fixing, so I'm at least happy that it's being discussed
17:38:29  as for finding a small set of characters that induce a TC subset of a language, that's somewhat similar to finding the smallest set of controller buttons with which you can complete a video game, as in, super mario speedwalks and the like
17:38:34  what's the right word actually... "beneficiaries"?
17:39:05  ais523: I agree... and in fact it was quite funny how the #Yes2Copyright hashtag was adopted by both sides of this campaign.
17:39:21  int-e: it seems the latter, yes
17:39:31  (beneficiaries)
17:39:41  ais523: that's not really a good enough argument for any particular new law though
17:40:48  laws seem to look as a sort of code, usually of very bad maintainability, suspicious correctness and the like
17:41:00  b_jonas: well, any potential change in the law, other than outright removing copyright (which seems very unlikely to help), will have to come with better enforcement
17:41:14  so this may be a first step that leads to wider reform
17:42:24  so if “better code is less code”, yeah, one shouldn’t make new laws on every occasion, even if there’s some demand for a code solving/enabling a particular thing (because rarely there are no demand)
17:44:35  ais523: I still don't think that really addresses the debate. sure something has to be done, but nobody really said that nothing should be done, they just had complaints about the specific law
17:45:58  b_jonas: most of the attacks I've seen have been against the basic idea of the articles in question; it is entirely possible that the idea is good but the details are bad
17:46:36  ais523: But look at how people dealt with the advent of photocopiers, floppies, recordable CDs, big USB devices... AFAIK there's no enforcement there. In Germany, instead a part of the sales price goes to right holders' organizations. It's not ideal (in particular those organizations hold quite a lot of power as a result) but it's *very* unintrusive. Content sharing platforms are a different...
17:46:42  ...beast, of course, but some trade-off between enforcement and a collective pool of money (with various options for sources... consumer end (ISPs) or content sharing provider end...) should be possible.
17:47:24  int-e: sending part of a sales price to right holders' organizations should imply that copying data owned by those right holders is not copyright infringement
17:47:42  if so, then it makes sense
17:48:03  Also I'd like to see data. How much of the content on Youtube is there illegally? I would like to know that from both sides... uploads and views.
17:48:51  int-e: that would be hard to tell, because the content that is known to be illegal is taken down so wouldn't be in the statistics, and the ones that aren't known to be illegal are hard to count
17:50:22  And I can also imagine tweaks to Article 17 (13) that would make it much nicer to youtubers: rather than blocking an upload directly, what if the platform has the option to tell the user why it would be blocked, and let them override that decision, in which case liability reverts back to the user? This probably requires that the user be properly identified, but anyone who monetizes their channel...
17:50:25 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
17:50:28  ...probably has shared their address with the provider anyway.
17:51:55  (The directive has provisions for disputing infringement claims; it even mandates that a human be involved in that process. I don't see how platforms can implement this in an affordable way so I expect those processes to be very slow and convoluted.)
17:52:38  (So the point of my idea above is that it can easily be fully automated.)
17:59:25  int-e: "what proportion of YouTube" is a hard question, because there are probably huge numbers of videos that are hardly ever viewed
17:59:33  people using it as a backup for family photos, or whatever
17:59:59  ais523: yes, that's why I want the statistics for views as well
18:00:05  maybe asking about the proportion of YouTube /views/ is more interesting, in which case I expect the vast majority to be of copyrighted content, but often with the implicit permission of the content's owner
18:00:29  (those are probably the more relevant ones anyway, but both uploads and views are interesting)
18:00:37  a lot of record labels post their music officially
18:00:45  or even explicit-but-global permission (e.g. many computer games give permission to upload videos of the game on YouTube)
18:00:49  they get royalties
18:01:07  yes, views are the more relevant, because the uploads just scale with how quickly youtube recognizes and removes the illegal content, at which point the uploader reuploads a modified version of it
18:01:16  kmc: yes. and it's also good advertisement, especially for lesser known artists.
18:01:30  yah
18:01:38  I've found quite a bit of music there that I listen to all the time now
18:02:25  on a tangential note, this is some amazing guitar work https://www.youtube.com/watch?v=ISS2SrHxKI4
18:02:39  I wouldn't have thought it possible to do an acoustic guitar cover of a drum&bass song, but not only is it possible it's amazing
18:03:19 * kmc listens again
18:20:03  [[Category theory]]  https://esolangs.org/w/index.php?diff=60662&oldid=46854 * Koyodyne * (+25) Fixed some information about identity morphisms
18:20:41  [[Category theory]] M https://esolangs.org/w/index.php?diff=60663&oldid=60662 * Koyodyne * (+0) replaced a typo
18:22:06  [[Category theory]] M https://esolangs.org/w/index.php?diff=60664&oldid=60663 * Koyodyne * (+2) replaced auspicious "set" with "class"
18:23:43 -!- ZM has joined.
18:24:39 -!- ZM has quit (Client Quit).
19:09:23 -!- Sgeo__ has joined.
19:12:14 -!- Sgeo_ has quit (Ping timeout: 246 seconds).
20:10:20  [[Category theory]]  https://esolangs.org/w/index.php?diff=60665&oldid=60664 * Koyodyne * (+534) Added a section on higher categories
20:12:04  [[Category theory]]  https://esolangs.org/w/index.php?diff=60666&oldid=60665 * Koyodyne * (+20) Added a section on higher categories
20:28:33  [[Category theory]] M https://esolangs.org/w/index.php?diff=60667&oldid=60666 * Salpynx * (+23) Add category so this is linked from somewhere
20:31:41 -!- FreeFull has joined.
20:32:52 -!- Phantom_Hoover has joined.
20:33:43  oh this is actually very nice. If I’d known that article needs some attention…
20:34:23  everyone be prepared, this weekend we'll have the timezone offset change in most of Europe, then on Monday we'll have SIGBOVIK
20:34:37  (should I add about semicategories, the ones without identity morphisms?)
20:36:14  nah, a link to nLab should be really sufficient
20:46:24  arseniiv: categories are general enough as it is, why would you need to make them more general? :-D
20:46:53  anyway, I'm not convinced category theory is an esolang; it's fairly eso but not very lang
20:49:25  yeah, it’s a bit hard to use them for me because of that. Though there are so-called internal languages, but e. g. for arbitrary category there isn’t really anything interesting to have in that language, and I even don’t know if it’s a thing
20:54:05  ais523: ^ and also about the first I’d say “because of Haskell”, but there seemed to be a more specific answer I’ve forgot
20:54:30  and Haskell is in no relation to that AFAIR
20:54:46  well, Haskell is fairly close to category theory as a programming language
20:54:48  but it’s a universal argument, I should admit
20:54:53  it's not at all the same thing, but the same ideas get used in both
20:54:53  yeah
20:55:00  agree
20:56:48  if only I’d get more of Edward Kmett’s packages... hm no forget it
21:51:24  isn't the point of category that the same ideas get used in /everything/
21:59:49  yes, it lets you translate theorems from one context to another
22:00:47  my PhD used a categorical result to prove that the compiler I'd defined from the syntax of a language to its semantics was consistent, in the sense that sometimes it would match the same program in multiple different ways, but it'd produce the same result in each case
22:01:00  (this is known as a "coherence" result, in category theory)
22:01:17 -!- fractal has quit (Ping timeout: 245 seconds).
22:11:25  !card-by-name Soulcatchers' Aerie
22:11:39  `card-by-name Soulcatchers' Aerie
22:11:40  Soulcatchers' Aerie \ 1W \ Enchantment \ Whenever a Bird is put into your graveyard from the battlefield, put a feather counter on Soulcatchers' Aerie. \ Bird creatures get +1/+1 for each feather counter on Soulcatchers' Aerie. \ JUD-U
22:16:30  ais523: ^ could that work instead of Noxious Ghoul in an M:tG implementation of Waterfall Model?
22:16:45 -!- fractal has joined.
22:17:10  b_jonas: you need a -/- effect somewhere; Noxious Ghoul is only used as an easily triggerable -/- effect in the The Waterfall Model impl
22:17:15  `card-by-name Noxious Ghoul
22:17:16  Noxious Ghoul \ 3BB \ Creature -- Zombie \ 3/3 \ Whenever Noxious Ghoul or another Zombie enters the battlefield, all non-Zombie creatures get -1/-1 until end of turn. \ LGN-U, HOP-U
22:17:28  I guess you could use a damage effect instead
22:17:48  oh, what's that effect which pings everything when a creature ETBs called?
22:17:52  `card-by-name pandemonium
22:17:52  Pandemonium \ 3R \ Enchantment \ Whenever a creature enters the battlefield, that creature's controller may have it deal damage equal to its power to any target of their choice. \ EX-R, TSP-S
22:18:05  oh, would need to be global, so not that
22:19:32  Forerunner of the Empire almost works but it's a "may" ability
22:19:39  `card-by-name forerunner of the empire
22:19:39  Forerunner of the Empire \ 3R \ Creature -- Human Soldier \ 1/3 \ When Forerunner of the Empire enters the battlefield, you may search your library for a Dinosaur card, reveal it, then shuffle your library and put that card on top of it. \ Whenever a Dinosaur enters the battlefield under your control, you may have Forerunner of the Empire deal 1 damage to each creature. \ RIX-U
22:19:51  (you can use a protection-from-color effect to make it selective)
22:19:57  is there a reason you wanted to replace noxious ghoul, anyway?
22:21:03  ais523: no reason really. I was looking for cards for a different construction, but found this one and got curious
22:21:45  soulcatcher's aerie seems like the sort of building block that might be helpful for a TCness construction, but it doesn't fit into the TWM construction directly
22:22:35  you could almost use it to replace Hungry Lynx but the two creature types are the same
22:23:11  (also, because it affects newly created tokens proactively, it'd do weird things to the language semantics, it might still be TC but it wouldn't be TWM)
22:23:38  I was wondering on a construction where you have just one creature for each Waterfall counter; you somehow decrease the toughness of each creature by a constant each turn, I don't know how to do that; the opponent has a Fleet-Footed Monk with Lure to deal damage to the creature with 1 toughness each turn;
22:23:52  and somehow you trigger off blocking or damage, but I also don't see how to do that
22:24:41  the advantage would be that since your creatures never die or get born, they can be complicated enchanted creatures
22:24:56  they can have rules text on them, or on enchantments on them
22:25:13  which allows a larger selection of cards, but I don't find the right card needed here
22:25:24  the existing construction has one creature per counter, though
22:25:45  it uses a lot of other creatures for triggered abilities but the fact that they're creatures is irrelevant, it'd work almost as well with them as enchantments
22:25:56  (not quite as well because the existing setup has no way to wish for enchantments, so they'd have to be maindecked)
22:25:59  ais523: yes, but don't those creatures die and get recreated as tokens?
22:26:07  I mean, what I'd like here is that those creatures never die
22:26:11  oh, I see
22:26:13  instead they linger at toughness 1 or 3
22:26:18  you'd want to use tokens anyway because of deck size limits
22:26:28  above that, and get triggered when they are lowered to toughness 1 or toughness 3
22:26:56  triggering on a specific toughness is hard
22:26:58  ais523: well, they could be token copies, but you copy and enchant them once at the start
22:27:16  ais523: that's what the Fleet-Footed Monk is for, and there's another card that works for toughness 3
22:27:42  `card-by-name fleet-footed monk
22:27:43  Fleet-Footed Monk \ 1W \ Creature -- Human Monk \ 1/1 \ Fleet-Footed Monk can't be blocked by creatures with power 2 or greater. \ P1-C
22:27:51  that checks power
22:27:57  `card-by-name Goldmeadow Dodger
22:27:58  Goldmeadow Dodger \ W \ Creature -- Kithkin Rogue \ 1/1 \ Goldmeadow Dodger can't be blocked by creatures with power 4 or greater. \ LRW-C
22:28:19  there are lots of creatures that trigger on dealing combat damage
22:28:36  ais523: yes, but we're using -1/-1 or +1/+1 effects anyway, either counters or something crazy like that Soulcatcher's Aerie, because it has to survive turn changes
22:28:44  maybe we could trigger on that, rather than on /not/ dealing combat damage
22:29:01  ais523: yes, that could work. is there an enchantment that gives a creature protection versus a creature type?
22:29:17  we have to give the opponent's Goldmeadow Dodger protection against everything but the one creature type
22:29:23  and have one Dodger per counter
22:29:57  would be easier with colors, but there's only 5 and that's not known to be enough with Waterfall
22:30:43  all the tunable protection cards I can see are color-based, not creature-type-based; runed halo is an exception, triggering on name, but it enchants players, not creatures
22:30:52  there's also true-name nemesis but it's hard to count that
22:31:41  oh, there may be specific creature type protections, rather than tunable, that we can hack
22:31:47  they don't need tunable, they can be Evolvable
22:32:03  oh I'm stupid [3~
22:32:08  the Coward thing
22:32:22  `card-by-name Boldwyr Imitator
22:32:23  No output.
22:32:32  `card-by-name Boldwyr I
22:32:33  Boldwyr Intimidator \ 5RR \ Creature -- Giant Warrior \ 5/5 \ Cowards can't block Warriors. \ {R}: Target creature becomes a Coward until end of turn. \ {2}{R}: Target creature becomes a Warrior until end of turn. \ FUT-U, MOR-U, CNS-U, DDS-U
22:32:48  that, and a large amount of Evolution
22:32:51  I was going to say, boldwyr intimidator has a different effect, but does it work for what you're looking for?
22:33:04  yeah, that should work
22:33:08  but there's still at least two problems
22:33:34  I kind-of like the way my existing setup works at split-second speed; something that involves combat can't
22:33:39  one is what exactly to trigger from it attacking
22:33:49  ais523: yes, that certainly makes it easier
22:34:20  oh, I know the other one. the other problem is how to damage the creatures every turn, but that's easy. there's a blue aura for it
22:34:33  `card-by-name Unstable Mutation
22:34:34  Unstable Mutation \ U \ Enchantment -- Aura \ Enchant creature \ Enchanted creature gets +3/+3. \ At the beginning of the upkeep of enchanted creature's controller, put a -1/-1 counter on that creature. \ AN-C, RV-C, 4E-C, 5E-C, TSP-S
22:34:46  ok, so now what to trigger from the Dodgers dealing damage?
22:34:54  `card-by-name crackling perimeter
22:34:55  Crackling Perimeter \ 1R \ Enchantment \ Tap an untapped Gate you control: Crackling Perimeter deals 1 damage to each opponent. \ GTC-U
22:35:00  or combat damage
22:35:03  I couldn't remember the trigger on that one
22:35:06  and I thought it hit creatures
22:35:16  I think there's a card that hits every creature once-per-turn, but I guess copied auras could also work?
22:36:19  ais523: I expect most of those would deal damage, not -1/-1, although you could perhaps animate something and give it infest
22:36:22  infect
22:36:24  in...
22:36:26  wait, which one is it?
22:36:36  infect
22:36:48  wither also works
22:36:50  Infest is an instant
22:37:18  but yes, I'm used to toughness being the only relevant stat, but your construction triggers on power
22:37:39  they will probably go hand in hand
22:38:33  I was also wondering if we can somehow make our creatures actually die from dropped toughness, but respawn
22:39:08  but it doesn't seem easy to make that scale
22:39:18  that's basically what the existing construction does
22:40:09  yes, but it recreates a token
22:40:19  whereas I wanted to reanimate the same creature
22:40:22  but that doesn't work
22:40:26  it's a bad idea
22:40:39  it can't work with many creatures, it needs actual cards, and possibly even then it won't work
22:41:38  objects lose their identity when changing zones, that's one of the most fundamental rules of magic
22:41:49  there's one creature which keeps counters when changing zones, I think, but it's definitely a special case
22:41:56  `card-by-name skullbriar
22:41:57  Skullbriar, the Walking Grave \ BG \ Legendary Creature -- Zombie Elemental \ 1/1 \ Haste \ Whenever Skullbriar, the Walking Grave deals combat damage to a player, put a +1/+1 counter on it. \ Counters remain on Skullbriar as it moves to any zone other than a player's hand or library. \ CMD-R
22:42:12  oh wow, I didn't expect to successfully remember which one it was first try
22:42:36 -!- LKoen_ has joined.
22:43:05  ais523: yes, but there are ways to make a card respawn
22:43:39  they don't have to keep their identity if they're printed with the right creature type and the opponent has all the Evolved stuff
22:43:55  then you still need as many creature cards in your deck as there are Waterfall counters, which isn't too good
22:44:03  yeah, doesn't work well
22:44:26  if it's not keeping its identity, why do you care about whether it's a token respawning or a token being created? is the difference even observable?
22:44:39  no it's not
22:44:47  or at least, I shouldn't care about it
22:44:56  well
22:45:03  the problem with tokens is that you can't bring them back from the gy
22:45:06  which is why I need cards
22:45:10  if I respawn from the gy 
22:45:40 -!- LKoen has quit (Ping timeout: 250 seconds).
22:45:52  but yes, this doesn't work well
22:46:55  another thing I was wondering about is 
22:46:59  `card-by-name Ensnaring Bridge
22:47:00  Ensnaring Bridge \ 3 \ Artifact \ Creatures with power greater than the number of cards in your hand can't attack. \ ST-R, 7E-R, 8ED-R, MPS_KLD-S, A25-M
22:47:06  `card-by-name gift of immortality
22:47:07  Gift of Immortality \ 2W \ Enchantment -- Aura \ Enchant creature \ When enchanted creature dies, return that card to the battlefield under its owner's control. Return Gift of Immortality to the battlefield attached to that creature at the beginning of the next end step. \ THS-R
22:47:10  plus a luring creature by the opponent
22:47:22  so that it's your creature that attacks, but only if it has low toughness
22:47:24  I don't think Gift of Immortality works on tokens? but it probably works for anything else you might be doing with this
22:47:26  the opponent has the Bridge
22:47:51  ais523: I don't think that works. once the token goes to the gy, it can't move to a new zone from there
22:48:39  yes, doesn't work on tokens, but would work on creature cards
22:48:44  then we'd need something like Edgar Markov, but that has an attack trigger that puts a +1/+1 counter on each creature of some _other_ type than itself
22:49:01  apparently the playtest version just said "enchanted creature can't die", but it got altered for rules and balance reasons
22:50:30  `card-by-name Rage Forger
22:50:31  Rage Forger \ 2R \ Creature -- Elemental Shaman \ 2/2 \ When Rage Forger enters the battlefield, put a +1/+1 counter on each other Shaman creature you control. \ Whenever a creature you control with a +1/+1 counter on it attacks, you may have that creature deal 1 damage to target player or planeswalker. \ MOR-U
22:50:39  nope, not that either
22:52:50  ok, my ideas don't seem to work
22:55:15  the game designers aren't stupid, they don't make too many cards that form easy infinite loops
22:56:19  especially not mandatory ones
22:58:02  and yes, I do have a playset of Faceless Butchers in my box of blacks
22:59:21  LSV (a famous magic player) once pulled off the oblivion ring infinite loop on MTGO on stream, against a real opponent, on a spur-of-the-moment decision to set it up
22:59:31  because he was curious as to what would happen (the deck wasn't built around setting it up)
23:00:17  I see
23:01:55  MTGO didn't handle it well, it replayed the entire game to try to figure out what had gone wrong, and then restarted it when it couldn't figure it out
23:02:57  did it call a judge then?
23:03:02  or did the players call one?
23:04:08  MTGO doesn't have judges
23:04:15  when it breaks you can apply for a refund, but that's abotu it
23:04:30  not even for tournaments with rewards?
23:06:24 -!- LKoen has joined.
23:06:42  nope; quite a few people are upset about this
23:06:49  oh, also, is it possible to golf this to one IRC line?
23:06:50  
colspan=3>
23:07:19 because if they reach the late stages of tournament and lose out to an MTGO malfunction, getting the entry fee refunded isn't really what they were looking for 23:07:52 how repeated are the colors? I was wondering if a