←2019-02 2019-03 2019-04→ ↑2019 ↑all
2019-03-01
00:00:01 <esowiki> [[Poolshark]] https://esolangs.org/w/index.php?diff=60168&oldid=60162 * Orby * (+640) /* Poolshark on the unit square */
00:03:31 <esowiki> [[Poolshark]] M https://esolangs.org/w/index.php?diff=60169&oldid=60168 * Orby * (+6) /* Poolshark on the unit square */
00:11:31 <esowiki> [[Poolshark]] M https://esolangs.org/w/index.php?diff=60170&oldid=60169 * Orby * (+112)
00:12:50 <esowiki> [[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 <esowiki> [[Poolshark]] M https://esolangs.org/w/index.php?diff=60172&oldid=60170 * Orby * (+289) /* Irrational slope */
00:19:15 <esowiki> [[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 <orbitaldecay> Hi oerjan!
00:27:44 <kmc> helloerjan
00:31:34 <oerjan> kmchi
00:31:46 <oerjan> hellorbitaldecay
00:32:10 <kmc> oerjan: kimchi?
00:32:35 <oerjan> kmc: you got me
00:32:43 * oerjan may never have actually tasted it
00:33:54 <kmc> kimchi is tg
00:34:15 <orbitaldecay> oerjan: you probably don't remember me, we played with picofuck a few years ago
00:34:25 <pikhq> 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 <oerjan> hum i admit i don't remember. are you the same as orby on the wiki?
00:42:48 <oerjan> hikhq
00:44:57 <orbitaldecay> I am the same as Orby on the wiki
00:45:21 <orbitaldecay> it was a long time ago and I have been completely abscent since then
00:45:42 <orbitaldecay> I have a tendency to cycle through communities every couple years :)
00:47:01 <oerjan> aha
00:47:19 <oerjan> . o O ( so you're orbiting? )
00:48:07 <oerjan> 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 <oerjan> ...or is the opposite also decay, like i understand the moon did before settling into always facing earth
00:49:29 <oerjan> (with the same side)
00:50:04 <orbitaldecay> ha! yes, my rate of cycling is increasing with age
00:50:15 <orbitaldecay> at my death, I will be in all communities simultaneously
00:51:20 <orbitaldecay> Do you think there's any way to get tc out of https://esolangs.org/wiki/Poolshark ?
00:51:34 <orbitaldecay> It's an idea I was kicking around today
00:53:08 <orbitaldecay> I think it's interesting, even if not tc
00:55:49 * oerjan sidles over to the wiki
00:56:18 <orbitaldecay> I will cry the day this wiki ceases to exist
01:02:38 <oerjan> 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 <oerjan> but that's so trivial it's not very interesting.
01:03:15 <orbitaldecay> yeah, I thought of that too, but no that is not interesting
01:04:24 <orbitaldecay> 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 <orbitaldecay> You get neat sequences from the unit square once you start feeding it irrational numbers
01:06:57 <orbitaldecay> 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 <oerjan> have you seen trajedy?
01:07:53 <orbitaldecay> I have not
01:08:19 <oerjan> that's a tiny bit similar
01:08:30 <oerjan> and is TC
01:08:39 <orbitaldecay> reading now
01:11:17 <orbitaldecay> Neat!
01:14:22 <int-e> So, conjecture... this is TC if the boundary of D is composed of straight line and parabola segments.
01:15:45 <orbitaldecay> int-e: hmm, can you elaborate? how would the parabola and line segment map to output?
01:16:16 <oerjan> i also had a hunch conic sections would help
01:16:17 <int-e> (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 <oerjan> perhaps you could even simulate the rational transformations trajedy uses
01:18:05 <orbitaldecay> 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 <int-e> 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 <int-e> )
01:18:52 -!- tromp has joined.
01:19:21 <orbitaldecay> int-e: right right
01:21:06 <int-e> But there are details to be worked out; what I have is only obviously enough for a stack machine.
01:21:53 <orbitaldecay> yeah, this is a good start. Ixnay on the bunimovich stadium is too smooth, no halting
01:22:16 <int-e> 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 <orbitaldecay> that is a good question. let me think about it for a minute.
01:22:53 <oerjan> int-e: you don't need the _second_ derivative to be smooth, so...
01:23:03 <orbitaldecay> 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 <oerjan> or even the first
01:23:34 <int-e> 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 <orbitaldecay> heh
01:24:06 <oerjan> although hm
01:24:42 <int-e> 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 <oerjan> 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 <int-e> is the wikipedia link worth adding to the wiki page?
01:26:56 <orbitaldecay> Yeah, I'll add it
01:27:37 <int-e> Anyway. I need to sleep, then work. Perhaps I'll revisit this in the evening :)
01:28:49 <esowiki> [[Poolshark]] M https://esolangs.org/w/index.php?diff=60174&oldid=60173 * Orby * (+139)
01:29:17 <orbitaldecay> Night!
01:29:42 <shachaf> `hello orbitaldecay
01:29:43 <HackEso> Hello World.
01:29:46 <shachaf> hm
01:29:58 <shachaf> hellorbitaldecay
01:30:07 <oerjan> `ello shachaf
01:30:08 <HackEso> ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ello: not found
01:30:11 <oerjan> wat
01:30:21 <oerjan> ^ello hmmm
01:30:25 <oerjan> nope
01:30:38 <oerjan> `dobg ello
01:30:40 <HackEso> 4699:2014-07-27 <ellioẗt> ` rm bin/{node,ello} \ 4071:2013-11-22 <mrhmous̈e> chmod +x bin/ello \ 4070:2013-11-22 <mrhmous̈e> mv raw.php* bin/ello \ 4068:2013-11-22 <mrhmous̈e> chmod +x bin/ello \ 4067:2013-11-22 <mrhmous̈e> mv raw.php* bin/ello \ 4058:2013-11-22 <mrhmous̈e> echo "(function(){var e,l,o,t;t=process.argv[2],(null!=t?t.length:void 0)||(console.log(\'Usage: ello <name>\'),process.exit()),o=/(.*)(e)$/i,e=/(.*)([bcdfghjklmnpqrstvwxz])([o0]
01:30:42 <shachaf> `` grep -rl aeiou bin
01:30:42 <HackEso> bin/h! \ bin/?h \ bin/thanks \ bin/hyphenate.fi \ bin/hi \ bin/blessyou \ bin/unh \ bin/?hh \ bin/shmify \ bin/h
01:30:55 <shachaf> `before bin/ello
01:30:59 <HackEso> 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 <name>'); \ process.exit(); \ } \ \ consonant_then_o = /(.*)([bcdfghjklmnpqrstvwxz])([o0].*)/i; \ \ ends_with_consonant = /[bcdfghjklmn
01:31:14 <esowiki> [[Poolshark]] https://esolangs.org/w/index.php?diff=60175&oldid=60174 * Orby * (+105) /* See also */
01:31:32 <orbitaldecay> hey shachaf!
01:37:19 <oerjan> 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 <shachaf> Did you know integration of computable functions on computable reals is computable?
01:38:00 <oerjan> so if there's a limit of derivatives toward a point, it must be the derivative there if it exists
01:38:07 <shachaf> I heard that it was possible but didn't know how it worked.
01:41:10 <orbitaldecay> oerjan: I'm with you
01:41:56 <orbitaldecay> and that's interesting shachaf
01:42:05 <oerjan> orbitaldecay: which means you cannot really have a single exceptional but non-halting point at the meeting of two parabolas
01:42:19 <shachaf> It's a bit trickier than it seems at first.
01:42:40 <shachaf> In particular you can bound a computable function : [0,1] -> R
01:43:35 <orbitaldecay> oerjan: that makes sense
01:43:50 <oerjan> shachaf: the trickiness i see is, what if it blows up when you get close to a _non_-computable point?
01:44:17 <shachaf> How do you mean?
01:45:24 <oerjan> 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 <oerjan> but how do you know those cover everything, even non-computable points?
01:45:42 <shachaf> I mean, all functions are bounded.
01:45:51 <shachaf> (On a closed interval.)
01:46:04 <orbitaldecay> I was waiting for that :)
01:46:55 <oerjan> i know computable functions are supposedly automatically continuous
01:47:08 <oerjan> but it occurs to me that that's only obvious at computable argument points
01:48:58 <shachaf> But f is a function on computable reals
01:51:03 <oerjan> yes, but not having it on non-computable points means you cannot apply the classical boundedness theorems directly
01:51:28 <esowiki> [[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 <oerjan> 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 <shachaf> Yes, it wasn't obvious to me that you can compute the bounds.
01:53:27 <shachaf> 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 <oerjan> yeah but it's not obvious to me that they even exist non-constructively
01:57:28 <oerjan> hm i suppose you'd compute in parallel
01:57:56 <oerjan> and then if things blow up, you'd show you somehow get a constructive counterexample out of it
01:59:08 <shachaf> see https://pdfs.semanticscholar.org/d739/04971c7e9cd54f5fc12a054feda0ef74b0ba.pdf hth
01:59:14 <oerjan> argh
01:59:22 <shachaf> it doesn't even need to be parallel?
02:03:23 <oerjan> that'll be the second math paper i give up reading this week hth
02:03:53 <oerjan> my brain doesn't have the stamina for wading through long technical stuff any longer
02:04:14 <shachaf> 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 <shachaf> And you know how much precision it asked you for, which you can use for this.
02:04:53 <oerjan> that part i actually understood
02:04:58 <shachaf> OK.
02:06:30 <oerjan> if f is actually defined on non-computable computable real numbers :P then that is enough.
02:06:38 <oerjan> for the bound to exit
02:06:41 <oerjan> *exist
02:06:46 <esowiki> [[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 <oerjan> (by which i mean, functions from precision to approximation that are not actually computable)
02:08:54 <shachaf> Right.
02:09:15 <shachaf> I think those are just called reals, though, not computable reals.
02:09:26 <oerjan> okay
02:47:04 -!- tromp has joined.
02:51:40 -!- tromp has quit (Ping timeout: 250 seconds).
02:51:42 <shachaf> Did you know you can define typedefs to function types in C?
02:51:53 <shachaf> typedef int foo(int, int);
02:56:36 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60178&oldid=60158 * Orangeyy * (+246)
02:59:45 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60179&oldid=60178 * Orangeyy * (+83)
03:04:19 <esowiki> [[User:Timtomtoaster]] https://esolangs.org/w/index.php?diff=60180&oldid=60165 * Orangeyy * (+27)
03:04:28 <esowiki> [[User:Timtomtoaster]] https://esolangs.org/w/index.php?diff=60181&oldid=60180 * Orangeyy * (+1)
03:07:49 <fizzie> Sure, I've never understood why APIs tend to use typedefs of pointers to functions rather than the function types.
03:08:50 <fizzie> `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 <HackEso> ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: typedef: not found
03:09:19 <shachaf> Makes sense.
03:09:23 <fizzie> 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 <fizzie> I'm guessing you can use them for declarations that aren't a definition, though.
03:10:28 <shachaf> Apparently.
03:10:50 <shachaf> i,i sighandler_t sig_ign;
03:13:22 <esowiki> [[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 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=60183&oldid=60179 * Oerjan * (-2) wut
03:58:11 <oerjan> 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 <oerjan> i'm sure if moloch von zinzer had been there, he'd have wondered how none of them expected this.
07:28:11 <oerjan> 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 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=60184&oldid=60167 * A * (+160) /* Continuation on the above by User:A */
10:08:32 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=60185&oldid=60184 * A * (-38) /* Attempt by User:A */
10:45:09 <esowiki> [[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 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=60187&oldid=60186 * A * (+94) /* Tail procedure */
10:49:45 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=60188&oldid=60187 * A * (+177) /* =Bit comparison */
11:02:50 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=60189&oldid=60188 * A * (-191)
11:06:46 <esowiki> [[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 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=60191&oldid=60190 * A * (+2) /* References */
11:07:34 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=60192&oldid=60191 * A * (+40) /* Continuation on the above by User:A */
11:09:30 <esowiki> [[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: <chnamsguy> 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 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=60194&oldid=60193 * A * (+77) /* References */
14:23:33 -!- wob_jonas has joined.
14:23:49 <wob_jonas> `? ello
14:23:50 <HackEso> ello? ¯\(°​_o)/¯
14:23:52 <wob_jonas> `? `ello
14:23:54 <HackEso> ​`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 <esowiki> [[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 <int-e> fizzie: aww esowiki does not allow svg?
18:53:54 <esowiki> [[Special:Log/upload]] upload * Int-e * uploaded "[[File:Sharkscale.png]]": scaling a shark
18:58:00 -!- FreeFull has joined.
18:59:14 <esowiki> [[Talk:Poolshark]] N https://esolangs.org/w/index.php?oldid=60197 * Int-e * (+206) scaling sharks
19:03:09 <orin> why does "git rebase so slow"
19:03:36 <orin> er, why does git "rebase" so slowly
19:06:53 -!- LKoen has joined.
19:23:11 <kmc> are you rebasing past a lot of commits?
19:23:20 <kmc> it essentially has to apply each diff one by one
19:28:25 <orin> kmc: it would be nice if it had a loading bar then
19:28:56 <orin> rewinding head... 222/123123
19:28:58 <kmc> there's probably an obscure flag for it
19:29:01 <orin> or somehitng
19:29:07 <kmc> yeah if you want to rebase past 100,000 commits you're gonna have a bad time
19:29:28 <kmc> orin: some people run their git repo on a ramdisk for faster operations
19:29:33 <kmc> I have not found an improvement that way
19:29:38 <kmc> I think Git is not terribly optimized
19:29:45 <kmc> a lot of it is shell scripts or used to be
19:30:16 <shachaf> 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 <shachaf> `olist 1157
19:32:30 <HackEso> olist 1157: shachaf oerjan Sgeo FireFly boily nortti b_jonas
19:34:32 -!- arseniiv has quit (Ping timeout: 255 seconds).
19:38:12 <b_jonas> oooo
19:42:07 <esowiki> [[Special:Log/upload]] upload * Int-e * uploaded "[[File:Magicsharkmirror.png]]": magic mirror for directing sharks
19:45:24 <fizzie> int-e: Not by intention, just by accident.
19:45:39 <fizzie> int-e: From a quick glance, it's just that it's not an enabled-by-default MediaWiki feature.
19:46:45 <fizzie> It'd probably be possible to enable it.
19:47:38 <esowiki> [[Talk:Poolshark]] https://esolangs.org/w/index.php?diff=60199&oldid=60197 * Int-e * (+765) enter the magic mirror
19:48:49 <int-e> 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 <int-e> Though that's a very sad reason.
19:49:52 <int-e> But valid, I'm afraid.
19:53:36 <fizzie> MediaWiki blocks any JS in SVG even when it's enabled.
19:53:44 <fizzie> Of course that's assuming they've managed to catch it all.
19:53:46 <esowiki> [[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 <fizzie> @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 <lambdabot> Consider it noted.
20:07:21 <shachaf> 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 <shachaf> And also a keybinding to clear them both.
20:07:41 <shachaf> This is TG.
20:07:56 <fizzie> That sounds pretty good.
20:08:09 <fizzie> Especially the newline indicator, maybe I could dare to paste from PDFs to IRC with one of those.
20:08:38 <shachaf> Daring to paste to IRC was the goal.
20:09:02 <shachaf> imo can you believe we're still using these archaic terminal uis that don't support paste properly
20:09:05 <esowiki> [[Talk:Poolshark]] https://esolangs.org/w/index.php?diff=60201&oldid=60200 * Int-e * (+237)
20:12:33 <orin> god damn it it has been 2 hours
20:12:36 <orin> stupid git
20:12:49 <int-e> 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 <orin> spacex rocket launch in 11hr30min
20:21:36 <kmc> i usually paste into url bar first
20:21:40 <kmc> to erase newlines
20:21:58 <kmc> orin: it's not giving you a progress indication?
20:22:03 <kmc> it usually does...
20:22:07 <kmc> are you sure you don't want to merge instead?
20:22:20 <kmc> anyway you could look at how many commits there are past the rebase point as a progress
20:22:23 <kmc> maybe
20:25:12 <shachaf> As far as I can tell it's not really possible to watch for clipboard changes in X?
20:25:30 <fizzie> int-e: Is this about the eTLS scam?
20:26:43 <int-e> yes
20:27:00 <int-e> where "e" stands for "backdoor-ready", I believe ;-)
20:27:12 <int-e> (at least that has a nice buzzy ring to it)
20:27:27 <int-e> (and it's far more accurate than "enterprise")
20:28:20 <int-e> 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 <kmc> shachaf: do you poll?
20:29:38 <kmc> shachaf: I think X has various extensions that let you sniff all messages?
20:30:37 <shachaf> I just poll once a second, yep.
20:30:41 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
20:30:57 <shachaf> That seems kind of excessive for a small feature. But maybe it's possible?
20:31:07 <b_jonas> 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 <shachaf> Why?
20:31:54 <shachaf> Sniffing messages doesn't generate messages presumably.
20:32:01 <b_jonas> oh
20:32:15 <b_jonas> but kmc said "sniff all messages"
20:32:26 <shachaf> 👃
20:32:49 <kmc> snort all messages
20:32:59 <kmc> you would have to be careful to ignore your own set-clipboard messages, though
20:33:43 <shachaf> X11 is a mess
20:33:51 <kmc> indeed
20:34:34 <shachaf> and in theory it's a protocol but you can't even implement it yourself if you want opengl or whatever
20:34:51 <shachaf> so you gotta use xlib which is a double mess
20:36:43 <int-e> isn't there an alternative mess (xcb)?
20:37:38 <shachaf> Should I use xcb instead of xlib?
20:37:57 <shachaf> You still need xlib for glx but maybe you can do the rest with xcb.
20:42:54 <int-e> 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 <shachaf> What kind of asynchronicity?
20:43:42 <int-e> It does seem to do GLX though. https://xcb.freedesktop.org/manual/group__XCB__Glx__API.html
20:45:01 <int-e> 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 <int-e> hmm. Xlib
20:46:48 <shachaf> Hmm, really?
20:46:55 <shachaf> I thought I'd be good just polling on the file descriptor.
20:48:28 <int-e> 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 <int-e> It's very low level... I'm not sure I'd really want to go there :P
20:54:38 <int-e> hah, http://www.inkscapeforum.com/images/smilies/tool_pen.gif ... treating tool icons as smileys :)
20:55:07 <shachaf> What should I use instead?
20:55:26 <shachaf> By the way, did you know Gtk renders widgets using CSS nowadays?
20:56:08 <int-e> Hmm, vaguely. I remember tweaking an evince color with CSS at some point.
20:56:47 <b_jonas> shachaf: isn't it Qt that does that?
20:57:05 <shachaf> Qt also does it.
20:57:37 <int-e> it's not all that surprising
20:57:51 <int-e> (once you allow themes)
20:59:43 <b_jonas> weird
21:03:59 <esowiki> [[Special:Log/upload]] overwrite * Int-e * uploaded a new version of "[[File:Magicsharkmirror.png]]": add "bad" circle
21:05:50 <esowiki> [[Talk:Poolshark]] https://esolangs.org/w/index.php?diff=60203&oldid=60201 * Int-e * (+219)
21:07:25 <orbitaldecay> hello all
21:08:11 <int-e> hi there
21:08:27 <orbitaldecay> ooh, you've added something. looking now.
21:09:26 <esowiki> [[Talk:Poolshark]] M https://esolangs.org/w/index.php?diff=60204&oldid=60203 * Int-e * (+1) typo
21:12:44 <orbitaldecay> going to need to think about this, brain is a little tired atm, but thank you for articulating your idea!
21:12:48 <orbitaldecay> I'm excited!
21:13:08 <esowiki> [[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 <orbitaldecay> Collaborating is so cool B)
21:18:58 <int-e> 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 <int-e> I don't understand Mediawiki's caching.
21:20:30 <b_jonas> if in doubt, blame caching
21:20:51 <int-e> 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 <orbitaldecay> got it. excellent. I appreciate your thoughts :)
21:22:10 <int-e> Restarted the browser, now it's fine... (too many caches is what I'm blaming)
21:22:27 <shachaf> int-e: I see, X calls can just block waiting for a reply whenever they want?
21:23:05 <int-e> shachaf: I think so.
21:25:34 <int-e> 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 <int-e> hmm. I should not use "partial derivative" like that :P
21:26:17 <int-e> (I mean it's a partial function...)
21:26:57 <orbitaldecay> yeah, I vaguely recall doing something like that in an introductory real analysis course once
21:29:46 <orbitaldecay> I've been out of school for too long. My brain is rotting haha
21:30:00 <orbitaldecay> going through this will be a good exercise for the evening
21:31:49 <Phantom_Hoover> 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 <shachaf> int-e: Man, the xcb API looks big and complicated.
21:32:53 <shachaf> Is this the canonical way to do things?
21:32:59 <int-e> shachaf: blame the X protocol :)
21:33:10 -!- shikhin has changed nick to shi.
21:33:21 <int-e> 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 <shachaf> Which one?
21:33:47 <b_jonas> shachaf: the canonical way is to use xcb for negotiating and bootstrapping saner protocols
21:33:56 <shachaf> Which ones?
21:34:14 <int-e> Dunno. GTK is the only one I've programmed with.
21:34:34 <b_jonas> 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 <shachaf> I tried to write some GTK code and it was so demoralizing I gave up programming.
21:35:16 <int-e> yet here we are
21:35:27 <b_jonas> I don't know how it all works
21:35:33 <shachaf> Maybe SDL?
21:35:38 <b_jonas> all the toolkits suck these days, but you can't do much about that
21:37:00 <int-e> The postmodern approach is to use an HTML renderer. (Electron...)
21:37:09 <int-e> :-(
21:37:12 <shachaf> That is too postmodern for me.
21:39:08 <int-e> SDL is nice for what it does.
21:46:00 -!- shi has changed nick to shikhin.
21:46:34 <shachaf> int-e: One of the things I don't get about these APIs is why they're full of mallocs.
21:47:41 <int-e> they tend to be OO, and "malloc" is how you do "new" in C?
21:49:41 <shachaf> but why would a low-level api be OO
21:50:19 <shachaf> tdnh
21:50:45 <int-e> uh if you did not refer to toolkit libraries maybe you should be more specific than writing "these"
21:52:08 <int-e> (toolkit libraries tend to think of themselves as highlevel)
21:53:55 <orin> THREEEE HOURS!!!!!
21:54:20 <orin> First, rewinding head to replay your work on top of it...
21:54:28 <orin> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
21:56:52 <shachaf> I mean Xlib and xcb
21:56:56 <int-e> 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 <shachaf> Can't it just tell me the size and let me allocate?
22:00:51 <b_jonas> shachaf: you can just implement that yourself directly
22:00:56 <b_jonas> without using the library
22:01:00 <shachaf> Can I?
22:01:05 <shachaf> I want to use OpenGL.
22:01:22 <shachaf> Or Vulkan or whatever.
22:02:14 <shachaf> 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 <orin> FOUR HOUUUURRRRRS
22:59:03 -!- Cale has joined.
23:05:03 -!- orbitaldecay has quit (Ping timeout: 256 seconds).
23:06:50 <shachaf> ocharles: yocharles
23:12:09 -!- orbitaldecay has joined.
23:12:37 <orbitaldecay> 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 <orbitaldecay> but a method does exist
23:13:01 <orbitaldecay> so we're not in completely uncharted territory
23:15:24 <orbitaldecay> doing it the other way, constructing a continuous function that is only differentiable at irrational points, is apparently easy
23:16:25 <int-e> yeah I can do that by adding sawtooth functions. (period 1/n, amplitude 1/n^2, sum over all n)
23:16:53 <orbitaldecay> oh yeah, that makes sense
23:17:20 <int-e> or step functions to get something that is discontinuous at all rational numbers, and has derivative 0 elsewhere
23:18:20 <int-e> but fortunately, for that magic mirror I just don't care what happens for irrational offsets
23:18:41 <orbitaldecay> 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 <orbitaldecay> bbl
23:27:31 -!- Melvar has joined.
23:37:17 <Sgeo> I miss BZFlag
23:39:08 <int-e> `grwp riddle
23:39:09 <HackEso> No output.
23:39:20 <int-e> `wc -l quotes
23:39:20 <HackEso> wc: invalid option -- ' ' \ Try 'wc --help' for more information.
23:39:23 <int-e> ``wc -l quotes
23:39:23 <HackEso> ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: `wc: not found
23:39:31 <int-e> `` wc -l quotes
23:39:32 <HackEso> 1332 quotes
23:45:58 <kmc> 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 <kmc> standards are so low and everyone is just okay with it for some reason
23:47:07 <kmc> this is one of the reasons i'm giving up on software
23:47:38 <kmc> fuck it, and fuck everything
23:51:43 <Phantom_Hoover> i mean i think that's structural more than anything
23:51:53 <Phantom_Hoover> most notably that the stakes in software are, i think, actually quite low
23:52:48 <Phantom_Hoover> certainly lower than stuff that has historically been called engineering
23:52:55 <kmc> yeah
23:53:19 <kmc> if software came with guarantees and you could sue
23:53:25 <kmc> then companies would have to buy insurance
23:53:33 <kmc> and if their practices are shit then their insurance will be too expensive
23:53:39 <kmc> but the software would also be more expensive
23:54:42 <Phantom_Hoover> sure but i think the reason that doesn't happen is that it's actually not that important when software breaks
23:55:25 <Phantom_Hoover> 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 <Phantom_Hoover> 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 <kmc> it mattered to a bunch of people who got hacked and their lives ruined
23:58:16 <kmc> it doesn't matter to average joe but it's one of the main drivers behind the modern panopticon authoritarian state
23:58:28 <Phantom_Hoover> who got hacked with any of those bugs?
23:59:18 <Phantom_Hoover> and the panopticon authoritarian state is a political problem that must be solved with political action
23:59:24 <Phantom_Hoover> not netsec
23:59:31 <kmc> yeah but we don't have to make it so easy for them
2019-03-02
00:00:07 <kmc> 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 <kmc> anyway that's my opinion
00:00:18 <Phantom_Hoover> is it?
00:00:28 <kmc> I was more venting rather than trying to have an in depth conversation
00:00:36 <kmc> your point is well taken though
00:00:42 <Phantom_Hoover> ok
00:01:10 <Phantom_Hoover> idk i think the glorious vision of, like, wikileaks leading us to a new democratic dawn crashed and burned
00:01:26 <Phantom_Hoover> turned out wikileaks had no political vision beyond iconoclasm and just climbed into the pockets of right-wing ideologues
00:01:47 <b_jonas> 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 <kmc> thanks b_jonas
00:04:12 <kmc> I wasn't upset that PH replied
00:04:25 <kmc> 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 <kmc> and rapidly feeling worse
00:05:54 <Phantom_Hoover> 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 <Phantom_Hoover> im learnding!
00:09:26 <shachaf> most software is p. bad but you can still make ok software
00:09:58 <esowiki> [[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 <int-e> . o O ( silence thine fine utterings )
00:11:02 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=60207&oldid=60151 * A * (-141)
00:11:39 <shachaf> 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 <zzo38> 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 <Phantom_Hoover> can't you do that for all libraries that use a dynamically linked malloc
00:41:12 <pikhq> But only globally.
00:42:00 <kmc> with enough hackery it wouldn't have to be global
00:42:13 <kmc> however, you will then have big problems if allocations are passed between libraries
00:42:35 <pikhq> And I can think of more pleasant uses of your time, such as gouging out your eyes.
00:42:39 <zzo38> 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 <pikhq> zzo38: Oh, it's storing the allocator globally? Ick.
00:43:26 <shachaf> Taking an allocator argument can be good but sometimes I don't want to call any allocator.
00:43:39 <shachaf> Just allocate some memory for the thing up front
00:43:54 <zzo38> Yes, although SQLite does the same thing (although I think SQLite4 allows you to create local environments too)
00:44:36 <zzo38> shachaf: You can do that, if the passed function just returns the already allocated data
00:45:00 <zzo38> (But then you still have to keep track by yourself of the allocations anyways; that is what TeX does)
00:45:02 <shachaf> But then I need to make a custom allocator for that one call.
00:45:51 <zzo38> 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 <orbitaldecay> Hello all
01:37:25 <zzo38> Hello
01:37:44 <shachaf> `yo orby
01:37:45 <HackEso> ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: yo: not found
01:37:49 <shachaf> huh
01:37:52 <shachaf> `dobg yo
01:37:53 <HackEso> No output.
01:38:03 <shachaf> v. mysterious. vysterious.
01:38:09 <orbitaldecay> hey shachaf! hey zzo38!
01:38:16 <shachaf> `5 w
01:38:18 <HackEso> 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 <shachaf> `n
01:38:25 <HackEso> 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 <orbitaldecay> Are there any other langs on the wiki based on dynamical systems that anyone knows of?
01:38:54 <orbitaldecay> not neccesarily systems of differential equations, just general dynamical systems
01:38:58 <orbitaldecay> double pendulum, etc.
01:39:11 <shachaf> `? np
01:39:12 <HackEso> NP is the complexity class of decision problems that are No Problem.
01:39:22 <shachaf> `? p
01:39:24 <HackEso> P is the complexity class of Problems. They can be solved by reduction to NP.
01:39:34 <shachaf> `cwlprits p
01:39:36 <HackEso> oerjän oerjän
01:39:38 <shachaf> 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 <oerjan> shachaf: no hth
02:11:07 <oerjan> 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 <oerjan> s/a/another/
02:11:57 <shachaf> I forgot you have that script.
02:12:03 <shachaf> Does it still not do /me?
02:12:10 <oerjan> after that message they're apparently loaded
02:12:26 <oerjan> yep, that's what the s/ was for
02:13:18 <shachaf> the hth script hanothers a silly bug
02:13:30 <oerjan> yep!!
02:14:17 <shachaf> is hanother named after hanover
02:14:56 <orbitaldecay> oerjan: did you see int-e's interesting idea on the poolshark talk page?
02:38:52 <oerjan> not yet
02:55:15 -!- TellsTogo has joined.
02:58:27 <fizzie> What does the hth script do twh
02:59:26 <shachaf> s/ hth$//
02:59:42 <oerjan> also similar for a few other acronyms
03:00:26 <oerjan> tdh tdnh twnh at least
03:00:36 <shachaf> the dogs howl
03:00:38 <shachaf> the dogs now howl
03:00:43 <shachaf> the witches now howl
03:01:14 <oerjan> yeah those are all
03:01:34 <oerjan> not werewolves?
03:01:40 <shachaf> that would make more sense
03:01:50 <oerjan> or just wolves actually
03:02:01 <shachaf> that would make more sense
03:02:12 <shachaf> since wolves howl and witches do not
03:02:22 <shachaf> werewolves do not even exist so they certainly don't howl
03:02:23 <oerjan> i'm not sure about witches
03:03:01 <oerjan> well they're hypothetical beings as implied by the "were"
03:06:13 <shachaf> aren't those just past beings
03:06:22 <shachaf> as opposed to arewolves which exist right now
03:14:31 <oerjan> if they were past beings, they wouldn't be hypothetical duh
03:14:42 <oerjan> i suppose it's ambiguous
03:43:37 -!- adu has joined.
05:43:58 <orin> so the singular of werewolves is waswolf
05:45:33 -!- tromp has quit (Remote host closed the connection).
06:03:33 <oerjan> orin: only with shachaf's interpretation hth
06:05:01 <oerjan> which would not apply if the werewolf were hypothetical
06:06:14 <shachaf> That's true.
06:06:27 <shachaf> 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 <oerjan> 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 <adu> oerjan?
06:48:23 <pikhq> You appear to be connected via IP-over-smoke-signal.
06:48:58 <adu> huh
07:06:08 <oerjan> adu: you stopped just as i was putting my finger on the ban button
07:06:30 <oerjan> SPOOKY
07:06:45 <orin> argh what's with the kloeri spam
07:06:54 <orin> on eveyr channel I'm in except this one
07:07:51 <oerjan> is someone making abusive messages about freenode staff again
07:09:11 <pikhq> Yes.
07:09:21 <shachaf> i don't care to click the link and find out who the target is hth
07:09:24 <shachaf> `5 w
07:09:27 <HackEso> 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 <pikhq> 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 <shachaf> `n
07:09:34 <HackEso> 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 <shachaf> `cwlprits erlang
07:09:47 <HackEso> oerjän Sgëo
07:09:57 <shachaf> `dowg erlang
07:09:58 <HackEso> 8481:2016-06-14 <oerjän> sled wisdom/erlang//s/./E/;s/$/./ \ 8478:2016-06-14 <Sgëo> learn erlang has tricked people into loving global mutable variables while pretending to embrace immutability
07:10:00 <pikhq> shachaf: The target is a decent guy who pissed off some idiot trolls, basically.
07:10:12 <oerjan> pikhq: "unknown mode character +R"
07:10:17 <shachaf> pikhq: I mean, whether the target is a Freenode staff or something else.
07:10:35 <pikhq> oerjan: Yeah, it's not on Freenode; unreal IRC does different modes than here
07:10:45 <oerjan> hm what was it we did
07:10:50 <pikhq> shachaf: Former Freenode staffer, IIRC.
07:10:51 <shachaf> can you set this channel to be unreal twh
07:10:58 <shachaf> pikhq: OK, but I don't even know their name.
07:11:03 <shachaf> I'm not going to click the link.
07:11:08 <pikhq> Fair.
07:11:08 <shachaf> I didn't even know it was a person.
07:11:15 <oerjan> we silenced unregistered users, but i've forgotten the incantation
07:11:33 <pikhq> shachaf: The link is for a distro.
07:11:58 <pikhq> 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 <shachaf> oerjan: +r hth
07:15:18 <zzo38> That allows only registered users to join.
07:15:27 <zzo38> (It is explained by "HELP CMODE".)
07:16:07 <ChanServ> oerjan quieted $~a
07:16:07 -!- ChanServ has set channel mode: +q $~a.
07:16:10 <zzo38> 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 <oerjan> shachaf: found it in my chanserv logs
07:16:36 <zzo38> (explained by "HELP EXTBAN")
07:16:37 <shachaf> You log?!
07:16:54 <oerjan> shachaf: private queries only
07:17:00 <shachaf> scow
07:17:03 -!- oerjan has set channel mode: -o oerjan.
07:17:06 <shachaf> scøw
07:17:30 <oerjan> shachaf: irssi apparently does so by default for messages i send, too
07:17:38 <oerjan> no idea how to turn that off
07:18:53 <shachaf> 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 <orbitaldecay> Greetings all
16:30:20 <zzo38> Hello
16:30:25 <rain1> hi
16:31:24 <zzo38> 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 <esowiki> [[Poolshark]] M https://esolangs.org/w/index.php?diff=60208&oldid=60177 * Orby * (+31) /* Introduction */
17:02:29 -!- imode has joined.
17:33:01 <zzo38> Are you any good at computer machines with cards?
17:34:32 <rain1> I think it should error by lighting up a LED that indicates failure and eject the card
17:35:34 <zzo38> 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 <rain1> no ive never
17:43:01 <zzo38> OK
17:44:24 -!- housecarpenter has joined.
18:10:01 -!- FreeFull has quit.
18:39:12 <esowiki> [[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 <zzo38> How should priorities of noun phrases be assigned in a text adventure game, do you think?
19:32:58 <b_jonas> orbitaldecay: re dynamical systems, ais523's integrator language should count. https://esolangs.org/wiki/Analogia
19:34:15 <rain1> I'm not sure what it means to assign noun phrases
19:36:46 <zzo38> 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 <rain1> oh interesting
19:37:48 <rain1> i suppose it looks over all options and picks the highest priority
19:38:01 <zzo38> Yes.
19:38:04 <rain1> or uses priority to break ties
19:38:34 <zzo38> 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 <orin> https://i.imgur.com/NcW0NJL.jpg
20:15:58 <imode> 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 <orbitaldecay> 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 <zzo38> 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 <rain1> unhuffman encoding a random bitstream would be randomly generating letters with varying probability
22:55:01 <zzo38> Yes, although there is other kind of compression too, as well as stuff to compress other than text.
22:55:29 <b_jonas> zzo38: you could consider a lot of sampling algorithms, like what fungot does, to be doing that
22:55:29 <fungot> 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 <imode> ah, the wisdom of fungot.
22:56:11 <fungot> imode: http://octiron.org/ temp/ fnord temp/ fnord
22:57:32 <b_jonas> 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 <zzo38> 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 <shachaf> 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 <pikhq> I'm guessing they imposed some requirements that resulted in that.
23:38:25 <pikhq> Something like interacting vaguely sanely with C code that's unaware of C++ coroutines or some such.
23:39:00 <shachaf> Somehow they reduced it to an unsolved research problem in compiler optimization that should be solved in 5-10 years.
23:39:10 <shachaf> this is the superpower of the c++ committee
23:39:53 <pikhq> Which is funny, when you consider that _C_ can get simpler coroutines.
23:40:08 <pikhq> I mean, it's not as a standard language feature, but it would not take much.
23:40:42 <pikhq> (by the way, IMO a new language that's imperative-y really should just fucking do coroutines.)
23:40:49 <shachaf> Well, C++ isn't doing stack switching style coroutines, they're going for something more efficient.
23:41:19 <pikhq> Allegedly.
23:41:58 <shachaf> Well, it's what they were going for, I have no idea what they actually ended up with.
23:42:14 <shachaf> But I'd certainly like there to be a language that has good support for this style, rather than stack switching.
23:44:08 <shachaf> 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: <chnamsguy> i just need to know if you are a man).
23:57:01 <zzo38> How is C++ coroutines is work?
23:57:51 <shachaf> I don't know, it's very complicated apparently.
23:59:10 <oerjan> did the spam in other channels from yesterday stop?
23:59:22 <zzo38> 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 <int-e> oerjan: you probably missed this global message: http://paste.debian.net/1071134/
00:00:27 <shachaf> zzo38: I want coroutines that compile to state machines instead of stack switching.
00:00:51 <oerjan> int-e: and are the messages working? >:)
00:01:00 <int-e> (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 <b_jonas> int-e: yes, I know, the wrote about that
00:01:42 <int-e> b_jonas: ???
00:02:45 <b_jonas> int-e: http://freenode.net/news/spamfilter
00:02:52 <b_jonas> from 2018-09
00:03:09 <ChanServ> 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 <b_jonas> again?
00:03:27 <oerjan> come to think of it, i don't need op for this
00:03:31 <b_jonas> I thought we were past that
00:03:43 <oerjan> b_jonas: again what?
00:04:06 <b_jonas> again quieting users without account
00:04:18 <int-e> 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 <b_jonas> int-e: I wasn't writing about it
00:04:45 -!- tromp has quit (Remote host closed the connection).
00:04:49 <b_jonas> freenode staff was
00:05:14 <b_jonas> about the server-side spam filter
00:05:21 <int-e> 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 <oerjan> b_jonas: i added it yesterday just in case while waiting for freenode to solve it globally
00:06:05 <b_jonas> oerjan: meh, I probably just don't notice the spam
00:06:07 <b_jonas> I have a mental filter
00:07:14 <orin> https://www.youtube.com/watch?v=r3A6fsBqOHg
00:07:54 <int-e> Enviable. I need /ignore for that...
00:08:23 <orin> added 痩痴瘍療癒癖皆盆
00:11:11 <oerjan> b_jonas: mostly likely they didn't get around to this channel this time, anyway
00:11:15 <oerjan> *-ly
00:11:50 <oerjan> and iirc last time they were using ridiculously annoying colors, unless that was a different spammer
00:12:26 <oerjan> 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 <orin> they didn't get to this channel but they were claiming that exherbo linux was "linuc for pedophiles"
00:17:46 <int-e> shachaf: I think a compiler is still allowed to try very hard to avoid allocations.
00:18:09 <shachaf> int-e: I just want a struct, man
00:18:10 <shachaf> twh
00:18:27 * int-e shrugs
00:18:47 <shachaf> s/I/i/
00:18:48 <int-e> it's a cruel world; we hardly ever get what we want.
00:18:57 <shachaf> Especially when we use C++.
00:19:50 -!- Lord_of_Life_ has joined.
00:21:05 <oerjan> 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 <b_jonas> oerjan: oh, the _colors_, those I don't display using the irc client.
00:21:41 <b_jonas> `relcome
00:21:42 <HackEso> Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <https://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
00:22:16 <shachaf> دnet
00:22:38 <shachaf> Ф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 <ais523> 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 <ais523> 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 <ais523> err, Turing-hard, anyway
01:08:58 <ais523> as pointed out, it's not obvious it's computable
01:09:56 <ais523> 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 <b_jonas> ohai
01:10:17 <ais523> then you can effectively build a divmod-counter machine
01:10:24 <ais523> hi b_jonas
01:10:37 <b_jonas> that mario galaxy stuff?
01:11:02 <shachaf> So what's the right model for a computable function on computable reals?
01:11:02 <ais523> what does Mario Galaxy have to do with this? besides, now you mention it, probably being TC in its own right
01:11:22 <shachaf> 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 <ais523> shachaf: that's a very hard question, because equality of computable reals is not decidable
01:11:37 <b_jonas> 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 <shachaf> I didn't require it to be decidable.
01:11:55 <ais523> 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 <shachaf> OK, simpler question: What's the right model for a computable function on conatural numbers?
01:12:34 <shachaf> A conatural number is either a natural number or infinity.
01:12:37 <ais523> 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 <shachaf> Or: A program that either prints some finite number of 1s and halts, or prints 1s forever.
01:13:02 <ais523> b_jonas: that doesn't surprise me
01:13:35 <ais523> shachaf: what facilities do we have for /reading/ these numbers? that seems relevant here
01:13:54 <ais523> 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 <shachaf> 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 <shachaf> Ah. Yes.
01:14:27 <shachaf> Just like you can only read a computable real to a finite precision at a time.
01:14:58 <ais523> 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 <ais523> like, if f(x::y)=z, then f(x) is a prefix of z
01:15:13 <b_jonas> oh, you mean reading them in unary?
01:15:17 <ais523> :: is sequence concat
01:15:20 <ais523> b_jonas: doesn't matter
01:15:27 <shachaf> Yes, conatural numbers are represented in unary the way I put it.
01:15:44 <shachaf> You can also say that you can ask it "are you <= n?" for any n.
01:15:51 <shachaf> Or some other scheme.
01:15:53 <ais523> or, hmm, it matters in that you can have different infinities if you use a larger base
01:16:01 <shachaf> ais523: You know the "seemingly impossible functional programs" thing?
01:16:12 <b_jonas> or dyadic numbers or something
01:16:12 <shachaf> Equality of total predicates on conatural numbers is decidable.
01:16:17 <ais523> shachaf: very well, the person who invented it works at my department
01:16:23 <shachaf> WHich person?
01:16:40 <shachaf> Oh, Escardó.
01:16:44 <shachaf> I didn't know he was there.
01:16:46 <ais523> Martin Escardó
01:16:54 <b_jonas> hmm, I seem to remember I saw that somewhere
01:17:01 <ais523> also was the internal examiner for my PhD
01:17:03 <shachaf> OK, then you know what I'm getting at here.
01:17:07 <ais523> yes
01:17:15 <shachaf> whoa, fancy
01:17:54 <shachaf> So maybe my vague argument is, the whole "seemingly impossible" thing comes from having a complicated model for computation.
01:18:18 <shachaf> If you just had Turing machines, you could simulate the predicate, and see what questions it asks you.
01:18:44 <shachaf> (Which is also awkward but in a different way.)
01:19:18 <ais523> I guess a less impossible-seeming program, but related, is the worst-case comparison predicate
01:19:28 <shachaf> What's that?
01:19:46 <ais523> it's specified as follows: suppose you have a comparison sorting algorithm that never makes redundant calls to the comparison predicate
01:20:07 <ais523> the worst-case comparison predicate will cause any such sorting algorithm to take as long as possible to sort the list
01:20:29 <ais523> (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 <shachaf> Ah, that's related, sure.
01:21:24 <shachaf> It seems to me that a nicer model of this might remove the nesting and simulation and so forth.
01:21:55 <shachaf> 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 <ais523> PPCG had a question about writing automatic counterexample generators for purported halting problem solvers; that was also a pretty similar idea
01:22:19 <shachaf> 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 <shachaf> Is there such a model?
01:23:41 <ais523> 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 <ais523> although one problem is that it's more like a general framework for model-building, rather than a specific model
01:24:01 <shachaf> Right.
01:24:31 <b_jonas> is communication complexity a more specific model, for when you care more about the details?
01:25:13 <shachaf> I think thinking of computable functions on computable reals as a two-way channel helps here.
01:25:17 <ais523> 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 <b_jonas> huh...
01:26:27 <b_jonas> maybe it's not called that then? let me check
01:26:40 <b_jonas> in the Zoo
01:27:14 <b_jonas> https://complexityzoo.uwaterloo.ca/Complexity_Zoo:P#pcc definitely says "communication complexity"
01:27:59 <ais523> b_jonas: I wouldn't expect to have heard of it
01:28:06 <b_jonas> 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 <ais523> not really, I generally study computability classes more than complexity classes
01:29:49 <b_jonas> yeah
01:29:55 <ais523> 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 <ais523> (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 <b_jonas> well, you don't have to actually do the Huffman coding, more like just make proofs about ap..
01:30:42 <b_jonas> a
01:30:45 <b_jonas> uh
01:30:49 <b_jonas> growth rates
01:30:59 <b_jonas> asymptotics
01:32:12 <ais523> 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 <shachaf> So all these "seemingly impossible" things rely on compactness in some sense.
01:32:42 <ais523> 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 <shachaf> 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 <ais523> 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 <shachaf> Escardó wrote that thing about synthetic topology which I've only read part of.
01:33:59 <b_jonas> 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 <shachaf> I guess I ought to read it properly.
01:34:39 <b_jonas> 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 <b_jonas> and we do know (out of universe) that the band leader would have recognized him
01:36:51 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60210&oldid=60205 * Cortex * (+331)
01:52:17 <ais523> 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 <ais523> on Integer, your program can have an infinite decision tree and still be finite on any particular integer
01:53:15 <shachaf> Right.
01:53:21 <ais523> 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 <shachaf> Being total on a conatural number is a very strong restriction.
01:53:29 <ais523> yes
01:53:30 <shachaf> Or on an infinite bit stream, sure.
01:54:31 <b_jonas> oh, so that's what you mean by compactness
01:54:44 <ais523> 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 <ais523> and comparing the trees is trivial once you know what they are
01:55:47 <ais523> so I guess a good model of total functions Cantor → x is as actual listings of all possible tree branches
01:56:29 <shachaf> I don't think they're really irrelevant.
01:56:30 <ais523> 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 <shachaf> 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 <ais523> 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 <oerjan> (edwardk probably knows)
01:58:52 <shachaf> I mean, I think the answer is "compactness" or maybe a little more than that.
01:59:49 <b_jonas> 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 <b_jonas> both of those compactnesses are very useful.
02:00:42 <b_jonas> the calculus one comes up all the time in proofs; the logic one comes up all the time in heuristics.
02:01:04 <b_jonas> but I wonder why the name is the same
02:01:09 <oerjan> hm apparently today is Cantor's birthday
02:01:29 <b_jonas> there's probably some crazy logic reason behind it.
02:02:03 <shachaf> 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 <shachaf> set
02:03:32 <ais523> when you put it like that, I think it's the property I was looking for
02:03:42 <ais523> I didn't get there from the normal definition of compactness though
02:04:07 <shachaf> How do you write find with that?
02:04:10 <b_jonas> hmm
02:05:02 -!- Essadon has quit (Quit: Qutting).
02:05:32 <b_jonas> also I should read up on the Baire thing at some point and understand it at least a little
02:05:40 <shachaf> Which thing?
02:05:46 <b_jonas> the Baire category theorem
02:06:15 <b_jonas> 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 <shachaf> ais523: The original motivation for thinking about these things is the fact that integration of computable functions is computable.
02:06:44 <shachaf> Which wasn't obvious to me until I thought of it in these other terms.
02:08:17 <ais523> shachaf: I'm interested in knowing whether or not Analogia is computable
02:08:23 <ais523> you're making it sound like it is
02:08:36 <ais523> although it wouldn't follow directly from that result
02:08:56 <ais523> (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 <oerjan> 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 <shachaf> formfeed, huh
02:10:50 <b_jonas> oerjan: um, both of what are special cases of what?
02:10:58 <b_jonas> both of the compactness theorems?
02:11:33 <oerjan> yes
02:11:38 <oerjan> or of the concept
02:12:08 <oerjan> closed bounded intervals are topologically compact, from which you can prove the uniform continuity thing
02:12:18 <b_jonas> yes, in that case the concept is clear
02:12:25 <b_jonas> I don't know what the concept is in logic though
02:13:20 <b_jonas> (the calculus compactness also has the handy corollary that such functions are bounded)
02:13:45 <shachaf> ais523: Anyway I think the answer is probably something close to compactness as stated, but more computational.
02:13:54 <shachaf> and maybe overtness is also involved??
02:14:12 <b_jonas> (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 <b_jonas> I also had a totally different maths question, but I forgot what it was
02:20:14 <oerjan> 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 <b_jonas> oerjan: but what's the topology to which that is closed?
02:21:43 <b_jonas> or is that trying to defined the topology with a co-base?
02:23:04 <oerjan> pretty much
02:23:57 <b_jonas> hmm
02:24:17 <oerjan> 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 <kmc> does anyone here know about statistics
02:42:19 <kmc> I have some data and want to answer the question "do these data appear to be normally distributed"
02:42:27 <kmc> what's a good way to do it?
02:42:33 -!- adu has joined.
02:42:42 <kmc> I know about the Kolmogorov-Smirnov test, it sounds like it does exactly this, but I've never used it before
02:43:09 <zzo38> I have not used it before either, so I don't know.
02:43:24 <pikhq> Statistics honestly left my head after I finished that class.
02:43:35 <pikhq> Which made stochastic modelling... interesting.
02:44:15 -!- orbitaldecay has quit (Ping timeout: 256 seconds).
02:47:15 <kmc> ok there's a whole article about it https://en.wikipedia.org/wiki/Normality_test
02:48:00 <kmc> in my application, each dataset is a time series of the received signal strength on a particular radio frequency over time
02:48:32 <kmc> I want to distinguish frequencies that are in use from those which are not.
02:48:52 <kmc> here's what it looks like https://i.imgur.com/Gwaz5p9.png (frequency on horizontal axis, time on vertical)
02:48:57 <b_jonas> kmc: why would the received signal strength be normal distributed?
02:49:11 <b_jonas> for an unused frequency that is
02:49:16 -!- housecarpenter has quit (Read error: Connection reset by peer).
02:49:26 <kmc> I don't know, but many noise processes are?
02:49:30 <kmc> it's just a default assumption
02:49:39 -!- housecarpenter has joined.
02:50:14 <b_jonas> not very convincing, but I guess you could try if it works for your application
02:50:14 <kmc> 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 <kmc> then the active frequencies are those which are above a certain threshold std. dev.
02:52:34 <kmc> (and are not within 16 kHz of a frequency with greater std. dev.)
02:54:33 <b_jonas> are you looking for modulated EM signals originating from extraterrestrial civilizations here?
02:54:37 <kmc> no
02:54:59 <kmc> though I suppose it's not completely unlike that :P
02:55:10 <kmc> but no I'm just looking at which ham radio frequencies are in use locally, and when
02:56:13 <kmc> 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 <kmc> 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 <kmc> (this is not a well-isolated or low-noise setup)
02:57:50 <kmc> and some of the actual signals on other frequencies are much weaker
02:57:58 <kmc> 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 <kmc> actually I bet I can distinguish them from skewness alone
03:01:07 <kmc> https://docs.scipy.org/doc/scipy-0.15.1/reference/generated/scipy.stats.skew.html
03:01:07 <fizzie> Another simplistic solution is to just subtract the long-term average to remove all stationary noise.
03:01:28 <kmc> true
03:01:39 <kmc> that is smart and very simple
03:02:27 <kmc> it's easy to overcomplicate things with statistics
03:08:57 <kmc> only problem is, the background level of power seems to change over time
03:10:31 <kmc> here is a 25 hour recording: (warning, very tall image) https://ibin.co/w800/4Ys1u47OCtDS.png
03:11:19 <kmc> background noise comes and goes, who knows why. could be aliens, could be a lamp switching on somewhere
03:13:11 <kmc> 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 <kmc> oh well, it's fun to stare at such plots anyway
03:15:29 <kmc> the raw data for that plot is a 30 MB gzip'd CSV
03:16:39 <kmc> giving the power (in dBm) at 4 kHz steps from 144 MHz up to (and not including) 148 MHz
03:16:42 <kmc> generated by the rtl_power utility
03:19:02 <kmc> 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 <kmc> 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 <kmc> 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 <fizzie> 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 <kmc> aw, too bad
03:41:20 <kmc> 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 <esowiki> [[Esolang:Featured languages/Recent]] https://esolangs.org/w/index.php?diff=60211&oldid=59223 * Ais523 * (+0) archive Funciton
05:43:59 <esowiki> [[Esolang:Featured languages]] https://esolangs.org/w/index.php?diff=60212&oldid=59224 * Ais523 * (+888) /* Archive */ archive Funciton
05:52:27 <esowiki> [[Esolang:Featured languages/Current]] https://esolangs.org/w/index.php?diff=60213&oldid=59225 * Ais523 * (-83) featured language blurb for [[Thue]]
05:53:10 <esowiki> [[Thue]] https://esolangs.org/w/index.php?diff=60214&oldid=55414 * Ais523 * (+22) {{featured language}}
05:53:31 <esowiki> [[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 <ais523> hmm, finding good languages to feature is hard
05:55:23 <ais523> 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 <Hooloovo0> so the answer is to nominate none of them, and make someone else doit
06:08:20 <Hooloovo0> do it even
06:08:35 <ais523> yes, but admins historically don't update the featured language much
06:08:46 <ais523> 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 <ais523> one admin updating is an improvement, but means that it's hard to feature languages that that admin was involved in
06:09:16 <Hooloovo0> yeah
06:09:25 <ais523> (and Esolang admins tend to have been involved with lots of esolanguages just due to the nature of the job)
06:10:59 <ais523> hmm, I guess this would be a good time for a candidate reset
06:11:18 <esowiki> [[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 <oerjan> wut
06:14:14 <ais523> oerjan: the candidate list hadn't been reset since 2012
06:14:17 -!- tromp has joined.
06:14:42 <ais523> 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 <ais523> and "the featured language was stuck on BF for years" implies a good timing for it
06:15:09 <esowiki> [[Special:Log/newusers]] create * Hooloovoo * New user account
06:15:55 <ais523> "infrequently" is fair enough, but 7 years is too long
06:18:12 <esowiki> [[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 <esowiki> [[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 <kmc> lol
06:26:41 * Hooloovo0 nominates all the joke languages
06:28:12 <oerjan> a joke language might be good for next month
06:28:31 <oerjan> last we featured a language in april it was deadfish
06:29:04 <ais523> yes, if you feature joke languages, April is a good time for it
06:29:59 <ais523> what are the most interesting joke languages out there? Unnecessary comes to mind
06:30:19 <ais523> TURKEY BOMB is one of the best joke languages but its article is a stub
06:31:16 <ais523> Esme also came to mind, but featuring that would ''not'' be a good idea
06:31:29 <Hooloovo0> I've known merthese for a long time, but I'm not sure it works as a featured lang
06:31:31 <oerjan> u don say
06:33:32 <ais523> Merthese doesn't have much to distinguish it from the other string-printing loopless imperative languages
06:33:47 <ais523> 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 <ais523> 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 <ais523> the article itself is great, though
06:35:52 <Hooloovo0> yeah, that's about what I was thinking
06:36:24 <ais523> OK, I just reread https://esolangs.org/wiki/Merthese and it was even better the second time
06:36:35 <ais523> 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 <ais523> e.g. first I missed the duplicate commands, and then I missed the resolution of the duplicate commands
06:38:22 <ais523> I guess what makes the language great is the development process
06:38:56 <Hooloovo0> yeah, all the @kerm, @nikky, etc are people who added the extension
06:39:58 <ais523> 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 <Hooloovo0> better than x86
06:41:31 <ais523> well, x86 doesn't have a command for printing newlines at all :-D
06:41:58 <Hooloovo0> 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 <Hooloovo0> hmm, I feel like binary lambda calculus should be extended
06:44:32 <Hooloovo0> oh, tromp isn't on
06:44:36 <ais523> 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 <shachaf> why would you feature a well-known thing
06:46:08 <kmc> shachaf: hichaf
06:46:26 <ais523> shachaf: well, it depends on what the purpose of featuring languages is
06:46:43 <ais523> 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 <shachaf> higan
06:48:47 <Hooloovo0> what about something competitive like bfjoust?
06:50:16 <ais523> oh, BF Joust is definitely featurable
06:50:39 <ais523> 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 <ais523> October would be a good month to do the actual featuring for that
06:56:02 <Hooloovo0> recently I had a friend link to https://esolangs.org/wiki/SyL
06:56:04 * Hooloovo0 is grepping through irc logs
06:56:16 <Hooloovo0> response: wow, I feel like that system of numbers is maximally designed to fuck with Japanese speakers
06:56:32 <Hooloovo0> (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 <Hooloovo0> 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 <magickal> can someone help? can all magick be considered witchcraft?
11:30:20 <myname> you might want to read the topic
11:32:38 -!- Phantom_Hoover has joined.
11:54:26 <magickal> oh i c..
11:54:30 <magickal> thanks
11:54:35 -!- magickal has left ("Leaving").
12:02:44 <LKoen_> oh, it's a cloning factory
12:02:50 <LKoen_> 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 <b_jonas> kmc: what framerate and exposure time do you use when measuring the power?
13:02:00 -!- Essadon has joined.
13:03:01 <b_jonas> 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 <b_jonas> `bobadventureslist http://bobadventures.comicgenesis.com/d/20190303.html
14:10:27 <HackEso> bobadventureslist http://bobadventures.comicgenesis.com/d/20190303.html: b_jonas
14:10:53 <b_jonas> `ehlist http://eheroes.smackjeeves.com/comics/2755886/when-inspiration-strikes/
14:10:54 <HackEso> 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 <b_jonas> [ 'lr'{~?2
16:21:43 <j-bot> 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 <orin> `unicode 𝑕
17:25:55 <HackEso> U+1D455 - No such unicode character name in database \ UTF-8: f0 9d 91 95 UTF-16BE: d835dc55 Decimal: &#119893; \ 𝑕 (𝑕) \ Uppercase: U+1D455 \ Category: Cn (Other, Not Assigned)
17:26:27 <orin> `unicode 𝚨𝚩𝚪𝚫
17:26:28 <HackEso> U+1D6A8 MATHEMATICAL BOLD CAPITAL ALPHA \ UTF-8: f0 9d 9a a8 UTF-16BE: d835dea8 Decimal: &#120488; \ 𝚨 \ Category: Lu (Letter, Uppercase) \ Bidi: L (Left-to-Right) \ Decomposition: <font> 0391 \ \ U+1D6A9 MATHEMATICAL BOLD CAPITAL BETA \ UTF-8: f0 9d 9a a9 UTF-16BE: d835dea9 Decimal: &#120489; \ 𝚩 \ Category: Lu (Letter, Uppercase) \ Bidi: L (Left-to-Right) \ Decomposition: <font> 0392 \ \ U+1D6AA MATHEMATICAL BOLD CAPITAL GAMMA \ UTF-8: f0 9d
17:26:29 <orin> 𝚬𝚭𝚮𝚯𝚰𝚱𝚲
17:41:29 <b_jonas> ah, it was.
17:41:37 <b_jonas> 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 <b_jonas> 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 <b_jonas> my honored and learned friend fungot, your source code is on whose T-shirt?
17:53:14 <fungot> 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 <esowiki> [[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 <esowiki> [[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 <b_jonas> 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 <b_jonas> 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 <esowiki> [[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 <b_jonas> ``` \? fu\ngot
18:22:05 <HackEso> 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 <esowiki> [[Works in progress]] https://esolangs.org/w/index.php?diff=60221&oldid=59261 * Cortex * (+14)
19:15:30 -!- tromp has joined.
19:23:14 <esowiki> [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60222&oldid=60216 * B jonas * (+656) /* List of candidates */
19:24:13 <esowiki> [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60223&oldid=60222 * B jonas * (+94) /* List of candidates */
19:25:52 <esowiki> [[User:Cortex]] https://esolangs.org/w/index.php?diff=60224&oldid=60100 * Cortex * (+14)
19:44:32 <esowiki> [[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 <b_jonas> [ 29*1.609344
19:55:21 <j-bot> b_jonas: 46.671
20:04:46 <b_jonas> 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 <zzo38> I think it look like OK the way it is
20:15:19 <kmc> shachaf: what do you think could be done to get better efficiency from the low ascii codepoints in utf-8
20:15:41 <kmc> obviously it would be incompatible but how could you do it while preserving the nice properties of utf8
20:15:49 <kmc> maybe you can't
20:17:47 <shachaf> i,i UTF-EBCDIC
20:18:16 <shachaf> Is there a real efficiency problem there?
20:20:04 <j4cbo> kmc: give commonly used codepoints lower values
20:21:04 <zzo38> j4cbo: Yes, that reduces the number of bytes needed to encode that number as UTF-8
20:21:19 <pikhq> 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 <pikhq> ... and you could get more mileage out of just using a common compression algorithm instead.
20:22:25 -!- adu has joined.
20:23:10 <zzo38> Yes, you can do that
20:23:46 <j4cbo> UCS-4!
20:25:19 <kmc> pikhq: yeah, that was my conclusion
20:29:02 <kmc> 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 <kmc> one of the best things about UTF-8 is that it's self synchronizing
20:29:55 <zzo38> Yes, and it is compatible with ASCII
20:30:18 <kmc> yeah
20:35:23 <pikhq> Yeah. SCSU is kinda cute as a concept, but it's going to be somewhat rare that it's worth it.
20:36:15 <pikhq> (mostly if you have the need to compress, seperately, many different very short strings. Where "very short" here means "tweet sized".)
20:36:28 <Phantom_Hoover> 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 <pikhq> Isn't that a lead byte for a surrogate?
20:37:12 <Phantom_Hoover> i may have got the specific byte wrong
20:37:15 <pikhq> Oh, no, for an over-long encoding.
20:37:22 <Phantom_Hoover> yeah
20:37:31 <b_jonas> PH: yes, there are four invalid bytes
20:37:34 <pikhq> 0xC0 would be for a two-byte encoding of something under 0x7f.
20:37:40 <pikhq> b_jonas: There's more than that.
20:37:45 <Phantom_Hoover> it's the lead byte for a multibyte sequence which would have enough leading zeroes to not need a multibyte sequence
20:37:57 <b_jonas> 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 <pikhq> 0xF5 through 0xFF are also invalid.
20:38:31 <pikhq> But those are would be used to encode a codepoint over U+10FFFF.
20:38:37 <pikhq> *those would
20:38:38 <b_jonas> pikhq: yeah, now that they claim that the largest character value can be 0x10FFFF, those are invalid too
20:38:45 <pikhq> s/claim/define/
20:39:17 <pikhq> 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 <b_jonas> 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 <b_jonas> but people may want to encode non-characters in utf-8, for private purposes like formatting
20:40:00 <pikhq> I don't think so -- UTF-16 is a bit too entrenched.
20:40:16 <b_jonas> pikhq: true, but then, if they need more space for characters they will do something
20:40:30 <j4cbo> the amount of damage done in the 5-year period when Unicode was 16 bits is staggering
20:40:33 <b_jonas> UTF-16 was already entranched when they decided to go for more than the prime material plane
20:40:56 <j4cbo> b_jonas: that was UCS-2
20:41:05 <b_jonas> eh so that then
20:41:19 <pikhq> And I have some doubts they'll even really need to go much past the assigned planes.
20:41:23 <j4cbo> wchar_t, etc
20:42:05 <pikhq> 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 <zzo38> 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 <kmc> j4cbo: truth
20:43:13 <kmc> Windows, Java, and JavaScript all adopted UCS-2 :(
20:43:31 <kmc> mankind will never be free of the scourge of JavaScript
20:43:34 <kmc> it's with us for the rest of civilization
20:43:40 <b_jonas> 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 <zzo38> UTF-16 is helpful when working with Unicode text in JavaScript, since JavaScript strings are sequences of 16-bit characters.
20:44:02 <j4cbo> USB, too
20:44:08 <kmc> b_jonas: which characters?
20:44:12 <pikhq> b_jonas: Because the BMP is is almost entirely full.
20:44:18 <b_jonas> pikhq: no no
20:44:28 <kmc> b_jonas: Unicode has more than 2^16 (minus surrogate pairs) codepoints, so the astral planes are required
20:44:29 <Phantom_Hoover> webassembly will save us
20:44:29 <b_jonas> pikhq: I mean the astral plane, the one that starts at 0x100000
20:44:36 <Phantom_Hoover> webassembly will make everything right again
20:44:38 <kmc> b_jonas: that's not what astral plane means
20:44:44 <kmc> it's any plane besides the basic plane
20:44:49 <int-e> `? bmp
20:44:50 <HackEso> bmp? ¯\(°​_o)/¯
20:44:52 <b_jonas> kmc: it's also not what prime material plane means, but meh
20:44:54 <j4cbo> the USB spec says “strings in descriptors shall be Unicode”
20:44:54 <pikhq> b_jonas: That's private use area.
20:45:03 <Phantom_Hoover> ah yes
20:45:03 <b_jonas> is it?
20:45:05 <kmc> I have an irrational loathing for WebAssembly because it's contributing to Rust getting ruined by web hipsters
20:45:10 <j4cbo> they mean UTF-16, I forget which endianness
20:45:15 <b_jonas> isn't that another plane?
20:45:15 <pikhq> The entire U+10xxxx plane is a private use area.
20:45:18 <Phantom_Hoover> the 'we're too boring and shit to put tengwar in unicode proper' area
20:45:19 <b_jonas> hmm
20:45:26 <Phantom_Hoover> kmc, haha
20:45:30 <kmc> 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 <Phantom_Hoover> it does sound a bit... mad from what ive heard
20:45:34 <zzo38> 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 <kmc> criticism is not allowed in the Rust community
20:45:39 <pikhq> As is U+Fxxxx, and U+E000-U+F8FF.
20:45:39 <Phantom_Hoover> hahahahaha i remember that kmc
20:45:57 <kmc> because all criticism is "unconstructive"
20:45:59 <Phantom_Hoover> that was part of the whole 'welcome our new community manager'
20:46:04 <kmc> yeahhhhhhhh
20:46:11 <Phantom_Hoover> 'i dont want to welcome someone who goes around saying kill all men on twitter'
20:46:19 <Phantom_Hoover> 'wow banned for misogynist harrassment'
20:46:23 <kmc> yeah
20:46:29 <kmc> I really shouldn't bring it up, because that whole incident upsets me a great deal
20:46:43 <kmc> those kinds of people are why i don't feel comfortable in open source anymore :/
20:46:43 <pikhq> It's some grade A bullshit though.3
20:47:09 <Phantom_Hoover> it upsets me in principle too ive just positioned myself so they mostly dont matter in my life
20:47:14 <zzo38> Even if you work in open source you do not have to deal with all of the open source projects
20:47:26 <kmc> Phantom_Hoover: me too, but I have unresolved trauma re: being trans and stuff
20:47:28 <Phantom_Hoover> paranoid proprietary bullshit has its upsides i suppose
20:47:38 <kmc> being trans fucking sucks, i'll say that much
20:47:58 * pikhq nods
20:48:08 <kmc> at the same time I don't think i'd press a magic button to be not trans
20:48:10 <kmc> it's complicated
20:48:18 <pikhq> Identity tends to be.
20:48:24 <kmc> yeah
20:48:29 <j4cbo> people tend to be
20:48:32 <Phantom_Hoover> this reminds me of the wikipedia page on paperclip optimisation
20:48:33 <zzo38> (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 <kmc> is X12 the successor to X11?
20:49:02 <Phantom_Hoover> 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 <zzo38> kmc: Yes
20:49:12 <kmc> Phantom_Hoover: lol
20:49:16 <kmc> load it into GDB!
20:49:18 <zzo38> (There are other things too I have proposed to do it)
20:49:26 <Phantom_Hoover> (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 <kmc> you can even run a coredump
20:49:58 <Phantom_Hoover> kmc, yeah except how much debug info do you think kx systems compile into their binary
20:49:58 <b_jonas> I believe they're regular files, so rm can handle them
20:50:04 -!- ais523 has joined.
20:50:09 <b_jonas> hi ais523
20:50:14 <int-e> b_jonas: hah
20:50:14 <ais523> hi
20:50:18 <Phantom_Hoover> kx 'our entire database package fits into L2 instruction cache!!!!' systems
20:50:21 <kmc> 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 <zzo38> 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 <kmc> which I imagine breaks a lot of modern things like ASLR
20:50:31 <kmc> but whatever
20:50:35 <int-e> b_jonas: but only if you can find them *glares at systemd*
20:50:36 <Phantom_Hoover> isnt that why ais523 invented feather
20:50:39 <b_jonas> ais523: do you have any significant involvement in befunge? I'm asking because of potential featured langauge status
20:50:45 <Phantom_Hoover> or, well, the equivalent but with smalltalk
20:50:51 <ais523> b_jonas: not really any more than the rest of the esolang community
20:50:53 <kmc> there was that awesome Linux vuln involving coredumping in /etc/cron.d
20:51:04 <ais523> I've written a few programs in it, and I wrote an FFI between INTERCAL and Befunge
20:51:07 <b_jonas> PH: there's no such thing as "L2 instruction cache". L2 cache doesn't know the distinction between code and data
20:51:15 <ais523> but I wouldn't be afraid to feature it
20:51:25 <b_jonas> well, it knows the distinction between reading and writing, but it's still not a separate instruction cache
20:51:33 <int-e> b_jonas: are you sure that's universally true...
20:51:34 <b_jonas> great!
20:51:38 <Phantom_Hoover> but b_jonas do the guys making acquisition decisions in investment banks know that
20:51:39 <b_jonas> int-e: no
20:51:44 <shachaf> Is the cures of the featured language that people make erivatives of it?
20:51:48 <b_jonas> int-e: but Kx isn't so portable
20:51:50 <pikhq> 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 <kmc> 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 <ais523> shachaf: well, BF was the featured language for ages so we don't have much evidence
20:52:14 <Phantom_Hoover> systemd just upsets me because lennart seems to be an antisocial psycho
20:52:19 <shachaf> Uh, curse, not cures.
20:52:21 <kmc> cron will happily skip over megabytes of binary garbage and execute that crontab entry
20:52:23 <pikhq> Phantom_Hoover: Also that.
20:52:35 -!- xkapastel has joined.
20:52:46 <Phantom_Hoover> 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 <j4cbo> kmc: ~robustness principle~
20:53:23 <kmc> p o s t e l ' s ~ l a w
20:53:25 <kmc> it's really the worst thing
20:53:38 <shachaf> kmc: I think they ported that Emacs "feature" to some portable representation that's compatible with ASLR.
20:53:44 <kmc> shachaf: ok
20:53:54 <pikhq> Phantom_Hoover: I mean honestly, ESR is still respected in some corners.
20:54:12 <Phantom_Hoover> well he's a shithead in ways largely orthogonal to software
20:54:18 <kmc> I don't exactly respect ESR but I appreciate some things he's said more than I used to
20:54:33 <Phantom_Hoover> also lmao i occasionally remember the period of my youth wasted on rationalwiki
20:54:35 <pikhq> Getting people to question that requires people to question that maybe an egotistic shithead should be questioned rather than just accepted.
20:54:38 <kmc> maybe it's just because i hate the wokelords who hate him
20:54:43 <kmc> Phantom_Hoover: lol
20:54:44 <b_jonas> let me repeat my question then. fungot's befunge source code is printed on whose T-shirt?
20:54:44 <fungot> b_jonas: no. i think he's normally asleep at this time it was the next thing i need
20:54:47 <shachaf> kmc: it is that, hth
20:54:48 <Phantom_Hoover> and im like "hmm what was the last thing i did there"
20:54:50 <kmc> shachaf: yeah
20:54:51 <ais523> 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 <b_jonas> asleep huh?
20:55:05 <ais523> the former is much better for development, and for the future of the system; the latter is better for the present
20:55:13 <Phantom_Hoover> 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 <kmc> live fast, die young, bad code does it well
20:55:35 <pikhq> 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 <Phantom_Hoover> yes
20:55:46 <kmc> yes
20:55:51 <kmc> "<--- I'M WITH THOSE GUYS"
20:55:52 <b_jonas> ais523: most of my programs are full of asserts and fail fast
20:56:06 <pikhq> He's only influential in terms of writing about software.
20:56:07 <b_jonas> both asserts checking input that I didn't appreciate in advance, and internal bugs
20:56:07 <Phantom_Hoover> 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 <pikhq> (and to be fair, some of his writing about software is, well, still worth reading)
20:56:30 <Phantom_Hoover> what about his dating advice
20:56:30 <kmc> I still talk to emily... we have a complicated history but I like her
20:56:31 <ais523> 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 <pikhq> Phantom_Hoover: Oh, set that on fire.
20:56:40 <b_jonas> 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 <b_jonas> if the second kind of assert triggers, I try to fix the bug
20:56:57 <ais523> and then document the function as supporting only those inputs
20:57:00 <ais523> then, fail fast on everything else
20:57:03 <pikhq> kmc: Yeah, life hasn't been the kindest to her.
20:57:09 <kmc> seriously.
20:57:14 <kmc> neither have i, at times
20:57:17 <ais523> your former type of assert is an interesting idea
20:57:18 <kmc> b/c of my own bullshit
20:57:42 <b_jonas> sometimes the asserts even need some extra computation just to detect problems
20:57:50 <kmc> shachaf: back to earlier topic, EMDR therapy is p. esoteric
20:58:09 <kmc> thinking about upsetting things is healing if you move your eyes back and forth while you do it???
20:58:12 <kmc> and nobody knows why
20:58:15 <kmc> brains are weird
20:58:21 <shachaf> 🧠
20:58:22 <Phantom_Hoover> lmao
20:58:29 <Phantom_Hoover> buffer overflow in eye movement code
20:58:34 <ais523> 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 <Phantom_Hoover> allows overwriting of upset buffer
20:58:42 <kmc> yeah
20:58:44 <b_jonas> 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 <ais523> and it turns out that the only official method is to write an assert condition with side effects
20:58:59 <b_jonas> obviously there are exceptions from this when you need redundancy for efficiency
20:58:59 <kmc> 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 <ais523> boolean assertsEnabled = false; assert(!(assertsEnabled = true));
20:59:14 <ais523> err, no ! there
20:59:17 <ais523> boolean assertsEnabled = false; assert((assertsEnabled = true));
20:59:28 <Phantom_Hoover> i remember you introducing me to the bicameral mind thesis ages ago in here kmc
20:59:36 <shachaf> kmc: do you know of public examples of good high-performance api design twh
20:59:41 <kmc> I think there should be multiple assert levels, each of which can be disabled either at runtime or compile time
20:59:43 <Phantom_Hoover> which has stuck in my head for being particularly interesting even though im 80% sure its total bullshit
20:59:53 <b_jonas> ais523: that's more or less true in C too, because someone might redefine or reundefine _NDEBUG without reincluding <assert.h>
20:59:56 <kmc> Phantom_Hoover: I think I learned of it from Snow Crash
21:00:01 <kmc> and yes, it's almost certainly bullshit
21:00:02 <Phantom_Hoover> ahh
21:00:05 <b_jonas> mind you, I don't use the actual assert macro from C
21:00:19 <ais523> 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 <kmc> Rust's debug logging is kind of nice, you can enable/disable for any subtree in the module tree
21:00:28 <kmc> (module/crate tree)
21:00:32 <ais523> because I'm trying to detect a debug versus release build, not the actual behaviour of the assert macro
21:00:45 <Phantom_Hoover> debug loggin
21:00:48 <Phantom_Hoover> im crying
21:01:06 <pikhq> Hey, don't knock printf debugging.
21:01:07 <kmc> oh
21:01:10 <kmc> rust has that too
21:01:11 <Phantom_Hoover> because at work we have a guy who's the only one who really cares about architecture and gets shit done
21:01:18 <kmc> if cfg!(debug)
21:01:21 <kmc> or something like that
21:01:34 <shachaf> look around you is tg
21:01:38 <shachaf> "it's the brain"
21:01:42 <Phantom_Hoover> and he added some debugging code which means that our logs are now 90% duplicated spam
21:01:44 <b_jonas> oh darn, gmane is not available. I'll have to look if an alternate archive exists for this mail
21:01:53 <kmc> cfg's can be used as compiler directives, user-defined conditional compilation, or compile-time constants, or build-system rules
21:02:11 <Phantom_Hoover> and i was like 'man these log messages are really repetitive and useless, can i disable them'
21:02:11 <shachaf> context free grammars are often used as compiler directives
21:02:15 <Phantom_Hoover> 'no i find them really useful'
21:02:21 <kmc> shachaf: look around you is tg
21:02:26 <Phantom_Hoover> yes but now i cant read any other fucking log messages!!
21:02:42 <ais523> «if cfg!(debug){...}» looks weird, I'd expect something more along the lines of «#[if(cfg(debug))]{…}»
21:02:44 <b_jonas> PH: yeah, at that point I direct those messages to a separate file
21:03:00 <ais523> i.e. conditionally compiling, rather than unconditionally compiling dead code (and then presumably optimisingit out)
21:03:23 <Phantom_Hoover> 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 <b_jonas> ais523: such a thing exists, yes, but only for items, not for statements in rust
21:03:30 <b_jonas> so you have to put yoru conditional stuff in a separate function
21:03:30 <Phantom_Hoover> it is exceedingly confusing
21:03:32 <ais523> 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 <shachaf> static if is tg
21:03:54 <b_jonas> have two versions of the function, conditionally, with the same name, and call it
21:04:02 <shachaf> Should conditional compilation just be a regular if in a meta-level language?
21:04:04 <j4cbo> oh lawdy
21:04:14 <j4cbo> “the local timezone”
21:04:22 <ais523> shachaf: well, that's how it works in C
21:04:30 <ais523> #if is basically just a regular statement in cpp the language
21:04:31 <b_jonas> well, maybe that's no longer true with the macro advancements now
21:04:35 <shachaf> Except CPP is very different from C.
21:04:53 <shachaf> I mean the same language.
21:04:54 <pikhq> j4cbo: I have seen some disturbingly large environments where the local timezone ends up mattering...
21:04:56 <ais523> indeed; there's no obvious reason other than programmer familiarity why the two languages should be the samea
21:04:56 <j4cbo> any code in a server that tries to read the “local timezone” should trip an assert
21:04:59 <j4cbo> oh me too
21:05:13 <j4cbo> there’s a test suite at work that only passes if you set your system tz correctly
21:05:16 <j4cbo> it’s vile
21:05:18 <b_jonas> 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 <ais523> j4cbo: I think it's a good idea to use capabilities for things like timezones
21:05:30 <shachaf> ais523: Well, if it's the same language, you can reuse code to do compile-time computation and so on.
21:05:31 <ais523> a function is only given access to the timezone if it actually needs it
21:05:33 <b_jonas> ais523: yeah, the C++ concept guys are trying that.
21:05:35 <Phantom_Hoover> kdb has nice concise shortcuts for both UTC and system timestamps
21:05:37 <shachaf> b_jonas: You've mentioned.
21:05:38 <b_jonas> I don't like the idea much
21:05:45 <shachaf> b_jonas: But I want this for practical rather than theoretical reasons.
21:05:49 <pikhq> A former employer of mine set all their servers to use the timezone of corporate HQ.
21:05:51 <Phantom_Hoover> i have no clue why anyone on our team was dumb enough to use the system tz ones
21:06:03 <j4cbo> pikhq: mine too
21:06:16 * pikhq wonders if we're talking about the same employer
21:06:22 <ais523> 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 <j4cbo> a company out of Mountain View that made lots of money from tiny classified ads?
21:06:47 <pikhq> That's the one.
21:06:52 <b_jonas> ais523: I think the syntax is like #[cfg(debug_assertions)]
21:07:12 <kmc> you can do either. cfg!() is a macro that expands to a boolean constant
21:07:18 <ais523> I don't have most of the Rust preprocessor syntax memorised
21:07:31 <kmc> whereas #[cfg(...)] is conditional removal of a lexical scope
21:07:34 <b_jonas> like #[cfg(debug_assertions)] fn foo() { /* print stuff here */ } #[cfg(not(debug_assertions))] fn foo() {} fn bar() { ... foo() ... }
21:07:50 <j4cbo> oh yeah
21:07:51 <ais523> 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 <kmc> so e.g. #[cfg(thing_thats_false)] { type_error } will not error, but if cfg!(thing_thats_false) { type_error} will
21:08:10 <kmc> each is useful in different circumstances
21:08:13 <pikhq> There's lots to like there, and some things that are a bit frustrating.
21:08:15 <j4cbo> you can’t format an integer in a non-locale-dependent way in c++14
21:08:40 <b_jonas> 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 <kmc> you can't remove a whole item (function, type, etc) with cfg!() but you can't use #[cfg] in an expression
21:09:00 <ais523> 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 <pikhq> (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 <kmc> zzo38: it's not a preprocessor, but yeah
21:09:20 <j4cbo> std::to_chars showed up in C++17
21:09:30 <kmc> zzo38: the syntax is fairly simple. a cfg expression is either an identifier, identifier = "string", or identifier(cfg_item)
21:09:34 <kmc> and there's all() and any()
21:09:35 <kmc> and not()
21:09:36 <pikhq> ais523: Yeah, presentation for a human and serializing to a string are two distinct problems.
21:09:39 <Phantom_Hoover> haskell has made me intrinsically suspicious of seeing compiler directives ahead of functions
21:09:56 <ais523> 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 <kmc> there are also other #[...] attributes besides cfg, which are like traditional compiler pragmas, but lexically scoped
21:10:03 <Phantom_Hoover> although in rust they seem to be generally comprehensible to the human mind
21:10:04 <kmc> lexical scoping for warnings is nice
21:10:11 <pikhq> ais523: s/OSes don't/Linux doesn't/
21:10:15 <kmc> there's allow, warn, deny, and forbid
21:10:22 <kmc> forbid is like deny except you can't allow inside forbid
21:10:34 <ais523> the problem is that a no-physical-memory-allocation-failure OOM doesn't necessarily hit the program that caused the problem
21:10:35 <kmc> Phantom_Hoover: it's pretty necessary in a systems language
21:10:39 <b_jonas> 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 <j4cbo> 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 <ais523> 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 <Phantom_Hoover> kmc, i know its necessary for sufficiently low-level stuff
21:10:58 <kmc> many of them control linkage, etc
21:11:02 <pikhq> ais523: Eh, fair.
21:11:03 <j4cbo> “system locale”, “system time zone”, etc
21:11:09 <kmc> at least it looks nicer than __attribute__((bleh))
21:11:18 <shachaf> What's the difference between lexical and dynamic scoping for warnings?
21:11:21 <b_jonas> ais523: and then freeze in a way that only the power button helps
21:11:26 <ais523> 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 <Phantom_Hoover> im just used to seeing any serious haskell include pragmas for like half a dozen arcane ghc extensions
21:11:32 <kmc> I hope one day I get to the point where I can use Rust without feeling icky
21:11:34 <pikhq> 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 <b_jonas> you can force-quit things?
21:11:46 <b_jonas> I never managed to when it ran out of memory
21:11:51 <ais523> b_jonas: via Ctrl-Alt-Del, although under heavy swapping it's very slow
21:11:52 <kmc> shachaf: well, I mean as opposed to linear file scope, like preprocessor
21:12:05 <ais523> Linux has the amazing Alt-Sysrq-F, although it's disabled by default
21:12:16 <ais523> it's defined as "guess which process I want to kill, and kill it"
21:12:17 <pikhq> 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 <kmc> pikhq: OOM is really hard problem
21:12:35 <ais523> 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 <b_jonas> ais523: there's no need to guess, it's always firefox-esr
21:13:12 <ais523> 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 <pikhq> kmc: It's a really hard problem to solve ideally, but not even trying is irritating.
21:13:34 <pikhq> Especially in a language that's selling itself on solving hard problems around memory and error handling.
21:13:38 <shachaf> abort() is TG
21:13:45 <ais523> I believe that the correct solution to physical memory shortage is to automatically set memory limits for programs
21:13:51 <ais523> according to some heuristic
21:13:52 <b_jonas> 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 <ais523> and report memory shortage to the program when it hits its limit
21:14:05 <shachaf> 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 <ais523> b_jonas: because they're typically the offending ones
21:14:16 <shachaf> But is local to some library or something.
21:14:24 <b_jonas> 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 <ais523> shachaf: that's pretty much what an exception is
21:14:37 <shachaf> Which is much more coarse-grained than RAII or whatever.
21:14:57 <shachaf> Exceptions are way more complicated.
21:15:13 <ais523> well, yes, but does the complexity hurt in this case?
21:15:18 <pikhq> 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 <j4cbo> 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 <b_jonas> 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 <pikhq> For stuff that's vaguely mainstream, we've got alternative approaches offered by: C, and C++.
21:15:38 <int-e> oh I can "killall 'Web Content'", fun
21:15:38 <b_jonas> so it can crawl even without running out of memory
21:15:40 <shachaf> Complexity always hurts.
21:15:45 <pikhq> And I don't think I need to elaborate on the problems there.
21:15:51 <shachaf> j4cbo: What happened to the one powered by \rainbow{JavaScript}?
21:16:09 <b_jonas> mind you, the fix for that is probably to buy a stronger desktop computer hardware for myself
21:16:10 <shachaf> I feel like you were saying something about that once.
21:16:13 <b_jonas> but still
21:16:20 <j4cbo> yeah that’s
21:16:21 <ais523> 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 <j4cbo> still a thing
21:16:35 <pikhq> ais523: The language itself permits you to handle it more cleanly.
21:16:35 <j4cbo> the closed loop I’m using now is mostly Swift though
21:16:37 <ais523> 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 <pikhq> Even if nobody... does.
21:16:51 <ais523> even though the languages have different approaches, the actual practical behaviour is very similar
21:17:09 <shachaf> Banning exceptions is probably a pretty reasonable thing to do.
21:17:17 <pikhq> 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 <shachaf> If you do use exceptions you have to manage all your resources with RAII-style things.
21:17:35 <pikhq> Good luck handling OOM robustly when your GUI toolkit doesn't.
21:17:38 <b_jonas> 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 <pikhq> (fuck you GTK)
21:18:02 <shachaf> I tried writing some GTK code a few days ago.
21:18:08 <shachaf> It was so demoralizing that I gave up on programming.
21:18:31 <b_jonas> shachaf: hmm. doesn't your job involve programming?
21:18:32 <ais523> 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 <shachaf> Did you know they style widgets with CSS now?
21:18:35 <pikhq> (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 <shachaf> b_jonas: what job hth
21:19:01 <b_jonas> I've no idea
21:19:10 <b_jonas> I don't know what everyone else in this channel does in real life
21:19:12 <ais523> shachaf: I believe that there are no good GUI libraries
21:19:15 <b_jonas> (what real life?)
21:19:26 <shachaf> ais523: Hmm, why?
21:19:39 <shachaf> I mean, all the standard ones are certainly quite bad.
21:19:44 <ais523> most of them suck in terms of API or in terms of what they don't let you do
21:20:03 <b_jonas> ais523: agreed, all of them suck
21:20:03 <ais523> 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 <shachaf> Is https://github.com/ocornut/imgui good?
21:20:09 <j4cbo> 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 <shachaf> No, I quit a while ago.
21:20:55 <ais523> shachaf: outputting the GUI as an image immediately makes it incompatible with other programs on the same OS
21:20:56 <shachaf> And have been uncertain what to do with my life etc.
21:21:08 <shachaf> ais523: How do you mean?
21:21:31 <ais523> shachaf: imagine things like accessibility programs that need to do tree-walking of the GUI structure
21:21:37 <pikhq> I hear leaving the Bay Area and going out to live in a commune is popular these days.
21:21:48 <shachaf> Accessibility is a good point that I'm not quite sure about.
21:22:02 <shachaf> 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 <shachaf> You can include widget metadata and things.
21:22:23 <ais523> shachaf: I don't believe it's theoretically impossible to create a good GUI library
21:22:28 <ais523> 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 <shachaf> ais523: OK, that's fair.
21:23:38 <shachaf> Do you know what a good one would look like?
21:24:08 <Phantom_Hoover> i remain in scotland
21:24:13 <Phantom_Hoover> implacable and resolute
21:24:30 -!- ais523 has quit (Remote host closed the connection).
21:24:43 -!- ais523 has joined.
21:24:49 <ais523> <ais523> not fully; I have some ideas but they probably aren't enough by themselves
21:24:57 <kmc> pikhq: living in a commune in the bay area is also popular
21:25:16 <kmc> despite what one might think I am not that excited (anymore) about the idea of living in a commune
21:25:23 <pikhq> Phantom_Hoover: At the rate things are going, you might end up changing citizenship without doing much of anything.
21:25:36 <shachaf> ais523: What are the ideas?
21:25:45 <pikhq> kmc: What about fully automated gay space communism?
21:26:15 <Phantom_Hoover> wheres the luxury
21:26:18 <kmc> a friend of mine started a vegan sex commune
21:26:24 <kmc> it didn't work out, i'm not sure the details though
21:26:28 <Phantom_Hoover> shame
21:26:30 <ais523> 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 <pikhq> Phantom_Hoover: Forgot
21:26:36 <Phantom_Hoover> was gonna ask for the juicier details of the fiasco
21:26:36 <j4cbo> I thought Bay Area communes tended to be full of rationalists
21:26:38 <kmc> I'm not surprised, but also good for her for trying something weird
21:26:42 <kmc> j4cbo: some of them
21:27:01 <kmc> Phantom_Hoover: I didn't get to go to any of their parties either
21:27:03 <pikhq> 'Tis a silly place overall.
21:27:07 <kmc> yes
21:27:15 <ais523> 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 <Phantom_Hoover> 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 <kmc> yeah
21:27:32 <kmc> incl. me
21:27:39 <kmc> we're probably leaving soon too
21:27:51 <Phantom_Hoover> well i like you, but one can pick and choose
21:27:52 <pikhq> Hey, I'm out of the Bay and I think I'm still a pretentious wanker sometimes.
21:28:04 <j4cbo> I was part of a p nice rave cult in the bay area
21:28:08 <j4cbo> I do miss that
21:28:11 <shachaf> ais523: that sounds p. complicated
21:28:13 <kmc> j4cbo: that's cool
21:28:24 <kmc> thanks PH <3
21:28:26 <kmc> I like you too
21:28:39 <ais523> 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 <kmc> i'm definitely a pretentious wanker sometimes
21:28:56 <b_jonas> 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 <shachaf> Phantom_Hoover: you can do that even if you do live in the bay area, hth
21:29:45 <ais523> 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 <shachaf> 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 <b_jonas> 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 <b_jonas> 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 <pikhq> Yeah, sometimes the API design just sucks because it was done with no consideration of what it would mean to implement.
21:30:36 <ais523> 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 <b_jonas> they've all been written in the past
21:30:55 <shachaf> 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 <ais523> I am not convinced that user interfaces are, on average, improving
21:31:08 <shachaf> No, they're obviously getting worse.
21:31:11 <ais523> you can take a dialog box from Windows 95 and still be perfectly capable of using it nowadays, for example
21:31:19 <ais523> so the problem is not the user interface part of the GUI
21:31:24 <shachaf> Everything in computers is getting worse.
21:31:43 <pikhq> Computers stopped getting much faster, but developers act like they are.
21:31:52 <int-e> s/in computers//
21:32:00 <shachaf> Some things get better.
21:32:15 <ais523> ah yes, performance is another big gripe of mine, especially in terms of rendering libraries
21:32:24 <pikhq> Well, really. High-end computers are still getting some advances. Not as much as they used to, but some.
21:32:28 <ais523> take something like SDL for example; it's widely used, and yet some basic tasks require polling in a loop
21:32:39 <pikhq> Low-end ones that non-developers actually use, though? Naaah.
21:32:48 <shachaf> ais523: What do you mean?
21:33:15 <ais523> 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 <ais523> but what I was mostly thinking of is things like thread safety
21:33:48 <ais523> 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 <ais523> which is annoying because there's an obvious way to do it via the SDL API, it just incurs undefined behaviour
21:34:26 <pikhq> Classy.
21:34:44 <Phantom_Hoover> pikhq are you saying you don't have 32gb of ram to run electron applications?
21:34:46 <b_jonas> 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 <Phantom_Hoover> ive never heard something so absurd in my life
21:35:19 <ais523> b_jonas: Swing's API, if correctly used, has been able to do that ever since it was created
21:35:26 <zzo38> 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 <shachaf> ais523: "the SDL main loop"? You mean if your program is blocking on SDL_PollEvent?
21:35:30 <ais523> the API is agnostic to things like font size
21:35:35 <ais523> shachaf: right
21:35:47 <pikhq> Phantom_Hoover: My daily driver has 4 gigs of RAM.
21:35:51 <b_jonas> ais523: hmm. I don't know much about Swing api, apart from some horribly bad GUI applications written in it
21:35:59 <b_jonas> they don't seem to be navigable with keyboard at all
21:36:13 <ais523> 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 <b_jonas> but presumably that's not the fault of the library
21:36:53 <ais523> 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 <ais523> 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 <b_jonas> I see
21:38:26 <zzo38> 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 <ais523> 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 <pikhq> IIRC, it wasn't in SDL2 but is in SDL3.
21:39:59 <ais523> there's an SDL3?
21:40:01 <shachaf> I think typically your program has a way to send messages to other threads that don't use the SDL mechanism?
21:40:07 <pikhq> No, I'm drunk
21:40:14 <pikhq> s/2/1/ s/3/2/
21:40:25 <zzo38> 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 <shachaf> I'm not sure about the 1ms sleeps, what triggers them?
21:40:57 <zzo38> (although maybe not in the earliest version of SDL1; I looked at the code for the version I have)
21:41:06 <ais523> 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 <ais523> 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 <shachaf> Libraries that handle abstraction over OSes are often problematic.
21:42:43 <pikhq> They have a tendency to be busted.
21:42:47 <ais523> logically, they shouldn't be; the set of common functionality between OSes tends to be very large
21:42:53 <ais523> I agree that they often fail in practice, though
21:43:27 <b_jonas> I thin it's more like that the abstraction libraries are lagging behind the OSes
21:43:46 <b_jonas> 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 <b_jonas> and then nobody fixes the abstractino library later when that other OS gains a native way to do the same thing
21:44:10 <b_jonas> possibly because of compatibility issue
21:44:43 <ais523> well, you could fix that by, say, only abstracting over features which were commonly available in OSes in 2010
21:44:52 <ais523> it's not like most programs will need most features introduced since then
21:45:11 <b_jonas> sure, that sort of thing exists
21:45:19 <b_jonas> the python and rust standard libraries try to do that
21:45:25 <b_jonas> heck, even the C standard library started like that
21:45:31 <b_jonas> well, sort of
21:45:58 <pikhq> 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 <b_jonas> yeah
21:46:42 <pikhq> Some of the abstraction libraries try to be overly generic, and some of them are just very poorly designed.
21:46:52 <shachaf> Are any of them well-designed?
21:46:55 <b_jonas> 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 <pikhq> shachaf: Not really.
21:47:43 <shachaf> I was writing some Xlib code the other day.
21:47:52 <shachaf> Kind of scow but not as bad as I thought.
21:48:18 <pikhq> Quite a few of them only even abstract over the portions of OS differences that are relatively easy to handle.
21:49:11 <pikhq> (yeaaaah, as far as things like FS APIs go there's only two choices: "basically or literally Unix" and "Windows")
21:49:27 <b_jonas> 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 <kmc> i'm still messing about with this stats problem
21:49:49 <b_jonas> but this will change just like how back fifteen years ago home computers didn't have SMP cpus
21:49:53 <orin> `unicode 😕
21:49:54 <HackEso> U+1F615 CONFUSED FACE \ UTF-8: f0 9f 98 95 UTF-16BE: d83dde15 Decimal: &#128533; \ 😕 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals)
21:51:44 <ais523> 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 <ais523> (note: although I don't know for certain, I have some suspicion that Windows is bad at this job)
21:51:58 <b_jonas> ais523: sure, so the programs aren't required to call that function
21:52:00 <b_jonas> there is a default
21:52:06 <zzo38> Other possibilities that sometimes you can use VM rather than native code, although that depends on the program.
21:52:21 <b_jonas> the default is to inherit the cpu affinity of the calling process through forks and thread creation
21:52:29 <ais523> 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 <ais523> *25% each
21:52:58 <b_jonas> ais523: is that on non-NUMA machines?
21:53:02 <ais523> b_jonas: yes
21:54:15 <ais523> I guess that's a double negative, they should just be called UMA machines
21:55:10 <b_jonas> hehe
21:57:51 <zzo38> 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 <b_jonas> home computers having powerful GPUs is also a similar change I guess
21:58:48 <kmc> and phones even
21:59:44 <b_jonas> yeah... but I don't care about those
22:13:29 <b_jonas> 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 <esowiki> [[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 <esowiki> [[User:Cortex]] https://esolangs.org/w/index.php?diff=60227&oldid=60224 * Cortex * (+360)
00:19:01 <esowiki> [[Befunge]] M https://esolangs.org/w/index.php?diff=60228&oldid=60220 * Oerjan * (-1) /* Language overview */ sp
00:19:48 <oerjan> mediawiki's default diff is so annoying for checking anything other than small localized changes (and even then beware of newlines)
00:20:20 <oerjan> although i guess i trust b_jonas not be doing vandalism when moving sections :)
00:20:49 <oerjan> ...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 <esowiki> [[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 <oerjan> hm that doesn't quite work.
00:30:33 <b_jonas> oerjan: you shouldn't trust me. and I did edit something: I turned the Etymology thing to a deeper level header
00:30:37 <b_jonas> `? itymology
00:30:38 <HackEso> Itymology is the science of understanding the true meaning of a statement.
00:31:05 <esowiki> [[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 <oerjan> b_jonas: i think i noticed that. i meant editing things inside what you moved.
00:31:40 <b_jonas> I mean, I probably don't vandalize it, but I might still make bad changes
00:32:13 <oerjan> true, you made a spelling error :P
00:32:33 <b_jonas> several, on IRC today
00:34:35 <oerjan> that Works in progress page should probably have been a category from the start.
00:36:22 <oerjan> it seems like some entries are just collaborations between a couple people
00:36:39 <oerjan> which doesn't imply everyone else is invite to change the specs
00:36:46 <b_jonas> oerjan: yes, but you all have been scaring people from creating categories.
00:37:02 <oerjan> that occured to me too
00:39:50 -!- adu has joined.
00:42:27 <shachaf> itymology is such a good word
00:42:39 <b_jonas> well, a wiki may be a good tool to collaborate on creating a specification
00:42:49 <oerjan> 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 <oerjan> (it'll probably speed up things)
00:43:18 <b_jonas> well, the hard part is probably still getting the article to a betters tate
00:43:37 <b_jonas> but we have to start writing the blurb tool, so I thought I'd start
00:44:18 <b_jonas> 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 <oerjan> well the current reality is that it didn't work for 5 years
00:45:48 <b_jonas> exactly
00:51:02 -!- Phantom_Hoover has quit (Remote host closed the connection).
01:02:13 <esowiki> [[Special:Log/newusers]] create * Windows * New user account
01:20:43 -!- xkapastel has quit (Quit: Connection closed for inactivity).
01:25:47 <oerjan> good username
01:30:35 -!- ais523 has joined.
01:36:17 <oerjan> 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 <ais523> persuade fizzie to do it :-P
01:36:58 <shachaf> i nominate underload, hth
01:37:04 <oerjan> he implemented it in fungot :P
01:37:04 <fungot> oerjan: but fnord is written in
01:37:25 <shachaf> well, everyone has implemented bf
01:37:29 <shachaf> and it was still featured
01:37:33 <fizzie> Yeah, I don't think that counts as "involvement".
01:37:38 <fizzie> fungot: Are you feeling involved?
01:37:38 <fungot> fizzie: ( iirc) is a good
01:37:49 <shachaf> imo fungot for wiki admin
01:37:49 <fungot> shachaf: the l is somewhat like on the piano :) i spend most of your life
01:38:12 <shachaf> fungot: I've never seen an l key on the piano.
01:38:12 <fungot> shachaf: i can see
01:39:33 -!- ais523 has quit (Remote host closed the connection).
01:39:45 -!- ais523 has joined.
01:39:50 <oerjan> 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 <oerjan> (also nominations must be on the wiki hth)
01:40:58 <shachaf> tdnh
01:41:16 <b_jonas> 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 <ais523> 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 <ais523> b_jonas: it used to be that people just nominated the language and the featuring admin wrote the front page text
01:41:42 <ais523> which is part of the reason that it hardly ever got done
01:42:18 <b_jonas> oh, that reminds me. I wanted to ask something about intercal
01:42:24 <oerjan> hm i've thought about this before
01:42:54 <shachaf> There's a limited number of nominations?
01:43:09 <oerjan> shachaf: only one per person until it resets
01:43:22 <oerjan> although i'm pretty sure A had sneaked in under two accounts :P
01:43:32 <ais523> we should probably let peopel change their nomination as often as they were
01:43:34 <shachaf> Can you swap your nomination for a different one?
01:43:48 <ais523> oerjan: I deleted the second nomination, after checkusering to verify that it was two accounts of the same user
01:44:11 <ais523> (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 <ais523> *as often as they like
01:44:46 <shachaf> But this isn't Wikipedia.
01:44:49 <ais523> shachaf: no, but I disagree with that rule
01:45:04 <oerjan> ais523: Iamcalledbob was also him, i suspect
01:45:18 <ais523> 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 <b_jonas> 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 <shachaf> I nominate ais523 for unilateral dictator of the wiki.
01:46:04 <b_jonas> ais523: and it can also be done in a not too complicated way using ordinary bitwise operations and shifts
01:46:32 <b_jonas> 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 <ais523> b_jonas: I don't believe so
01:46:58 <b_jonas> interesting
01:46:58 <ais523> it should be possible to implement, I just don't think it's been done
01:47:16 <ais523> the vast majority of INTERCAL programs aim for space-efficiency rather than time-efficiency
01:47:39 <b_jonas> I don't think it's too inefficient though
01:47:45 <b_jonas> compared to other things you can do in intercal that is
01:47:53 <ais523> indeed
01:48:01 <zzo38> I have not heard of such a representation before now, I think
01:48:04 <ais523> aiming for space-efficiency is a habit from 1972, I think, when computers had less memory
01:48:19 <shachaf> ais523: Isn't it more important nowadays than before?
01:48:35 <shachaf> Now that memory bandwidth is the bottleneck for most computation.
01:48:48 <ais523> what, space-efficiency? it is in the sense that cache misses tend to bottleneck things more than CPU execution units, yes
01:49:08 <ais523> but in that case you also have to take the space iin the instruction cache into account
01:49:19 <shachaf> Of course.
01:49:23 <ais523> so there's a three-way tradeoff between memory usage, instruction length and instruction speed
01:49:56 <ais523> 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 <oerjan> <ais523> 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 <ais523> is there any reason not to allow changes to be made arbitrary often?
01:52:12 <ais523> but yes, we could undo the reset if we're allowing people to change anyway
01:52:16 <shachaf> What's the difference between allowing changing your nomination and allowing any number of nominations?
01:53:28 <ais523> admins have a much shorter list to look through when they have to decided on a language
01:54:19 <shachaf> Can I nominate multiple languages with different weights?
01:54:30 <shachaf> So you can sample my nomination when you want to look through the list.
01:54:56 <ais523> really our whole featured languages process is fairly badly thought out :-D
01:57:26 <b_jonas> zzo38: http://mmix.cs.hm.edu/doc/mmix-doc.pdf paragraph 40, on page 32
01:58:15 <b_jonas> 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 <ais523> that's the process we follow, maybe it shouldn't be though
02:02:17 <shachaf> what about this process:
02:02:31 <shachaf> ais523 decides whatever he wants
02:02:50 <b_jonas> shachaf: I'd recommend that *fizzie* decides whatever he wants
02:03:07 <b_jonas> if it's ais523, then we'll never be able to feature his languages
02:03:18 <b_jonas> although if fizzie decides them, then we won't be able to feature befunge
02:03:19 <b_jonas> hmm
02:03:41 <ais523> I'd like a process along the lines of "we try to decide on a schedule for language featuring in advance"
02:04:04 <ais523> 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 <b_jonas> why October in particular?
02:04:59 <ais523> it's the largest uptick for online gaming communities
02:05:11 <ais523> if you're running one of those, you normally get a spike in new members in October
02:05:20 <ais523> this is probably related to the fact that the academic year starts in September
02:05:20 <b_jonas> huh... I didn't know that. I thought that was the Christmas break
02:06:05 <ais523> 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 <oerjan> agora still has a rule that nullifies deadline penalties then
02:07:01 <b_jonas> I see
02:10:06 <oerjan> <shachaf> Is the cures of the featured language that people make erivatives of it? <-- did anyone make a funciton derivative recently? :P
02:14:17 <zzo38> b_jonas: O, yes, there is the carry save addition
02:16:40 <ais523> oerjan: one language I'm working on has a few similarities to Funciton, but it's not really a derivative
02:17:32 <b_jonas> 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 <oerjan> 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 <b_jonas> 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 <b_jonas> 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 <ais523> 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 <b_jonas> and you can have multiple calls in the same line as long as they're more or less separated horizontally.
02:22:00 <b_jonas> this way the code sort of represents a circuit, with information flowing from top to bottom.
02:23:32 <b_jonas> 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 <oerjan> (the set bit counting part being a way to prove the complexity class inclusion TC_0 \subset NC_1)
02:23:50 <b_jonas> ais523: yeah, though this would be a bit higher level
02:24:50 <b_jonas> 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 <b_jonas> 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 <b_jonas> 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 <b_jonas> to lift levers that connect parts of the mechanism
02:27:29 <b_jonas> but I think more of the higher level version
02:28:45 <b_jonas> 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 <b_jonas> it's a pity the clc intercal webpage is still down by the way
02:34:56 <kmc> ok, I refuckulated my radio statistics code so it's less heinous
02:35:10 <shachaf> RAAAAADIO
02:35:16 <shachaf> 📻
02:35:16 <kmc> shachaf: imo you should get a ham license
02:35:24 <kmc> then we can chat using our radios
02:35:47 <kmc> I'm pretty sure there are VHF/UHF repeaters that cover Berkeley and the Sunset
02:35:51 <shachaf> but we can already chat
02:36:06 <pikhq> But IRC isn't the maximally nerd way to do so.
02:36:14 <kmc> it's true
02:36:17 <kmc> hams are the O.G. nerds
02:36:26 <fizzie> 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 <kmc> ham radio is at the same time profoundly un-cool and extremely punk rock
02:36:32 <shachaf> kmc: imo let's play internet relay cat
02:36:34 <kmc> I love it
02:36:34 <fizzie> Unfortunately that didn't last long enough.
02:36:36 <shachaf> where you get a cat
02:36:47 <shachaf> and then send me pictures of the cat through the internet
02:36:51 <shachaf> and then i visit you + the cat
02:36:56 <kmc> fizzie: is that one of those line-of-sight laser network links?
02:37:18 <fizzie> kmc: IIRC, it's not actually laser, but the same sort of thing.
02:37:21 <kmc> yeah, neat.
02:37:22 <kmc> mhm
02:37:37 <kmc> cool stuff
02:37:51 <zzo38> Do you have the ability to post ARRL radiogram messages?
02:38:10 <fizzie> 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 <kmc> 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 <shachaf> do you know morse code
02:39:20 <kmc> fizzie: our friendly local WISP uses laser links, in addition to milimeter wave and traditional microwave links
02:39:28 <kmc> shachaf: no, but i'm learning a bit
02:39:43 <kmc> shachaf: I'm using the method where you learn at full speed, adding one character at a time
02:39:51 <kmc> rather than learning the whole alphabet slowly and trying to speed up
02:40:01 <shachaf> beep boop
02:40:08 <kmc> the former method (Koch method) is said to be better
02:40:39 <shachaf> smiling cat face with cat face shaped eyes
02:41:01 <kmc> because at any decent speed, you don't have time to decompose into individual dots and dashes
02:41:24 <kmc> you have to recognize each letter (and eventually words and codes) as a single thing
02:41:28 <b_jonas> if there's line of sight, can one of you wave semaphore flags and the other watch with a telescope?
02:41:38 <kmc> like reading by sounding out words, vs reading fluently
02:41:47 <kmc> b_jonas: yes, and it would be amusing to do TCP/IP over such a transport
02:41:49 <shachaf> zounds
02:41:59 <shachaf> kmc: do deaf people read faster than hearing people
02:42:13 <kmc> 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 <kmc> shachaf: idk
02:42:41 <b_jonas> kmc: there's some esoteric representation with showing one hexit at a time with two flags
02:43:04 <b_jonas> 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 <kmc> back to the statistics project: my current approach is as follows
02:44:34 <kmc> 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 <b_jonas> kmc: what exposure time and frame rate do you use when measuring the signal strength?
02:45:15 <kmc> 2) calculate the average power (after the adjustment in (1)) on each frequency
02:45:32 <kmc> 3) calculate the % of time spent more than 1.5 dBm above the average
02:45:38 <kmc> this is a crude way to look for a bimodal distribution
02:45:54 <kmc> b_jonas: I already answered that, but it averages over 4 seconds
02:46:10 <b_jonas> oh, I must have missed it in the logs
02:46:46 <kmc> and during that time it quickly scans over the whole range
02:47:26 <b_jonas> so 4 seconds is the recip framerate, right?
02:47:30 <b_jonas> but what's the exposure time?
02:47:37 <kmc> I don't know what you mean
02:47:42 <kmc> it averages power over 4 seconds
02:47:45 <kmc> is that not an exposure?
02:47:49 <b_jonas> that's the exposure then
02:47:59 <kmc> and the time between exposures starting is 4 seconds
02:48:03 <b_jonas> I thought "scans over the whole range" meant it doesn't scan all ranges at the same time
02:48:04 <kmc> so the frame rate is 0.25 Hz
02:48:16 <b_jonas> sorry
02:48:28 <kmc> I don't know how quickly it hops frequencies, if that's what you're asking
02:48:38 <kmc> 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 <kmc> so it does it in 3 chunks
02:48:57 <kmc> the tool is rtl_power if you want to look into it more
02:49:12 <b_jonas> ok
02:49:57 <kmc> 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 <kmc> but that is a silly restriction so I think I can do much better
02:50:13 <b_jonas> so did your computation seem to work? have you found stations that you could listen to and figure out something about?
02:50:30 <kmc> it finds stations that are already clear in the waterfall graph
02:50:43 <b_jonas> that's still useful, since it's automated
02:50:46 <kmc> yeah
02:50:48 <kmc> that is the challenge
02:51:01 <kmc> to automate it, and gather statistics over many days or weeks
02:51:14 <kmc> 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 <kmc> which I may not already know about
02:51:27 <kmc> I can already scan the whole spectrum with one of my other radios, but it doesn't log anything
02:51:52 <kmc> a typical FM scanner has a much better way of identifying frequencies in use
02:51:59 <kmc> noise squelch
02:52:25 <kmc> 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 <kmc> if those components have a lot of energy, it indicates that you're picking up static
02:53:11 <kmc> in terms of the original signal, it is looking for a strong carrier whose frequency is not varying too quickly
02:53:23 <b_jonas> I see
02:53:30 <b_jonas> but wouldn't that be slower in scanning the spectrum?
02:53:45 <b_jonas> could it miss broadcasts that are active only for shorter times, to transmit short messages?
02:54:28 <b_jonas> I gtg soon, but good luck, find useful channels
02:54:35 <oerjan> <ais523> 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 <kmc> b_jonas: yes, it's slower
02:55:09 <kmc> although, you could maybe do it quickly with an SDR
02:55:16 <kmc> if you can do a lot of FM demodulation in parallel
02:55:25 <kmc> anyway that's much more towards the hard signal processing side of things
02:55:31 <kmc> and right now I'm looking for a rough statistical approach
02:56:02 <b_jonas> yeah, GPS magic and sparse fourier transformas
02:56:12 <b_jonas> crazy stuff
02:58:40 <b_jonas> and electronics magic, like you explained
02:59:04 <kmc> yay
02:59:56 -!- b_jonas has quit (Quit: leaving).
03:05:52 <zzo38> I do know how to format a ARRL radiogram message.
03:12:04 <kmc> zzo38: cool
03:12:08 <kmc> are you / have you been a licensed ham?
03:13:38 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60231&oldid=60226 * Cortex * (+1561)
03:16:29 <oerjan> `? phantom_hoover
03:16:30 <HackEso> Phantom Michael Hoover is a true Scotsman, hatheist, and completely out of the loop.
03:17:02 <zzo38> 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 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60232&oldid=60231 * Cortex * (+104)
03:21:30 <esowiki> [[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 <kmc> zzo38: I haven't learned morse code yet, but I'm working on it
04:02:23 <kmc> it seems like a good thing to know
04:02:41 <kmc> 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 <zzo38> 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 <salpynx> 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 <salpynx> I was going to add a 'see also' on the other page, but maybe that won't help clear the confusion
04:58:09 <zzo38> I don't know if it is official
05:00:05 <ais523> I don't think it's official
05:00:16 <zzo38> OK
05:02:09 <salpynx> 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 <salpynx> 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 <orin> https://www.youtube.com/watch?v=tA3_YKCW2LU
07:12:08 <oerjan> the situation in girl genius seems to be turning tense
07:12:22 <oerjan> but at least the guy uses pronouns properly
07:15:31 <shachaf> `5 w
07:15:34 <HackEso> 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 <shachaf> `n
07:15:38 <HackEso> 2/2:taurant//A restaurant is a type of transactional resource-distributing system powered by lazy evaluation.
07:15:43 <shachaf> `cwlprits boorjan
07:15:45 <HackEso> shachäf
07:15:52 <shachaf> would you look at that. how unexpected.
07:16:48 <int-e> `? funpuns
07:16:49 <HackEso> 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 <shachaf> `` \? funpuns | rot3
07:17:10 <HackEso> ​/hackenv/bin/`: line 5: rot3: command not found
07:17:11 <shachaf> `` \? funpuns | rot13
07:17:12 <HackEso> 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> `? shachaf
07:17:28 <HackEso> 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> `? kmc
07:18:23 <HackEso> kmc did not run the International Devious Code Contest of 2013.
07:18:30 <kmc> `? zzo38
07:18:31 <HackEso> zzo38 is not actually the next version of fungot, much as it may seem.
07:19:16 <int-e> `` echo -n $(cat wisdom/shachaf) The unit of fun punnery is named after him. | rot13 > wisdom/funpuns
07:19:18 <HackEso> No output.
07:19:27 <int-e> ... hmm should have used tee
07:19:31 <int-e> `` cat wisdom/funpuns
07:19:32 <HackEso> 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 <shachaf> Hmm, can you send two files to diff on stdin?
07:24:55 <shachaf> You can do it interactively, with diff - /dev/stdin and ^D
07:25:12 <shachaf> But can you do (foo; eof; bar) somehow?
07:26:18 <shachaf> `` cat wisdom/funpuns | rot13 | cmp wisdom/shachaf -
07:26:19 <HackEso> wisdom/shachaf - differ: byte 169, line 1
07:26:26 <int-e> Hmm, no. But you can use <(...) to good effect.
07:27:35 <shachaf> Is it really a thing you can only do interactively?
07:27:46 <shachaf> 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 <kmc> <(...) is too good
07:33:29 <shachaf> you are addicted to calling things too good
07:33:31 <shachaf> like me
07:36:16 <oerjan> tg is tg
07:36:40 <shachaf> `? tg
07:36:42 <HackEso> 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 <shachaf> what about Superturing-Gödel
07:37:05 <shachaf> is superturing a superhero
07:37:20 <int-e> wtf...
07:37:26 <int-e> `` diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1)
07:37:27 <HackEso> ​--- /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 <int-e> `` diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) | cat
07:37:30 <HackEso> No output.
07:37:32 <int-e> ?!
07:37:33 <lambdabot> Maybe you meant: v @ ? .
07:38:42 <int-e> Why does piping the result of diff to another command cause the output to become empty?
07:39:32 <oerjan> `which diff
07:39:32 <HackEso> ​/usr/bin/diff
07:40:44 <oerjan> `run diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1)
07:40:45 <HackEso> ​--- /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 <oerjan> `run diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) | cat
07:40:51 <HackEso> No output.
07:45:13 <oerjan> `` diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) | cat -v
07:45:14 <HackEso> ​--- /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 <oerjan> `which cat
07:45:54 <HackEso> ​/bin/cat
07:46:27 <shachaf> oerjan: Why did that work?
07:46:32 <shachaf> `` diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) | cat -v
07:46:33 <HackEso> No output.
07:46:58 <shachaf> `` diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) | cat; echo $?
07:46:59 <HackEso> No output.
07:47:08 <oerjan> `` diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) | cat -A
07:47:09 <HackEso> No output.
07:47:22 <shachaf> `` diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) | cat; echo hi >&2
07:47:23 <HackEso> No output.
07:47:34 <shachaf> tdnh
07:47:58 <oerjan> `` diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) | hexdump
07:47:59 <HackEso> No output.
07:48:39 <shachaf> nothing you do will do anything hth
07:48:47 <shachaf> it's nondeterministic too. terminating the thing for some reason.
07:49:13 <oerjan> `` diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) | cat -v
07:49:14 <HackEso> No output.
07:49:18 <oerjan> oh i see
07:49:40 <oerjan> `` diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) </dev/null | cat
07:49:41 <HackEso> No output.
07:50:01 <oerjan> or not.
07:50:14 <shachaf> `` strace -o tmp/trace diff -u0 <(< wisdom/shachaf fmt -1) <(< wisdom/funpuns rot13 | fmt -1) | cat
07:50:15 <HackEso> ​/hackenv/bin/`: line 5: strace: command not found
07:50:23 <shachaf> ?!
07:50:29 <shachaf> you gotta have strace
07:50:55 <kmc> diffs of diffs are the best
07:51:24 <shachaf> kmc: imo can you make an infinity-category out of it
07:51:45 <kmc> i was wondering
07:51:47 <kmc> and, probably
07:54:09 -!- xkapastel has quit (Quit: Connection closed for inactivity).
07:56:18 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60234&oldid=60232 * Cortex * (+37)
07:58:49 -!- arseniiv has joined.
08:07:50 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60235&oldid=60234 * Cortex * (+160)
08:50:21 -!- oerjan has quit (Quit: Nite).
09:21:10 <Taneb> Something I was thinking over the weekend:
09:22:00 <Taneb> 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 <Taneb> But Grp doesn't
09:22:59 <shachaf> How come?
09:24:39 <Taneb> Monoid homormorphisms form a monoid pointwise, with (f<>g)(a) = f(a)<>g(a)
09:25:48 -!- orbitaldecay has joined.
09:27:09 <Taneb> 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 <Taneb> 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 <esowiki> [[Multiply]] N https://esolangs.org/w/index.php?oldid=60236 * A * (+354) Created page with "=Syntax= <pre> This programming language only implements multiplication. It uses only 3 values: x as -3, y as -2, and z as -1. Whitespace means multiplication. </pre> =Example..."
13:02:42 <esowiki> [[Joke language list]] https://esolangs.org/w/index.php?diff=60237&oldid=60080 * A * (+71) /* General languages */
13:05:13 <esowiki> [[Multiply]] https://esolangs.org/w/index.php?diff=60238&oldid=60236 * A * (+30) /* Examples */
13:05:30 <esowiki> [[Multiply]] https://esolangs.org/w/index.php?diff=60239&oldid=60238 * A * (+30) /* Examples */
13:06:11 <esowiki> [[Multiply]] https://esolangs.org/w/index.php?diff=60240&oldid=60239 * A * (+33) /* Examples */
13:06:29 <esowiki> [[Multiply]] https://esolangs.org/w/index.php?diff=60241&oldid=60240 * A * (-1) /* Examples */
13:09:15 <esowiki> [[Multiply]] https://esolangs.org/w/index.php?diff=60242&oldid=60241 * A * (+202)
13:12:50 <esowiki> [[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 <esowiki> [[Multiply]] https://esolangs.org/w/index.php?diff=60244&oldid=60243 * A * (+13) /* Implementation */
13:13:24 <esowiki> [[Multiply]] https://esolangs.org/w/index.php?diff=60245&oldid=60244 * A * (+13)
13:15:14 <esowiki> [[Multiply]] https://esolangs.org/w/index.php?diff=60246&oldid=60245 * A * (+63)
13:35:21 <esowiki> [[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 <esowiki> [[Special:Log/newusers]] create * Erwijet * New user account
16:34:45 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=60248&oldid=60217 * Erwijet * (+227) Introduced myself
16:35:46 <esowiki> [[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 <fizzie> Taneb: You'd probably know -- what's there to see and do in Hexham?
17:00:17 <Taneb> 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 <Taneb> Why do you ask?
17:01:39 <fizzie> I might stop by sometime in the summer. It's on the way, and it's got all that #esoteric glamour.
17:02:25 <fizzie> `` grwp -il hexham
17:02:26 <HackEso> english channel \ fentimans \ ham \ helsinki \ hexchat \ hexham \ wegian
17:02:59 <Taneb> There's a bus that goes to a bunch of old Roman sites as well
17:03:15 <Taneb> (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 <esowiki> [[Brainfuck]] https://esolangs.org/w/index.php?diff=60250&oldid=59396 * Erwijet * (+139) Added an interpreter
17:21:04 <esowiki> [[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 <fizzie> 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 <zzo38> 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 <zzo38> 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 <zzo38> (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 <b_jonas> 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 <zzo38> 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 <b_jonas> oh, you need a status window? that's more difficult then
19:17:22 <zzo38> (I do not have time right now, but you can try, and/or perhaps later I can try.)
19:17:45 <zzo38> The game doesn't need a status window; it can work without. However, the status window can be helpful.
19:23:01 <rain1> could /topic be the status bar
19:23:30 <zzo38> It is a text grid window of more than one line in this game
19:35:17 <b_jonas> "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 <b_jonas> `? adjective
19:35:57 <HackEso> Adjectives are words frequently found attached to chickens.
19:35:59 <b_jonas> 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 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60252&oldid=60235 * Cortex * (+123)
20:45:07 <esowiki> [[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 <kmc> 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 <moony_> https://github.com/Globidev/corewa-rs https://glo.bi/corewar/ someone made their own corewars
23:07:55 <moony_> it looks fun
23:09:23 <moony_> favorite part from what i've looked at is it's usage of less abstract opcodes
23:09:37 <moony_> meaning really fun(tm) tactics like rewriting the opponent are possible
23:25:53 <fizzie> At least just on a glance, it doesn't look *that* different from regular Redcode.
23:27:35 <fizzie> 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 <Phantom_Hoover> 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 <Phantom_Hoover> 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 <Phantom_Hoover> 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 <fizzie> @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 <lambdabot> Consider it noted.
00:56:34 <oerjan> @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 <lambdabot> Consider it noted.
01:02:25 <oerjan> <b_jonas> 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 <moony_> oerjan, ?? has boily gone somewhere? Where's my chicken quit messages?
01:34:52 <oerjan> 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 <shachaf> bon soirjan
01:36:19 <moony_> ):
01:36:39 <oerjan> shalomchaf
01:37:07 <moony_> this channel is slowly falling apart from what i can tell
01:37:08 <moony_> RIP
01:37:28 <shachaf> oerjan: I thought that was a first, but apparently it's a 10th.
01:37:43 <oerjan> 10th what?
01:37:54 <shachaf> time that's been said in this channel
01:38:23 <oerjan> which one
01:38:35 <shachaf> the thing you said
01:38:49 <oerjan> aha. i don't recall having seen it.
01:38:50 <shachaf> Which I don't want to repeat because it'll ruin my future grep counts.
01:39:14 <shachaf> Wait, no, I double counted old and new logs.
01:39:24 <shachaf> It's a fifth.
01:39:36 <oerjan> . o O ( minor or major fifth? )
01:40:16 <shachaf> What's a major and minor fifth?
01:40:26 <shachaf> I know what a perfect fifth is.
01:40:45 <shachaf> Minor fifth is 650 cents apparently.
01:41:06 <shachaf> And perfect fifth is 700 cents.
01:41:27 <shachaf> > 2**(700/1200)
01:41:29 <lambdabot> 1.4983070768766815
01:41:32 <shachaf> > 2**(650/1200)
01:41:34 <lambdabot> 1.4556531828421873
01:41:58 <shachaf> Wasn't there a function to find a rational number close to a real number?
01:42:13 <oerjan> yes, continued fraction cutoff
01:42:33 <oerjan> or rationalize or something in scheme
01:42:49 <shachaf> I mean, in Haskell.
01:42:51 <shachaf> Or in lambdabot.
01:42:58 <oerjan> > rationalize
01:43:00 <lambdabot> error:
01:43:00 <lambdabot> • Variable not in scope: rationalize
01:43:00 <lambdabot> • Perhaps you meant ‘rational’ (imported from Text.PrettyPrint.HughesPJ)
01:45:14 <oerjan> @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 <lambdabot> Defined.
01:45:24 <oerjan> > rationalize (pi, exp 1)
01:45:26 <lambdabot> error:
01:45:26 <lambdabot> • Ambiguous type variable ‘b0’ arising from a use of ‘show_M301665704346...
01:45:27 <lambdabot> prevents the constraint ‘(Show b0)’ from being solved.
01:45:32 <oerjan> fnord
01:46:12 <oerjan> @let rationalize :: RealFrac a => (a,a) -> Rational
01:46:13 <lambdabot> .L.hs:163:28: error:
01:46:13 <lambdabot> • Couldn't match type ‘a’ with ‘Integer’
01:46:14 <lambdabot> ‘a’ is a rigid type variable bound by
01:46:30 <oerjan> oh
01:46:32 <oerjan> @undef
01:46:33 <lambdabot> Undefined.
01:46:54 <oerjan> @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 <lambdabot> .L.hs:161:10: error:
01:46:55 <lambdabot> • No instance for (RealFrac Integer) arising from a use of ‘floor’
01:46:56 <lambdabot> • In a stmt of a pattern guard for
01:47:04 <oerjan> oh duh
01:47:16 * moony_ still doesn't understand haskell. He has a good grasp on x86-64 assembly tho
01:47:37 <oerjan> @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 <lambdabot> .L.hs:161:10: error:
01:47:38 <lambdabot> • No instance for (RealFrac Integer) arising from a use of ‘floor’
01:47:38 <lambdabot> • In a stmt of a pattern guard for
01:48:04 <oerjan> @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 <lambdabot> Defined.
01:48:17 <oerjan> > rationalize (pi, exp 1)
01:48:19 <lambdabot> *Exception: Ratio has zero denominator
01:48:24 <oerjan> ...
01:49:51 <oerjan> ic
01:50:25 <oerjan> @undef
01:50:25 <lambdabot> Undefined.
01:51:59 <oerjan> oh duh
01:52:07 <oerjan> @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 <lambdabot> Defined.
01:52:22 <oerjan> > rationalize (exp 1, pi)
01:52:29 <lambdabot> mueval-core: Time limit exceeded
01:52:41 <oerjan> something is still fishy
01:54:43 -!- moony__ has joined.
01:57:08 -!- moony_ has quit (Ping timeout: 244 seconds).
02:01:44 <oerjan> @undef
02:01:44 <lambdabot> Undefined.
02:03:16 <kmc> nyaa
02:12:33 <oerjan> @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 <lambdabot> Defined.
02:12:42 <oerjan> > rationalize (exp 1, pi)
02:12:44 <lambdabot> 3.0
02:12:47 <oerjan> whee
02:13:39 <oerjan> > rationalize (sqrt 5, exp 1)
02:13:42 <lambdabot> 2.5
02:13:46 <oerjan> oops
02:13:51 <oerjan> > rationalize (sqrt 5, exp 1) :: Rational
02:13:54 <lambdabot> 5 % 2
02:14:36 <oerjan> this formulation depends on Double Infs, i think
02:15:38 <oerjan> > rationalize (-pi, sqrt 2)
02:15:40 <lambdabot> 0.0
02:15:53 <oerjan> @let rationalize :: (Double, Double) -> Rational
02:15:54 <lambdabot> Defined.
02:17:30 <oerjan> > rationalize (2,3)
02:17:33 <lambdabot> 5 % 2
02:17:43 <oerjan> it's open interval hth
02:20:23 <oerjan> > rationalize (pi, 1/0)
02:20:26 <lambdabot> 4 % 1
02:22:15 <oerjan> shachaf: there's also toRational of course, although that's more of "convert float to exact"
02:22:35 <oerjan> > toRational pi
02:22:38 <lambdabot> 884279719003555 % 281474976710656
02:23:09 <oerjan> while rationalize finds the simplest fraction in an interval
02:23:52 <oerjan> (minimal abs of numerator/denominator)
02:27:13 <shachaf> 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 <oerjan> shachaf: well scheme's rationalize does that.
03:29:54 <shachaf> OK, but I thought it was in Haskell.
03:30:33 -!- housecarpenter has quit (Quit: Leaving).
03:32:28 <oerjan> there's probably a package...
03:32:42 <oerjan> @google site:hackage.haskell.org rationalize
03:32:43 <lambdabot> https://hackage.haskell.org/package/Haschoo-0.1.2/src/tests/r5rstest.scm
03:32:52 <oerjan> hum
03:33:13 <oerjan> 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 <int-e> > rationalize (10^8,10^8+1)
06:01:11 <lambdabot> mueval-core: Time limit exceeded
06:02:35 <int-e> . o O ( | otherwise = let b' = fromInteger (floor b) in b' + rationalize (a-b', b-b') )
06:02:53 <int-e> uhm
06:04:11 <int-e> that's too much :/
06:05:25 <int-e> 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 <oerjan> 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 <oerjan> poof
06:12:42 <shachaf> oerjan: look
06:12:52 <shachaf> what ratio does 650 cents approximate
06:12:53 <shachaf> twh
06:13:16 <oerjan> > 13/5
06:13:20 <oerjan> oops
06:13:32 <oerjan> shachaf: you chose a bad time to ask tdnh
06:13:45 <shachaf> pronked
06:14:17 <oerjan> 13/2
06:14:38 <oerjan> @wn pronk
06:14:45 <shachaf> pronked again
06:14:49 <oerjan> darn
06:15:02 <oerjan> MY MIND IS GONE I CAN FEEL IT
06:15:14 <shachaf> also i don't know what it means
06:15:17 <shachaf> i took it from this channel
06:15:19 <oerjan> or at least hal'f of it
06:15:28 <shachaf> 2012-06.txt logs apparently?
06:15:31 <kmc> helloerjan
06:15:32 <kmc> hichaf
06:15:36 <shachaf> yogan
06:15:41 <kmc> :3
06:15:49 <kmc> I just ate some fried kimchi ramen noodle soup
06:15:53 <kmc> it was so good
06:17:24 * oerjan is wondering what's before the "gan" these days
06:17:57 <shachaf> yo hth
06:18:05 <oerjan> OKAY
06:18:22 <kmc> oerjan: I kept my given name (Keegan)
06:18:35 <kmc> I like it, and it's relatively gender-neutral
06:18:54 -!- lambdabot has joined.
06:19:02 <oerjan> aha
06:19:02 <kmc> wb lambdabot
06:19:13 <shachaf> > 13/2
06:19:22 <lambdabot> 6.5
06:19:28 <kmc> also changing your name is a huge hassle, and i couldn't find a new one that I liked
06:19:32 <shachaf> > 2**(650/1200)
06:19:40 <lambdabot> 1.4556531828421873
06:20:13 <kmc> 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 <kmc> I half considered Cassandra since I keep making accurate predictions that nobody believes :P
06:22:02 <kmc> and it's a pretty name
06:22:11 <kmc> but "Cathy and Cassie" doesn't work so well
06:22:11 <oerjan> heh
06:22:25 <kmc> I would call myself Alyssa but my girlfriend is already named that so that'd be weird
06:22:43 <kmc> I think the best option I came up with was Nicole
06:25:51 <kmc> 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 <kmc> for the california form, my doctor certified under penalty of perjury that I have a "female demeanor" :rolleyes:
06:28:17 <kmc> there's seriously a checkbox for "demeanor"
06:28:48 <kmc> in the end i had no trouble with either CA or the feds, and got both new identity documets quickly
06:28:59 <kmc> (all 3 counting the passport card as well)
06:30:20 <kmc> 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 <kmc> 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 <oerjan> ic
06:33:25 <oerjan> @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 <lambdabot> .L.hs:160:1: error:
06:33:26 <lambdabot> Duplicate type signatures for ‘rationalize’
06:33:27 <lambdabot> at .L.hs:158:1-11
06:33:33 <oerjan> wat
06:33:42 <oerjan> @undef
06:33:42 <lambdabot> Undefined.
06:33:47 <oerjan> @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 <lambdabot> .L.hs:166:5: error:
06:33:48 <lambdabot> • Couldn't match type ‘Double’ with ‘Ratio Integer’
06:33:48 <lambdabot> Expected type: Rational
06:33:52 <oerjan> f
06:34:48 <oerjan> > let a = 1 in a+floor a
06:34:51 <lambdabot> 2
06:36:42 <oerjan> @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 <lambdabot> .L.hs:166:14: error:
06:36:44 <lambdabot> • Could not deduce (Ord x) arising from a use of ‘max’
06:36:44 <lambdabot> from the context: Num x
06:36:58 <oerjan> wat
06:37:15 <oerjan> @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 <lambdabot> Defined.
06:37:42 <oerjan> > rationalize (10^8,10^8+1)
06:37:45 <lambdabot> 200000001 % 2
06:38:55 <oerjan> i think it hit the thing that's not the monomorphism restriction but even hairier
06:40:15 <oerjan> > let e=0.001 in rationalize (2**(650/1200)-e,2**(650/1200)+e)
06:40:18 <lambdabot> 67 % 46
06:40:28 <oerjan> shachaf: hth
06:40:57 <oerjan> > let e=0.002 in rationalize (2**(650/1200)-e,2**(650/1200)+e)
06:40:59 <lambdabot> 16 % 11
06:41:43 <oerjan> > let [rationalize (2**(650/1200)-e,2**(650/1200)+e) | e<-[0.001, 0.0015..]]
06:41:45 <lambdabot> <hint>:1:75: error:
06:41:45 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
06:41:53 <oerjan> shocking
06:42:03 <oerjan> > [rationalize (2**(650/1200)-e,2**(650/1200)+e) | e<-[0.001, 0.0015..]]
06:42:05 <lambdabot> [67 % 46,16 % 11,16 % 11,16 % 11,16 % 11,16 % 11,16 % 11,16 % 11,16 % 11,16 ...
06:42:30 <oerjan> 16/11 seems to be good for a range
06:43:53 <oerjan> > let [rationalize (2**(650/1200)-e,2**(650/1200)+e) | e<-[0.005, 0.01..]]
06:43:55 <lambdabot> <hint>:1:73: error:
06:43:55 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
06:44:00 <shachaf> oerjan: Oh, https://en.wikipedia.org/wiki/Major_fourth_and_minor_fifth agrees
06:44:03 <oerjan> > [rationalize (2**(650/1200)-e,2**(650/1200)+e) | e<-[0.005, 0.01..]]
06:44:05 <shachaf> 16:11
06:44:05 <lambdabot> [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 <orin> why is youtube video of someone playing a NES game recorded in 720p
06:48:45 <orin> the NES native resolution is 240p
06:51:01 * oerjan puts rationalize in his private Basic.hs file
06:53:34 <shachaf> can you put it in the public Basic.hs file twh
06:54:11 <oerjan> nah
06:59:55 <int-e> mmm
07:04:44 <shachaf> oerjan: ok, i'll just ask you next time i need a number rationalized tdh
07:08:02 <int-e> oerjan: Oh that's just the monomorphism restriction... I didn't think that through.
07:10:17 <int-e> oerjan: it's also slightly nasty that the code divides by 0 :)
07:11:18 <int-e> > rationalize (-0, 1)
07:11:24 <lambdabot> mueval-core: Time limit exceeded
07:11:26 <oerjan> int-e: no it isn't.
07:11:39 <oerjan> oh.
07:11:42 <int-e> <3 timing
07:11:46 <oerjan> i mean it's not the MR
07:12:14 <int-e> yes it is, a' is used at two different types
07:12:56 <int-e> @google MonoLocalBinds
07:12:57 <lambdabot> 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 <int-e> with NoMonoLocalBinds, no type signature for a' is required.
07:13:36 <oerjan> MonoLocalBinds it is
07:13:52 <oerjan> int-e: that's not the monomorphism restrictino.
07:13:54 <oerjan> *on
07:15:11 <oerjan> > rationalize (-1,0)
07:15:15 <int-e> I guess that's true.
07:15:17 <lambdabot> mueval-core: Time limit exceeded
07:15:20 <oerjan> i guess that's a bug then
07:15:21 <int-e> Same effect, different reason.
07:16:10 <oerjan> my relevant PPCG post https://codegolf.stackexchange.com/questions/153744/wait-what-language-is-this/153927#153927
07:17:47 <int-e> (AFAIUI, the main purpose of MonoLocalBinds is to prevent accidental loss of sharing.)
07:18:44 <int-e> And then there's backward compatibility, and eliding quite a few type signatures.
07:19:54 <int-e> But you're right that I conflated this with the MR that prevents polymorphic references.
07:20:09 <oerjan> @undef
07:20:09 <lambdabot> Undefined.
07:20:12 <oerjan> @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 <lambdabot> Defined.
07:20:30 <oerjan> > rationalize (-1,0)
07:20:32 <lambdabot> (-1) % 2
07:22:24 <int-e> 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 <int-e> (ensure sharing of what in the case of top-level bindings are CAFs)
07:23:12 <oerjan> it's not a soundness problem anywhere (except with unsafePerformIO)?
07:23:36 <int-e> :t newIORef
07:23:37 <lambdabot> error:
07:23:37 <lambdabot> • Variable not in scope: newIORef
07:23:37 <lambdabot> • Perhaps you meant ‘newSTRef’ (imported from Data.STRef)
07:23:42 <int-e> :t newSTRef
07:23:44 <lambdabot> a -> ST s (STRef s a)
07:23:51 <int-e> :t newSTRef undefined
07:23:52 <lambdabot> ST s (STRef s a)
07:24:18 <int-e> If you could get a polymorphic value out of this, you'd be in trouble.
07:24:46 <oerjan> oh monomorphism of lambda arguments is something else again
07:25:00 <oerjan> that's even for basic hindley-milner, i think
07:25:27 <oerjan> and that's what the ST monad needs
07:26:30 <int-e> Ah, darn. The ML term I'm looking for is "value restriction".
07:26:56 <int-e> Which is /a/ monomorphism restriction? *shrugs*
07:27:08 <int-e> This stupid fuzzy memory of mine... :-/
07:27:17 <oerjan> yeah was about to mention that
07:27:32 <oerjan> it's needed once you have impure expressions
07:29:23 <kmc> yeah
07:29:32 -!- danieljabailey has joined.
07:29:34 <kmc> the ML value restriction is needed for soundness
07:29:53 <kmc> the Haskel monomorphism restriction is meant to prevent unexpected non-memoization
07:30:06 <kmc> but not needed for soundness
07:30:47 <kmc> 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 <Taneb> @massages-lout
09:12:36 <lambdabot> 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 <lambdabot> you expand it.
09:12:59 <Taneb> 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 <Taneb> Yes, I was mistaken
09:43:04 <Taneb> :)
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 <wob_jonas> oerjan: re rationals, see https://www.perlmonks.com/?node_id=424519 for example
10:00:23 <wob_jonas> 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 <wob_jonas> `pbflist https://pbfcomics.com/comics/untitled-candle-comic/
11:43:13 <HackEso> pbflist https://pbfcomics.com/comics/untitled-candle-comic/: shachaf Sgeo quintopia ion b_jonas Cale
11:56:52 <esowiki> [[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 <esowiki> [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60255&oldid=60223 * A * (+565) /* List of candidates */
12:24:17 <wob_jonas> argh! the updated software is, of course, not quite compatible with everything I have
12:24:28 <wob_jonas> now I have to figure out what I have to change
12:24:41 <esowiki> [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60256&oldid=60255 * A * (+68) /* List of candidates */
12:25:03 <esowiki> [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60257&oldid=60256 * A * (-29) /* List of candidates */
12:25:19 <esowiki> [[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 <esowiki> [[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 <esowiki> [[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 <esowiki> [[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 <esowiki> [[ShaFuck]] M https://esolangs.org/w/index.php?diff=60262&oldid=35114 * Arcorann * (+0)
12:36:37 <esowiki> [[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 <esowiki> [[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 <esowiki> [[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 <esowiki> [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60267&oldid=60261 * A * (+4) /* List of candidates */
12:43:22 <esowiki> [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60268&oldid=60267 * A * (+13) /* List of candidates */
12:46:43 <esowiki> [[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 <esowiki> [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60270&oldid=60268 * A * (-34) /* List of candidates */
12:54:07 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=60271&oldid=60263 * A * (-61) /* References */
13:03:07 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=60272&oldid=60271 * A * (+428) Add overview(just adding more information)
13:06:16 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=60273&oldid=60272 * A * (+81) /* Turing-completeness */
13:20:53 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=60274&oldid=60273 * A * (+125) /* Cat program (limited to integers) */
13:23:43 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=60275&oldid=60274 * A * (+0) /* Cat program (limited to integers) */
13:24:37 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=60276&oldid=60275 * A * (+32) /* Possible */
13:25:13 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=60277&oldid=60276 * A * (-2) /* Cat program (limited to integers) */
13:30:18 <esowiki> [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60278&oldid=60270 * A * (+8) /* List of candidates */
13:32:18 <esowiki> [[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 <wob_jonas> 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 <esowiki> [[Special:Log/newusers]] create * Carbontwelve * New user account
14:56:27 <esowiki> [[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 <orin> OH MY GOD I HATE GIT SO MUCH
15:04:03 <orin> it has been sitting there "rebasing" for over 24 hours now
15:04:30 <orin> taking up 100% of cpu and over 2 GB of memory
15:05:09 <orin> in that time I could have EASILY done this with fucking patch files
15:05:34 <Taneb> That's... not something I've ever seen happen
15:07:12 <wob_jonas> orin: you know you can just kill it, right?
15:07:31 <orin> wob_jonas: well yeah
15:07:38 <esowiki> [[LDPL]] N https://esolangs.org/w/index.php?oldid=60281 * Carbontwelve * (+597) Stub page for LDPL
15:07:47 <orin> wob_jonas: but what state would that leave my repo in
15:08:14 <int-e> . o O ( more usable )
15:08:17 <orin> git rebase master
15:08:17 <orin> First, rewinding head to replay your work on top of it...
15:08:25 <orin> and nothing for 24 hours
15:09:07 <wob_jonas> orin: it's mostly immutable garbage-collected stuff, you only have to restore the refs
15:09:26 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=60282&oldid=60233 * Carbontwelve * (+11) /* L */ adding Link to LDPL
15:09:54 <wob_jonas> 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 <int-e> Never experienced anything like that either. At that point I would assume that it won't finish.
15:10:07 <orin> ok, so it left me on "no branch"
15:10:14 <wob_jonas> or use svn rather than git if I can, but that's not an option for an existing repo
15:10:20 <int-e> git checkout <branch you were on>
15:10:30 <orin> I'll check out the branch I was trying to rebse
15:11:00 <orin> Ideally now I'll create patch files from my branch and apply them manually
15:11:21 <int-e> 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 <orin> int-e: this is a local repo, everything important is on the main repo
15:12:28 <wob_jonas> 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 <wob_jonas> you don't really get a timed history, only a half-ditched effort called the reflog
15:13:19 <int-e> Yes and it's hardly ever been an issue for me.
15:13:50 <esowiki> [[LDPL]] https://esolangs.org/w/index.php?diff=60283&oldid=60281 * Carbontwelve * (+10) Added stub text
15:15:01 <orin> hmm maybe I'll just check out an entirely new repository and delete this one
15:15:21 <int-e> 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 <orin> well yeah what I expected git to do is 1. find the latest shared point between my branch and the master
15:17:11 <orin> 2. create a patch from that point to the head of my branch
15:17:20 <orin> 3. try to apply it to the head of master
15:17:48 <orin> but apparently it is doing something more complicated
15:18:19 <Taneb> I believe it applies each commit in sequence
15:18:21 <int-e> I'd expect a 3-way merge from the common ancestor?
15:18:27 <Taneb> For a rebase
15:18:45 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
15:18:51 <wob_jonas> um no, it has to apply each commit from the common ancestor to your branch onto the master, in sequence
15:19:40 <orin> wob_jonas: right. but my branch has like, 20 commits max
15:19:45 <wob_jonas> 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 <int-e> (I meant for each revision separately.)
15:20:13 <wob_jonas> and it's easier to abort or continue the apply too when there's a conflict or anything
15:20:26 <orin> so my current theory is that that "common ancestor" is way further back than it should be
15:20:42 <wob_jonas> 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 <int-e> Hah. "revision" is mercurial terminology. I mean "commit".
15:28:29 <orin> git clone $GIT_ORIGIN_REPO i_hate_git
15:28:58 <orin> what's the command to get a patch from commit XXX to commit YYY
15:29:55 <wob_jonas> orin: git diff XXX YYY --
15:29:57 <int-e> git diff [<options>] <commit> <commit> [--] [<path>...]
15:30:25 <wob_jonas> int-e: yes, but what are the right options?
15:30:45 <orin> ok cool that should work with the path part since I knw nothing outside a particular directory ought to have changed
15:32:17 <int-e> 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 <orin> 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 <orin> er, the head of that branch which is the head of master
15:44:22 <int-e> good luck
15:49:04 <wob_jonas> 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 <wob_jonas> t, which lets you collapse your commits to a single one
15:52:42 <wob_jonas> also, git is bs, because the command I use the most frequently is an alias to git status -bs
15:53:01 <wob_jonas> I have a few other aliases where the defaults are ... strange
16:15:46 -!- danieljabailey has joined.
16:36:06 <orin> -reject
16:42:26 <orin> 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 <esowiki> [[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 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60285&oldid=60284 * Cortex * (+120)
17:23:39 <esowiki> [[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 <kmc> < 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 <b_jonas> kmc: that's probably just my biased opinion
18:48:44 <kmc> what do you mean by 'better' though
18:48:50 <kmc> nicer sounding?
18:48:57 <b_jonas> totally subjective
18:49:57 <kmc> ok
18:51:39 -!- LKoen has joined.
18:57:26 <orin> 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 <kmc> git freebase
19:27:28 <kmc> 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 <kmc> my parents had good (unintentional) foresight by giving me something gender-neutral-ism
19:27:44 <kmc> ish*
19:28:11 <kmc> one less hassle...
19:28:28 <kmc> Keegan means "firey one" in Gaelic or something
19:28:36 <kmc> my wife met an orange polydactyl cat named Keegan
19:28:59 <shachaf> cat
19:29:06 <kmc> yes
19:29:07 <kmc> cat
19:29:31 <b_jonas> I ate catfish
19:29:39 <shachaf> 🐈
19:30:03 <b_jonas> 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 <Phantom_Hoover> kmc, did you ever play halo
20:03:15 <Phantom_Hoover> also fizzie re the lambdabot message yeah that's what i remember
20:03:41 <kmc> Phantom_Hoover: only casually at parties with friends
20:03:42 <kmc> why
20:04:55 <Phantom_Hoover> there's a ship in, uh, one of the spinoff games called 'spirit of fire'
20:05:07 <Phantom_Hoover> which was one of a few really excellent ship names in halo
20:08:24 <kmc> ok
20:08:24 <Phantom_Hoover> also a nicely subtle tolkien reference
20:08:29 <kmc> not as good as the Culture ship names
20:09:54 <Phantom_Hoover> well nothing is as good as those
20:10:15 <kmc> yes
20:13:27 -!- danieljabailey has quit (Ping timeout: 240 seconds).
20:14:36 <j4cbo> Absolutely No You-Know-What
20:15:09 <j4cbo> 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 <shachaf> kmc: https://bugs.chromium.org/p/project-zero/issues/detail?id=1792
21:55:07 <shachaf> in the year 2019 linux still has bugs with mapping page 0
21:55:11 <kmc> cool
22:01:25 <b_jonas> 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 <b_jonas> wait wait
22:03:19 <b_jonas> the problem is that you _can_ map the null page?
22:03:22 <b_jonas> you're supposed to be able to map it
22:04:31 <shachaf> Not when mmap_min_addr is higher than 0.
22:06:48 <kmc> b_jonas: you're not
22:06:56 <kmc> for the past 10+ years
22:07:04 <kmc> because it makes it easy to exploit a kernel-mode NULL dereference
22:07:51 <b_jonas> 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 <kmc> you mean Intel SMAP?
22:08:34 <kmc> that would help yes
22:08:50 <kmc> anyway not all CPUs have that, and at any rate it's good to have multiple lines of defense
22:08:59 <b_jonas> 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 <b_jonas> but yes, it's only the latest cpus
22:09:14 <kmc> afaik, there is no compelling reason to allow mapping a page at 0
22:09:18 <b_jonas> and sure, if the /proc thing is set to not allow it, then yes, it shouldn't be allowed
22:10:13 <b_jonas> I mean, there are a lot of optional /proc knobs like that
22:10:21 <b_jonas> including the one that denies using ptrace completely
22:10:33 <b_jonas> it makes sense to have one of these as well I guess
22:16:00 <shachaf> `cat /proc/sys/vm/mmap_min_addr
22:16:00 <HackEso> 4096
22:19:11 <fizzie> I vaguely remember DOSEMU used to remember mmap_min_addr=0.
22:19:34 <fizzie> Don't think it's really applicable on x86-64 anyway.
22:22:23 -!- arseniiv has quit (Ping timeout: 255 seconds).
22:23:07 <b_jonas> 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 <kmc> there's not much point using dosemu anymore
22:31:40 <kmc> dosbox works great and is a pure emulator with no weird platform dependencies
22:32:22 <kmc> 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 <kmc> to each his own
22:42:04 <fizzie> b_jonas: That sounds uncontroversial.
22:42:13 <b_jonas> 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 <b_jonas> but qemu had improved significantly since, so I might use qemu the next time I want to do something like this
22:46:14 <kmc> ok
22:46:29 <orin> https://www.youtube.com/watch?v=H0u6xxh_JL0
22:46:48 <b_jonas> incidentally, borland C on dos is a compiler that seems really weird now
22:47:07 <b_jonas> it wasn't that weird back then of course
22:47:39 <b_jonas> 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 <kmc> lol
22:51:45 <kmc> i've used it
22:51:48 <kmc> C integer types are dumb anyway
22:52:09 <b_jonas> 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 <kmc> did you know that the XC8 compiler for PIC has 'short long'?
22:52:52 <kmc> it's longer than a short, but shorter than a long
22:52:56 <kmc> it's 24 bits
22:52:59 <b_jonas> oh
22:53:00 <APic> Uh oh
22:53:09 <b_jonas> I didn't know that
22:53:38 <fizzie> 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 <b_jonas> 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 <kmc> "who likes short shorts?"
22:54:54 <b_jonas> 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 <kmc> <source>:2:15: error: 'long long long' is too long for GCC
22:55:04 <fizzie> 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 <b_jonas> it also has some sort of support for an ancient form of C++
22:55:56 <b_jonas> 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 <b_jonas> let me look that up
22:56:32 <int-e> . o O ( optimizing compiler, n. - a compiler that uses more than two registers in the generated machine code )
22:56:59 <fizzie> The c56 compiler doesn't support "long long" at all, it's just an error.
22:57:22 <b_jonas> 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 <kmc> 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 <kmc> because the test program was full of fixed point math :)
22:58:43 <kmc> so we won even though our compiler was very dumb in other ways, like failing to coalesce moves
22:58:56 <kmc> it would do like mov %eax, %ebx; mov %ebx, %eax
22:59:15 <int-e> 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 <b_jonas> nah, I probably just misremembered that about magic-1
23:00:43 <b_jonas> http://www.homebrewcpu.com/ by the way
23:01:14 <orin> int-e: well except good ole TCC
23:01:25 <orin> int-e: TCC can compile and run a linux kernel
23:01:30 <b_jonas> kmc: was the test program known in advance? or was it a lucky guess?
23:02:19 <kmc> I don't recall, actually
23:02:22 <b_jonas> heh
23:02:27 <fizzie> 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 <fizzie> (Well, the `short` part is fine. But `char` isn't supposed to have any padding bytes.)
23:03:30 <fizzie> 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 <orin> i thought the main guarantee about char is that copying an array of char is the same as copying any type
23:03:41 <fizzie> (You're supposed to use access macros with it.)
23:03:59 <orin> e.g. that memcpy() takes char*
23:04:20 <orin> or is that no longer the case?
23:04:25 -!- xkapastel has quit (Quit: Connection closed for inactivity).
23:04:33 <fizzie> 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 <fizzie> (And you can't do that on that implementation.)
23:04:56 <orin> yeah
23:05:34 <fizzie> 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> <wob_jonas> 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 <oerjan> istr you can maybe find those from the continued fractions too, except you sometimes need to increment the last number
00:58:51 <oerjan> > rationalize (pi-0.01, pi+0.01)
00:58:53 <lambdabot> 22 % 7
00:59:10 <shachaf> :t rationalize
00:59:11 <lambdabot> (Double, Double) -> Rational
00:59:16 <oerjan> > 22/7
00:59:18 <lambdabot> 3.142857142857143
00:59:25 <oerjan> > rationalize (pi-0.01, pi+0.001)
00:59:27 <lambdabot> 47 % 15
00:59:37 <shachaf> > rationalize (exp 1 - 0.01, exp 1 + 0.01)
00:59:39 <lambdabot> 19 % 7
00:59:44 <oerjan> i don't think that is in the continued fraction
00:59:58 <shachaf> @where pi_10
00:59:58 <lambdabot> (!!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 <oerjan> > rationalize (pi-0.001, pi+0.001)
01:00:06 <lambdabot> 201 % 64
01:00:07 <shachaf> > (!!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 <lambdabot> "314159265358979323846264338327950288419716939937510582097494459230781640628...
01:00:25 <shachaf> imo that's p. good golfing
01:00:56 <oerjan> . o O ( did i really use "barring" instead of "modulo" up there? i may have to hand in my mathematician card )
01:04:24 <oerjan> > let cf x | let f()=fromInteger(floor x) = [f(),f()+1] ++ map((f()+).recip) (cf (1/(x-f()))) :: Rational
01:04:26 <lambdabot> <no location info>: error:
01:04:26 <lambdabot> not an expression: ‘let cf x | let f()=fromInteger(floor x) = [f(),f()+1...
01:04:37 <oerjan> @let cf x | let f()=fromInteger(floor x) = [f(),f()+1] ++ map((f()+).recip) (cf (1/(x-f()))) :: Rational
01:04:38 <lambdabot> .L.hs:161:1: error:
01:04:38 <lambdabot> • Couldn't match type ‘Ratio Integer’ with ‘[t]’
01:04:38 <lambdabot> Expected type: t -> [t]
01:04:47 <oerjan> @let cf x | let f()=fromInteger(floor x) = [f(),f()+1] ++ map((f()+).recip) (cf (1/(x-f()))) :: [Rational]
01:04:49 <lambdabot> Defined.
01:04:52 <oerjan> > cf pi
01:04:54 <lambdabot> error:
01:04:54 <lambdabot> • No instance for (Floating (Ratio Integer))
01:04:54 <lambdabot> arising from a use of ‘pi’
01:05:02 <oerjan> fff
01:05:52 <oerjan> i though adding () should make it polymorphic enough
01:07:13 <oerjan> > 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 <lambdabot> error:
01:07:15 <lambdabot> • No instance for (Floating (Ratio Integer))
01:07:15 <lambdabot> arising from a use of ‘pi’
01:07:48 <oerjan> > 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 <lambdabot> error:
01:07:50 <lambdabot> • Could not deduce (Integral Rational) arising from a use of ‘f’
01:07:50 <lambdabot> from the context: (RealFrac t, Integral t)
01:08:33 <oerjan> > 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 <lambdabot> error:
01:08:35 <lambdabot> • Couldn't match type ‘Double’ with ‘Ratio Integer’
01:08:35 <lambdabot> Expected type: [Rational]
01:10:42 <oerjan> argh it must be MonoLocalBinds because it works in ghci
01:11:43 <oerjan> > 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 <lambdabot> error:
01:11:45 <lambdabot> • Expected a type, but ‘Num a’ has kind ‘Constraint’
01:11:45 <lambdabot> • In the type signature: f :: a => Num a
01:12:11 <oerjan> > 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 <lambdabot> [3 % 1,4 % 1,22 % 7,25 % 8,333 % 106,355 % 113,355 % 113,688 % 219,103993 % ...
01:12:27 <oerjan> wut
01:12:58 <oerjan> > rationalize (pi-0.001, pi+0.001)
01:13:00 <lambdabot> 201 % 64
01:13:09 <oerjan> definitely not in there
01:13:56 <oerjan> > (pi-22/7, pi-25/8, pi-333/106, pi-355/113)
01:13:58 <lambdabot> (-1.2644892673496777e-3,1.6592653589793116e-2,8.32196275291075e-5,-2.6676418...
01:15:07 <oerjan> @where rationalize
01:15:07 <lambdabot> I know nothing about rationalize.
01:17:30 <oerjan> @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 <lambdabot> Done.
01:17:36 <oerjan> @where rationalize
01:17:36 <lambdabot> @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 <lambdabot> 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 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60287&oldid=60286 * Cortex * (+56)
02:22:08 <esowiki> [[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 <oerjan> i wonder if next freefall will show sam having severe stomach trouble :P
03:54:05 <oerjan> 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 <oerjan> in girl genius, thinks get even weirder than i expected.
05:37:06 <oerjan> *things
06:19:17 -!- adu has quit (Quit: adu).
06:42:28 <esowiki> [[Truth-machine]] M https://esolangs.org/w/index.php?diff=60289&oldid=60288 * Arcorann * (+0) /* ALLSCII */
06:58:27 <esowiki> [[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 <esowiki> [[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 <esowiki> [[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 <rain1> https://tools.ietf.org/html/rfc865
09:38:00 <adu> https://tools.ietf.org/html/rfc2324
09:40:39 -!- adu has left.
09:40:57 <Taneb> Outlandish GG theory: this is Violetta
09:41:56 -!- AnotherTest has joined.
09:46:11 <esowiki> [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60292&oldid=60278 * A * (-4) /* List of candidates */
09:50:43 <esowiki> [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60293&oldid=60292 * A * (+46) /* List of candidates */
09:51:46 <Taneb> I think nominating your own language to be featured is rather poor form
09:53:03 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=60294&oldid=60277 * A * (-6) Remove what I commented
10:00:40 <shachaf> 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 <orbitaldecay> 7\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\rgft=v cfvgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
12:33:11 <orin> 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 <int-e> orin: child or cat?
13:38:45 <orin> hmm?
13:42:35 <int-e> ... tab completion
13:42:43 <int-e> orbitaldecay: child or cat?
13:42:49 <int-e> orbitaldecay: sorry
13:42:51 <int-e> ...
13:42:53 <int-e> 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 <esowiki> [[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 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=60296&oldid=60295 * A * (-429) /* Language Overview */
14:49:22 <esowiki> [[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 <esowiki> [[Bitch]] https://esolangs.org/w/index.php?diff=60298&oldid=60297 * A * (+173) /* Common Algorithms */
15:00:38 <esowiki> [[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 <esowiki> [[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 <esowiki> [[User talk:Helen]] N https://esolangs.org/w/index.php?oldid=60301 * A * (+126) Request help from User:Helen
15:13:22 <esowiki> [[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 <orin> int-e: lol tabs
15:25:03 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=60303&oldid=60279 * A * (-3)
15:53:02 <orin> 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 <orin> 𝔗𝔥𝔢 𝔑𝔢𝔴 𝔜𝔬𝔯𝔨 𝔗𝔦𝔪𝔢𝔰 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 <orin> thing : thing.c
18:25:06 <kmc> perhaps bonghits will fix my makefile
18:25:43 <orin> kmc: it turned out the make accidentally impossible to succeed
18:26:10 -!- LKoen has quit (Remote host closed the connection).
18:26:31 <orin> because, the perl script passed it the wrong arguments
18:26:58 <orin> because, the makefile that calls the perl script, had the wrong variable definitions
18:27:47 <orin> because, the shell script that calls the makefile was written wrong
18:27:49 -!- Phantom_Hoover has joined.
18:27:53 <orin> and it's my fault
18:28:10 <kmc> d'oh
18:28:19 <kmc> you should add more scripts
18:28:59 <orin> 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 <orin> AHA
18:38:19 <orin> i can put a bunch of ifdefs
18:40:38 <orin> and then set a variable like FAKE_VARIABLE = $(shell touch foo)
18:41:20 <orin> 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 <orin> https://www.unicode.org/mail-arch/unicode-ml/y2019-m03/0002.html
19:09:35 <orin> ^ guy seems somewhat pompous
19:09:43 -!- orbitaldecay_wor has joined.
19:09:56 <esowiki> [[Zahlen]] N https://esolangs.org/w/index.php?oldid=60304 * Orby * (+6997) Introducing Zahlen. Documenting binary operators.
19:19:05 <orin> hmm, how would one extract individual bits from a integer, individual integers from a list or set?
19:24:02 <orbitaldecay_wor> orin: many operations are yet undocumented. casting a logical to a list will create a bit vector
19:24:21 <orbitaldecay_wor> and there will be an explode operator for sets and lists
19:24:29 <orbitaldecay_wor> still working on the unary operators
19:25:57 <orbitaldecay_wor> 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 <orby_work> wiki tables are cumbersome :(
19:26:52 -!- FreeFull has joined.
19:29:39 <esowiki> [[Zahlen]] M https://esolangs.org/w/index.php?diff=60305&oldid=60304 * Orby * (+47)
19:36:47 <esowiki> [[Zahlen]] https://esolangs.org/w/index.php?diff=60306&oldid=60305 * Orby * (+372) Expanding introduction. Adding more subsections.
19:40:28 <orby_work> 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 <orby_work> 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 <esowiki> [[Works in progress]] https://esolangs.org/w/index.php?diff=60307&oldid=60230 * Orby * (+57)
19:53:38 -!- MDude has joined.
19:54:39 <esowiki> [[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 <int-e> heh, oerjan was right in 2012
20:48:11 -!- ais523 has joined.
20:48:43 <ais523> 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 <ais523> and all the websites I normally check to see if there's an ongoing backbone dispute are in the latter group
20:49:23 <ais523> 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 <ais523> @messages?
20:52:55 <lambdabot> Sorry, no messages today.
20:53:57 -!- b_jonas has joined.
21:00:42 <ais523> hi b_jonas
21:01:05 <b_jonas> hi
21:01:52 <ais523> 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 <orin> the internet is working fine for me
21:02:52 <ais523> oh, hmm, it just fixed itself
21:03:06 <orin> maybe a DNS crapout
21:03:08 <orin> ?
21:03:30 <int-e> it could be some "transparent" HTTP proxy
21:04:00 <ais523> orin: definitely not DNS, that's the first thing I checked
21:04:13 <ais523> but it'll be hard to diagnose now that it's stopped
21:04:28 <ais523> I was busy connecting to sites using telnet to port 80 to see what happened
21:06:01 <orin> https://www.youtube.com/watch?v=W_EfDSnToKY
21:08:54 <ais523> and the failing sites just sent no response, even though the connection wasn't refused
21:10:47 <b_jonas> orin: have you managed to implement a check for characters that look identical, or even for ones that look too similar?
21:17:01 <orin> b_jonas: not yet
21:18:28 <orin> b_jonas: I did manage to do it by simply dumping the characters and running sort over them
21:18:42 <orin> but an actual C++ olution would be better
21:19:08 <b_jonas> orin: you can sort in C++ too, the library has a sort function
21:19:55 <shachaf> `olist 1158
21:19:55 <HackEso> olist 1158: shachaf oerjan Sgeo FireFly boily nortti b_jonas
21:20:17 <b_jonas> o
21:27:47 -!- ais523 has quit (Ping timeout: 240 seconds).
21:46:18 <orin> intaanet-tobu shingusu!
22:20:02 -!- ais523 has joined.
22:30:53 -!- AnotherTest has quit (Ping timeout: 245 seconds).
22:42:33 <FreeFull> ais523: Maybe packets were just being dropped hard en-route?
22:42:45 <FreeFull> And TCP had to keep retrying?
22:42:53 <ais523> FreeFull: yes, it's consistent with the packets being hard-dropped
22:43:04 <ais523> although, would TCP report "connection established" before a single inbound packet was received?
22:43:16 <FreeFull> ais523: Next time it happens, try pinging some IP and seeing how long the responses take, and how many get dropped
22:43:41 <FreeFull> A connection definitely requires a bit of back and forth to be established
22:43:50 <FreeFull> But it's possible the first few packets were always getting through for some reason
22:56:29 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60309&oldid=60287 * Cortex * (+763)
22:57:30 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=60310&oldid=60290 * Cortex * (+63)
23:06:25 <orin> https://twitter.com/sokane1/status/1103421841505505280
23:06:40 <orin> Trump called him "Tim Apple"
23:07:01 <orin> Tim Apple, and his friends Satya Microsoft and Sundar Google
23:07:46 <shachaf> orin: hellorin
23:08:01 <shachaf> have you considered putting all your c++ files into one compilation unit to make the build faster hth
23:08:12 <shachaf> itim translation unit
23:10:10 <orin> shachaf: we can't even fit the list of c++ files into a single command line
23:10:40 <orin> I don't thing even a tenth of it would fit in memory at once
23:11:21 <shachaf> imo make your builds fast
23:11:25 <shachaf> then you'll be less miserable
23:13:27 <fizzie> Have all your developers sync to last green of a CI build, then you can cache compilation artifacts.
23:14:10 <shachaf> continuous integration is the worst name
23:14:24 <shachaf> integration already sounds like the math
23:14:37 <shachaf> and the word "continuous" seems to settle the matter unambiguously
23:14:44 <j4cbo> d e v o p s
23:28:32 <orin> fizzie: lol compilation artefacts
23:28:50 <orin> fizzie: this thing compiles the same files multiple times for some reason
23:29:28 <shachaf> orin's build system is just a disaster, is the background behind all this
23:29:45 <shachaf> and orin inc. would rather have builds take 12 hours than fix it
23:30:51 <fizzie> 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 <b_jonas> 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 <ais523> using a version system where rebases are sometimes required :-P
00:17:55 <b_jonas> 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 <b_jonas> 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 <ais523> 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 <b_jonas> 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 <ais523> so rebasing isn't a meaningful operation, as it would be a no-op
00:19:31 <b_jonas> ais523: um, but sometimes there are conflicts resolved manually
00:19:45 <b_jonas> so I can want to rebase a branch mostly automatically, but resolve some conflicts
00:19:57 <b_jonas> whether it's conflicts the vcs can detect or semantic ones that it can't detect
00:20:16 <ais523> you can add conflict resolutions manually if required
00:20:31 <b_jonas> heck, if you rebase everything as far as possible, it will mostly be semantic conflicts
00:20:49 <ais523> a good VCS would be able to detect semantic conflicts too, I think
00:21:02 <b_jonas> I don't really understand how "rebase as far as possible" means though
00:21:42 <moony__> ais523, well if it's moved as far back as possible
00:21:59 <moony__> what happens if the rebase gets moved so far back the text merges fine, but it doesnt compile
00:22:04 <ais523> b_jonas: so in Git, normally each commit is the parent of the one before
00:22:22 <ais523> but that's not normally what you actually want, because it adds a lot of false dependencies
00:22:36 <ais523> 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 <b_jonas> what?
00:22:55 <b_jonas> "the each commit is the parent of the one before" -- isn't that time travel?
00:23:29 <ais523> err, each's commits parent is the one before
00:23:40 <ais523> (although Git totally allows commits to be parented out of order)
00:24:00 <b_jonas> yeah, I know. it keeps the date when you cherry-pick a commit
00:24:23 <b_jonas> the problem is that you can't tell when anything was committed
00:24:25 <b_jonas> anyway
00:24:36 <b_jonas> I like having commits have a parent as late as possible
00:24:45 <b_jonas> because then you have intermediate versions that are known to work and tested
00:24:51 <b_jonas> well, as much as you actually test them at least
00:25:03 <b_jonas> if you rebase stuff back, it gets impossible to get known working states, or even suspected working states
00:25:03 <ais523> 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 <ais523> the two concepts should be separate
00:25:19 <ais523> you can record the known working states, but you should do so separately, rather than tying them to individual diffs
00:26:41 <b_jonas> right, but I like how the snapshot is the important concept, and I record snapshots primarily, as I do in svn
00:27:08 <ais523> I don't like that because it makes it impossible to take parts of a repository out of order
00:27:26 <ais523> 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 <b_jonas> 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 <ais523> (git has a workaround for this, detecting duplicated patches and not applying them, but it's not a general-purpose one)
00:27:46 <b_jonas> you can't in git, but you can in svn
00:28:03 <b_jonas> 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 <ais523> b_jonas: that's the correct way to do it
00:28:23 <b_jonas> yes
00:28:30 <b_jonas> so in that respects, diffs are needed
00:29:11 <b_jonas> 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 <b_jonas> 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 <b_jonas> because then you can have the same diff from a private branch come into the public repo as two separate identities
00:31:27 <b_jonas> even without a distributed vcs, the svn system isn't perfect, it probably can be improved
00:31:55 <b_jonas> and yes, maybe it should be improved in a direction where the diffs are more important
00:32:02 <b_jonas> which might be what hg is trying to do, I don't really understand
00:32:24 <b_jonas> 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 <b_jonas> 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 <ais523> 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 <ais523> 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 <b_jonas> 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 <b_jonas> 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 <b_jonas> 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 <oerjan> <Taneb> Outlandish GG theory: this is Violetta <-- that is indeed pretty outlandish
01:24:46 -!- b_jonas has quit (Quit: leaving).
01:26:27 <oerjan> <Taneb> 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 <oerjan> <orin> 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 <oerjan> . o O ( nerdery rhyme? )
01:32:31 <oerjan> apparently someon made a book of those
01:32:33 <oerjan> *+e
01:34:38 <oerjan> <int-e> heh, oerjan was right in 2012 <-- unlike these days, i mean, about what?
01:35:00 <oerjan> (GG? in which case i may have forgotten exactly what i said.)
01:49:42 <ais523> oerjan: I don't think A is Helen, but if you think checking is a good idea, I'll check
01:49:54 <ais523> should I?
01:50:54 <Sgeo> ais523, wait, how do we know that Redcloak will die?
01:50:54 <ais523> 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 <ais523> 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 <oerjan> i was wondering if b_jonas was spoilering
01:56:33 <oerjan> 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 <oerjan> ais523: ok if you don't think so. i didn't have a strong impression.
01:57:49 <oerjan> 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 <oerjan> (i'd have to like read it...)
01:59:34 <oerjan> also i want redcloak to have a happy ending :(
02:00:15 <oerjan> i suppose that's not entirely in conflict with dying in that universe
02:01:30 <ais523> I tried to read it, and came out with no more understanding than when I'd started
02:01:43 <oerjan> i am not surprised
02:03:16 <ais523> I like the way the proof starts by saying the language probably isn't TC
02:03:42 <ais523> 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 <shachaf> This picture is TG: https://cdn.discordapp.com/attachments/465999263059673088/553008336220717066/cmj2.jpg
02:05:43 <ais523> fwiw, this language looks fairly easy to write a TCness proof or disproof for
02:06:15 <fizzie> 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 <shachaf> Good thing this diagram makes perfect sense.
02:07:03 <ais523> 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 <ais523> 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 <fizzie> I'm sure the fascinating picture made sense as well, it just needed a little more context than that one.
02:10:09 <ais523> 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 <ais523> 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 <ais523> err, 64, not 32
02:12:15 <ais523> 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 <orin> https://imgur.com/qUxvk2I
05:41:37 <orin> Stellaris just... naturally seems to cause stupid borders now
05:44:32 <orin> I think i'm finally getting the hang of the new new stellaris
06:36:13 <esowiki> [[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 <Taneb> oerjan: ah, I assumed because A's been editing the page for Bitch a lot
09:12:36 <oerjan> yeah
09:18:04 <shachaf> Aren't they the same person?
09:27:30 <int-e> oerjan: 2012: https://en.wikipedia.org/wiki/Talk:Malbolge#Referenced_in_popular_culture
09:27:35 <oerjan> shachaf: Helen seems more competent to me
09:28:57 <oerjan> int-e: you mean someone admitted to copying it from wikipedia?
09:29:09 <int-e> (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 <oerjan> aha
09:29:43 <int-e> 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 <Taneb> So... why was there a malboge program in Elementary
09:31:34 <int-e> 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 <Taneb> 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 <int-e> oerjan: you may have but I'm usually not remembering much of what happened 6-7 years ago :)
10:12:00 <oerjan> hey i didn't i knew _what_ i had predicted :P
10:12:07 <oerjan> something with dimensions, i presume
10:12:12 <oerjan> *didn't say
10:13:33 <oerjan> 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 <int-e> sure... this is looking increasingly like time travel may actually be going to have happened real soon now, meantime, years ago.
10:14:02 <int-e> oerjan: Yeah it was cruel bait. I admit it. I'm a bad person.
10:14:30 * oerjan swats int-e -----###
10:15:50 <int-e> (I don't really know when we "heard" all those stories about sightings of what's likely Lucrecia traveling through time.)
10:16:26 <oerjan> 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 <int-e> 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 <oerjan> oh right the lantern
10:17:07 <oerjan> *prende
10:17:15 <int-e> thanks
10:18:07 <oerjan> confused and confusing
10:19:17 <int-e> time travel and foreign languages will do that to you
10:20:31 <int-e> ("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 <oerjan> i probably should start approaching bed ->
10:22:27 -!- oerjan has quit (Quit: Nite).
10:22:44 <izabera> can i use 2/pi * atan(x) as my activator function?
10:22:47 <int-e> 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 <Taneb> izabera: I'm not going to stop you
10:23:07 <izabera> yeah but is that a reasonable choice?
10:23:28 <shachaf> int-e: I think we're looking at the person from the front?
10:23:40 <shachaf> The blue rectangle is their right.
10:24:17 <int-e> shachaf: oh, I think I misattributed an arrow tip. :)
10:24:33 <Taneb> izabera: Wikipedia suggests that atan on its own works
10:24:53 <shachaf> Puzzle: Why do mirrors flip things left-right and not up-down?
10:25:03 <int-e> shachaf: yeah I love that one
10:25:08 <izabera> sure, i just wanted to scale it between -1 and 1
10:25:55 <rain1> is there a website to determine if my unicode implementation supports X and Y features? e.g. the new heiroglyphics features
10:26:23 <int-e> shachaf: thinking about it, how about using ceiling mirrors as a hint? :P
10:26:29 <rain1> Hard mode puzzle: How do i free the creatures from inside the mirror realm?
10:26:49 <shachaf> 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 <int-e> shachaf: I agree, that's the easy bit. You need psychology for explaining the idea that mirrors swap left and right.
10:28:02 <int-e> Or some silly geometry (orientation...)
10:29:38 <shachaf> Here's the visualization I was happy with:
10:30:22 <shachaf> 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 <shachaf> (If you haven't seen this puzzle before you should think about it first! It's TG.)
10:37:23 <int-e> 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 <shachaf> Right, because you have horizontal symmetry.
11:02:06 -!- xkapastel has joined.
11:27:04 <esowiki> [[User talk:Helen]] https://esolangs.org/w/index.php?diff=60312&oldid=60311 * A * (-164) No reply! Revert edit.
11:28:17 <esowiki> [[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 <wob_jonas> 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 <wob_jonas> 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 <wob_jonas> 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 <wob_jonas> 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 <wob_jonas> "<int-e> it looks to me like some poor soul was tasked with manually copying the [Malbolge] hello world program" =>
12:54:20 <wob_jonas> 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 <wob_jonas> "<shachaf> 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 <wob_jonas> 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 <wob_jonas> 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 <wob_jonas> 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 <wob_jonas> 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 <wob_jonas> `? Dead Man's Chest
15:08:25 <HackEso> 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 <orby_work> 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 <esowiki> [[Zahlen]] https://esolangs.org/w/index.php?diff=60314&oldid=60306 * Orby * (+2959) Introducing unary operators.
17:59:51 <esowiki> [[Zahlen]] M https://esolangs.org/w/index.php?diff=60315&oldid=60314 * Orby * (+16) /* Types */ fixing typo
18:01:32 <esowiki> [[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 <esowiki> [[Special:Log/newusers]] create * Pidot * New user account
18:36:24 <esowiki> [[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 <esowiki> [[Zahlen]] https://esolangs.org/w/index.php?diff=60318&oldid=60316 * Orby * (-96) /* Length */
18:47:47 <ski> shachaf : hm, what was similar to the mode thing i was talking about ? something about linear something ?
18:48:40 <ski> 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 <shachaf> ski: I don't remember, what was the context?
19:01:51 -!- LKoen has joined.
19:02:04 <esowiki> [[Zahlen]] https://esolangs.org/w/index.php?diff=60319&oldid=60318 * Orby * (+1034) Adding miscellaneous operators
19:06:02 <esowiki> [[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 <ski> i dunno. you mentioned it a little over a month ago (on this channel)
19:18:39 <ski> ("<shachaf> 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 "<shachaf> ski: What do you think of this linear Prolog thing?")
19:19:13 <shachaf> Oh.
19:36:55 <shachaf> ski: Right, I think it's something weaker than preadditive.
19:37:14 <ski> what is ?
19:37:56 <shachaf> Whatever this category is, if there is one.
19:38:28 <shachaf> It's like how Rel is a free module over a boolean semiring, or something like that.
19:43:03 <esowiki> [[Zahlen]] https://esolangs.org/w/index.php?diff=60321&oldid=60320 * Orby * (+290) Cleaning up.
19:43:38 <esowiki> [[Zahlen]] M https://esolangs.org/w/index.php?diff=60322&oldid=60321 * Orby * (-76) /* Concatenate */
19:54:00 <orin> is it unprofessional to call my new git branch "oren-hates-git"
19:54:12 -!- S_Gautam has joined.
19:54:34 <orin> 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 <orin> I would like to use more advanced TTF features but there is scant documentation for the ttf hinting language
20:01:31 <b_jonas> 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 <orin> 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 <orin> my pervious feature branch can't be rebased without hanging forever
20:03:48 -!- siddharth has changed nick to S_Gautam.
20:07:49 <orin> what language is git written in anyway?
20:08:16 <b_jonas> mostly C
20:08:47 <b_jonas> with some light unixisms
20:10:29 <esowiki> [[Special:Log/newusers]] create * Fmease * New user account
20:12:06 <orin> i'm wondering if my old feature branch was so borked it caused git to go into an infinite loop
20:12:33 <orin> I left it chugging for 24 hours before I decided it was doomed
20:16:12 <b_jonas> `? fish
20:16:14 <HackEso> Come and dance and love the fish! Mister Disco summoned it.
20:27:25 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60323&oldid=60317 * Fmease * (+289) /* Introductions */
20:28:45 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=60324&oldid=60323 * Fmease * (-82) Fix my signature
20:48:42 <esowiki> [[Brainfuck]] https://esolangs.org/w/index.php?diff=60325&oldid=60251 * Cortex * (+103) /* Cat */
20:52:33 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60326&oldid=60309 * Cortex * (+60)
20:56:47 <esowiki> [[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 <b_jonas> [ _1*180%8
22:47:00 <j-bot> 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 <oerjan> `learn Heiroglyphics are an ancient set of symbols used for writing last wills and testaments.
23:55:17 <HackEso> Learned 'heiroglyphic': Heiroglyphics are an ancient set of symbols used for writing last wills and testaments.
23:56:10 <shachaf> took me a while to figure that one out
23:56:19 <oerjan> *MWAHAHAHA*
23:56:37 <shachaf> i was expecting it to be a spoken pun rather than a written pun
23:56:42 <shachaf> despite being written rather than spoken
23:56:52 <shachaf> `5 w
23:56:54 <HackEso> 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 <cmd> is equivalent to repeating `` <cmd> 5 times, then splitting the output into irc-sized pieces. <cmd> 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 <shachaf> `n
23:56:57 <HackEso> 2/2:the key. Syntax (case insensitive): `learn [a|an|the] <keyword>[s][punctuation] [...] \ `hoat//`hoat: See `hoag
23:57:16 <shachaf> `? `spam
23:57:17 <HackEso> ​`spam <n> 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 <shachaf> `? `n
23:57:24 <HackEso> ​`n is an abbreviation for `spam.
23:57:28 <shachaf> `? `4
23:57:29 <HackEso> ​`4 <cmd> is equivalent to `5 <cmd>, except that it only repeats 4 times. Useful when you've already run a command forgetting to use `5.
23:57:35 <shachaf> `? `1
23:57:36 <HackEso> ​`1 <cmd> is equivalent to `` <cmd>, 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 <shachaf> `? `2
23:57:47 <HackEso> ​`2 <cmd> is equivalent to `1 <cmd>, except that it starts displaying the _second_ output piece. Useful when you've already run a command forgetting to use `1.
23:57:52 <shachaf> `? `3
23:57:53 <HackEso> ​`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 <b_jonas> `? lie group
00:15:31 <HackEso> lie group? ¯\(°​_o)/¯
00:16:33 <b_jonas> `? gianni schicchi
00:16:34 <HackEso> gianni schicchi? ¯\(°​_o)/¯
00:16:40 <b_jonas> `? Gianni Schicchi
00:16:41 <HackEso> 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 <oerjan> `le/rn lie group//Lie groups are groups that try being too smooth for their own good.
00:32:40 <HackEso> Learned 'lie group': Lie groups are groups that try being too smooth for their own good.
00:33:11 <shachaf> smooth operator
01:42:04 <kmc> is there a way to link to a webpage while also injecting a custom stylesheet
01:42:13 <kmc> some of these ham websites are painfully bad
01:42:20 <kmc> otoh, they don't tend to contain 800 MB of JavaScript
01:45:40 <kmc> well, you can at least run a javascript: url after loading it
01:57:06 -!- theology has joined.
01:57:18 <theology> cat.
01:57:19 -!- theology has left ("Leaving").
01:58:19 <shachaf> true
02:56:20 -!- FreeFull has quit.
02:58:13 <ski> 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 <ski> hm, would `Rel' rather be the categories of modules (or "modules" ?) over the boolean semi-ring ?
02:59:28 <ski> (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 <shachaf> The covariant one is weird.
03:02:16 <ski> afaiu, it's about to ⌜{f(x) | x ∈ S}⌝, iow (direct / existential) image
03:07:35 <esowiki> [[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 <ski> 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 <ski> (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 <ski> btw, this operation is a normal natural transformation, nothing weird there
03:17:57 <ski> (er .. sorry, i said we get ⌜Ω A ⟵ ℘ A × (Ω ← A)⌝, but obviously i meant we get ⌜Ω ⟵ ℘ A × (Ω ← A)⌝ ..)
03:18:47 <ski> 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 <ski> (dinatural in ⌜A⌝, obv. ..)
03:19:58 <ski> 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 <ski> 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 <ski> (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 <ski> (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 <ski> (er, of the log of an integrand)
03:32:29 <ski> (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 <ski> (apparently "open subsets" is contravariant (not much surprise), while "bounded subsets" is covariant)
03:36:18 <ski> 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 <ski> (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 <ski> 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 <ski> .. 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 <ski> .. 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 <ski> sorry, should be commutative monoids
03:49:47 <ski> 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 <ski> (so convolution gives the usual rule for polynomial multiplication)
03:52:35 <ski> .. 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 <ski> (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 <ski> (.. 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 <ski> (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 <ski> (hm, there's probably some relation of ⌜ℤ⌝ to neutral element of tensor here ..)
04:10:37 <ski> (recall that an abelian group is a module over ⌜ℤ⌝)
04:17:54 <ski> (.. 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 <ski> (.. 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 <ski> (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 <ski> (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 <ski> (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 <ski> (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 <ski> (that notation also being used for monoid ring, at least in one book)
04:38:15 <ski> so .. hm, i would like to better understand these two constructions, and their (hopeful) equivalence, perhaps under some extra conditions (?)
04:40:23 <ski> 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 <ski> 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 <oerjan> 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 <orin> why is there no biderectional bit shift operator
08:26:49 <oerjan> > (4 `shift` 1, 4 `shift` (-1))
08:26:51 <lambdabot> (8,2)
08:27:03 <oerjan> SURE THERE IS
08:27:10 <oerjan> a bit verbose, maybe.
08:32:10 <orin> also I contend that fscanf should have a variant which is guaranteed to read exactly one line
08:36:04 <oerjan> ginormous line coming up...
08:44:10 <orin> should be fine as long as after it reads enough it skips past the next \n
08:45:08 <orin> i mean with normal fscanf you can put all the inputs on ones line
08:47:12 <orin> whereas fortran READ statement reads exactly one card
08:47:15 <orin> er, line
08:48:03 <orin> 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 <wob_jonas> Wow. I didn't know there were more than 2**17 different unicode characters.
13:56:02 <wob_jonas> And apparently the majority of those are hanzi/kanji.
13:57:58 -!- xkapastel has joined.
14:03:56 <orin> expected ‘const struct bdfglyph * const* const’ but argument is of type ‘struct bdfglyph **’
14:04:02 <orin> how is that incompatible?!
14:04:35 <orin> C const as implemented by gcc makes no sense
14:05:31 <wob_jonas> orin: those are incompatib le
14:05:49 <wob_jonas> oh wait
14:05:51 <wob_jonas> not they aren't
14:06:02 <wob_jonas> the expected one is const * const *
14:06:04 <wob_jonas> hmm
14:06:41 <orin> the function is pormising not to modify literally anything, but GCC doesn't seem to pick up on that
14:06:44 <wob_jonas> orin: is this in C or in C++?
14:06:48 <orin> C
14:09:21 <orin> i mean it's only a warning but its a STUPID warning
14:10:17 <wob_jonas> 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 <orin> doesn't seem to be allowed
14:11:53 <wob_jonas> you could ask on ##C
14:17:37 <orin> int main(int argc, char **argv){const char *const *const constargv = argv;return 0;}
14:17:49 <orin> imcompatible
14:19:08 <orin> tcc also warns about it
14:19:32 <orin> 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 <kmc> that's a lot of const
17:21:02 <kmc> 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 <orin> Yay, I'm getting a cubicle with a window on the 20th floor
17:51:35 <orin> kmc: what about if you give it a name
17:51:39 <orin> kmc: const struct bdfglyph * const* const x;
18:14:13 -!- FreeFull has joined.
18:30:07 <esowiki> [[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 <shachaf> 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 <fizzie> orin: It's fine in C++ but not in C, as I guess you've discovered.
19:19:29 <fizzie> 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 <fizzie> 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 <b_jonas> fizzie: ah, so that's why I thought
19:27:11 <b_jonas> I'm more familiar with the C++ rules than the C ones
19:58:26 -!- orby has joined.
19:58:32 <orby> 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 <ski> 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 <shachaf> ski: I am, I just didn't see it
22:39:24 <shachaf> 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 <moony__> ghidra has an impressively smart decompiler
23:54:57 <zzo38> 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 <zzo38> 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 <fizzie> 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 <edit name="autohint" mode="assign"><bool>true</bool></edit>.
01:47:42 -!- tromp has quit (Ping timeout: 252 seconds).
01:48:23 <zzo38> 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 <fizzie> 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 <zzo38> 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 <fizzie> 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 <zzo38> OK.
01:56:45 <zzo38> Is it possible to implement the FreeType autohint code in the TrueType VM code?
01:58:45 <fizzie> 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 <zzo38> (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 <esowiki> [[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 <adu> 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 <zzo38> 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 <Hooloovo0> adu, what's the improvement over webassembly?
05:19:57 <Hooloovo0> getting developers to switch is a really hard thing to do
05:21:27 <zzo38> 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 <adu> It would be the MMIX instructions set
05:35:31 <adu> and the improvement would be more lulz
05:39:45 <adu> 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 <zzo38> MMIX is OK, I think
06:22:26 <zzo38> (And, there is the implementation, too)
06:28:56 -!- danieljabailey has quit (Ping timeout: 250 seconds).
06:35:41 <zzo38> 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 <zzo38> 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 <esowiki> [[Special:Log/newusers]] create * CrazySqueak * New user account
07:02:38 <esowiki> [[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 <esowiki> [[Binary lambda calculus]] https://esolangs.org/w/index.php?diff=60332&oldid=51637 * Zzo38 * (+312)
08:00:29 <esowiki> [[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 <esowiki> [[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 <esowiki> [[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 <esowiki> [[Headshot!]] M https://esolangs.org/w/index.php?diff=60336&oldid=60334 * CrazySqueak * (-5)
08:29:08 <esowiki> [[Hellborne]] M https://esolangs.org/w/index.php?diff=60337&oldid=46957 * CrazySqueak * (+1) Fixed a spelling mistake ("Fliping" -> "Flipping")
08:31:55 <oerjan> 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 <esowiki> [[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 <esowiki> [[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 <esowiki> [[User:CrazySqueak]] N https://esolangs.org/w/index.php?oldid=60340 * CrazySqueak * (+149) Created.
14:34:23 <esowiki> [[Post Dominos]] https://esolangs.org/w/index.php?diff=60341&oldid=60339 * Orby * (+356)
14:52:05 <esowiki> [[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 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=60343&oldid=60303 * A * (-29)
14:59:09 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=60344&oldid=60343 * A * (+32)
14:59:23 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=60345&oldid=60344 * A * (-2)
15:14:36 <esowiki> [[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 <esowiki> [[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 <esowiki> [[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 <esowiki> [[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 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60350&oldid=60327 * Cortex * (+130)
20:08:37 -!- orby has joined.
20:08:53 <esowiki> [[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 <esowiki> [[User:Orby]] M https://esolangs.org/w/index.php?diff=60352&oldid=60308 * Orby * (+73)
20:11:13 -!- AnotherTest has joined.
20:14:36 <esowiki> [[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 <esowiki> [[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 <esowiki> [[Talk:Interfrac]] N https://esolangs.org/w/index.php?oldid=60355 * Ais523 * (+456) this might be more interesting than it looks?
21:04:43 <esowiki> [[Talk:Interfrac]] https://esolangs.org/w/index.php?diff=60356&oldid=60355 * Orby * (+254)
21:09:01 <esowiki> [[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 <ais523> Interfrac is really interesting
21:56:01 <ais523> I'm leaning towards it being sub-TC, but it's hard to prove that
21:57:42 <ais523> 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 <orby> 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 <ais523> that's why I was thinking along the power-of-n lines
22:04:47 <orby> ahh, I see where you're coming from. that's interesting
22:05:02 <ais523> 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 <ais523> 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 <orby> Let me catch up on BIIA. I've looked at it before, but not in a long time.
22:06:53 <orby> 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 <ais523> the idea being that you compile the sub-TC languages into it?
22:08:38 <orby> yeah, exactly
22:09:06 <orby> that you implement an interpreter in the push down automaton for a language with a questionable computational class
22:09:07 <ais523> 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 <orby> Nice, good idea :)
22:10:09 <ais523> and I certainly can't see a way to implement Interfrac in it
22:10:39 <orby> hmm, no neither do I
22:12:38 <orby> Maybe oerjan will have an idea if he comes along
22:14:53 <int-e> Interfrac reduces to integer linear programming, I'd think. (The + is addition of 2D vectors of integers.)
22:16:04 <ais523> I think that it's decidadble whether, in Interfrac, there's /some/ input that will work
22:16:55 <int-e> 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 <ais523> if you have two fractions a/b, c/d with a>b and c<d, then take (d-c) copies of the former, (a-b) copies of the latter, and you get (d-c)a + (a-b)c opposite (d-c)b + (a-b)d, = ad-ac+ac-bc opposite bd-bc + ad-bd, = ad-bc opposite ad-bc
22:18:27 <ais523> and if you /don't/ have two fractions a/b, c/d with a>b and c<d, then either you have a fraction x/x in which case it's trivial, or else every fraction is >1 or every fraction is <1 and thus it's obvious that the two sides can't balance
22:18:44 <ais523> however, the introduction of the input makes things much more complex
22:18:47 <int-e> 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 <ais523> int-e: as far as I can tell from the Wikipedia article, ILP has an unknown computational class
22:19:39 <ais523> (although it's known to be NP-hard)
22:20:21 <ais523> there are special cases with known computational classes, though, and Interfrac may be one of them
22:20:35 <orby> Doesn't that make an interfrac program equivalent to a system of linear diophantine equations?
22:20:51 <int-e> ais523: the decision problem (does a set of constraints have a solution) is NP-complete.
22:20:57 <orby> for a given n
22:21:05 <ais523> orby: I think so, yes
22:21:12 <int-e> ais523: computing an optimal solution just isn't a decision problem.
22:21:51 <ais523> 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 <ais523> then you can find the optimal solution via binary search
22:23:13 <orby> 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 <ais523> orby: yes
22:24:00 <orby> well then it's definitely sub tc because we're solving the halting problem, right?
22:24:16 <ais523> 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 <int-e> ais523: I'm pretty sure there's an upper bound ... looking for a reference
22:24:29 <ais523> /however/, my proof doesn't work for a given input
22:25:03 <orby> but for a given input, it's just a system of linear diophantine equations, which are well understood?
22:26:00 <ais523> even without a given input, it's a system of linear diophantine equations
22:26:07 <ais523> but without a given input, you have one equation rather than two
22:26:18 <orby> https://en.wikipedia.org/wiki/Diophantine_equation#System_of_linear_Diophantine_equations
22:26:20 <ais523> err, although it trivially collapses to one equation in either case
22:26:20 <orby> Right?
22:26:43 <ais523> OK, so we have a decision algorithm for that too
22:26:51 <ais523> so yes, decidable language, thus sub-TC
22:26:55 <orby> yeah, I think sub tc
22:27:03 <ais523> and the correct computational class is now almost certainly NP-complete
22:27:24 <orby> yeah, np-complete for the subset sum problem you brought up on the talk page
22:27:57 <ais523> 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 <orby> right right
22:30:05 <ais523> 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 <orby> ha, I broke the wiki
22:35:15 <fizzie> Which wiki?
22:36:43 <orby> I didn't break any wiki, I'm just kidding
22:37:52 <fizzie> I see. Sorry, I just notice that sort of thing since it usually means I need to fix something.
22:38:04 <orby> Sorry to startle you!
22:39:13 <fizzie> I think I should update MediaWiki sometime soon anyway, though, it's been a long while.
22:39:30 <orby> Updates are good for the soul.
22:40:02 <int-e> ais523: hrm I'm drawing a blank for now. In any case decidability of ILP is all we need here anyway.
22:40:50 <int-e> (to show that this is sub-TC)
22:41:03 <ais523> yes
22:41:07 <orby> agreed
22:41:47 <int-e> so we can use things like the omega test
22:49:37 <int-e> hah. http://lara.epfl.ch/w/_media/papadimitriou81complexityintegerprogramming.pdf
22:51:22 <int-e> ais523: ^^ found something
22:53:21 <orby> that's awesome
22:57:35 <orby> 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 <esowiki> [[Special:Log/newusers]] create * Zesterer * New user account
23:19:07 -!- ais523 has joined.
23:21:51 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60358&oldid=60331 * Zesterer * (+204) Added personal introduction
23:22:42 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=60359&oldid=60335 * Zesterer * (+16) Added Stackfuck
23:41:54 <esowiki> [[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 <esowiki> [[Hanoifuck]] N https://esolangs.org/w/index.php?oldid=60361 * Zesterer * (+2105) Created page
23:57:53 <esowiki> [[Hanoifuck]] https://esolangs.org/w/index.php?diff=60362&oldid=60361 * Zesterer * (+312)
23:58:46 <esowiki> [[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 <shachaf> orin: c strings are kind of scow, don't you think
01:15:54 -!- Remavas has joined.
01:17:32 <kmc> very
01:17:35 <kmc> also hi shachaf
01:18:42 <shachaf> higan mchelloister
01:19:28 <kmc> yep
01:22:58 <orin> shachaf: well yeah
01:23:29 <orin> shachaf: I forget how fortran handles strings
01:23:47 <orin> shachaf: but i vaguly recall them being better
01:24:29 <ais523> does fortran even have strings?
01:26:07 -!- danieljabailey has quit (Ping timeout: 240 seconds).
01:26:24 <orin> ais523: yes
01:27:43 <fizzie> From what I recall, it's usually fixed-maximum-length things.
01:27:43 <orin> ais523: they are bounds checked
01:27:48 <esowiki> [[Talk:Interfrac]] https://esolangs.org/w/index.php?diff=60364&oldid=60356 * Ais523 * (+677) mention our computational class conclusions
01:28:30 <ais523> now I'm wondering if COBOL has strings
01:28:40 <ais523> presumably it does for things like employee names
01:29:05 <ais523> COBOL is basically SQL except it's trying to be a complete programming language and isn't as declarative
01:31:02 <fizzie> Pascal strings are the famous kind, with a prefix byte for length.
01:31:46 <fizzie> I think later that's called a ShortString.
01:32:29 <orin> I think ideal prefix size is a 24 bit integer
01:32:50 <orin> too bad modern processors don't have support for those
01:33:29 <ais523> what's the correct alignment for one of those, anyway? first byte falls on a 32-byte boundary?
01:33:58 <Remavas> I mean, 24 bits = 3 bytes
01:33:58 <ais523> 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 <ais523> allegedly some C compilers use the name "short long int" for a 24-bit integer
01:34:38 <orin> well i mean on a 6502, you do any length integer by using ADC
01:34:47 <ais523> 6502 is an 8-bit processor
01:34:51 <ais523> x86 has adc too, I think
01:35:02 <Remavas> Well, who would know.
01:35:04 <ais523> 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 <Remavas> The manual is fcking huge
01:35:25 <Remavas> RISC ftw
01:36:03 <orin> if x86 has adc then that is the best way to do bigint
01:36:19 <zzo38> C strings are used even in stuff other than C
01:36:24 <fizzie> 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 <fizzie> At least for sequential access.
01:37:08 <zzo38> 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 <fizzie> (For random access, presumably it still makes it more likely to straddle two cache lines.)
01:37:28 <zzo38> (I also don't know if RISC-V has)
01:37:41 <orin> wow x86-64 DOES havs an adc instruction
01:37:50 <fizzie> (I guess that's technically "infinitely more likely", since aligned access never will.)
01:37:53 <fizzie> Of course it has an adc.
01:37:59 <orin> ADC r64, r/m64
01:38:03 <ais523> `` 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 <HackEso> 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 <orin> nicet
01:38:34 <ais523> compilers even generate it
01:38:42 <ais523> (although all the spilling going on there is /really/ suspicious)
01:38:45 <fizzie> Come on, stick some optimization flags in there.
01:38:48 <ais523> oh, I forgot to use optimization flags
01:39:02 <ais523> `` 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 <HackEso> f: \ movq%rdi, %r9 \ movq%rsi, %r10 \ addq%rdx, %r9 \ adcq%rcx, %r10 \ movq%r9, %rax \ movq%r10, %rdx \ ret
01:39:07 <ais523> that's better
01:39:27 <fizzie> It would be even better if this IRC client formatted it without inverse-I tabs.
01:39:50 <fizzie> `` 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 <HackEso> f: movq %rdi, %r9 movq %rsi, %r10 addq %rdx, %r9 adcq %rcx, %r10 movq %r9, %rax movq %r10, %rdx ret
01:40:06 <ais523> surely it's possible in five?
01:40:20 <ais523> actually, no, I see
01:40:39 <ais523> %rdx is the LSD of the input, but the MSD of the output
01:40:46 <ais523> so you do need six instructions
01:41:06 <ais523> presumably gcc is using %r9 and %r10 as temporaries because they're caller-saved
01:42:14 <fizzie> By the way, GCC accepts - for /dev/std{in,out}.
01:42:31 <ais523> oh, clang can do it in four
01:42:38 <ais523> by overwriting the input arguments, I should have thought of that
01:43:09 <ais523> `` 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 <HackEso> ​/hackenv/bin/`: line 5: clang: command not found
01:43:22 <fizzie> Haven't installed it there.
01:43:34 <ais523> `cat bin/`
01:43:35 <HackEso> ​#!/bin/bash \ cmd="${1-quote}" \ TIMEFORMAT="real: %lR, user: %lU, sys: %lS" \ shopt -s extglob globstar \ eval -- "$cmd" | rnooodl
01:43:39 <fizzie> (Clang is okay with dashes as well.)
01:43:42 <ais523> `cat bin/``
01:43:43 <HackEso> ​#!/bin/sh \ export LANG=C; exec bash -O extglob -c "$@" | rnooodl
01:44:04 <fizzie> Those are nicely divergent.
01:44:12 <ais523> what does rnooodl do, anyway
01:44:29 <orin> `` echo "noodl"
01:44:30 <HackEso> noodl
01:44:32 <orin> `` echo "noodl"
01:44:32 <HackEso> noodl
01:44:36 <orin> `` echo "nooooodl"
01:44:37 <HackEso> nooooodl
01:44:39 <fizzie> Randomizes the number of "o"s in that nick, I think?
01:44:41 <fizzie> Something silly like that.
01:44:43 <orin> `` echo "nooo0oodl"
01:44:44 <HackEso> nooo0oodl
01:44:51 <orin> `` echo "nooodl"
01:44:52 <HackEso> nooooooooodl
01:44:55 <orin> `` echo "nooodl"
01:44:56 <HackEso> noooooooodl
01:45:00 <orin> yeah
01:45:37 <ais523> so the fundamental difference is that ``` uses a subshell, `` uses an eval
01:45:59 <ais523> I'm not sure offhand why this difference would matter, though
01:46:10 <zzo38> ais523: There is a few other difference too, such as ``` specifying the C locale, and `` specifying a different timer format
01:46:19 <ais523> yes, but those aren't fundamental
01:46:30 <ais523> `` echo $LANG
01:46:31 <HackEso> en_NZ.UTF-8
01:46:40 <zzo38> (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 <ais523> ah, I see
01:47:15 <pikhq> en_NZ.UTF-8 is an oddly specific choice.
01:47:26 <ais523> I think it was there to serve as a talking point?
01:47:28 <fizzie> As with everything on that bot, it's a kind of joke.
01:47:42 <fizzie> I've propagated it forward from Gregor.
01:47:45 <pikhq> Okay granted, it _is_ HackEgo.
01:47:57 <ais523> how many strings even differ in en_NZ?
01:48:18 <ais523> 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 <orin> `` time
01:48:27 <HackEso> real: 0m0.001s, user: 0m0.000s, sys: 0m0.000s
01:48:33 <orin> `` date
01:48:34 <HackEso> Sun Mar 10 01:48:34 UTC 2019
01:48:41 <ais523> ``` time sleep 1
01:48:43 <HackEso> ​ \ real0m1.027s \ user0m0.000s \ sys0m0.020s
01:49:04 <ais523> `` time sleep 10
01:49:27 <pikhq> I'd expect 99% of the time it's just falling back to C.
01:49:40 <ais523> no, it'll fall back within the en family
01:49:47 <ais523> LANG=C has some very distinctive messages
01:49:50 <fizzie> I think the TIMEFORMAT is there to avoid hard tabs in the output.
01:49:59 <ais523> `` ls /nonexistent
01:50:00 <HackEso> ls: cannot access '/nonexistent': No such file or directory
01:50:04 <ais523> ``` ls /nonexistent
01:50:09 <HackEso> ls: cannot access '/nonexistent': No such file or directory
01:50:14 <HackEso> real: 1m8.856s, user: 0m0.000s, sys: 0m0.020s
01:50:30 <pikhq> Oh, is glibc doing silly things with its C locale messages?
01:50:30 <fizzie> That's an odd result from sleep 10.
01:50:32 <ais523> hmm, LANG=C has become more verbose since last time I looked
01:50:35 <ais523> fizzie: indeed
01:50:46 <orin> would't it be better to just have an filter that tgranslates all tabs to something
01:51:01 <ais523> you could translate them to →
01:51:03 <pikhq> 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 <orin>
01:52:02 <orin> the unicode control char symbols are
01:52:03 <pikhq> The number formatting is specified, some details of its charset are specified, etc. but the strings are not.
01:52:07 <orin> ␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏
01:52:07 <orin> ␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟
01:52:25 <orin> we could have a filter that does all of them
01:52:32 <pikhq> Heck, it'd be valid (if silly) for the errno strings to just be the errno macro.
01:52:46 <ais523> I'm well aware of the Unicode control char symbols, I've written enough programs with nonprintables in on PPCG
01:53:00 <pikhq> But using en_US is probably the saner choice.
01:53:14 <ais523> pikhq: ideally they should be specified, the main purpose of the C locale should be to be machine-readable
01:53:25 <ais523> (as humans will prefer a different locale for human-readable messages, but machines like consistency)
01:53:39 <pikhq> Maybe, but POSIX underspecifies a lot of things.
01:54:05 <ais523> even "error 2" would be more useful than just stealing a message from English
01:54:51 -!- Remavas has joined.
01:55:07 <pikhq> 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 <orin> the tab sybol on keyboards is ↹
01:55:38 <shachaf> vertical tab is ⭿
01:55:46 <fizzie> #ais523: Pidgin has en_NZ specific messages on my system, though looks like the only thing in there is "Authorize" → "Authorise".
01:55:56 <fizzie> (Where did that # come from?)
01:56:08 <shachaf> #hashtag #ais523
01:56:38 <pikhq> ais523: Shit, POSIX doesn't even make real requirements about what error messages should be output by utilities at all.
01:57:30 <pikhq> I do not think ls is actually required to output a message when it errors out.
01:57:57 <pikhq> Oh, wait: "If the file specified is not found, a diagnostic message shall be output on standard error."
01:58:01 <pikhq> It does have to output an error.
01:58:17 <pikhq> Past that though, nah.
01:59:29 <fizzie> And there's also en_NZ/LC_MESSAGES/avahi.mo, where the changes are "Initializing..." → "Initialising..." and "Canceled." → "Cancelled."
01:59:52 <orin> `` perl -pe 'tr/\0-\037/␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟/' <$'\n\t\b\r\e'
01:59:52 <HackEso> ​/hackenv/bin/`: line 5: \
02:00:11 <fizzie> I wonder if NZ users actually set LANGUAGE=en_NZ:en_GB:en.
02:00:23 <pikhq> Does that even work?
02:00:37 <orin> `` perl -pe 'tr/\0-\037/␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟/' <<$'\n\t\b\r\e'
02:00:38 <HackEso> ​/hackenv/bin/`: line 5: warning: here-document at line 5 delimited by end-of-file (wanted ` \
02:00:44 <fizzie> For GNU gettext and LANGUAGE, I think it should.
02:00:44 <pikhq> Oh, yes, it does.
02:00:45 <orin> `` perl -pe 'tr/\0-\037/␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟/' <<<$'\n\t\b\r\e'
02:00:45 <HackEso> ​ₐ
02:00:51 <orin> crap
02:00:59 <fizzie> It's only the LANG and LC_* environment variables that don't do that sort of thing.
02:00:59 <pikhq> 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 <fizzie> Might be other tools than just gettext that also respect it.
02:01:40 <orin> where did that a come from
02:03:14 <orin> `` perl -mutf8 -pe 'tr/\0-\037/␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟/' <<<$'\n\t\b\r\e'
02:03:15 <HackEso> ​ₐ
02:03:23 <orin> damn
02:03:48 <orin> `` perl -Mutf8 -pe 'tr/\0-\037/␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟/' <<<$'\n\t\b\r\e'
02:03:49 <HackEso> Wide character in print at -e line 1, <> line 1. \ Wide character in print at -e line 1, <> line 2. \ ␊␉␈␍␛␊
02:03:56 <orin> great
02:07:07 <fizzie> You're probably looking for the -C7 option. But it doesn't work with that either, for some reason.
02:07:28 <orin> `` perl -CS -Mutf8 -pe 'tr/\0-\037/␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟/' <<<$'\n\t\b\r\e'
02:07:28 <ais523> fizzie: apparently "#ais523" pings me
02:07:29 <HackEso> ​␊␉␈␍␛␊
02:07:33 <orin> there
02:07:45 <ais523> 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 <esowiki> [[Bucket]] https://esolangs.org/w/index.php?diff=60365&oldid=60347 * A * (+720) /* Implementation */
02:40:27 <esowiki> [[Bucket]] https://esolangs.org/w/index.php?diff=60366&oldid=60365 * A * (+21)
02:43:23 <zzo38> 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 <zzo38> 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 <esowiki> [[Bucket]] https://esolangs.org/w/index.php?diff=60367&oldid=60366 * A * (+851) /* Examples in the "standard" derivative:(3,4) */
02:53:35 <esowiki> [[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 <esowiki> [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=60369&oldid=60087 * A * (+834) /* BSoD */
02:57:32 <esowiki> [[Bucket]] https://esolangs.org/w/index.php?diff=60370&oldid=60368 * A * (-19) /* Implementation */
03:02:15 <esowiki> [[Bucket]] https://esolangs.org/w/index.php?diff=60371&oldid=60370 * A * (+173) /* Implementation */
03:02:23 <esowiki> [[Bucket]] https://esolangs.org/w/index.php?diff=60372&oldid=60371 * A * (-31) /* Implementation */
03:12:10 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60373&oldid=60350 * A * (+439) I have more ideas based on dc.
03:16:58 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60374&oldid=60373 * A * (+611) /* Commands */
03:19:44 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60375&oldid=60374 * A * (+148) /* Commands */
03:22:30 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60376&oldid=60375 * A * (+218) /* Commands */
03:23:42 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60377&oldid=60376 * A * (+0) Overlapping commands
03:24:14 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60378&oldid=60377 * A * (+0) /* Commands */
03:25:47 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60379&oldid=60378 * A * (+88) /* Commands */
03:27:45 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60380&oldid=60379 * A * (+106) /* Commands */
03:28:49 <esowiki> [[Talk:Toadskin]] https://esolangs.org/w/index.php?diff=60381&oldid=34112 * Camto * (+194) TC with unbounded cells?
03:29:17 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60382&oldid=60380 * A * (+39) /* Commands */
03:29:34 <esowiki> [[User:Camto]] https://esolangs.org/w/index.php?diff=60383&oldid=58316 * Camto * (-50)
03:30:20 <esowiki> [[User:Camto]] M https://esolangs.org/w/index.php?diff=60384&oldid=60383 * Camto * (+1) Heh
03:31:05 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60385&oldid=60382 * A * (+55) /* Commands */
03:32:21 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60386&oldid=60385 * A * (+1538) /* Commands */
03:33:13 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60387&oldid=60386 * A * (-1538) Messed up with the table
03:33:45 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60388&oldid=60387 * A * (-130) /* Commands */
03:34:29 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60389&oldid=60388 * A * (+0) /* Commands */
03:37:47 <esowiki> [[Talk:Toadskin]] https://esolangs.org/w/index.php?diff=60390&oldid=60381 * Camto * (+159) Fix
03:39:35 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60391&oldid=60389 * A * (+454) /* Commands */
03:40:38 <esowiki> [[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 <esowiki> [[Talk:Toadskin]] M https://esolangs.org/w/index.php?diff=60393&oldid=60390 * Camto * (-99) Use redirect page
03:43:23 <esowiki> [[Talk:Toadskin]] M https://esolangs.org/w/index.php?diff=60394&oldid=60393 * Camto * (+88) Accidental deletion.
03:45:53 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60395&oldid=60391 * A * (+78) /* Commands */
03:49:00 <esowiki> [[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 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60397&oldid=60396 * A * (+363) /* Commands */
04:02:02 <esowiki> [[User:Camto]] https://esolangs.org/w/index.php?diff=60398&oldid=60384 * Camto * (+144) Add Underload.
04:04:47 <zzo38> 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 <shachaf> A
04:05:50 <shachaf> A
04:05:50 <shachaf> A
04:06:48 <esowiki> [[Bucket]] https://esolangs.org/w/index.php?diff=60399&oldid=60372 * A * (+115)
04:07:05 <esowiki> [[Bucket]] https://esolangs.org/w/index.php?diff=60400&oldid=60399 * A * (+3) /* Compugtational Class */
04:07:14 <esowiki> [[Bucket]] https://esolangs.org/w/index.php?diff=60401&oldid=60400 * A * (+0) /* Computational Class */
04:09:55 -!- salpynx has joined.
04:15:35 <kmc> zzo38: how do roman fractions work?
04:15:37 <kmc> hi shachaf
04:15:59 <zzo38> kmc: A dot represents one twelvth and "S" represents one half.
04:16:08 <zzo38> (Subtractive notation is not used with fractions.)
04:18:42 <salpynx> 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 <salpynx> 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 <esowiki> [[Bucket]] https://esolangs.org/w/index.php?diff=60402&oldid=60401 * A * (+85) /* Implementation */
04:26:26 <esowiki> [[Bucket]] https://esolangs.org/w/index.php?diff=60403&oldid=60402 * A * (+82)
04:27:40 <esowiki> [[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 <esowiki> [[SWhoopieenddns]] M https://esolangs.org/w/index.php?diff=60405&oldid=60404 * Camto * (-2)
04:33:00 <esowiki> [[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 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60407&oldid=60406 * A * (+53) /* Commands */
04:36:57 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60408&oldid=60407 * A * (+203) /* Commands */
04:40:41 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60409&oldid=60408 * A * (+231) /* Commands */
04:46:11 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60410&oldid=60409 * A * (+70) /* Commands */
04:52:29 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60411&oldid=60410 * A * (-33) /* Commands */
04:53:23 <esowiki> [[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 <esowiki> [[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 <esowiki> [[Reverse-Polish-notation Calculator]] https://esolangs.org/w/index.php?diff=60414&oldid=60413 * A * (+13671)
06:19:37 <esowiki> [[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 <esowiki> [[Reverse-Polish-notation Calculator]] https://esolangs.org/w/index.php?diff=60416&oldid=60415 * A * (-1) /* Examples */
06:23:28 <esowiki> [[Reverse-Polish-notation Calculator]] https://esolangs.org/w/index.php?diff=60417&oldid=60416 * A * (+170) /* Examples */
06:42:03 <esowiki> [[Reverse-Polish-notation Calculator]] https://esolangs.org/w/index.php?diff=60418&oldid=60417 * A * (+34) /* Examples */
06:42:15 <esowiki> [[Reverse-Polish-notation Calculator]] https://esolangs.org/w/index.php?diff=60419&oldid=60418 * A * (-7) /* Examples */
06:42:23 <esowiki> [[Reverse-Polish-notation Calculator]] https://esolangs.org/w/index.php?diff=60420&oldid=60419 * A * (-1) /* Increment by 1 */
06:50:03 <esowiki> [[Reverse-Polish-notation Calculator]] https://esolangs.org/w/index.php?diff=60421&oldid=60420 * A * (-80)
06:51:31 <zzo38> 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 <esowiki> [[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= <pre> 000->001 001..."
07:24:18 <esowiki> [[Bitwise Scanner]] https://esolangs.org/w/index.php?diff=60423&oldid=60422 * A * (-151) /* What happens when binary numbers are incremented */
07:26:42 <esowiki> [[Bitwise Scanner]] https://esolangs.org/w/index.php?diff=60424&oldid=60423 * A * (+93)
07:28:48 <b_jonas> "<pikhq> 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 <b_jonas> 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 <b_jonas> It gets worse on windows.
07:30:21 <esowiki> [[Bitwise Scanner]] https://esolangs.org/w/index.php?diff=60425&oldid=60424 * A * (+394) /* What happens when binary numbers are incremented */
07:32:24 <esowiki> [[Bitwise Scanner]] https://esolangs.org/w/index.php?diff=60426&oldid=60425 * A * (+57) /* What happens when binary numbers are decremented */
07:33:06 <b_jonas> 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 <esowiki> [[Bitwise Scanner]] https://esolangs.org/w/index.php?diff=60427&oldid=60426 * A * (+59) /* What happens when binary numbers are decremented */
07:35:42 <esowiki> [[Bitwise Scanner]] https://esolangs.org/w/index.php?diff=60428&oldid=60427 * A * (+164)
07:38:52 <esowiki> [[Bitwise Scanner]] https://esolangs.org/w/index.php?diff=60429&oldid=60428 * A * (+233)
07:39:19 <esowiki> [[Bitwise Scanner]] https://esolangs.org/w/index.php?diff=60430&oldid=60429 * A * (-73) /* Computational Class */
07:40:08 <esowiki> [[Bitwise Scanner]] https://esolangs.org/w/index.php?diff=60431&oldid=60430 * A * (+58) /* Computational Class */
07:41:41 <esowiki> [[Bitwise Scanner]] https://esolangs.org/w/index.php?diff=60432&oldid=60431 * A * (-1)
07:42:16 <esowiki> [[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 <esowiki> [[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 <esowiki> [[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 <reconcyl> I'm trying to read arbitrary character input in Fueue
08:27:08 <reconcyl> 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 <reconcyl> Similarly, if 'A' is a code snippet, then 'B' is the next iteration.
08:27:16 <reconcyl> The basic idea is that the construct [[*A])[a!]])$ will read an input (say 5)
08:27:22 <reconcyl> and then evaluate to edcbaB, where the number of repetitions of 'a' is equal to the input
08:27:27 <reconcyl> 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 <reconcyl> (the '*' isn't important, by the way; it can be replaced with any item because it gets deleted immediately)
08:27:36 <reconcyl> 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 <reconcyl> 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 <reconcyl> Sorry, no, the construct is [[*A])[a!])])$
08:33:49 <reconcyl> 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 <esowiki> [[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 <esowiki> [[Special:Log/upload]] upload * A * uploaded "[[File:Phone dial.JPG]]": This file is used as an example for a phone dial.
09:44:04 <esowiki> [[Phone call]] https://esolangs.org/w/index.php?diff=60438&oldid=60436 * A * (+128)
09:48:23 <esowiki> [[Phone call]] https://esolangs.org/w/index.php?diff=60439&oldid=60438 * A * (+195)
09:50:36 <esowiki> [[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 <esowiki> [[Phone call]] https://esolangs.org/w/index.php?diff=60441&oldid=60440 * A * (+94) /* Commands */
10:09:09 <b_jonas> should we put http://esolangs.org/wiki/Brainfuck to the http://esolangs.org/wiki/Category:Brainfuck_equivalents ?
10:16:50 <rain1> yes
10:25:56 <salpynx> 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 <esowiki> [[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 <esowiki> [[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 <esowiki> [[Bitwise Scanner]] https://esolangs.org/w/index.php?diff=60444&oldid=60435 * A * (+11) Simplify the syntax
14:30:25 <esowiki> [[Bitwise Scanner]] https://esolangs.org/w/index.php?diff=60445&oldid=60444 * A * (+32) /* Commands */
14:31:12 <esowiki> [[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 <esowiki> [[Bucket]] https://esolangs.org/w/index.php?diff=60447&oldid=60403 * A * (-23) /* Commands */
14:35:57 <esowiki> [[Bucket]] https://esolangs.org/w/index.php?diff=60448&oldid=60447 * A * (-166) /* Implementation(s) */
14:36:14 <esowiki> [[Bucket]] https://esolangs.org/w/index.php?diff=60449&oldid=60448 * A * (-93) /* Computational class */
14:36:42 <esowiki> [[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 <b_jonas> `bobadventureslist http://bobadventures.comicgenesis.com/d/20190310.html
15:54:15 <HackEso> 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 <zzo38> 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 <esowiki> [[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 <fizzie> 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 <kmc> cool
20:04:29 <kmc> I didn't know 70cm even has beacons
20:04:36 <kmc> here I would listen to a repeater and wait for it to ident
20:05:08 <kmc> 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 <b_jonas> [ 3e8%0.70 NB. 70 cm? what's that in frequency?
20:12:15 <j-bot> b_jonas: 4.28571e8
20:12:30 <b_jonas> 428 megahertz
20:15:40 <kmc> b_jonas: the 70 cm ham band is 430-440 in the UK, and 420-450 in murca
20:15:47 <kmc> (ITU regions 1 and 2 resp.)
20:15:49 <kmc> https://en.wikipedia.org/wiki/70-centimeter_band
20:16:00 <kmc> http://www.arrl.org/files/file/Regulatory/Band%20Chart/Band%20Chart%20-%2011X17%20Color.pdf
20:16:06 <kmc> it's also known as UHF
20:16:30 <kmc> very popular for local communication
20:16:52 <kmc> those cheap baofeng handhelds everyone buys / complains about do 70 cm as well as 2 m (VHF, 144-147)
20:17:10 <kmc> some also do 1.25 m (222-225) but that's much less popular
20:17:55 <kmc> most areas have plenty of repeaters on 2m and 70cm
20:18:01 <kmc> using a repeater you can easily go 100 miles
20:18:24 <kmc> VHF/UHF depends a whole lot on location. line of sight is key
20:18:36 <kmc> repeaters are on top of mountains which is why they're so effective (plus better antenna and hardware and more power)
20:19:12 <kmc> 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 <kmc> my wife and I made a 28 mile contact: https://i.imgur.com/eLhLWBJ.png
20:19:31 <kmc> using a 5W handheld and a 50W mobile (car) radio
20:19:43 <kmc> I was on top of a hill and as you can see, there were almost no obstructions
20:21:36 <kmc> the consumer stuff like FRS, GMRS, and PMR446 are near the 70cm ham band
20:21:38 <esowiki> [[Special:Log/delete]] delete * Ais523 * deleted "[[Reverse-Polish-notation Calculator]]": Copyright violation: page is mostly copied from a GPL source
20:21:39 <kmc> MURS is near the 2m band
20:21:50 <kmc> there are newer radios which use 900 MHz and digital modes
20:22:06 <kmc> I guess you can get ok range with part 15 digital radio on 900
20:22:22 <kmc> CB is much lower frequency, 27 MHz / 11 meters
20:22:29 <b_jonas> sure, line of sight is part of why people use a large antenna
20:22:31 <kmc> as a result you need much longer antennas
20:22:45 <kmc> so this is why it's mainly a vehicle as opposed to handheld thing
20:23:18 <kmc> 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 <kmc> tho CB is declining in popularity now that there's LTE coverage along pretty much the whole US interstate network
20:35:05 <kmc> I have about 300 repeaters from all over northern California programmed into my handheld
20:35:24 <kmc> how many of them are active, I don't know
20:35:32 <kmc> a fair number
20:35:46 <kmc> I don't talk much, but I listen, and it would be good to have in an emergency
20:37:34 <kmc> b_jonas: you can also use a directional antenna to get better signal for the same radio power
20:37:50 <kmc> I built a directional 2m antenna out of bits of tape measure
20:38:05 <b_jonas> kmc: sure, people use that for all sorts of high bandwidth wireless digital internet connections
20:38:33 <kmc> it's a good choice for direction finding http://theleggios.net/wb2hol/projects/rdf/tape_bm.htm
20:38:33 <b_jonas> 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 <kmc> which is a sport among hams
20:39:06 <kmc> b_jonas: yeah, even with consumer grade wifi gear you can get impressive distance
20:39:21 <kmc> of course with 2.4 GHz the line of sight matters even more
20:39:38 <kmc> my favorite design is "Wi-Fry" or "Wok-Fi"
20:39:46 <kmc> you take a steel wok 🏆
20:39:54 <kmc> which approximates a parabolic dish
20:40:07 <b_jonas> 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 <kmc> drill a hole, stick a USB wifi adapter through to the correct distance
20:40:28 <kmc> done
20:40:50 <b_jonas> 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 <b_jonas> they had separate internet service of course
20:41:18 <kmc> 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 <kmc> now I have gigabit symmetrical fiber
20:41:58 <kmc> our friendly local ISP MonkeyBrains runs a mesh of wireless links all over the city
20:42:14 <kmc> unlike Comcast they are not douchebags
20:43:59 <kmc> b_jonas: you can actually run wifi under amateur radio rules in the USA
20:44:05 <kmc> with greater power
20:44:48 <kmc> 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 <b_jonas> wait, it possible to use wifi with no encryption of any kind, not even weak one?
20:46:56 <kmc> yes
20:47:09 <pikhq> Yeah, that's what open Wifi is.
20:47:13 <kmc> no encryption also means no SSL, no SSH, etc
20:47:19 <b_jonas> sure
20:47:44 <kmc> the common interpretation of the rules is that you can encrypt passwords or use cryptographic authentication
20:47:55 <kmc> since that isn't obscuring the content of a "message"
20:48:08 <kmc> armchair lawyering is an important part of the hobby
20:48:14 <b_jonas> kmc: um, what do you mean by "cryptogrtaphic authentication"?
20:48:27 <b_jonas> oh
20:48:28 <b_jonas> I see
20:48:29 <kmc> ssh pubkey, ssl xlient certs
20:48:30 <b_jonas> sorry
20:48:55 <pikhq> And the FCC mostly doesn't care unless you're causing problems for other licensed users.
20:48:59 <kmc> but you would have to use a null cipher
20:49:10 <kmc> pikhq: well, some hams are snitches
20:49:24 <b_jonas> pikhq: or interference with other frequencies, not necessarily with HAM stuff, right?
20:49:31 <kmc> it's self regulating and people want to keep that privilege
20:49:39 <pikhq> b_jonas: Other frequencies tend to have other licensed users on it.
20:49:40 <kmc> b_jonas: yes
20:49:55 <b_jonas> oh, you mean licensed in the broad meaning, not just HAM-licensed
20:50:01 <pikhq> Yes.
20:50:35 <kmc> there are some bands where hams are secondary and must yield to other users
20:50:53 <kmc> on the rest, any licensed amateur has equal right to use the band
20:50:54 <b_jonas> 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 <kmc> a person can't "own" a frequency although there are voluntary agreements. general courtesy is the way
20:51:35 <b_jonas> sure
20:52:07 <kmc> there are also specific frequencies known for rule breaking
20:52:19 <pikhq> b_jonas: Yeah, that's some of the ISM bands.
20:52:21 <b_jonas> you can never own them because they're only leased for long term
20:52:22 <kmc> people let them be as long as it doesn't spill over to other freqs
20:53:57 <b_jonas> and even then with specific restrictions
20:54:48 <kmc> right
20:55:14 <kmc> but my point is that for hams there's no exclusive right to use any frequency
20:55:21 <b_jonas> yeah
20:55:52 <b_jonas> the exclusive rights are for television, radio, and mobile telephony
20:55:57 <b_jonas> and probalby some others
20:56:22 <kmc> marine, land mobie radio, public safety, aviation, military
20:56:37 <b_jonas> yeah, the UHF bands used by some public services
20:57:18 <b_jonas> how does aviation count as exclusive? aren't most of those bands open for any aviation user?
20:57:46 <b_jonas> at least partitioned by location that is
20:58:15 <b_jonas> you need a license for that and the aviation authority controls that tightly, but still
20:58:22 <b_jonas> it's not like it's exclusive to anyone
21:00:17 <kmc> I'm guessing each ATC has a specific right for their frequency
21:00:22 <zzo38> 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 <b_jonas> zzo38: yes, and there's a license to pilot aviation, not only for the radio
21:03:09 <b_jonas> but there's also a license and protocol for HAM
21:03:24 <zzo38> (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 <zzo38> 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 <b_jonas> 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 <zzo38> Yes, maybe it is
21:07:13 <b_jonas> 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 <Phantom_Hoover> why does wifi over ham radio ban encryption...?
21:19:50 <Phantom_Hoover> oh, all encrypted comms are banned over ham radio
21:19:57 <zzo38> 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 <kmc> zzo38: yeah, ham radio uses all kinds of abbreviations and codes. it's full of jargon for jargon's sake
22:15:24 <kmc> 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 <Sgeo_> Is Roblox basically BYOND for 3D games?
22:22:30 <Sgeo_> 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 <esowiki> [[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 <Sgeo__> zzo38, have you seen quantum chess?
05:20:01 <zzo38> Sgeo__: I don't think so. How is quantum chess is working?
05:20:28 <Sgeo__> https://chess.stackexchange.com/questions/18278/what-are-the-rules-of-quantum-chess
05:21:17 <zzo38> OK I will look
05:21:18 <Sgeo__> https://quantumfrontiers.com/2016/02/15/quantum-chess/
05:23:04 <Sgeo__> I do hope the creator of that just shares an unfortunate name with the infamous person
05:23:10 <Sgeo__> Rather than being the person
05:25:01 <zzo38> I don't really care if they are or not
05:30:53 <Sgeo__> I think the software the person made for it isn't sufficient to show the full state
05:36:44 <zzo38> 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 <Sgeo__> 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 <Cale> 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 <int-e> it's always fun when you compile your code with profiling enabled and it becomes 3x slower.
15:32:30 <myname> it's fine as long as everything becomes 3x slower
15:35:18 <int-e> it's probably good enough to find hotspots at this stage
15:35:45 <myname> 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 <int-e> 6x speedup in one slow case. sweet.
16:07:53 <int-e> (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 <esowiki> [[Bitwise Scanner]] https://esolangs.org/w/index.php?diff=60453&oldid=60446 * Plokmijnuhby * (+84) /* Computational Class */
16:50:36 <esowiki> [[Bitwise Scanner]] M https://esolangs.org/w/index.php?diff=60454&oldid=60453 * Plokmijnuhby * (+51) /* Computational Class */
16:53:07 <esowiki> [[SWhoopieenddns]] M https://esolangs.org/w/index.php?diff=60455&oldid=60405 * Plokmijnuhby * (+1) You missed a /.
17:10:02 <esowiki> [[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 <orin> https://imgur.com/1OlVNke
19:13:53 <esowiki> [[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 <kmc> 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 <oerjan> hm fueue questions in the logs
20:42:42 <oerjan> but reconcyl is not here.
20:45:22 <oerjan> or on freenode
20:49:38 <oerjan> 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 <oerjan> (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 <kmc> amusing unicode fact of the day:
22:28:09 <kmc> '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 <orin> how do I test if a glob matches anything
22:36:20 -!- bobby has joined.
22:37:53 <Taneb> kmc: I can't drink either :(
22:38:50 <orin> oh, ls returns 0 if it exists
22:39:13 -!- david_werecat has joined.
22:39:48 <david_werecat> !zjoust mist ++++>(+)*7([{(>)*8(>(-)*9[+-+][+--+](-)*7)*-1}]<(+-++-+++)*-1)%1333
22:39:49 <zemhill_______> david_werecat.mist: points 12.62, score 53.25, rank 1/47
22:41:23 <kmc> Taneb: how come
22:44:02 <Taneb> kmc: caffeine intolerance, they make me feel ill
22:44:06 <kmc> oh dear
22:44:13 <kmc> what about decaf coffee or herbal tea?
22:44:45 <Taneb> Never acquired the taste for decaf coffee, haven't actually tried herbal tea but it doesn't appeal to me
22:48:00 <oerjan> huh, a short new bfjoust winner
22:48:41 <david_werecat> I won't call it generally good, but it works for the current hill.
22:49:02 <fizzie> I'm just happy the whole thing was still online and didn't immediately crash.
22:49:12 <oerjan> always a bonus
22:50:22 <fizzie> I think a new winner means I need to relearn how to update the visualizations.
22:54:38 <orin> git push origin new-new-new-new-refactor
22:54:52 <kmc> there are a lot of different herbal teas
22:54:55 <kmc> hi fizzie
22:55:03 <fizzie> hmc
22:55:12 <fizzie> (I'm bad at portahellos.)
22:56:30 <fizzie> 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 <oerjan> *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 <fizzie> 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 <fizzie> "undefined method `>>' for [909064502]:Array"
23:25:25 <david_werecat> Thanks for the update!
23:37:59 <fizzie> 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 <kmc> rubby
23:38:55 <fizzie> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=888164
23:39:22 <fizzie> Maybe I should give up on this and try to get moving again with the port over to esolangs.org.
23:41:01 <oerjan> . o O ( why would you port a broken program )
23:41:31 <fizzie> 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 <oerjan> OKAY
00:12:32 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
00:17:11 -!- Lord_of_Life has joined.
00:24:19 <ProofTechnique> fizzie: Consider another viewpoint: if all IO is broken, your code is guaranteed to be pure
00:24:22 <ProofTechnique> hth
00:25:33 <fizzie> tdh but only my feelings.
00:29:59 -!- tromp has joined.
00:30:01 <shachaf> whoa
00:30:11 <shachaf> has everyone been making clever help/hurt hth puns for years
00:30:14 <shachaf> that i never got
00:30:15 <shachaf> tdh
00:31:22 <fizzie> No, I meant "help" there.
00:31:40 <fizzie> 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 <esowiki> [[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 <fizzie> @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 <lambdabot> Consider it noted.
01:45:58 <pikhq> And GCC will convert a more naive bit shifting sequence into just using bswap.
01:47:06 <pikhq> 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 <kmc> oh neat
01:48:31 <fizzie> `` 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 <HackEso> f: \ movl %edi, %eax \ bswap %eax \ ret
01:49:07 <kmc> nice command line
01:49:08 <kmc> A+
01:50:22 <fizzie> I stole the grep -v idiom from ais523's prior art. Although `fgrep -v .` would've been simpler.
01:50:37 <ais523> `` 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 <HackEso> f: \ movl %edi, %eax \ bswap %eax \ ret
01:50:47 <ais523> UUOE removed :-)
01:51:01 <ais523> also I wanted to test to see how it looked after running through expand
01:51:55 <ais523> the tr output is probably better
01:52:05 <ais523> better still would be a "condense all whitespace to a single space", though
01:52:17 <ais523> but I'm not sure there's a standard command for that
01:52:39 <ais523> `` 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 <HackEso> f: \ movl%edi, %eax bswap %eax ret
01:52:54 <ais523> hmm
01:55:04 <fizzie> 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 <ais523> 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 <ais523> * \n if
01:57:03 <fizzie> That sounds reasonable, but probably not a standard utility.
01:57:08 <ais523> hmm, this is beginning to sound like a PPCG challenge now
01:57:34 <ais523> `! retina abc
01:57:34 <HackEso> ​/hackenv/bin/!: line 4: /hackenv/ibin/retina: No such file or directory
01:57:47 <ais523> bleh, why can't HackEso do its originial job of interpreting esolangs? :-D
01:58:09 <ais523> 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 <ais523> `` 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 <HackEso> f: \ movl%edi, %eax \ bswap%eax \ ret
02:00:06 <ais523> now I'm confused, what happened to the tabs?
02:00:23 <ais523> `` printf '\t' | cat -v | od -t x1z
02:00:24 <HackEso> 0000000 09 >.< \ 0000001
02:00:34 <ais523> apparently cat -v doesn't make them visible, despite what it's documented to do?
02:00:34 <fizzie> `` 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 <HackEso> ​[01m[K<stdin>:[m[K In function ‘[01m[Kf[m[K’: \ [01m[K<stdin>:1:47:[m[K [01;31m[Kerror: [m[Kexpected ‘[01m[K)[m[K’ before numeric constant
02:00:52 <fizzie> Hm, it worked for me in a terminal.
02:00:55 <ais523> you somehow missed an & sign
02:00:59 <ais523> in the middle of the C code
02:01:04 <fizzie> ...oh.
02:01:10 <fizzie> `` 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 <HackEso> f: \ movl %edi, %eax \ bswap %eax \ ret
02:01:13 <ais523> that's pretty bizarre as typos go
02:01:25 <fizzie> It's where the line was wrapped, I copy-pasted it as two chunks.
02:04:51 <fizzie> And I'm sure the Perl part has a lot of fluff, but the ()/$1 bit could've been just $&.
02:06:32 <fizzie> `` ls ibin | wc -l
02:06:33 <HackEso> 46
02:06:35 <ais523> I vaguely remember nested regexes not working in old Perl versions, but that's likely been fixed by now
02:06:36 <fizzie> It does have a bunch of them.
02:06:45 <ais523> yes, from something like ten years ago
02:06:55 <ais523> also, don't most of them not work?
02:07:08 <ais523> `! kipple 65>o<66
02:07:08 <fizzie> Some probably don't, some just haven't been tried.
02:07:08 <HackEso> BA
02:07:13 <ais523> OK, that one works
02:07:39 <fizzie> "sh" and "c" are hardly esoteric. Or "bf_txtgen" an interpreter, for that matter.
02:07:46 <ais523> I remember that EgoBot's Underload interpreter wasn't built in, rather it was written in brainfuck
02:07:47 <fizzie> (I'm guessing bf_txtgen is unlikely to work too.)
02:07:54 <ais523> `! bf_txtgen Hello, world!
02:07:55 <HackEso> ​/hackenv/ibin/bf_txtgen: line 6: java: command not found
02:08:05 <ais523> OK, that's a fairly major problem :-D
02:08:22 <ais523> can't run a Java program without a JVM
02:08:27 <ais523> maybe we could write one in Befunge or something
02:08:40 <kmc> compile it with GCJ!
02:08:49 <fizzie> There's no GHC either, so `! haskell won't run. But lambdabot makes it pretty unnecessary.
02:08:55 <ais523> can GCJ compile Java bytecode?
02:09:36 <fizzie> I think it ought to.
02:10:42 <fizzie> The source code seems to be there next to the .class files in interps/bf_txtgen/ anyway.
02:16:34 <kmc> you can decompile .class to .java
02:16:37 <kmc> so it ought to be able to
02:16:40 <kmc> 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 <kmc> I had a Perl script that would proxy the game communications and tell me which cards everyone had
02:17:35 <kmc> as well as which cards would be dealt in the future
02:17:40 <kmc> too bad it wasn't real money
02:17:56 -!- tromp has joined.
02:18:08 <kmc> 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 <ais523> I remember watching someone try to play Go on Yahoo!
02:20:41 <ais523> 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 <ais523> 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 <ais523> (because it wouldn't let them pass nor play a move at that point)
02:21:28 <Cale> 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 <kmc> haha
02:25:18 <Cale> He thought it was just like, invented by Yahoo! or something
02:25:20 <Cale> hahaha
02:25:37 <Cale> until they shut down
02:37:06 <esowiki> [[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 <kmc> ais523: how can it be that the players don't agree on the score
03:32:38 <kmc> what does that mean
03:32:54 <ais523> kmc: the game asked the players what the score was, if they disagreed, it forced play on
03:33:02 <ais523> under Japanese rules the players have to agree which stones are alive or dead
03:33:12 <ais523> (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 <imode> what would an automaton look like that could generate a list of all possible combinations of n pairs of parentheses?
15:19:13 <imode> i.e I hand you the number 2, you give me back (()) and ()()
15:19:53 <imode> intuition about matching tells me that you can write an acceptor for dyck words of that sort using a PDA.
15:20:00 <imode> but I've never thought about generating.
15:20:51 <imode> I assume you'd need separate automata depending on the number of pairs you wanted to generate.
15:24:02 <wob_jonas> imode: up the answer for that in TAOCP chapter 7.2.1.6
15:24:35 <imode> is the solution actually an automaton or some pseudocode.
15:29:03 <imode> okay... that wasn't what I was looking for, but thanks for the pointer.
15:33:34 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60459&oldid=60358 * EnilKoder * (+638) /* Introductions */
15:33:44 <esowiki> [[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 <esowiki> [[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 <esowiki> [[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 <esowiki> [[Special:Log/newusers]] create * Caotic * New user account
16:04:40 <esowiki> [[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 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60464&oldid=60459 * Caotic * (+198)
17:11:36 <esowiki> [[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 <esowiki> [[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 <esowiki> [[Grr]] https://esolangs.org/w/index.php?diff=60467&oldid=60466 * Caotic * (+108)
17:15:27 <esowiki> [[Grr]] https://esolangs.org/w/index.php?diff=60468&oldid=60467 * Caotic * (+0)
17:18:26 <esowiki> [[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 <esowiki> [[Bootstrap]] N https://esolangs.org/w/index.php?oldid=60470 * Camto * (+234) Page creation.
17:23:40 <esowiki> [[Call stack]] https://esolangs.org/w/index.php?diff=60471&oldid=51804 * Camto * (-31) Broken link.
17:24:55 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=60472&oldid=60442 * Caotic * (+10)
17:25:04 -!- AnotherTest has joined.
17:25:58 <esowiki> [[90]] https://esolangs.org/w/index.php?diff=60473&oldid=44763 * Camto * (-6) Broken link.
17:26:49 <esowiki> [[The Inevitable]] https://esolangs.org/w/index.php?diff=60474&oldid=46316 * Camto * (+19) Broken link.
17:31:14 <esowiki> [[Grr]] https://esolangs.org/w/index.php?diff=60475&oldid=60468 * Caotic * (+6)
17:31:54 <esowiki> [[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 <esowiki> [[Special:Log/newusers]] create * Asty * New user account
18:47:57 -!- xkapastel has joined.
18:49:31 <esowiki> [[Special:Log/newusers]] create * Sentry * New user account
18:52:07 -!- imode has quit (Ping timeout: 245 seconds).
18:56:45 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=60477&oldid=60464 * Sentry * (+176) add my introduction
18:57:02 <esowiki> [[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 <oerjan> @tell ais523 <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 <lambdabot> Consider it noted.
20:26:27 <oerjan> @tell ais523 or just -t
20:26:27 <lambdabot> Consider it noted.
20:26:36 <shachaf> is that why it's considered harmful
20:26:47 <oerjan> what is
20:27:17 <oerjan> . o O ( i didn't mention goto anywhere... )
20:27:21 -!- nfd9001 has joined.
20:28:16 <b_jonas> or cat -A
20:28:21 <int-e> oerjan: do you occasionally comment on yafgc?
20:30:32 <oerjan> int-e: yes
20:31:16 <oerjan> yesterday i couldn't get comments to load, though.
20:31:52 <oerjan> iirc it was an occasional problem some days before too
20:32:29 -!- imode has quit (Quit: WeeChat 2.4).
20:32:46 <oerjan> or rather, comments for the last page, the previous loaded fine.
20:33:04 <oerjan> (but i loaded that first and then went to read something else, so...)
20:33:48 <oerjan> so i still have the tabs open.
20:37:07 <oerjan> int-e: do you? not by that nick, at least.
20:37:34 * oerjan guesses you're not Guesticus.
20:38:33 <oerjan> i would _not_ bet on Guesticus not being A, though.
20:42:58 -!- mniip has quit (Ping timeout: 600 seconds).
20:44:08 <int-e> oerjan: no I don't. I just read a few and stumbled over a certain nick.
20:45:03 <int-e> (sorry if that's disappointing)
20:52:30 <oerjan> awwwwwwwwwwwwwwwwwnot really
20:58:41 <kmc> "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 <tswett[m]> Whoa, I've got a fancy [m] at the end of my nick! I think.
21:25:48 <tswett[m]> I figure I probably do. That seems pretty likely.
21:26:49 <int-e> the [m]atrix has got you
21:27:09 <int-e> tswett[m]: if that was a question, yes, you do
21:28:00 <b_jonas> 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 <b_jonas> or to find if you have a [m] at the end of your nick,
21:29:45 <b_jonas> /msg perlbot compose `eval `arg d&n'=~/[\[{][mM][\]}]$/ ? "yes" : "no"'
21:29:55 <b_jonas> though that doesn't try to determine if it's a fancy one or not
21:30:32 <b_jonas> hmm wait
21:30:35 <int-e> they could also check the channel logs
21:30:37 * int-e shrugs
21:30:42 <int-e> but where's the fun in that?
21:31:09 <esowiki> [[ALLSCII]] https://esolangs.org/w/index.php?diff=60479&oldid=60412 * Cortex * (-122) Removed ~ and @, we already have those instructions
21:31:41 <int-e> But more importantly, the real quote is just "the matrix has you".
21:32:55 <b_jonas> there's also /msg perlbot 8ball do I have a fancy [m] at the end of my nick?
21:32:58 <b_jonas> but it's less reliable
21:37:04 <int-e> fungot: hi!
21:37:05 <fungot> int-e: so of course it's ambiguous if you don't, it will handle an empty array the same way
21:37:25 <b_jonas> aaaaaaaaaaaaaaa
21:37:46 <b_jonas> don't even remind me of matlab's truthyness rule, my hon. and learned friend fungot
21:37:47 <fungot> b_jonas: nooooo, don't ask why), microsoft products have assimilated quite well, thanks. i don't
21:39:18 <int-e> (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 <int-e> @metar lowi
21:39:54 <lambdabot> LOWI 122120Z 28010KT 9999 FEW090 BKN120 02/M03 Q1015 NOSIG
21:44:50 <int-e> '"
21:44:55 <int-e> `"
21:44:56 <HackEso> 417) <itidus20> 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) <Taneb> ...my university's Scandinavian Society is having a trip to IKEA
21:45:49 <kmc> Fear and Loathing at IKEA
21:59:33 <Phantom_Hoover> oh man
21:59:37 <Phantom_Hoover> i miss itidus
21:59:43 <Phantom_Hoover> what a nutter
21:59:53 <Phantom_Hoover> i hope he's doing well
21:59:58 <kmc> yeah
21:59:58 <Phantom_Hoover> still making his instant coffee
22:00:32 <kmc> I am feeling pretty shit today :(
22:00:38 <kmc> day started good and got bad
22:00:42 <kmc> that's kind of the opposite of usual
22:01:25 <kmc> I don't think I'm ever going to get over the things that upset me :(
22:01:31 <kmc> I'm not going to last much longer if I don't :(
22:01:51 <Phantom_Hoover> is this, like, your general dissatisfaction with the rest of the human race or something else
22:02:00 <kmc> no
22:02:32 <Phantom_Hoover> is it... bay area property disputes or something
22:02:35 <kmc> the stuff with rust-lang and all my trauma from living with gender dysphoria
22:03:42 <kmc> sorry, this probably isn't the place to talk about it
22:03:48 <kmc> the mention of nutters made me bring it up :P
22:03:55 <Phantom_Hoover> what's wrong with rust-lang other than the sjw shitheads setting themselves up as moral arbiters
22:04:00 <kmc> that
22:04:05 <kmc> more or less
22:04:19 <kmc> and the general niceness policing
22:04:42 <kmc> hypocrisy
22:04:43 -!- Sgeo__ has joined.
22:05:03 <kmc> 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 <kmc> because "he writes good code"
22:05:14 <kmc> they all acknowledge he was a problem
22:05:21 <kmc> it's the exact opposite of what the CoC was supposed to mean
22:05:24 <kmc> they were hypocrites from day one
22:05:33 <kmc> it really hurts that I used to believe them and believe in all that crap
22:05:41 <kmc> and now it's taken over open source and I don't feel safe anywhee
22:05:44 <kmc> anywhere*
22:05:57 <Phantom_Hoover> to me that's like... ok at least i can understand it as a pragmatic compromise
22:06:31 <kmc> yeah but the whole community just pats each other on the back over how ~friendly and welcoming~ they are
22:06:35 <kmc> while ignoring everyone who disagrees
22:06:36 <Phantom_Hoover> yes
22:07:14 <Phantom_Hoover> 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 <Phantom_Hoover> 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 <kmc> I partly agree with that
22:08:03 <kmc> I think people say awful things to get applause on Twitter without thinking about how it might affect others
22:08:06 <Phantom_Hoover> it just seems like manifestations of a cult that glorifies abuse and suffering
22:08:13 <kmc> definitely
22:08:19 <kmc> but also, I would not at all be surprised if she has some gender related trauma in her past
22:08:29 <kmc> a lot of people do
22:08:33 <kmc> and people tend to pay their trauma forward
22:08:36 <kmc> I do it too :(
22:10:42 <Phantom_Hoover> mm
22:11:17 <kmc> I'm doing therapy and lots of other things but i'm not sure it will help fast enough :(
22:12:45 <kmc> it's really exhausting waking up every goddamn day and being upset about the same thing
22:13:07 <kmc> Phantom_Hoover: I'm sorry again for supporting those people long ago :(
22:13:13 <kmc> I got disillusioned pretty quick
22:13:19 <kmc> my interpretation of a lot of events has changed
22:15:06 <kmc> I think Ashley also gets special treatment because she's fucking Steve Klabnik
22:15:18 <kmc> 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 <Phantom_Hoover> ahahahahahaha
22:16:18 <kmc> 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 <Phantom_Hoover> did you read jon ronson's book on public shaming
22:16:50 <kmc> i would hope that being the subject of investigations from all of npm, linux, and rust may have given her pause
22:17:02 <Phantom_Hoover> it has a chapter on donglegate
22:18:11 <kmc> i did not read it
22:18:29 <kmc> I do feel bad for encouraging public shaming against her
22:18:30 <Phantom_Hoover> 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 <kmc> i feel like something of a hypocrite
22:18:45 <kmc> on the other hand, live by the sword die by the sword
22:18:51 <kmc> plus I complained through the Proper Channels first
22:18:56 <kmc> and was dismissed
22:19:34 <Phantom_Hoover> 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 <kmc> yeah
22:20:00 <kmc> they cry misogyny whenever challenged
22:20:06 <Phantom_Hoover> 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 <kmc> I don't even want ashley to lose her job, I would like an apology though
22:20:19 <kmc> but it's far too late for that
22:20:19 <Phantom_Hoover> but i think i smirked a bit after that chapter
22:20:22 <kmc> after the way I've acted
22:20:24 <kmc> yeah
22:20:31 <kmc> I think her clique also lost a lot of status after the ayo.js debacle, which was beyond embarrassing
22:20:41 <kmc> people have seen that they are a drain on the project
22:20:52 <kmc> and I think that's why she's bouncing around to different communities
22:21:05 -!- moei has joined.
22:21:18 <kmc> I just need to figure out what my unfinished business is, so I can move on and forget all of this
22:21:34 <Phantom_Hoover> 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 <Phantom_Hoover> yeah i mean this stuff bothers me but it seems to weigh on you a lot more
22:24:41 <kmc> yeah
22:24:51 <kmc> I think it bothers me more than anyone else I know :(
22:24:58 <kmc> although there are a few people who are close
22:25:14 <kmc> and they happen to be non-cisgender AMABs as well
22:25:28 -!- copumpkin has quit (Ping timeout: 245 seconds).
22:25:34 <Phantom_Hoover> ....All Mods Are Bastards?
22:26:52 <kmc> lol
22:26:55 <kmc> assigned male at birth
22:26:58 <kmc> but I like yours too
22:29:05 <kmc> 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 <kmc> I'm kind of drifting right now
22:29:51 <kmc> most things in my life are great, I'm not really depressed, I get upset about specific things though
22:30:00 <kmc> and I feel like I'm not contributing much to society
22:30:00 <rain1> I've been thinking all my open source stuff is pointless because nobody cares about it
22:30:11 <kmc> I worked on things people actually do care about
22:30:15 <kmc> and now I don't see that happening ever again :(
22:30:29 <rain1> how come?
22:31:00 <kmc> rain1: combination of bad feelings about the code of conduct stuff and general burnout
22:31:05 <kmc> maybe I can at least start blogging again
22:31:43 <rain1> 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 <kmc> i wish i could just stop thinking about it
22:34:00 <rain1> is there a specific one ? something happened recently?
22:34:04 <kmc> no
22:34:15 <kmc> yes specific, no not recently
22:34:24 <rain1> ah
22:34:51 <kmc> 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 <kmc> i'm just feeling really down today
22:36:00 <kmc> and talking about it often helps
22:51:03 <kmc> 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 <b_jonas> sadly, telling your nick is one of those tricks that I believe we can't teach to hackeso
22:54:03 <b_jonas> unless that's changed recently
22:59:09 <b_jonas> 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 <b_jonas> it definitely knows about IRC state because it puts it to the hg commit message
22:59:30 <b_jonas> well, some of it
23:00:02 <shachaf> But you can make `list
23:00:44 <b_jonas> yeah
23:01:30 <b_jonas> of course, I can't complain. I don't want to run one of these bots either.
23:01:43 <oerjan> b_jonas: fizzie is considering adding the feature.
23:03:36 <kmc> so you want like `echo $NICK to work?
23:05:01 <b_jonas> 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 <fizzie> I was in fact going to use $NICK.
23:05:24 <fizzie> It's not like this is serious business.
23:06:03 <fizzie> 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 <shachaf> `learn #esoteric is serious business.
23:08:40 <fizzie> 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 <b_jonas> fizzie: a common prefix would make all the hackeso-related environment variables more discoverable by users
23:09:22 <b_jonas> since they could do, like, ``` echo "${!HACKESO_*}" to find them
23:09:47 <kmc> what kind of shell wizardry is that
23:10:02 <shachaf> too advanced for me
23:10:26 <shachaf> env|grep
23:10:44 <b_jonas> kmc: meh, `perl -efor (keys%ENV) { /^HACKESO_/ and print } # if you prefer
23:10:58 <shachaf> i do not prefer
23:11:00 <b_jonas> um, that needs separators
23:11:09 <b_jonas> so like `perl -efor (keys%ENV) { /^HACKESO_/ and print "$_ " }
23:11:20 <b_jonas> ``` echo "${!BASH*}"
23:11:21 <HackEso> 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 <b_jonas> ``` echo "${!L[ACO]*}"
23:11:38 <HackEso> No output.
23:11:46 <kmc> I miss knowing weird perl things
23:11:54 <b_jonas> `` echo "${!L[ACO]*}"
23:11:55 <HackEso> No output.
23:11:57 <b_jonas> what?
23:12:05 <b_jonas> ``` locale
23:12:07 <HackEso> 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 <b_jonas> hmm
23:12:21 <b_jonas> I thought we still had some locale-related stuff set
23:12:23 <b_jonas> `` locale
23:12:24 <HackEso> 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 <b_jonas> hmm
23:12:42 <b_jonas> ` echo "${!LC*}"
23:12:43 <HackEso> ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: : not found
23:12:45 <b_jonas> `` echo "${!LC*}"
23:12:46 <HackEso> No output.
23:13:07 <b_jonas> `` echo "${!LA*}"
23:13:08 <HackEso> LANG
23:13:12 <b_jonas> `` echo "${!L[ACO]*}"
23:13:12 <HackEso> No output.
23:13:16 <b_jonas> what?
23:13:41 <fizzie> `env
23:13:42 <HackEso> 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 <b_jonas> that's a bit too long to print in full
23:14:14 <b_jonas> ``` echo "${!*}"
23:14:14 <HackEso> No output.
23:14:18 <b_jonas> what
23:14:22 <b_jonas> I don't get how this works
23:15:38 <b_jonas> ``` echo "${!L@}"
23:15:39 <HackEso> LANG LINENO
23:15:41 <b_jonas> ``` echo "${!@}"
23:15:42 <HackEso> No output.
23:15:48 <b_jonas> I see
23:15:52 <b_jonas> it's all in the BASH manual
23:16:09 <fizzie> 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 <b_jonas> `perl -e for (sort keys%ENV) { print "$_ " }
23:16:15 <HackEso> HACKENV HOME LANG PATH PWD SHLVL TERM http_proxy
23:16:20 <b_jonas> hmm, it's not that long
23:16:27 <b_jonas> ``` perl -e 'for (sort keys%ENV) { print "$_ " }'
23:16:27 <HackEso> HACKENV HOME LANG PATH PWD SHLVL TERM _ http_proxy
23:16:48 <fizzie> The `env output was complete, if that's what the "bit too long" comment was referring to.
23:16:53 <shachaf> `` grep -ri hackego bin
23:16:55 <HackEso> bin/echo:echo I AM HACKEGO! I AM THE VOID! PREPARE... TO DIE!
23:17:12 <b_jonas> fizzie: yes, sorry
23:17:16 <b_jonas> I expected it to be longer
23:17:25 <shachaf> `dobg echo
23:17:27 <HackEso> 3764:2013-09-13 <Rouj̈o> rm bin/echo \ 3763:2013-09-13 <Rouj̈o> chmod +x bin/echo \ 3762:2013-09-13 <Rouj̈o> echo echo No output. > bin/echo \ 3557:2013-08-29 <noood̈l> revert f6f3d9626c03 \ 3530:2013-08-29 <Rouj̈o> chmod +x /hackenv/bin/echo \ 3529:2013-08-29 <Rouj̈o> echo echo Cats are cool but should be made illegal. > /hackenv/bin/echo
23:17:56 <shachaf> How is rm the last commit?
23:18:00 <shachaf> Is this a bad scowrev?
23:18:25 <shachaf> `hurl bin/echo
23:18:26 <HackEso> https://hack.esolangs.org/repo/log/tip/bin/echo
23:18:38 <b_jonas> 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 <shachaf> I am confusil.
23:18:54 <b_jonas> ``` du bin/echo
23:18:54 <HackEso> du: cannot access 'bin/echo': No such file or directory
23:19:00 <shachaf> Wait, how did grep find it?
23:19:02 <b_jonas> ``` du bin/ping
23:19:03 <HackEso> 4bin/ping
23:19:18 <shachaf> `` grep -ri hackego bin
23:19:20 <HackEso> bin/echo:echo I AM HACKEGO! I AM THE VOID! PREPARE... TO DIE!
23:19:23 <shachaf> `` grep -i hackego bin/echo
23:19:24 <HackEso> grep: bin/echo: No such file or directory
23:19:48 <b_jonas> ``` grep -l HACKEGO bin | cat -A
23:19:48 <HackEso> grep: bin: Is a directory
23:19:53 <b_jonas> ``` grep -Rl HACKEGO bin | cat -A
23:19:54 <HackEso> bin/^B^Becho$
23:19:59 <shachaf> aha
23:20:27 -!- AnotherTest has quit (Ping timeout: 240 seconds).
23:20:37 <shachaf> `` dobg echo
23:20:39 <HackEso> 3800:2013-09-18 <Rouj̈o> chmod +x bin/\x02\x02echo \ 3799:2013-09-18 <Rouj̈o> echo "echo I AM HACKEGO! I AM THE VOID! PREPARE... TO DIE!" > bin/\x02\x02echo
23:20:52 <fizzie> 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 <shachaf> `echo echo
23:20:55 <HackEso> I AM HACKEGO! I AM THE VOID! PREPARE... TO DIE!
23:21:05 <shachaf> `rm bin/echo
23:21:07 <HackEso> No output.
23:21:10 <b_jonas> ``` echo "$PATH"
23:21:10 <HackEso> ​/hackenv/bin:/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin
23:21:10 <kmc> hack the ego, patch the soul
23:21:15 <shachaf> `` ls bin/**
23:21:16 <HackEso> bin/welcome
23:21:17 <shachaf> `` ls bin/**
23:21:18 <HackEso> bin/ \ bin/welcome \ bin/8ball
23:21:24 <b_jonas> what would the right value be?
23:22:07 <fizzie> The rigth value wouldn't include /opt/ghc/bin or /opt/python27/bin because there are nothing at those paths.
23:22:23 <fizzie> So I guess /hackenv/bin:/usr/bin:/bin minimally.
23:22:29 <b_jonas> `` printf "%b" bin/*$'\x02'*
23:22:29 <HackEso> bin/welcome
23:22:37 <b_jonas> `` printf "%q" bin/*$'\x02'*
23:22:38 <HackEso> ​$'bin/\002welcome'
23:24:26 <fizzie> 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 <b_jonas> ``` $'\x0F'
23:26:15 <HackEso> 229) <fizzie> 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 <b_jonas> ``` cat bin/$'\x0F'
23:26:41 <HackEso> ​#!/bin/bash \ cmd="${1-quote}" \ TIMEFORMAT="real: %lR, user: %lU, sys: %lS" \ shopt -s extglob globstar \ eval -- "$cmd" | rnoooooooodl
23:27:17 <shachaf> `` ls -l bin/$'\x0F'
23:27:18 <HackEso> lrwxrwxrwx 1 1000 1000 1 Jul 8 2017 bin/ -> `
23:27:22 <shachaf> whoa
23:27:22 <shachaf> ``
23:27:23 <HackEso> 1240) <ais523> do we seriously not do quotes any more?
23:27:52 <b_jonas> ``` cat bin/$'\x16'
23:27:52 <HackEso> No output.
23:28:01 <b_jonas> ``` echo bin/$'\x16'*
23:28:03 <HackEso> bin/ bin/ bin/echo
23:28:11 <b_jonas> anyway, there's three of those
23:28:35 <shachaf> `cat bin/
23:28:35 <HackEso> No output.
23:28:36 <b_jonas> `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 <HackEso> ​{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 <b_jonas> `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 <HackEso> ​{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 <b_jonas> ``` cat $'`\xCC\x80'
23:30:48 <HackEso> cat: '`'$'\314\200': No such file or directory
23:30:52 <b_jonas> ``` cat bin/$'`\xCC\x80'
23:30:53 <HackEso> echo "This should probably do something, but it does not."
23:31:19 <shachaf> cc 80?
23:31:22 <shachaf> shouldn't that be cd 80?
23:31:31 <b_jonas> `¿
23:31:32 <HackEso> ​¯/)o_​°(\¯ ?
23:33:02 <b_jonas> `¿ C
23:33:03 <HackEso> tluaf noitatnemgeS��.�דIW>�V��fo egaugnal eht si C
23:33:17 <b_jonas> `¿ rules of wisdom
23:33:18 <HackEso> ​ 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 <shachaf> laitnesse
23:34:16 <shachaf> `? rules of wisdom
23:34:17 <HackEso> 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 <b_jonas> ``` cat $'bin/\x61F'
23:35:53 <HackEso> cat: bin/aF: No such file or directory
23:36:00 <b_jonas> ``` cat $'bin/\xD8\x9F'
23:36:00 <HackEso> ​\? "$@" | 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 <fizzie> `` echo hello your name is $IRC_NICK # turns out there was multibot precedence for this name, I just propagated it
00:14:45 <HackEso> hello your name is fizzie
00:17:02 <kmc> :O
00:17:21 <kmc> `` echo $IRC_NICK is the cutest girl in the world
00:17:22 <HackEso> kmc is the cutest girl in the world
00:17:24 <kmc> :O
00:17:27 <kmc> why thank you HackEso
00:17:38 -!- Lord_of_Life_ has joined.
00:17:48 <shachaf> `` env | grep IRC
00:17:49 <HackEso> IRC_NICK=shachaf
00:17:57 <shachaf> imo what about the rest of the message
00:17:59 <kmc> `` env | grep kmc
00:18:00 <HackEso> IRC_NICK=kmc
00:18:39 <fizzie> `mkx bin/whoami//echo $IRC_NICK
00:18:41 <HackEso> bin/whoami
00:19:01 <fizzie> `` /usr/bin/whoami # the official one wasn't very useful anyway
00:19:02 <HackEso> ​/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 <oerjan> ^ul (:*)(:*)(a)~^~(^)~^*(~S:^):^
00:38:53 <fungot> aa^^ ...out of stack!
00:39:29 -!- MDude has joined.
00:39:55 <oerjan> ^ul (:*)(:*)(a)~^~(^)~^*(((:):)())~*^(~S:^):^
00:39:55 <fungot> (:): ...out of stack!
00:40:12 <oerjan> ^ul (:*)(:*)(a)~^~(^)~^*(((:):)())~*^^(~S:^):^
00:40:12 <fungot> (:): ...out of stack!
00:40:36 <oerjan> ^ul (:*)(:*)(a)~^~(^)~^*(((:):)())~*^^^(~S:^):^
00:40:36 <fungot> :: ...out of stack!
00:40:50 <oerjan> hm oh.
00:40:57 <oerjan> ^ul (:*)(:*)(a)~^~(^)~^*(((:):)())~*^^^(~aS:^):^
00:40:57 <fungot> (:)(:) ...out of stack!
00:41:07 <oerjan> ^ul (:*)(:*)(a)~^~(^)~^*(((:):)())~*^^(~aS:^):^
00:41:07 <fungot> ((:):) ...out of stack!
00:41:19 <oerjan> ^ul (::**)(:*)(a)~^~(^)~^*(((:):)())~*^^(~aS:^):^
00:41:19 <fungot> (:)(:) ...out of stack!
00:41:29 <oerjan> ^ul (::**)(:::***)(a)~^~(^)~^*(((:):)())~*^^(~aS:^):^
00:41:29 <fungot> ()((:):) ...out of stack!
00:42:35 <oerjan> ^ul (::**)(:::***)(a)~^~(^)~^*(((=)S)((!=)S)((:):)())~*^^!!^
00:42:35 <fungot> !=
00:42:43 <oerjan> ^ul (:::***)(:::***)(a)~^~(^)~^*(((=)S)((!=)S)((:):)())~*^^!!^
00:42:43 <fungot> =
00:50:56 <oerjan> ^ul ((==)S)((!=)S)((:):)()(:::***)(:::***)(a)~^~(^)~^*^^!!^
00:50:56 <fungot> ==
00:51:44 <oerjan> ^ul ((==)S)((!=)S)((:):)()(:::***)(:::***)(a)~^~(^)~^^!!^
00:51:44 <fungot> !=
00:51:47 <oerjan> oops
00:52:10 <oerjan> ^ul ((==)S)((!=)S)((:):)()(:::***)(:::***)(a)~^~(^)~^^^!!^
00:52:10 <fungot> !=
00:52:14 <oerjan> ^ul ((==)S)((!=)S)((:):)()(:::***)(:::***)(a)~^~(^)~^^^^!!^
00:52:14 <fungot> ==
00:52:52 <oerjan> ^ul ((==)S)((!=)S)(:):(:::***)(:::***)(a)~^~(^)~^^^^!!^
00:52:52 <fungot> !=
00:53:16 <oerjan> ^ul ((==)S)((!=)S)(:):(:::***)(:::***)(a)~^~(^)~^^^!!^
00:53:16 <fungot> !=
00:53:40 <shachaf> Should `list be adapted to use whoami?
00:53:56 <shachaf> Yes.
00:54:07 <kmc> `whoami
00:54:08 <HackEso> kmc
00:54:25 <kmc> whoa, mi?
00:54:39 <shachaf> hi kmc
00:54:41 <oerjan> ^ul ((==)S)((!=)S)(:):(:::***)(:::***)(a)~^~(^)~^^!!^
00:54:41 <fungot> !=
00:54:50 <kmc> hichaf
00:54:53 <shachaf> `WeLcOmE kmc
00:54:54 <HackEso> KmC: wElCoMe tO ThE InTeRnAtIoNaL HuB FoR EsOtErIc pRoGrAmMiNg lAnGuAgE DeSiGn aNd dEpLoYmEnT! fOr mOrE InFoRmAtIoN, cHeCk oUt oUr wIkI: <HtTpS://EsOlAnGs.oRg/>. (fOr tHe oThEr kInD Of eSoTeRiCa, TrY #eSoTeRiC On eFnEt oR DaLnEt.)
00:54:55 <oerjan> oh right duh
00:55:02 <kmc> `relcome shachaf
00:55:04 <HackEso> shachaf: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <https://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
00:55:11 <shachaf> `tervetuloa kmc
00:55:12 <HackEso> kmc: Tervetuloa esoteeristen ohjelmointikielten suunnittelun ja käyttöönoton kansainväliseen keskukseen! Lisätietoa saat wikistämme: <https://esolangs.org/>. (Muu esoteerisuus: kokeile kanavaa #esoteric joko EFnet- tai Dalnet-verkossa.)
00:55:55 <kmc> "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 <kmc> littyviä vaurioita."
00:56:33 <kmc> ääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääää
00:56:35 <fizzie> Alavilla mailla hallan vaara, älä rääkkää sitä kääkkää.
00:56:52 <shachaf> `ברוכים הבאים
00:56:53 <HackEso> ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ברוכים: not found
00:57:13 <kmc> is that a tongue twister?
00:57:21 <kmc> `which \`
00:57:21 <fizzie> They're the canonical most and least beautiful sentences of Finnish, according to someone.
00:57:21 <HackEso> No output.
00:57:40 <fizzie> `words --finnish 15
00:57:41 <HackEso> muillesi voisekonotkaamissamme korostamasi jyräävä seltuaalisempaan pilkupakkaamme alkamaltasi tuhoukkivälit holle kauemporummat kielialiltanhua tasi turvat ulstressa odostanne
00:57:58 <shachaf> regular finnish is tongue twisty enough for me
00:58:01 <kmc> google thinks the first half is Malayalam
00:58:11 <kmc> and it sounds rather nicer when text-to-spoken as such
00:58:20 <fizzie> Not bad in terms of % of real words this time: muillesi, korostamasi, jyräävä, turvat.
00:58:26 <kmc> "älä rääkkää sitä kääkkää" could only be finnish
00:58:27 <fizzie> Usually there's just one or two.
00:58:44 <kmc> Holle's long-tailed drumsticks for you!
00:58:47 <fizzie> "Don't torture that old crone", basically.
00:59:00 <kmc> Hollow drops of the hollow-spotted tongue cups for Holle that we emphasized for others
00:59:08 <shachaf> ensin sinä sitten minä
01:00:09 <kmc> okay, ok, this is too good: https://i.imgur.com/B0Nfc1a.png
01:00:34 <kmc> I am just removing words from the end one by one
01:00:40 <kmc> next is "the rumbling spheres we've been stressing to others for our more stellar backside"
01:00:52 <kmc> "your crunchy belligerent bundle that you emphasized to others"
01:00:57 <fizzie> It's a bit hard to reason out how it got that.
01:01:24 <shachaf> `? king
01:01:25 <HackEso> king? ¯\(°​_o)/¯
01:01:26 <shachaf> `? fizzie
01:01:27 <HackEso> 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 <shachaf> fizzie: are you actually sneaky twh
01:01:47 * kmc has a more stellar backside
01:02:10 <fizzie> I think not, I probably must've just edited a file in a query around the time that got added.
01:02:34 <shachaf> `dowg fizzie
01:02:36 <HackEso> 11495:2018-04-12 <shachäf> ` hg cat -r 10000 wisdom/fizzie > wisdom/fizzie \ 11493:2018-04-12 <shachäf> slwd fizzie//s.prime minister.emperor. \ 11286:2017-12-28 <boil̈y> slwd fizzie//s/\\bfi/Fi/ \ 11285:2017-12-25 <boil̈y> slwd fizzie//s/^/King / \ 10285:2017-02-16 <shachäf> revert \ 10284:2017-02-16 <\oren̈\> slwd fizzie//s/$/ He never remembers w\'s./ \ 10241:2017-02-13 <shachäf> slwd fizzie//s.king.prime minister. \ 10201:2017-02-01 <shacha
01:02:44 <shachaf> `2 dowg fizzie
01:02:46 <HackEso> 2/3:chäf> slwd fizzie//s. k. canary k. \ 8869:2016-07-28 <shachäf> slwd fizzie//s#http.*#https://zem.fi/static/img/square_fizzie_320px_white.jpg# \ 8168:2016-05-25 <shachäf> ` sed -i \'s/k/sneaky k/\' wisdom/fizzie \ 4999:2014-10-02 <oerjän> revert 4969 \ 4984:2014-09-30 <mroman̈_> learn_append fizzie Fizzie is a bot controlled by fungot. \ 4249:2013-12-30 <oerjän> learn fizzie is not fnord with a monad but the king of #esoteric, see http://codu
01:03:19 <fizzie> http://esolangs.org/logs/2016-05.html#l1kg
01:03:38 <oerjan> kmc: are you sure it's not a black hole hth
01:03:38 <shachaf> netcraft confirms it
01:03:41 <shachaf> `slwd fizzie//s/sneaky //
01:03:43 <HackEso> 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 <shachaf> oh, no
01:04:03 <shachaf> This was about the mv trick.
01:04:12 <shachaf> I think that's sneaky after all.
01:04:38 <kmc> shachääf
01:05:12 <shachaf> kiigän
01:05:53 <shachaf> `words --hebrew 15
01:05:54 <HackEso> ​התבל ללבו ויתרת ימים דבש וכו מונה האשמורו מורת שהבני לגל ולהעבדו כמפנ המוזלי כשתית
01:06:51 <shachaf> hebrew is p. dense
01:06:52 <shachaf> it's tg
01:07:54 <kmc> is that because the vowels are not written
01:08:02 <shachaf> probably has to do with it?
01:08:28 <shachaf> books translated into hebrew are noticeably shorter if i remember correcctly
01:08:52 <shachaf> presumably chinese or something is even better
01:09:03 <shachaf> but the alphabet is much larger
01:09:54 <esowiki> [[Special:Log/upload]] upload * A * uploaded "[[File:Scratch(3.0).png]]": Deadfish
01:10:00 <kmc> I'm playing with my fidget cube
01:10:01 <kmc> it's tg
01:11:09 <esowiki> [[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 <esowiki> [[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 <fizzie> `` echo $PATH # cleanups
02:03:02 <HackEso> ​/hackenv/bin:/usr/bin:/bin
02:06:06 <shachaf> i am considering doing something sneaky and evil
02:06:10 <shachaf> should i do it y/n
02:07:09 <kmc> probably
02:07:11 <kmc> what is it, though
02:08:08 <shachaf> it wouldn't be sneaky if i told you
02:11:46 <kmc> well
02:11:53 <kmc> will this affect me
02:13:22 <shachaf> probably not
02:13:27 <shachaf> i am overstating it
02:13:33 <shachaf> will hugs affect you
02:13:41 <shachaf> imo yes
02:21:17 -!- Essadon has quit (Quit: Qutting).
02:23:34 <fizzie> 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 <imode> means don't tip with a hug.
02:25:11 <fizzie> 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 <kmc> imo go in and ask for a hug
02:32:49 <pikhq> IMO tipping is weird
02:41:53 <kmc> yeah
02:42:09 <kmc> american tipping culture is really bad
02:44:44 <shachaf> it is scow
02:47:17 <kmc> especially the part where employers can count tips as part of minimum wage :(
02:47:57 <shachaf> not in california
02:48:44 <pikhq> CO's setup for that is weird. Tipped wage is $2.02/hour below non-tipped minimum.
02:48:58 <pikhq> And that's a constant figure.
02:49:36 <pikhq> Sorry, $3.02
02:50:26 <pikhq> (minimum wage is $11.10/hr, going to $12/hr next year, after which point it will be pegged to inflation)
02:56:44 <kmc> shachaf: also you should come to san francisco and hug me sometime
02:57:45 <pikhq> If you come to Denver I will have hugs on tap.
02:57:52 <kmc> hooray!
02:57:54 <kmc> I just might
02:58:00 <kmc> in fact there's some chance I'll move to the area
02:58:26 <pikhq> Whoo
02:58:36 <kmc> unclear, but it's under consideration
03:00:48 <shachaf> I was in Denver and didn't find any hugs there.
03:01:03 <shachaf> Admittedly I wasn't there for very long. And I think you were in California at the time.
03:02:28 <pikhq> Probably.
03:02:39 <pikhq> And I'm technically not in Denver yet.
03:02:52 <pikhq> I'm moving up there in about a month.
03:03:02 <pikhq> (that said, I'm about 60 miles south of there, so...)
03:04:24 <shachaf> imo berkeley is closer than denver and possibly has more hugs per capita
03:06:07 <pikhq> Denver's still in reasonable travel distance of family.
03:09:07 <pikhq> Also, I'm kinda trying to move to be _close_ to the office...
03:09:28 <shachaf> i meant for kmc
03:09:40 <pikhq> *shrug*
03:09:53 <shachaf> the goal is hugs
03:10:06 <kmc> shachaf: do you know other people in berkeley who will hug me?
03:10:07 <pikhq> That is admittedly a valiant goal.
03:10:19 <shachaf> hmm, probably?
03:11:40 <oren> gUd aftRnUn evrEwun! is nO dEl breksit upon us? hW sUn wil nO?
03:13:52 <fizzie> 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 <fizzie> I think it boils down to "it's all messed up".
03:14:57 <oren> wel yes bEcuz Du E.yU. has tU agrE tU
03:15:08 <kmc> that has been my impression for some time
03:18:27 <pikhq> Yeah. No deal is what happens if the UK just fails to take action at this point.
03:19:10 <pikhq> And given the past couple of years in UK politics, I dare say that's the safe bet.
03:25:35 <kmc> hm, is there a prediction market contract for no-deal brexit?
03:25:37 <kmc> i can't find one
03:26:03 <pikhq> Fair question, actually. Hmm.
03:34:14 <shachaf> https://www.betfair.com/exchange/plus/politics/market/1.153694387
03:35:38 <kmc> what tf do all these numbers mean
03:39:05 <shachaf> https://www.livetipsportal.com/en/betting-strategies/back-lay/
03:39:09 <shachaf> not sure why they make it so complicated
03:40:25 <shachaf> Oh, it's just the inverse of the probability?
03:42:33 <shachaf> 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 <esowiki> [[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 <wob_jonas> 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 <wob_jonas> `whoami
09:33:13 <HackEso> wob_jonas
09:33:47 <wob_jonas> ``` perl -e'print reverse $ENV{IRC_NICK}'
09:33:48 <HackEso> wob_jonas
09:33:56 <wob_jonas> ``` perl -e'print "".reverse $ENV{IRC_NICK}'
09:33:57 <HackEso> sanoj_bow
10:04:34 <wob_jonas> 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 <fizzie> 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 <fizzie> 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 <fizzie> `` echo $IRC_NICK $IRC_IDENT $IRC_HOST # <- wob_jonas
13:24:59 <HackEso> fizzie fis unaffiliated/fizzie
13:28:50 <fizzie> `` whoami; whoami -v
13:28:51 <HackEso> fizzie \ fizzie!fis@unaffiliated/fizzie
13:30:20 -!- AnotherTest has joined.
13:32:22 <esowiki> [[Special:Log/upload]] upload * A * uploaded "[[File:Truth-machine.JPG]]": Truth-machine
13:33:24 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=60485&oldid=60310 * A * (+49) /* Sceql */
13:33:37 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=60486&oldid=60485 * A * (-4)
13:33:51 <wob_jonas> fizzie: ok, but how about also the message target, which is usually either #esoteric or HackEso ?
13:34:22 <wob_jonas> whcih is the first parameter after the PRIVMSG or NOTICE
13:37:20 <fizzie> Yes, that's the part that's not available to a running multibot command.
13:38:36 <fizzie> 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 <fizzie> 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 <esowiki> [[Special:Log/upload]] overwrite * A * uploaded a new version of "[[File:Scratch(3.0).png]]": Fix bugs
13:41:45 <esowiki> [[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 <esowiki> [[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 <wob_jonas> fizzie: I see.
14:42:36 <wob_jonas> `whoami -v
14:42:37 <HackEso> wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209
14:42:42 <wob_jonas> ``` cat bin/whoami
14:42:43 <HackEso> 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 <fizzie> 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 <fizzie> (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 <b_jonas> fizzie: have you decided yet whether you'll join HackEso to #esoteric-blah ?
21:05:07 <b_jonas> 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 <b_jonas> 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 <b_jonas> 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 <b_jonas> or with scowrevs I think.
21:06:38 <esowiki> [[Esolang:Featured languages/Candidates]] https://esolangs.org/w/index.php?diff=60490&oldid=60293 * Camto * (+804) Suggest Underload.
21:08:28 <b_jonas> 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 <oerjan> ^ul (:::***)(:::***)(a)~^~(^)~^*(((==)S)(!(<)S)(!(!(>)S)(:):)())~*^^!!^
21:45:40 <fungot> ==
21:45:50 <oerjan> ^ul (::**)(:::***)(a)~^~(^)~^*(((==)S)(!(<)S)(!(!(>)S)(:):)())~*^^!!^
21:45:50 <fungot> <
21:46:00 <oerjan> ^ul (::**)(:*)(a)~^~(^)~^*(((==)S)(!(<)S)(!(!(>)S)(:):)())~*^^!!^
21:46:00 <fungot> >
21:51:49 <oerjan> ^ul (::**)(:*)(a)~^~(^)~^*(((==)S)(!(<)S)(!(!(>)S)(:):)())~*^^!!^(aS:^):^
21:51:49 <fungot> >(aS:^) ...out of stack!
21:52:06 <oerjan> oops
21:52:17 <oerjan> ^ul (::**)(:*)(a)~^~(^)~^*(((==)S)(!(<)S)(!(!(>)S)(:):)())~*^^!!^(~aS:^):^
21:52:17 <fungot> > ...out of stack!
21:52:29 <oerjan> ^ul (::**)(::**)(a)~^~(^)~^*(((==)S)(!(<)S)(!(!(>)S)(:):)())~*^^!!^(~aS:^):^
21:52:29 <fungot> == ...out of stack!
21:52:38 <oerjan> ^ul (:*)(::**)(a)~^~(^)~^*(((==)S)(!(<)S)(!(!(>)S)(:):)())~*^^!!^(~aS:^):^
21:52:38 <fungot> < ...out of stack!
21:54:40 <b_jonas> ``` rustc --versions
21:54:41 <HackEso> 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 <nykebarz> Hello!
22:07:47 <nykebarz> Guys, what language uses just ".?!"
22:09:58 <nykebarz> Nevermind! I got it!
22:10:03 -!- nykebarz has quit (Client Quit).
22:11:17 <int-e> . o O ( Ook! minus Ook )
22:11:51 <int-e> meh.
22:12:19 -!- imode has joined.
22:12:35 <int-e> ... https://esolangs.org/wiki/Blub ... really.
22:19:06 <int-e> 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 <b_jonas> 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 <int-e> ........!?.?................?.!!?!.?!.!.!.
22:28:40 <int-e> sorry, I meant ........!?.?................?.!!?!.?..!.!.!.
22:32:16 -!- arseniiv has quit (Ping timeout: 255 seconds).
22:33:26 -!- moei has quit (Quit: Leaving...).
22:33:38 <b_jonas> `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 <HackEso> 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 <b_jonas> `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 <HackEso> ​$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 <b_jonas> `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 <HackEso> No output.
22:35:55 <b_jonas> `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 <HackEso> ​[..::][..::][..::][..::][!?::][.?::][..::][..::][..::][..::][..::][..::][..::][..::][?.::][!!::][?!::][.?::][..::][!.::][!.::][!.::]
22:36:11 <b_jonas> `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 <HackEso> ​[..: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 <b_jonas> `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 <HackEso> ​[..: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 <b_jonas> `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 <HackEso> what.. at -e line 1.
22:37:26 <b_jonas> `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 <HackEso> ​[..: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 <b_jonas> `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 <HackEso> ​[..: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 <b_jonas> that doesn't look right
22:38:22 <b_jonas> the .. should increment the memory
22:39:49 <int-e> huh. one of $m[$s]++ or $m++ doesn't make sense... unless perl has a commutative [] just like C.
22:39:51 <b_jonas> `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 <b_jonas> better
22:39:59 <b_jonas> sorry, $f had the wrong content
22:40:04 <b_jonas> oh
22:40:10 <b_jonas> that's another bug
22:40:22 <HackEso> No output.
22:40:41 <b_jonas> `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 <HackEso> ​(33)(33)(33)[STOP]
22:40:51 <b_jonas> ok, so that prints three exclamation marks
22:41:00 <int-e> that's what I intended
22:41:13 <b_jonas> `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 <HackEso> ​!!!
22:42:31 <int-e> Though maybe I should have opted for five. https://wiki.lspace.org/mediawiki/index.php/Multiple_exclamation_marks
22:43:21 <b_jonas> `perl -e while("........!?.?................?.!!?!.?..!.!.!."=~/(..)/g){ $w{$1}++; } for(sort keys%w) { printf "%d%s | ",$w{$_},$_; }
22:43:22 <HackEso> 1!! | 3!. | 1!? | 13.. | 2.? | 1?! | 1?. |
22:44:33 <b_jonas> hmm, I could have just translated it to branfuck, then ask our hon. and learned friend fungot to run it
22:44:33 <fungot> b_jonas: one could say, this piet program prints " wrong"
22:45:14 <int-e> b_jonas: your way was more entertaining though a bit on the spammy side.
22:45:47 <b_jonas> yeah, I should have switched to private earlier
22:46:02 <b_jonas> fizzie: get HackEso onto #esoteric-blah, then I can still be entertaining
22:46:12 <b_jonas> 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 <esowiki> [[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 <esowiki> [[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 <fizzie> `` echo :$IRC_NICK!$IRC_IDENT@$IRC_HOST $IRC_COMMAND $IRC_TARGET :$IRC_MESSAGE # <- b_jonas
00:47:33 <HackEso> ​:fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :`` echo :$IRC_NICK!$IRC_IDENT@$IRC_HOST $IRC_COMMAND $IRC_TARGET :$IRC_MESSAGE # <- b_jonas
00:47:48 <fizzie> I guess they might miss that if they don't practice logreading.
00:48:03 <fizzie> @tell b_jonas `` echo :$IRC_NICK!$IRC_IDENT@$IRC_HOST $IRC_COMMAND $IRC_TARGET :$IRC_MESSAGE
00:48:03 <lambdabot> Consider it noted.
00:52:34 <fizzie> @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 <lambdabot> 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 <esowiki> [[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 <oren> smìl! swèt! sistŕ! sadistic! suprìz! sŕvis! speliñ refòrm!
07:12:33 <oren> smIl! swEt! sistR! sadistic! suprIz! sRvis! speliN refOrm!
07:20:03 <esowiki> [[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 <esowiki> [[Talk:Interfrac]] M https://esolangs.org/w/index.php?diff=60495&oldid=60494 * Int-e * (+5) typo & tweak
07:22:55 <int-e> . 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 <wob_jonas> fizzie: oh wow nice! let me see
10:04:32 <wob_jonas> ``` echo $IRC_TARGET
10:04:33 <HackEso> ​#esoteric
10:04:56 <wob_jonas> and it says HackEso in private
10:05:20 <wob_jonas> now I just have to test what happens if HackEgo's voiced and I send the message to *#esoteric
10:12:18 <wob_jonas> 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 <andrew_> jo
16:10:48 <andrew_> 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 <andrew_> eh
16:26:52 -!- imode has joined.
16:47:34 <int-e> `relcome andrew_
16:47:35 <HackEso> andrew_: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <https://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
16:49:36 -!- andrew_ has quit (Quit: Page closed).
16:50:22 <esowiki> [[Nope.]] https://esolangs.org/w/index.php?diff=60496&oldid=59298 * Areallycoolusername * (+348)
16:52:09 <int-e> . o O ( free font? )
16:53:58 <esowiki> [[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 <oren> 3/14 1:59!
18:00:33 <oren> happy pi day!
18:00:37 -!- imode has joined.
18:19:51 <kmc> happy pi day
18:20:31 <kmc> > pi
18:20:33 <lambdabot> 3.141592653589793
18:26:38 -!- Phantom_Hoover has joined.
18:30:37 <fizzie> 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 <kmc> > (!!1000000).scanl1(+).zipWith(((4/).).(*))[1,3..]$cycle[1,-1] -- a pointless and rather slow way to compute pi
18:31:43 <lambdabot> 3.1415936535887745
18:32:01 <shachaf> @where pi_10
18:32:01 <lambdabot> (!!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 <shachaf> > (!!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 <lambdabot> "314159265358979323846264338327950288419716939937510582097494459230781640628...
18:32:29 <kmc> nice
18:37:19 <shachaf> @where e_10
18:37:19 <lambdabot> [show(sum$scanl div(100^n)[1..[4..]!!n])!!n|n<-[0..]]
18:38:53 <kmc> there is a Soyuz launch today scheduled for 3:14 pm EDT
18:38:54 <kmc> :D
18:43:51 <int-e> 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 <Phantom_Hoover> kmc, but soyuz is so boring, it always works
19:01:18 <Phantom_Hoover> actually wait didn't one of them blow up mid-flight recently
19:04:42 <int-e> https://en.wikipedia.org/wiki/Soyuz_MS-10
19:13:39 <esowiki> [[HelloWorld]] https://esolangs.org/w/index.php?diff=60498&oldid=20035 * Gamer * (+69) /* Example */
19:15:39 <kmc> yeah
19:15:48 <kmc> successful abort
19:16:48 <kmc> soyuz is the only space vehicle where they've used the launch escape system in anger
19:16:51 <kmc> and it worked
19:16:52 <kmc> (Soyuz 7K-ST No. 16L, 1983)
19:17:07 <kmc> MS-10 was a post-LES-jettison abort
19:17:44 <kmc> > 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 <lambdabot> 3.1416085839141608
19:19:27 <kmc> it turns out I still know Haskell a bit??? weird
19:28:20 -!- FreeFull has joined.
19:29:27 <esowiki> [[User:Gamer]] https://esolangs.org/w/index.php?diff=60499&oldid=58632 * Gamer * (+31)
19:29:43 <esowiki> [[User:Gamer]] M https://esolangs.org/w/index.php?diff=60500&oldid=60499 * Gamer * (-2)
19:33:29 <Phantom_Hoover> 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 <Phantom_Hoover> before the chart basically says "you're fucked, rip" for about half the ascent
19:54:05 -!- imode has joined.
19:57:00 <j4cbo> 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 <b_jonas> 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 <b_jonas> kmc: "in anger"?
20:12:08 <b_jonas> kmc, shachaf: also, I have some pi approximations http://jsoftware.com/pipermail/chat/2012-August/004909.html
20:17:05 <j4cbo> b_jonas: archaic way of saying “for real”
20:17:38 <kmc> j4cbo: #russia
20:18:04 <kmc> b_jonas: they annihilate each other, releasing a huge amount of energy
20:21:22 <b_jonas> 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 <esowiki> [[Special:Log/newusers]] create * DrMeepster * New user account
03:16:19 <esowiki> [[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 <esowiki> [[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 <esowiki> [[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 <esowiki> [[User:A]] https://esolangs.org/w/index.php?diff=60504&oldid=59982 * A * (+259) Summary
10:02:31 <esowiki> [[User:A]] https://esolangs.org/w/index.php?diff=60505&oldid=60504 * A * (+35)
10:07:17 <esowiki> [[User:A]] https://esolangs.org/w/index.php?diff=60506&oldid=60505 * A * (-159)
10:08:20 <esowiki> [[User:A]] https://esolangs.org/w/index.php?diff=60507&oldid=60506 * A * (+7)
10:11:49 <esowiki> [[User:A]] https://esolangs.org/w/index.php?diff=60508&oldid=60507 * A * (+39)
10:17:07 <esowiki> [[User:A]] https://esolangs.org/w/index.php?diff=60509&oldid=60508 * A * (+182)
10:17:16 <esowiki> [[User:A]] https://esolangs.org/w/index.php?diff=60510&oldid=60509 * A * (+0)
10:17:45 <esowiki> [[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 <esowiki> [[Nope.]] https://esolangs.org/w/index.php?diff=60512&oldid=60496 * Areallycoolusername * (-25)
15:15:45 <esowiki> [[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 <ais523> @messages?
17:05:19 <lambdabot> You have 2 new messages. '/msg lambdabot @messages' to read them.
17:08:22 <ais523> `perl-e @a=(10,20,30); $b = 1; print $a[$b]; print $b[$a];
17:08:22 <HackEso> 20
17:08:55 <ais523> `perl-e @a=(10,20,30); $a = 1; print $a[$a];
17:08:55 <HackEso> 20
17:09:05 <ais523> b_jonas: ^ why Perl's [] is not commutative
17:14:50 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
17:24:36 <b_jonas> hello
17:30:38 <b_jonas> ais523: no news yet about that balanced tree library that you were planning to write?
17:30:58 <ais523> no, I haven't written any more of it
17:38:36 <b_jonas> `perl -efor(sort keys%ENV) { if(/^IRC/) { print "$_=$ENV{$_} " }} # fizzie modified HackEso so now execution gets some IRC context
17:38:36 <HackEso> 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 <fizzie> `` echo $IRC_MESSAGE # easiest quine ever
17:54:57 <HackEso> ​`` echo $IRC_MESSAGE # easiest quine ever
17:55:22 <fizzie> I guess technically it's not, because there's the command character escaping.
17:59:35 <b_jonas> fizzie: that apply to any HackEso quine
18:07:18 <b_jonas> ``` 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 <HackEso> ​``` 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 <b_jonas> is that a HeckEso quine?
18:07:35 <b_jonas> the stupid backticks are hard to escape in bash
18:08:08 <b_jonas> 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 <b_jonas> `perl -eprint+("`perl -eprint+(","\"",",","\\",")[g1012131121212133121414=~/./g]")[g1012131121212133121414=~/./g]
18:14:58 <HackEso> ​`perl -eprint+("`perl -eprint+(","\"",",","\\",")[g1012131121212133121414=~/./g]")[g1012131121212133121414=~/./g]
18:15:00 <b_jonas> this is easier
18:16:48 <b_jonas> `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 <HackEso> ​`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 <b_jonas> `perl -eprint unpack a43X43a42xaXXaaXaXXa,"`perl -eprint unpack a43X43a42xaXXaaXaXXa,\"\\"
18:18:41 <HackEso> ​`perl -eprint unpack a43X43a42xaXXaaXaXXa,"`perl -eprint unpack a43X43a42xaXXaaXaXXa,\"\\"
18:20:40 <b_jonas> https://www.perlmonks.com/?node_id=835038 has some nice ones
18:21:27 -!- FreeFull has joined.
18:48:22 <b_jonas> 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 <ais523> ^ul ((^ul )SaS(:^)S):^
19:23:04 <fungot> ^ul ((^ul )SaS(:^)S):^
19:23:56 <ais523> `` file `which file`
19:23:57 <HackEso> ​/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 <ais523> b_jonas: I tend to use backticks by default in simple command lines like that one
19:24:14 <ais523> but $() in more complex situations
19:25:27 <kmc> I switched to $() and never looked back
19:25:30 <kmc> it's prettier
19:25:34 <kmc> and it nests
19:25:56 <kmc> `echo $(echo $(echo $(echo hi)))
19:25:57 <HackEso> ​$(echo $(echo $(echo hi)))
19:26:11 <kmc> `bash -c 'echo $(echo $(echo $(echo hi)))'
19:26:12 <HackEso> 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 <kmc> bluh
19:29:47 <fizzie> 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 <fizzie> `` echo $(echo $(echo $(echo hi)))
19:29:51 <HackEso> hi
19:32:36 <kmc> h
19:32:38 <kmc> m
19:32:39 <kmc> o
19:32:40 <kmc> 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 <b_jonas> ``` echo "$(echo "$(echo "$(echo hi)")")"
19:47:36 <HackEso> hi
19:47:39 <b_jonas> ``` echo "$(echo "$(echo "$(echo hi)")")"; echo x
19:47:40 <HackEso> hi \ x
19:47:49 <b_jonas> oh right
19:47:59 <b_jonas> this is shell backtick, not perl backtick, it strips the trailing newline
19:48:37 <kmc> ``cat bin/\`
19:48:37 <HackEso> ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: `cat: not found
19:48:49 <kmc> `` cat bin/\`
19:48:49 <HackEso> ​#!/bin/bash \ cmd="${1-quote}" \ TIMEFORMAT="real: %lR, user: %lU, sys: %lS" \ shopt -s extglob globstar \ eval -- "$cmd" | rnoooooodl
19:49:03 <kmc> `` cat bin/rnoooooodl
19:49:03 -!- TheWild has joined.
19:49:03 <HackEso> cat: bin/rnoooooodl: No such file or directory
19:49:09 <kmc> `` cat `which rnoooooodl`
19:49:17 <b_jonas> heheheh
19:49:22 <b_jonas> rnoodl caught you
19:49:25 <kmc> `` cat bin/\`\`
19:49:25 <HackEso> ​#!/bin/sh \ export LANG=C; exec bash -O extglob -c "$@" | rnoooooodl
19:49:40 <kmc> what is rnoooooodl
19:49:50 <shachaf> imo let kmc puzzle this one out
19:49:52 <b_jonas> `` for x in {1..19}; do echo rnooodl; done
19:49:53 <HackEso> rnooooodl \ rnoooooodl \ rnoooodl \ rnoooodl \ rnooooooodl \ rnooooooodl \ rnoooodl \ rnooooooodl \ rnooooodl \ rnooooooooodl \ rnoooodl \ rnooodl \ rnoooooodl \ rnooooooodl \ rnooooooooodl \ rnooooooodl \ rnooooooodl \ rnoooooooodl \ rnooooooooodl
19:49:54 <kmc> `` alias
19:49:54 <HackEso> No output.
19:50:01 <HackEso> No output.
19:50:07 <kmc> `` rnoooooodl
19:50:09 <HackEso> ​/hackenv/bin/`: line 5: rnoooooodl: command not found
19:50:16 <kmc> `` ls bin/rno*dl
19:50:17 <HackEso> bin/rnoooodl
19:50:23 <shachaf> spoilers
19:50:25 <kmc> `` cat bin/rnoooodl
19:50:26 <HackEso> cat: bin/rnoooodl: No such file or directory
19:50:31 <b_jonas> lol
19:50:32 <kmc> `` cat bin/rno*dl
19:50:32 <HackEso> perl -pe 's/([Nn])ooodl/"$1@{[o x(3+rand 7)]}dl"/ge'
19:50:37 <kmc> lolololol
19:51:00 <kmc> `` ls bin/rno*dl | tr n-za-m a-z
19:51:01 <HackEso> ova/eabbbqy
19:51:09 <kmc> `` stat bin/rno*dl
19:51:10 <HackEso> ​ 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 <kmc> `` stat bin/rnooodl
19:51:19 <HackEso> ​ 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 <kmc> <3
19:51:59 * kmc -> afk
19:53:19 <esowiki> [[Special:Log/newusers]] create * LasChicasGG * New user account
19:54:53 <esowiki> [[Special:Log/newusers]] create * Lambda94 * New user account
19:55:28 <b_jonas> `card-by-name Excommu
19:55:28 <HackEso> 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 <oerjan> i see you've been noodling around
21:08:12 <int-e> hopefully without incident
21:08:24 <int-e> we don't want a repeat of that
21:09:28 -!- MDude has joined.
21:11:23 <oerjan> i think no incident was involved. ais523 quit just before.
21:15:54 <oerjan> 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 <int-e> oerjan: that's boring... how do you think he'd feel if he was accidently spread out over a few millenia?
22:22:06 <int-e> ... millennia
22:35:59 <oerjan> good point
22:53:22 <esowiki> [[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 <Phantom_Hoover> oerjan, ais quit??
23:24:23 -!- Sgeo has joined.
23:27:04 <esowiki> [[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 <oerjan> Phantom_Hoover: /quit
23:30:02 <oerjan> 19:37:33 -!- ais523 has quit (Quit: quit).
23:30:05 <Phantom_Hoover> 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 <zzo38> I played GURPS game today.
01:11:00 <zzo38> ?messages-loud
01:11:00 <lambdabot> 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 <lambdabot> to swap the endianness of 32-bit and (on x86-64) 64-bit values.
01:11:51 <shachaf> Do you like MOR?
01:12:58 <zzo38> Do you mean the MOR instruction in MMIX? It is good to switch endian (including PDP-endian), and other uses.
01:13:15 <shachaf> Does anyone care about PDP-endian?
01:13:56 <zzo38> Hamster archive files uses PDP-endian for the lump data sizes
01:47:32 -!- Remavas has quit (Quit: Leaving).
01:51:55 <zzo38> 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 "<expr> PRECEDING" and "<expr> 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 <esowiki> [[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 <b_jonas> oh, it's a soiree now?
11:41:08 -!- TheWild has joined.
12:04:58 <esowiki> [[User:DMC]] M https://esolangs.org/w/index.php?diff=60517&oldid=58741 * DMC * (-10)
12:11:40 -!- andrew_ has joined.
12:11:43 <andrew_> hi
12:20:00 <b_jonas> 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 <andrew_> whats the worst esolang in general in your opinion
12:27:05 <andrew_> 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 <TheWild> Perl - looks like some normal language but unlike other languages, Perl has especially high tendency to turn into line noise.
12:54:13 <TheWild> but really, the worst one? Three star programmer?
12:54:28 -!- bobby has joined.
12:55:21 <TheWild> 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 <TheWild> ^^ andrew_
12:57:58 <andrew_> perl is normal
12:58:08 <andrew_> but it does often devolve into golfing
12:58:19 <andrew_> also heyo
12:58:21 <andrew_> andrew here
12:59:00 <TheWild> hi
12:59:25 <andrew_> to me the worst one is nullary
12:59:31 <andrew_> it depends on the settings of your computer
12:59:49 <andrew_> it's on the line of nit being a language at all
13:02:00 -!- xkapastel has joined.
13:04:40 <TheWild> 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 <TheWild> eh... yeah... so...
13:05:30 <TheWild> maybe let's create another one. The one that executes a program based on planets position?
13:07:25 <andrew_> yes
13:07:46 <andrew_> planetary outputs the name of a planet if said planet is at its closest point to earth
13:07:59 <andrew_> however
13:08:04 <andrew_> you can define your own planets
13:09:19 <andrew_> with the handy dandy notation from slashes
13:09:21 <andrew_> specifically
13:09:44 <andrew_> planet/distance/perihelion/eccentricity
13:09:46 <andrew_> is the syntax
13:11:08 <andrew_> also
13:11:13 <andrew_> you can define actions
13:11:34 <andrew_> (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 <TheWild> andrew_: maybe not entirely esoteric but you may find the concept interesting: https://gist.github.com/beyondlimits/e00159460b55ea4eff949933a2b7dc8e
13:22:00 <TheWild> andrew_: also you can download Logisim and build a computer using *only* N-type or P-type transistors as functional blocks
13:22:13 <andrew_> oooof
13:23:54 <TheWild> 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 <TheWild> 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 <andrew_> oof
13:47:33 <myname> 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 <andrew_> hello there guys, andrew here
15:58:33 -!- tswett[m] has joined.
16:19:58 <andrew_> [17:15] <andrew>
16:20:26 <andrew_> [17:20] <__andrew___>
16:26:44 -!- andrew_ has quit (Quit: Page closed).
16:53:59 <TheWild> oh no! Andrew left.
16:55:12 <zzo38> 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 <zzo38> Do you like Free Hero Mesh?
17:01:53 <kmc> i have no idea what these things are
17:04:06 <zzo38> There is the explanation of Free Hero Mesh: http://zzo38computer.org/fossil/heromesh.ui/index
17:06:54 <TheWild> this explains that the project is not yet complete, its configuration options, keybinding etc. but not *what it is*
17:09:23 <zzo38> 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 <TheWild> isn't that yet another Golly?
17:10:46 <TheWild> oh wait, my bad - not reading carefully
17:11:36 <zzo38> 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 <TheWild> heh, char direction:2, amount:6;
17:13:10 <TheWild> unless you mean the keyboard scancode
17:13:28 <TheWild> there aren't 256 keys on my keyboard
17:13:31 <TheWild> not even 128
17:14:25 <zzo38> 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 <b_jonas> 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 <b_jonas> it's still worth to have default mappings for keyboard and for controller of course, for new players
17:19:43 <zzo38> 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 <fizzie> b_jonas: HackEso is now available on #esoteric-blah.
18:00:41 <b_jonas> fizzie: nice!
18:01:34 <b_jonas> `env\
18:01:34 <HackEso> ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: env\: not found
18:01:35 <b_jonas> `env
18:01:36 <HackEso> 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 <zzo38> 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 <zzo38> 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 <b_jonas> you want to sneak into a cementary to sell the hair of the dead for wigs?
18:38:03 <b_jonas> I mean, steal the hair of the dead and sell it for wigs
18:40:49 -!- oerjan has joined.
18:49:45 <zzo38> 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 <b_jonas> 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 <b_jonas> and I think the crypts and pyramids of rich dead people have the most treasure but also the most undead curses
18:56:43 <b_jonas> 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 <b_jonas> and jewelry too
18:57:27 <b_jonas> I have a lot of photos too, and should process and publish them
18:58:01 <b_jonas> 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 <zzo38> Can you crop them so that only the object of interest is included in the picture, then?
18:59:14 <b_jonas> zzo38: the problem is that being a museum, almost everything is behind glass, so the people are on the reflections
18:59:21 <b_jonas> not only the backgrouns
18:59:33 <b_jonas> yes, in some cases I have to crop
18:59:41 <b_jonas> but in some other cases I had to wait a lot to make a good photo
19:00:12 <zzo38> 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 <b_jonas> I'll have to return there for like two days after I buy a camera withh a non-small lens
19:01:13 <b_jonas> 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 <b_jonas> but even then it's hard
19:02:36 <b_jonas> 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 <b_jonas> so multiple problems at the same time
19:04:03 <zzo38> OK, I can understand now how you mean, yes it is many
19:05:08 <b_jonas> 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 <b_jonas> 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 <b_jonas> 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 <b_jonas> they do already have fluorescent ceiling lamps of course
19:07:41 <b_jonas> 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 <zzo38> 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 <b_jonas> indicator light could be led for a very long time, because those don't need to have a decent spectrum
19:09:38 <b_jonas> it can be narrow band red or green or yellow (or "amber" if you like fancy words)
19:09:52 <zzo38> Yes, it doesn't need a decent spectrum, it is what I think too.
19:09:57 <b_jonas> heck, it was better when they were all read or green or yellow, I hate these new blue indicator lights
19:10:42 <b_jonas> 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 <zzo38> 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 <b_jonas> I uploaded them because noisy photos is still better than no photos
19:12:09 <zzo38> OK
19:12:18 <b_jonas> I still haven't checked all paintings for whether they have photos
19:12:29 <b_jonas> well, not all paintings obviously
19:12:34 <b_jonas> just the selection of which I made photos
19:12:47 <b_jonas> that's still just a small fraction of all the paintings they have
19:15:36 <b_jonas> 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 <b_jonas> it's not perfect, they could have made it higher resolution, but it's good enough
19:16:57 <b_jonas> 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 <esowiki> [[Bucket]] https://esolangs.org/w/index.php?diff=60518&oldid=60450 * Camto * (+35) Added category.
19:45:32 -!- danieljabailey has joined.
19:54:55 <b_jonas> 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 <b_jonas> hmm wait, what word starting with "a" was it that I wanted to look up the pronunciation of?
20:37:24 <oerjan> amortized hth
20:38:08 <int-e> `? oerjan
20:38:10 <HackEso> 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 <oerjan> int-e: SPOILER WARNING
21:23:58 -!- FreeFull has quit (Ping timeout: 250 seconds).
21:28:56 <b_jonas> 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 <int-e> 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 <b_jonas> can you bring forth the next o? current strip was ten years ago
22:54:57 <oerjan> . o O ( b_jonas seems a little out of synch )
22:56:25 <b_jonas> um
22:56:26 <b_jonas> ten days
22:56:30 <b_jonas> 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 <esowiki> [[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 <esowiki> [[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 <kmc> http://ljkrakauer.com/LJK/60s/hamchess.htm
04:08:41 -!- FreeFull has quit.
04:32:15 <zzo38> 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 <zzo38> That MAC HACK 6 game though seems to use another different notation
05:20:59 <esowiki> [[Talk:Memfractal]] https://esolangs.org/w/index.php?diff=60521&oldid=60519 * Zzo38 * (+155)
05:23:32 <kmc>
07:40:59 <esowiki> [[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== <pre> d: duplicate the next character. Example: d* results in **. -: repl..."
07:48:53 <esowiki> [[String rewriting paradigm]] https://esolangs.org/w/index.php?diff=60523&oldid=60522 * A * (-123) /* Syntax */
09:24:34 <shachaf> int-e: Have you played Baba Is You yet?
09:24:34 <shachaf> 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 <int-e> no
11:40:27 <int-e> 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 <b_jonas> 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 <b_jonas> 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 <b_jonas> 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 <andrew_> hello
14:02:40 -!- FreeFull has joined.
14:05:57 <andrew_> 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 <b_jonas> `? Saint Anthony of Padua
14:13:35 <HackEso> 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 <b_jonas> 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 <andrew_> i dunno
14:38:22 <andrew_> one day i wanna make a golfing language with exactly 128 characters
14:38:28 <andrew_> or 256, or any power of 2
14:39:25 <andrew_> 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 <b_jonas> Does a language used only for educational purposes count as esoteric?
15:52:21 <esowiki> [[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 <b_jonas> 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 <zzo38> I don't know; perhaps add neither implemented nor unimplemented category.
16:05:28 <zzo38> 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 <zzo38> (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 <b_jonas> no way
16:10:30 <b_jonas> 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 <b_jonas> if I want to implement esoteric languages, I have better ones to choose
16:10:56 <b_jonas> most importantly Consumer Society, my own language
16:11:32 <zzo38> OK
16:15:42 <b_jonas> 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 <zzo38> OK
16:36:14 <FireFly> haha
16:48:24 <b_jonas> yeah, I'll be laughing about it too when I'll quit, just wait a few months
16:56:52 <b_jonas> 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 <zzo38> I don't know? They used a egg rottening device?
17:09:30 <b_jonas> maybe they do rot reliably if you keep them outside of the fridge for three years or something
17:10:12 <zzo38> Yes, maybe, I haven't tried so I don't know (and I do not really intend to try)
17:10:34 <b_jonas> 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 <b_jonas> or with some divination spell
17:11:17 <zzo38> 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 <b_jonas> yeah, the internet says there are (not quite perfect) ways to tell if it's rotten without opening
17:15:38 <kmc> 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 <kmc> 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 <kmc> in most countries eggs are stored at room temp
18:11:37 <b_jonas> 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 <b_jonas> for fruits it's more of a tradeoff, for eggs I believe the fridge doesn't hurt them at all
18:12:23 <kmc> mhm
18:12:38 <kmc> I have read that eggs last longer in the fridge, my wife may dsypute that though
18:12:49 <kmc> I would ask her about fruit but she's busy copying Morse code
18:14:22 <b_jonas> for fruits it depends a lot on the type of fruit, and also the temperature of the fridge
18:14:45 <b_jonas> and in particular, they say tomatoes may lose some of their taste in the fridge
18:15:24 <b_jonas> for some fruits and vegetables it's obvious: raspberries must be kept in the fridge, potatoes are better kept outside
18:16:21 <kmc> it will slow down ripining, which mkes it good for things like avocados
18:16:35 <kmc> I think it would be cool to have a system wwhich stores open avocados in an oxygen-poor environment
18:18:46 <b_jonas> 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 <kmc> :D
18:19:29 <b_jonas> 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 <kmc> I have these cube shaped rocks that you keep in the freezer
18:24:22 <kmc> you can put them in a drink to chill it without diluting it
18:24:32 <kmc> I think they are called whiskey rocks or similar
18:24:59 <kmc> sort of nice if you have a fancy whisky or such, although I generally drink those neat, more flavor
18:32:07 <b_jonas> yeah, I know those exist
18:32:16 <b_jonas> but the stasis cupboard won't help much for that
18:32:43 <b_jonas> 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 <zzo38> 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 <b_jonas> zzo38: that's the unofficial one for advertising jobs to webdevs, right?
19:13:46 <zzo38> That is what it looks like to me
19:42:52 -!- andrew has joined.
19:42:57 <andrew> hey y'all
19:42:59 <andrew> andrew here
19:44:42 <shachaf> int-e: but what if the original price was $30 and it went on sale for the current price of $15
19:44:49 <shachaf> then you'd bite hth
19:44:58 <int-e> shachaf: nope
19:45:14 <shachaf> this is above your price ceiling?
19:46:24 <andrew> whatchall talking about my cowboys
19:47:11 <int-e> 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 <int-e> andrew: <shachaf> int-e: Have you played Baba Is You yet?
19:49:13 <int-e> andrew: Also, these endearments don't fly with me. I find them annoying, not cute.
19:50:27 <andrew> yeah, that was stupid
19:50:28 <andrew> anyway
19:50:33 <andrew> i haven't played baba is you
19:51:21 <shachaf> but this one is tg, hth
19:51:30 <shachaf> but that makes sense
19:51:35 -!- TheWild has joined.
19:59:11 <zzo38> Have you played XYZABCDE.ZZT? It costs only $0
20:00:31 <int-e> no
20:01:19 <zzo38> Has anyone on played any of the new NES/Famicom games written recently?
20:02:22 <andrew> nope
20:02:26 <andrew> are they turing completw?
20:02:32 <rain1> https://archive.org/details/zzt_xyzabcde
20:03:33 <andrew> why's iti mportant
20:03:35 <andrew> self promo?
20:04:19 <zzo38> 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 <zzo38> This game is self promo yes, I wanted to see what are some people's opinion of this, and other comments.
20:06:03 <zzo38> It isn't otherwise that important, but you can try if you want to do.
20:06:56 <b_jonas> no, I haven't played any sort of videogame for quite a while
20:07:02 <zzo38> OK
20:07:10 <b_jonas> and when I choose to play them, I'll probably play old ones, not new ones
20:07:18 <zzo38> OK
20:07:41 <zzo38> (Although the new ones I am suggesting are working just as well on old computers anyways)
20:09:33 <rain1> i have only played it for a few seconds but it seems difficult
20:09:55 <zzo38> (The animated screenshot there is rather messy)
20:10:21 <zzo38> 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 <int-e> meh I may have tried this.
20:12:52 <rain1> i tried to shoot all bad guys but they killed me
20:13:06 <rain1> its good though
20:13:48 <zzo38> 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 <zzo38> 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 <TheWild> "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 <int-e> 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 <zzo38> 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 <int-e> 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 <zzo38> 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 <zzo38> There are some other cheat codes too: "keys" gives you all seven keys, and "+debug" tells you the memory usage.
21:05:27 <zzo38> 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 <zzo38> 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 <esowiki> [[Talk:String rewriting paradigm]] N https://esolangs.org/w/index.php?oldid=60525 * Salpynx * (+1464) Misnamed language?
23:54:29 <Sgeo_> 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 <shachaf> psn,The word "range" should be illegal
00:10:36 <shachaf> "codomain" and "image" are good words
00:12:08 <Cale> shachaf: range is just another word for the image of the domain
00:12:45 <zzo38> They should not make the words to be illegal.
00:14:08 <pikhq> They should make all words illegal.
00:14:11 <pikhq> 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 <shachaf> Cale: No, some people use "range" to mean "image" and some people use "range" to mean "codomain".
00:36:13 <shachaf> That is why the word should be illegal.
00:37:02 <shachaf> Cale: Did you play Baba is You yet?
00:37:46 <Cale> yes
00:38:00 <Cale> well, I've played a bit of it
00:38:00 <shachaf> isn't it tg
00:38:06 <shachaf> Ah.
00:38:12 <Cale> It's pretty great
00:40:55 -!- tromp has joined.
00:45:03 -!- tromp has quit (Ping timeout: 245 seconds).
00:56:44 <esowiki> [[Rockstar]] https://esolangs.org/w/index.php?diff=60526&oldid=58713 * Dylanbeattie * (+210)
00:58:28 <esowiki> [[Rockstar]] https://esolangs.org/w/index.php?diff=60527&oldid=60526 * Dylanbeattie * (+70) /* Project Pages */
00:59:03 <esowiki> [[Rockstar]] https://esolangs.org/w/index.php?diff=60528&oldid=60527 * Dylanbeattie * (-1) /* Project Pages */
00:59:21 <esowiki> [[Rockstar]] https://esolangs.org/w/index.php?diff=60529&oldid=60528 * Dylanbeattie * (+0) /* Implementations */
01:03:58 <esowiki> [[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 <kmc> shachaf: I thought it always meant image
02:50:12 <shachaf> I've seen it used to mean codomain.
02:50:20 <shachaf> https://en.wikipedia.org/wiki/Range_(mathematics) agrees
02:50:26 <shachaf> kmc: you should babajam
02:50:27 <shachaf> 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 <kmc> shachaf: ?
03:23:15 <shachaf> play the game baba is you
03:33:29 <kmc> what is it
03:34:26 <shachaf> puzzle game
03:34:42 <shachaf> https://www.youtube.com/watch?v=U7MJljsoUSo
04:08:05 -!- tromp has joined.
04:09:14 <pikhq> shachaf: not baba is yo
04:09:16 <pikhq> *you
04:10:30 <shachaf> not rock is you
04:10:38 <shachaf> hm
04:10:40 <shachaf> this is spoilers
04:10:45 <shachaf> 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 <zzo38> I thought some esolangs related stuff could be involved in xyzabcde2 game.
04:54:48 <esowiki> [[Special:Log/newusers]] create * Yevano * New user account
04:57:34 <esowiki> [[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 <zzo38> 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 <esowiki> [[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 <ais523> `ping
16:09:03 <HackEso> pong
16:09:25 -!- ais523 has quit (Client Quit).
16:37:17 -!- AnotherTest has joined.
17:10:31 <esowiki> [[Nope.]] https://esolangs.org/w/index.php?diff=60532&oldid=60513 * Areallycoolusername * (+205)
17:27:24 -!- moei has joined.
17:31:16 <oren> AAAAA
17:31:48 <oren> screen freezes when I attach to it
17:32:31 <int-e> . o O ( don't do that then )
17:32:41 <kmc> nyaa
17:32:49 <kmc> screen is very crusty software
17:33:44 * int-e usually blames some ^S^Q shenanigans
17:34:06 <oren> and I have like 30 ssh-agent processes running
17:34:46 <oren> aaagh I guess I'll just kill everything
17:36:39 <oren> 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 <b_jonas> `olist 1159
19:01:12 <HackEso> 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 <b_jonas> [ +/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 <esowiki> [[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 <oerjan> <b_jonas> stupid stemmer search, "miserable" is not related to "miser" <-- surely they're from the same latin word, "miser".
00:12:23 <oerjan> b_jonas: i think your stasis cupboard may have the flaw that if it fails you get a nuclear sized explosion
00:12:52 <oerjan> see: various xkcd whatifs
00:13:01 <oerjan> (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 <zemhill_______> david_werecat.slag: points 16.83, score 42.00, rank 3/47
13:26:11 -!- AnotherTest has joined.
13:31:51 <Taneb> :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 <esowiki> [[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 <Taneb> 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 <myname> not sure why. in theory, aren't you already at a disadvantage through longer time to cycle throughyour program?
14:08:01 <david_werecat> 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 <Taneb> 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 <david_werecat> As a note: the following is a list of BFJoust competitors and their sizes:
15:42:56 <david_werecat> Place Name Score Points Size
15:42:56 <david_werecat> 1 david_werecat.mist 52.05 12.36 67
15:42:56 <david_werecat> 2 Lymia.nyuroki2 50.56 19.9 9299
15:42:56 <david_werecat> 3 david_werecat.slag 42 16.83 173
15:42:57 <david_werecat> 4 quintopia.space_hotel 35.96 12.05 334244
15:42:59 <david_werecat> 5 ais523.growth2 34.49 11.9 185931
15:43:01 <david_werecat> 6 ais523.margins3 33.56 6.52 12028
15:43:03 <david_werecat> 7 david_werecat.MV 32.59 12.14 14135
15:43:05 <david_werecat> 8 ais523.omnipotence 32.3 11.83 21695
15:43:07 <david_werecat> 9 david_werecat.jackal2 29.45 9.38 69
15:43:09 <david_werecat> 10 quintopia.space_elevator 28.03 7.71 19635
15:43:11 <david_werecat> 11 ais523.preparation 27 7.29 34356
15:43:13 <david_werecat> 12 david_werecat.antigen 24.53 5.48 205
15:43:15 <david_werecat> 13 ais523.monolith 23.81 4.33 195
15:43:17 <david_werecat> 14 Oj742.quicklock 22.44 3.64 14117
15:43:19 <david_werecat> 15 mroman.cupnoodles 22.4 3.21 92
15:43:21 <david_werecat> 16 mroman_.cupnoodles 22.4 3.21 92
15:43:23 <david_werecat> 17 StackOverflow.Sp3000_ParanoidBot 21.02 3.19 18637
15:43:25 <david_werecat> 18 david_werecat.atom 20.93 0.38 28
15:43:29 <david_werecat> 19 david_werecat.neutrino 20.19 0 96
15:43:31 <david_werecat> 20 Lymia.finnel 19.69 -0.17 55
15:43:33 <david_werecat> 21 david_werecat.xurtle 19.32 -0.24 62
15:43:35 <david_werecat> 22 ais523.hippo_ballerina 17.82 -2.76 1651
15:43:37 <david_werecat> 23 ais523.optimism 17.7 -2.26 78
15:43:39 <david_werecat> 24 ais523.stealth2 17.38 -3.81 954
15:43:41 <david_werecat> 25 david_werecat.pheonix 17.21 -2.4 115
15:43:43 <david_werecat> 26 david_werecat.leviathan 17.19 -2.74 146
15:43:45 <david_werecat> 27 ais523.margins 16.39 -2.4 618
15:43:47 <david_werecat> 28 david_werecat.dreadnought 15.64 -3.88 5148
15:43:49 <david_werecat> 29 ais523.slowpoke 15.61 -3.86 7100
15:43:51 <david_werecat> 30 ais523.anticipation2 15.55 -2.74 188182
15:43:53 <david_werecat> 31 SuperJedi224.Hyper 15.23 -5.45 100
15:43:55 <david_werecat> 32 ais523.death_to_defence 15.12 -6.17 827
15:43:59 <david_werecat> 33 Oj742.smartlock 15.09 -5.86 343489
15:44:01 <david_werecat> 34 web.TellsToBeat 14.81 -6.6 195
15:44:03 <david_werecat> 35 david_werecat.behemoth 14.79 -5.88 199
15:44:05 <david_werecat> 36 mroman_.funky 14.41 -7.02 157
15:44:07 <david_werecat> 37 Gregor.furry_furry_strapon_pegging_girls 14.22 -4.79 114923
15:44:09 <david_werecat> 38 quintopia.brachiation 13.98 -6.24 342
15:44:11 <david_werecat> 39 mroman_.athena 13.96 -7.67 61
15:44:13 <david_werecat> 40 mroman_.snail 13.76 -7.71 54
15:44:15 <david_werecat> 41 ais523.sometimes 13.69 -6.19 23
15:44:17 <david_werecat> 42 kerbal.Checkers 13.64 -7 144
15:44:19 <david_werecat> 43 AndoDaan.BeatYouMate 13.61 -8.38 194
15:44:21 <david_werecat> 44 mroman_.strapon_fuck_machine 12.99 -8.71 75
15:44:23 <david_werecat> 45 oerjan.pathetic 11.84 -9.83 18
15:44:24 <izabera> fuck you
15:44:25 <david_werecat> 46 oerjan.lame_horse 11.84 -9.83 22
15:44:29 <david_werecat> 47 web.very_suicidal 11.82 -10.79 30
15:48:35 <Lymia> wtf is that lock loop in mist
15:49:23 <Lymia> I'm surprised that Nyuroki's anti-defense loop doesn't clear it
15:51:12 <david_werecat> It was originally (+-++)*-1, but I found (+-++-+++)*-1 later via brute-force
15:51:25 <david_werecat> It works unusually well
15:52:04 <david_werecat> (not just at locking programs, but at forcing them off the end of the tape)
15:52:45 <Lymia> Nyuroki assumes its anti-defense loop will clear shudder locks.
15:53:30 <Lymia> But I guess that loop specifically avoids it.
15:54:00 <Lymia> I have a billion copies of the anti-defense loop, so. I wonder if I can make it effectively choose randomly
15:54:18 <Lymia> That'd prevent a specifically chosen defense loop from doing this.
15:54:25 <Lymia> Since it'd have to be effective against every defense loop.
15:54:32 <Lymia> anti-defense*
15:56:49 <david_werecat> 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 <david_werecat> Actually, maybe not in Nyuroki. It appears that most of the branching is due to the checks on the decoy setup.
16:04:16 <david_werecat> (and to break out of clear loops)
16:13:53 <david_werecat> 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 <david_werecat> 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 <Lymia> Synchronization seems to have been the key here.
16:26:22 <Lymia> It turns 10% wins into 100% wins.
16:26:43 <Lymia> And given that, you can brute force a defense loop that works very well against the current hill more than likely
16:30:59 <david_werecat> 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 <david_werecat> 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 <david_werecat> Really, mist only does well because it's optimized against the current "meta".
16:34:29 <david_werecat> 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 <david_werecat> (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 <b_jonas> `? dog
20:07:37 <HackEso> 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 <kmc> > (\x. x x) (\x. x x)
20:59:19 <lambdabot> <hint>:1:4: error: parse error on input ‘.’
20:59:26 <kmc> > (\x -> x x) (\x -> x x)
20:59:28 <lambdabot> error:
20:59:28 <lambdabot> • Occurs check: cannot construct the infinite type: t0 ~ t0 -> t
20:59:28 <lambdabot> Expected type: t0 -> t
21:01:27 <Phantom_Hoover> lol
21:01:52 <Phantom_Hoover> you need to define names to type it, right?
21:04:06 <kmc> I'm not sure you can
21:10:55 <Phantom_Hoover> hmm
21:11:14 <Phantom_Hoover> i know you can circumvent the type problems that break the Y combinator
21:11:45 <shachaf> hi kmc
21:12:30 <Phantom_Hoover> apparently? https://stackoverflow.com/questions/33546004/is-it-possible-to-define-omega-combinator-%CE%BBx-xx-in-modern-haskell
21:13:02 <shachaf> Yes, you can define Y and this thing with negative recursion.
21:13:59 <rain1> prove it
21:14:15 <shachaf> you prove it
21:14:17 <b_jonas> Phantom_Hoover: you can put a data type between it
21:14:26 <b_jonas> one with a constructor, not a synonym
21:14:32 <shachaf> The type error tells you what to do.
21:14:38 <shachaf> Cannot construct infinite type t0 ~ t0 -> t
21:14:51 <shachaf> So define a type T0 where T0 ~ T0 -> T
21:16:13 <b_jonas> 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 <b_jonas> 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 <b_jonas> you could write the Y combinator that way too
21:17:53 <b_jonas> you don't really need to, because the language allows you to just call named functions recursively, but still
21:17:56 <shachaf> @let newtype Rec a = Rec { runRec :: Rec a -> a }
21:17:57 <lambdabot> .L.hs:166:31: error:
21:17:58 <lambdabot> Ambiguous occurrence ‘Rec’
21:17:58 <lambdabot> It could refer to either ‘Lambdabot.Plugin.Haskell.Eval.Trusted.Rec’,
21:18:29 <b_jonas> what?
21:18:34 <shachaf> @let newtype Curry a = Curry { runCurry :: Curry a -> a }
21:18:35 <lambdabot> Defined.
21:19:25 <int-e> newtype Rec a = InR { outR :: Rec a -> a }
21:19:30 <int-e> :P
21:19:34 <shachaf> @let why :: (a -> a) -> a; why f = (\x -> runCurry x x) (Curry (\x -> f (runCurry x x)))
21:19:36 <lambdabot> ghc: panic! (the 'impossible' happened)
21:19:36 <lambdabot> (GHC version 8.2.2 for x86_64-unknown-linux):
21:19:36 <lambdabot> Simplifier ticks exhausted
21:19:44 <shachaf> int-e: Oh, InR/outR
21:20:14 <int-e> I have no clue why it's there instead of L.hs though.
21:20:31 <int-e> historical accident.
21:20:35 <shachaf> Anyway, this is the same deal as Curry's paradox.
21:20:42 <shachaf> "if this sentence is true, then a"
21:21:12 <int-e> And I see it's still a good way to exhaust ghc's simplifier. I was wondering about that.
21:24:00 <b_jonas> uh
21:49:32 <TheWild> do we love Turing tar-pits here, right?
21:49:52 <TheWild> how I'm going to add two numbers on this? https://en.wikipedia.org/wiki/Iota_and_Jot
22:01:19 <int-e> 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 <TheWild> https://en.wikipedia.org/wiki/Combinatory_logic
22:06:09 <TheWild> reading this is as painful as reading arbitrary RFC
22:09:14 <int-e> https://esolangs.org/wiki/Combinatory_logic is perhaps less overwhelming
22:14:40 <b_jonas> https://esolangs.org/wiki/Combinatory_logic doesn't really talk about numbers or algebraic types IIRC
22:15:46 <b_jonas> what's the name for that technique where you translate algebraic data types (like products and distinguished sums) into combinatory logic?
22:15:55 <b_jonas> IIRC it was named of someone
22:16:20 <b_jonas> TheWild: there's of course always http://www.madore.org/~david/programs/unlambda/
22:26:02 <TheWild> reading unlambda... I mean, not reading, it's impossible ;)
22:26:46 <TheWild> I didn't get it how functions fighting functions using functions could produce a single bit.
22:29:47 <b_jonas> TheWild: well, you eventually need some sort of I/O primitives, either Haskell style or with side effects
22:35:23 <int-e> and there's tromp's Binary Lambda Calculus (which basically follows the main :: [Char] -> [Char] model)
22:36:45 <int-e> Hmm https://esolangs.org/wiki/Lambda_calculus gives a glimpse at Church numerals
22:39:10 <int-e> 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 <b_jonas> I think of it as first representing the data as algebraic data types, untyped, and then encoding that as functions
22:39:44 <int-e> I wonder whether wikipedia has an articule on Church encodings...
22:39:49 <b_jonas> even though that's not, strictly speaking, necessary
22:40:49 -!- Phantom_Hoover has quit (Remote host closed the connection).
22:41:13 <int-e> `? articule
22:41:13 <HackEso> articule? ¯\(°​_o)/¯
22:41:38 <int-e> 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 <TheWild> what sane language you know?
23:00:49 <TheWild> 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 <zemhill_______> web.silly-pi: points -33.19, score 3.14, rank 47/47
23:51:51 <fizzie> Heh.
2019-03-20
00:28:19 -!- Lord_of_Life_ has joined.
00:29:41 <kmc> 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 <fizzie> I assume the gist of the joke was that score.
00:35:07 <fizzie> 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 <kmc> 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 <esowiki> [[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 <oerjan> `` cp src/hello*.c tmp; cd tmp; gcc -o hello hello.c; gcc -o hello2 hello2.c
01:48:27 <HackEso> No output.
01:48:36 <oerjan> `ls tmp
01:48:37 <HackEso> 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 <oerjan> `tmp/hello
01:48:48 <HackEso> Hello, world!
01:48:51 <oerjan> `tmp/hello2
01:48:51 <HackEso> No output.
01:49:09 <oerjan> `cat tmp/hello2.c
01:49:09 <HackEso> const char main[] = "AXAYAZA[A\\ATX-pppp-0```- ///P^VTXH10XP4>40PZ414>P_\x0f\x05XATASARAQAP\xc3Hello, world!\n";
01:50:10 <fizzie> That always makes me think of AT commands for some reason.
01:50:17 <fizzie> I think it's the "ATX-pppp-0" part.
01:50:55 <oerjan> hello2.c seems to have bitrotted. i was trying to test them because of a question in PPCG chat.
01:52:29 <fizzie> Back in the olden (or at least moderately moldy) days, you could use "ping -p 2b2b2b415448300d0a" to disconnect people from IRC.
01:53:04 <oerjan> `file tmp/hello2
01:53:05 <HackEso> 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 <oerjan> `tmp/hello2
01:53:23 <HackEso> No output.
01:53:48 <fizzie> `url tmp/hello2.c
01:53:49 <HackEso> https://hack.esolangs.org/tmp/hello2.c
01:54:46 <oerjan> `cat tmp/hello2.c
01:54:46 <HackEso> const char main[] = "AXAYAZA[A\\ATX-pppp-0```- ///P^VTXH10XP4>40PZ414>P_\x0f\x05XATASARAQAP\xc3Hello, world!\n";
01:55:06 <fizzie> write(1, 0xd7ef86c0, 14) = -1 EFAULT
01:55:12 <fizzie> I wonder what's happened to it.
01:56:15 <fizzie> 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 <oerjan> hm
01:57:09 <oerjan> the originals were put in the bot back in 2013 by Jafet
01:57:30 <oerjan> i don't remember if e made them or copied them from elsewhere
01:57:51 <fizzie> The disassembled code looks kinda odd, but printable x86 always does.
01:58:16 <oerjan> it's not entirely prinable
01:58:22 <oerjan> *+t
01:58:50 <fizzie> Oh, you're right. I wonder why it's that long then.
01:59:43 <oerjan> `` cd tmp; gcc -O2 -o hello2 hello2.c
01:59:44 <HackEso> No output.
01:59:53 <oerjan> `tmp/hello2
01:59:53 <HackEso> No output.
02:00:12 <oerjan> oh well duh
02:00:24 <oerjan> it's not like gcc understands what's happening
02:01:17 <fizzie> 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 <oerjan> `cat tmp/hello.c
02:03:51 <HackEso> 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 <oerjan> they're not accidentally the same?
02:05:40 <fizzie> No, they look entirely different.
02:06:18 <fizzie> That's rather simpler, and uses the classic position-independent trick (call+pop).
02:06:47 <fizzie> It's still a little bit more complicated than necessary (since it also exits via syscall), but less so than hello2.
02:07:10 <oerjan> ic
02:11:07 <fizzie> 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 <oerjan> 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 <fizzie> You can put zero bytes in a string literal.
02:21:00 <fizzie> I mean, even in the middle, not just the end.
02:21:08 <fizzie> `` 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 <HackEso> Hello, world!
02:21:17 <fizzie> That's exceedingly ugly, though.
02:26:23 <oerjan> in freefall, one of those toys looks a little familiar.
02:26:59 <oerjan> fancy
02:34:15 <fizzie> 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 <fizzie> `` echo 'const long main[] = {5244310924189237688, 1061160662199711117, 7298297622647799808, 8245940422806826092, 169960556};' | gcc -x c - -o /tmp/hello3 && /tmp/hello3
02:34:20 <HackEso> Hello, world!
02:37:34 <fizzie> 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 <fizzie> 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 <fizzie> 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 <oerjan> 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 <Taneb> 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 <TheWild> do we have PHP equivalent of JSFuck?
11:01:18 -!- nfd9001 has joined.
11:01:24 <myname> i don't think it will be that easy
11:01:27 <rain1> https://bolknote.ru/all/4065/
11:01:35 <myname> the autocasts of php are much less wild
11:10:16 <TheWild> 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 <wob_jonas> fizzie: sure, but those start with "+++AT", and that hello world thing doesn't have that
14:01:59 <wob_jonas> have you tried compiling that to x86_32 by the way? IIRC the original HackEso used that.
14:09:14 <fizzie> 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 <wob_jonas> fizzie: do you mean the syscall instruction, or the syscall libc macro/function?
14:16:33 <wob_jonas> and yes, the syscall instruction is only available on x86_64
14:17:53 <wob_jonas> ah I see. it has \x0f\x05 in it, which is the syscall instruction, and you suppose that gets ran
14:18:04 <wob_jonas> in that case, have you tried to compile it x86_64?
14:20:20 <wob_jonas> 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 <wob_jonas> 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 <wob_jonas> 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 <wob_jonas> 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 <wob_jonas> I don't think there's a good solution for this.
15:28:10 <wob_jonas> 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 <esowiki> [[Special:Log/newusers]] create * Sygmei2 * New user account
16:02:12 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60536&oldid=60531 * Sygmei2 * (+75) /* Introductions */
16:02:17 <esowiki> [[Kitanai]] https://esolangs.org/w/index.php?diff=60537&oldid=50294 * Sygmei2 * (+586) /* Full language Syntax : */
16:07:24 <esowiki> [[Kitanai]] https://esolangs.org/w/index.php?diff=60538&oldid=60537 * Sygmei2 * (+654) /* Standard Library */
16:21:04 <esowiki> [[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 <fizzie> @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 <lambdabot> 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 <b_jonas> 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 <b_jonas> it's hard even if the uploader is allowed to give some hints to it apart from the image data
17:41:40 <b_jonas> I think it's hard even for humans
17:41:42 <b_jonas> oh well
17:42:03 <b_jonas> I mean, it's *supposed* to be easy for humans
17:42:11 <b_jonas> because the end goal is that it can't confuse humans
17:42:12 <b_jonas> but still
17:42:56 <b_jonas> 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 <b_jonas> 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 <fizzie> `` 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 <HackEso> Hello world!
18:42:20 <fizzie> There, that should be a lot more portable and not really that much longer.
18:42:40 <fizzie> (It's portable because it encodes the payload text inside immediate operands.)
18:44:20 <fizzie> 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 <b_jonas> oh hey
18:47:07 <b_jonas> fizzie: but on x86_64, you get RIP-relative addressing. or do you want to use only printable characters?
18:47:28 <fizzie> 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 <b_jonas> yeah, with those exceptions that you explained earlier
18:48:45 <fizzie> 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 <b_jonas> 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 <fizzie> They were already 64-bit, it was assuming I32LP64.
18:51:26 <b_jonas> ah
18:51:30 <b_jonas> sorry, that makes sense
18:51:36 <b_jonas> um, hexadecimal then
18:51:47 <b_jonas> also, isn't the stack executable if you compile for linux like this? I'll have to test that
18:51:55 <b_jonas> maybe it isn't on x86_64 or something
18:53:01 <fizzie> 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 <fizzie> Actually, on my system, neither the stack *nor* the place where read-only data goes were executable.
18:54:32 <fizzie> 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 <b_jonas> `rm a.out
18:54:49 <HackEso> No output.
18:55:09 <fizzie> 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 <fizzie> So when testing this at home, I have to use "-fuse-ld=gold", which still makes them executable.
18:56:02 <fizzie> (gold provides a flag to control this, so "-fuse-ld=gold -Wl,--rosegment" makes them non-executable again.)
18:56:04 <b_jonas> fizzie: ok. I'm going to test on HackEso anyway
18:57:00 <fizzie> 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 <fizzie> 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 <b_jonas> 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 <b_jonas> but that's on x86_32, not on x86_64
19:04:08 <b_jonas> but you are right, the stack isn't executable
19:05:26 <b_jonas> then you are right in what you said
19:05:43 <b_jonas> 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 <b_jonas> now I don't know if there's any other system call interface on x86_64 linux than this
19:07:20 <fizzie> 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 <fizzie> But it truncates pointers to 32 bits.
19:08:21 <fizzie> And 0x80 isn't printable either. :)
19:09:01 <fizzie> (Or 0xcd, for "int".)
19:10:20 <fizzie> 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 <b_jonas> fizzie: can you call them with the sysenter instruction? that one is older than x86_64
19:11:47 <fizzie> I would assume so, but the opcode for that is "0F 34", which is only half-printable.
19:12:06 <b_jonas> 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 <b_jonas> 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 <fizzie> 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 <fizzie> Haven't looked that up though.
19:13:39 <b_jonas> 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 <b_jonas> fizzie: the 32-bit compatibility layer is for 32-bit code
19:14:00 <b_jonas> oh
19:14:02 <b_jonas> wait
19:14:05 <fizzie> Yes, but as mentioned, you can call it from 64-bit code as well.
19:14:42 <b_jonas> 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 <b_jonas> that would make sense
19:15:12 <b_jonas> 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 <b_jonas> that's not really how x86 works
19:15:27 <b_jonas> so that's why there's a syscall instruction!
19:17:21 -!- LKoen has joined.
19:17:50 <b_jonas> hmm no, it isn't
19:17:56 -!- Essadon has joined.
19:17:59 <b_jonas> they're genuinely different
19:18:12 -!- Essadon has quit (Max SendQ exceeded).
19:18:14 <b_jonas> and besides, they could just dispatch by using different syscall numbers
19:18:39 <b_jonas> although there's a slight penalty for that, because the lowest syscall numbers are already used
19:20:06 <fizzie> 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 <kmc> b_jonas: they must be different entry points, because the state is different
19:20:35 <kmc> e.g. after int 0x80, there is already a kernel stack and such
19:20:56 <kmc> after syscall the userspace registers are still in place, except for ip and sp
19:21:00 <kmc> which are loaded from MSRs
19:21:12 <b_jonas> kmc: int vs sysenter vs syscall are different entry points, sure
19:21:26 <kmc> oh, I see what you mean now
19:21:37 <b_jonas> 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 <b_jonas> but it wouldn't work that way
19:21:48 <fizzie> 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 <b_jonas> it would be extra work for the kernel to distinguish between those
19:22:03 <b_jonas> fizzie: hehehe
19:22:04 <kmc> fizzie: seems reasonable
19:22:19 <fizzie> They're all very envious regarding Windows and its ordinal-based imports.
19:22:56 <b_jonas> fizzie: that makse sense, though I'd assume they also just compress the whole executable
19:25:17 <fizzie> 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 <b_jonas> 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 <b_jonas> 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 <b_jonas> is there maybe a segment descriptor with a fixed number that it has to jump to?
19:27:28 <fizzie> 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 <b_jonas> and how do you ask gcc to do that too?
19:28:08 <b_jonas> fizzie: oh, 1k and 4k are different. I was thinking more of 64k or 16k intros, sorry
19:28:20 <b_jonas> mostly because you mentioned linux
19:28:30 <fizzie> Right.
19:29:04 <b_jonas> plus there are some of these browser-based intros
19:31:40 <b_jonas> 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 <fizzie> 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 <fizzie> 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 <b_jonas> fizzie: I think it's because it would be extra work for the kernel to forbid that interface
19:35:57 <b_jonas> 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 <b_jonas> eek this doc is ugly
19:41:00 <b_jonas> at least that doc says that system calls are done using the syscall instruction, and tells how the arguments are passed
19:42:00 <b_jonas> (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 <b_jonas> it doesn't seem to mention how to call 32-bit functions
19:43:45 <kmc> liiiiiiiiiiinux
19:44:56 <b_jonas> I mean, this is totally an esoteric only application
19:45:03 <b_jonas> I certainly don't want to call 32-bit code from a real program
19:48:43 <b_jonas> 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 <b_jonas> and perhaps in the kernel for the same reason
20:16:09 <j4cbo> I don’t think you can mix 32 and 64 like that
20:28:32 <esowiki> [[Special:Log/newusers]] create * Watashiwaanata * New user account
20:29:46 <kmc> 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 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60540&oldid=60536 * Watashiwaanata * (+150) /* Introductions */
20:51:10 <esowiki> [[User:Watashiwaanata]] N https://esolangs.org/w/index.php?oldid=60541 * Watashiwaanata * (+187) Created page with "<div style = "background-color:#F8F8F8;border:1px solid grey;"> <h2 style = "text-align:center"> </h2> <h3 style = "text-align:center">Watashi wa anata<..."
20:57:43 <esowiki> [[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 <oren> 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 <oren> just not violated on my dev machine
22:13:48 <oren> 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 <kmc> 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 <fizzie> 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 <fizzie> All the printable shellcode I've come across kind of assumes self-modification is possible.
00:45:47 <fizzie> 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 <esowiki> [[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 <esowiki> [[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 <esowiki> [[BOREDOM]] https://esolangs.org/w/index.php?diff=60545&oldid=60544 * Areallycoolusername * (+1009)
17:16:51 <esowiki> [[BOREDOM]] https://esolangs.org/w/index.php?diff=60546&oldid=60545 * Areallycoolusername * (+1)
17:18:23 <esowiki> [[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 <esowiki> [[Functasy]] N https://esolangs.org/w/index.php?oldid=60548 * Hakerh400 * (+8481) Published Functasy
18:01:25 -!- b_jonas has joined.
18:01:46 <esowiki> [[Functasy]] M https://esolangs.org/w/index.php?diff=60549&oldid=60548 * Hakerh400 * (+4) Aligned the code for readability
18:04:08 <esowiki> [[Functasy]] https://esolangs.org/w/index.php?diff=60550&oldid=60549 * Hakerh400 * (+55)
18:06:21 <esowiki> [[Functasy]] M https://esolangs.org/w/index.php?diff=60551&oldid=60550 * Hakerh400 * (+1)
18:19:03 <esowiki> [[Functasy]] M https://esolangs.org/w/index.php?diff=60552&oldid=60551 * Hakerh400 * (+1)
18:20:58 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=60553&oldid=60472 * Hakerh400 * (+15) Added Functasy to the language list
18:22:09 <esowiki> [[User:Hakerh400]] https://esolangs.org/w/index.php?diff=60554&oldid=60543 * Hakerh400 * (+18)
18:27:59 <esowiki> [[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 <kmc> shachaf: I saw a good seagull today
22:48:52 <zestymug> "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 <zestymug> how rude
22:50:49 <j4cbo> to be fair: fuck BDD
22:52:25 <zestymug> go is a language for people stuck in the 70s
22:52:39 <zestymug> where the average iq was several points below where it is now
22:54:37 <b_jonas> how about java?
22:54:43 <b_jonas> or C#?
22:54:54 <b_jonas> are they also boring?
22:55:27 <zestymug> at least they have generics
22:55:38 <b_jonas> java just barely has them, yes
22:55:48 <b_jonas> not very useful when everything is dynamic typed
22:56:19 <zestymug> java and c sharp have their own issues
22:56:36 <zestymug> go is idiomatic idiocy
22:59:09 -!- tromp has quit (Remote host closed the connection).
22:59:29 <asie> java's generics are for most people and for the most part compiler sugar
23:00:39 <asie> 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 <zestymug> the primitive/object distinction is a deficiency of java
23:03:31 -!- arseniiv has quit (Ping timeout: 246 seconds).
23:04:53 <asie> a historical artifact, but last i checked they're trying to fix it alongside adding value types?
23:06:15 <zestymug> i don't know how you fix it without breaking backward compatibility
23:06:56 <asie> well they've been hacking on it for almost 5 years now as Project Valhalla
23:07:13 <zestymug> what about the "wrapper pattern"
23:08:02 <asie> i don't think there's anything changing in java itself in this regard
23:08:12 <asie> there's a few other WIP trees with experimental features though
23:08:25 <zestymug> java sucks
23:08:25 <b_jonas> java has backwards compatibility?
23:08:55 <asie> for the most part?
23:08:57 <zestymug> any language for which to write meaningful code it is required to drudge about writing repetitive "design patterns"
23:09:17 <zestymug> 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 <b_jonas> bonsoerjan
23:27:11 <oerjan> b_hellonas
23:28:55 <oerjan> @tell Taneb <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 <lambdabot> Consider it noted.
23:28:56 <shachaf> hi kmc
23:29:54 <oerjan> lady steelgarter's credit rating did take a hit
23:30:33 <oerjan> i have a bad feeling about violetta's continued survival, though, given tarvek's predicted madness
23:31:38 <oerjan> also, i should metaphorically slap myself for not suggesting it could be violetta
23:35:38 <oerjan> <wob_jonas> I don't think there's a good solution for this. <-- obviously we need avatar hinting hth
23:37:37 <oerjan> i still use the default assigned icon on SE. i even put those winter bash hats on it.
23:38:04 <oerjan> (or winter whatever they call it)
23:39:03 <oerjan> also some of us do rampant zooming
23:39:33 <kmc> hi shachaf
23:41:24 <oerjan> 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 <oerjan> kmhic, shellochaf
23:45:12 <b_jonas> 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 <oerjan> `# 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 <HackEso> src/hello3.c
23:50:44 -!- danieljabailey has quit (Ping timeout: 244 seconds).
23:51:06 <oerjan> finally remembered to use `# as originally intended
23:51:23 <oerjan> `cat src/hello3.c
23:51:24 <HackEso> const char main[] = "%0000%HELOPPPPPPT]5Hell1E XP5o wo1E$XP5rld!1E(XP4@4J1E,4@4GPZ$AP_^^^^T^\x0f\x05XX\xc3";
23:51:44 <oerjan> `? `#
23:51:45 <HackEso> ​`# <comment>//`<command> is useful if you want to add a comment to HackEgo history for things like `sled or `le/rn.
23:52:52 <oerjan> `` cd tmp; gcc -o hello3 ../src/hello3.c; ./hello3
23:52:53 <HackEso> Hello world!
23:53:02 <oerjan> `ls tmp
23:53:03 <HackEso> 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 <oerjan> `` rm tmp/*
23:54:06 <HackEso> rm: cannot remove 'tmp/paste': Is a directory \ rm: cannot remove 'tmp/rakudo-star-2018.06': Is a directory
23:54:39 <oerjan> `` ls tmp/ra*
23:54:39 <HackEso> Configure.pl \ LICENSE \ MANIFEST \ MoarVM \ README \ build_msi.bat \ config.status \ docs \ modules \ nqp \ patches \ ports \ rakudo \ tools
23:54:52 <oerjan> `which rakudo
23:54:53 <HackEso> No output.
23:55:06 <oerjan> `` rm -r tmp/ra*
23:55:23 <oerjan> huh
23:55:31 <HackEso> No output.
23:55:58 <oerjan> `ls tmp
23:55:59 <HackEso> paste
23:57:03 -!- tromp has quit (Remote host closed the connection).
2019-03-22
00:00:21 -!- tromp has joined.
00:17:26 <oerjan> @metar ENVA
00:17:28 <lambdabot> ENVA 212350Z 18011KT CAVOK 01/M04 Q1024 RMK WIND 670FT 21018KT
00:21:35 <shachaf> `` doag | grep '> #' | awk '{print $2}'
00:21:38 <HackEso> ​<oerjän> \ <oerjän> \ <oerjän> \ <oerjän> \ <oerjän> \ <coppr̈o>
00:24:14 <oerjan> `doag src/hello3.c
00:24:16 <HackEso> 11756:2019-03-21 <oerjän> # 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 <oerjan> `` doag | grep '> #' | grep copp
00:24:48 <HackEso> 1181:2012-12-18 <coppr̈o> 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 <oerjan> aha
00:25:13 <oerjan> 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 <kmc> hehe I'm happy with that quote
00:33:42 <kmc> it stands the test of time
00:42:38 -!- tromp has quit (Remote host closed the connection).
00:46:51 <fizzie> `sled src/hello3.c//s/x0f/17/;s/x05/5/;s/xc3/303/
00:46:53 <HackEso> 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 <oerjan> fizzie: i advertized that on PPCG's chat
01:34:22 <oerjan> (s?)
01:34:32 <oerjan> s.
01:34:43 <moony> i just found a known working MC88110 for sale.
01:34:46 <moony> yes
01:34:51 * moony celebrate
01:36:50 <oerjan> ^celebrate
01:36:50 <fungot> \o| c.c \o/ ಠ_ಠ \m/ \m/ \o_ c.c _o/ \m/ \m/ ಠ_ಠ \o/ c.c |o/
01:37:33 <oerjan> not the same since the monqy exodus.
01:38:25 <oerjan> `? monqy
01:38:26 <HackEso> monqy is no longer extant. He lives in concept, hidden, unfindable. You could ask itidus21 for details, if you find him.
01:38:42 <oerjan> hm i think i may be confusing people
01:38:56 <oerjan> `grwp feet
01:38:58 <HackEso> 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 <oerjan> myndzi it was.
01:39:20 <fizzie> 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 <fizzie> 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 <fizzie> It's already 214 bytes without any work to make it printable.
01:40:09 <kmc> is it cheating to use the dynamic linker?
01:40:15 <kmc> because you could look for a PLT entry
01:40:18 <zestymug> yes
01:40:21 <kmc> mm
01:40:28 <zestymug> I think it is
01:40:29 <kmc> there's also a syscall instruction in the VDSO isn't there
01:40:37 <fizzie> kmc: Not in x86-64 any more.
01:40:44 <kmc> or... you could just scan all of +x memory for 0f 05
01:40:48 <fizzie> kmc: Or, I mean, yes, there's three syscall instructions, but not one just for calling.
01:40:58 <kmc> fizzie: but you can jump to any point can't you
01:41:02 <j4cbo> you’ve read the tom7 printable compiler paper right?
01:41:04 <kmc> i guess it might be hard to get control back
01:41:06 <kmc> oh yes
01:41:15 <kmc> tom7 is a mad genius
01:41:19 <fizzie> 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 <kmc> fizzie: well, fair enough
01:41:33 <fizzie> Scanning memory for the right thing would presumably work though.
01:42:48 <oerjan> . o O ( until the compilers start putting in traps to prevent it )
01:43:28 <fizzie> 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 <oerjan> or kernels, whatever
01:44:04 <fizzie> 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 <kmc> can't you use the stack for that, though?
01:47:29 <fizzie> No, because the stack is somewhere around 0x7ffe70532000.
01:48:01 <fizzie> So a pointer to something on it would get truncated.
01:48:27 <fizzie> 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 <kmc> ah yeah
01:49:38 <kmc> and you're not allowed to define any symbols but 'main', right?
01:49:59 <fizzie> 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 <esowiki> [[Special:Log/newusers]] create * W3Rn1ckz * New user account
02:40:06 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60556&oldid=60540 * W3Rn1ckz * (+258) /* Introductions */
03:14:52 <esowiki> [[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 <b_jonas> "<fizzie> 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 <b_jonas> "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 <b_jonas> 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 <b_jonas> 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 <b_jonas> with the int80 interface
08:23:25 <b_jonas> 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 <fizzie> @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 <lambdabot> Consider it noted.
10:13:06 <fizzie> @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 <lambdabot> Consider it noted.
10:13:16 <fizzie> @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 <lambdabot> Consider it noted.
10:15:54 -!- AnotherTest has joined.
10:43:47 <ais523> I vaguely remember that an old, old syscall interface took fewer arguments than that
10:55:37 <int-e> 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 <int-e> 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 <ais523> oh wow, why did I never see ELVM before? https://github.com/shinh/elvm
11:49:21 <ais523> somehow I am not surprised at the author
11:49:51 <ais523> (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 <ais523> also, sizeof(char) == sizeof(int) == sizeof(void*), and CHAR_BIT varies but is usually 24 :-D
11:55:11 <int-e> 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 <int-e> (And I still don't know where that was.)
11:55:38 <ais523> 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 <wob_jonas> fizzie: was that old_mmap syscall even used on x86_32?
12:28:46 <wob_jonas> I'll try to look this up later
12:29:39 <wob_jonas> wati
12:29:45 <wob_jonas> there's a note about mmap in http://man7.org/linux/man-pages/man2/syscalls.2.html
12:30:53 <wob_jonas> 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 <wob_jonas> 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 <wob_jonas> ais523: yes, you're right, apparently there is a historical artifact there in the original mmap syscall.
14:03:45 <int-e> 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 <wob_jonas> int-e: how many levels does that have? I hope they improved level design since that demo
14:06:24 <int-e> more than a hundred
14:07:00 <int-e> and at least one level is impossible (probably not really but I have no clue how it's supposed to work)
14:29:00 <wob_jonas> int-e: I see
14:33:49 <ais523> 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 <ais523> 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 <int-e> I guess I'd prefer big endian for human readability: 00100000 for a space
14:35:53 <int-e> 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 <ais523> I'm wondering whether one particular endianness might be easier to produce from within esolang code
14:36:20 <ais523> hmm, yes, you save a temporary in both cases, don't you?
14:36:48 <ais523> 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 <wob_jonas> 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 <wob_jonas> so far I think I'll be using the endianness where the code emits the higher order bits first
14:38:14 <ais523> also you can shift the bits into the number backwards, if you have 256/128 as a constant or wrapping storage
14:38:18 <ais523> in BF it's often easier to read the top bit of a number than the bottom bit…
14:38:21 <ais523> 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 <wob_jonas> I think you can read the lowest bit in brainfuck too.
14:48:10 <ais523> well, BF is transformation-on-memory-complete, the question is as to how easy the various bit-reading codes are
14:48:45 <ais523> 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 <wob_jonas> this should read the low bit: >[-]+>[-]>[-]<<< [- >[->>+<<]>[-<+>]>[-<+>]<<<]
14:49:07 <ais523> (you either repeatedly halve, or else compare against something that's repeatedly halving)
14:49:26 <wob_jonas> 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 <wob_jonas> you could also copy the value if you don't want to destroy it
14:49:53 <int-e> 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 <ais523> well, 128 in a wrapping impl can be obtained via --[>-<--]>-
14:50:32 <ais523> you can change the >-< to a nondestructive add to get a nondestructive multiply-by-128
14:50:32 <wob_jonas> ais523: how do you read the seventh bit?
14:50:43 <ais523> that's got to be shorter, but you'd then have to double the number to read the next bit
14:50:53 <int-e> rather than acc = 0; bit = 1; for (i = 0; i < 8; i++) { if (get_bit()) { acc += bit }; bit *= 2; }
14:51:17 <int-e> (this is assuming something without builtin bit shift (or exponentiation))
14:51:55 <ais523> acc = 0; for (i = 1; i != 256; i*=2) { if (get_bit()) acc += i; }
14:52:02 <int-e> ... I misplaced that semicolon in "};".
14:52:15 <ais523> I think that's less natural than your first example, but it's way shorter than the second
14:52:32 <int-e> if I can compare wit 256 easily... sure.
14:52:44 <ais523> well, in wrapping BF it's very easy, comparing with 256 is what ] does :-)
14:53:09 <int-e> . o O ( let's take a 16 bit variant )
14:53:15 <int-e> ;)
14:53:32 <ais523> then the same code reads a 16-bit character and you don't have to change it at all :-)
14:53:48 <int-e> Also input may be less important than output? Or not? It really depends on what you want to do...
14:54:18 <int-e> ...and the difference between big endian and little will always be relatively insignificant, I think.
14:55:20 <ais523> 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 <ais523> 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 <ais523> 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 <ais523> (in either case the language itself would just output 0s and 1s, just the interpretation of them would be different)
15:03:41 <wob_jonas> ais523: I'm definitely not going to use unary. I'm going to use radixes between 2 and 16 inclusive.
15:04:31 <ais523> wob_jonas: well, we're designing different languages, so your usecase may well be different from mine
15:04:47 <ais523> I guess this goes back to the whole "what is a number?" question
15:05:10 <wob_jonas> sure
15:05:20 <ais523> 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 <wob_jonas> 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 <ais523> 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 <ais523> and "output a 1 bit 4 times" is how you output the numebr 4 in unary
15:06:26 <ais523> wob_jonas: isn't that just syntax, though? you could have the lexer expand your high-radix number into unary
15:06:29 <ais523> (+)*12345
15:07:38 <wob_jonas> 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 <wob_jonas> er.
15:08:07 <wob_jonas> the library can't add arbitrary syntax to the language
15:08:14 <ais523> OK, and you don't want a preprocessor
15:08:51 <wob_jonas> yes, or at least, I have a specific syntax in mind, and want to make that work
15:09:36 <wob_jonas> the reference implementation would then store the numbers as binary internally
15:09:44 <wob_jonas> but that isn't visible in the interface
15:10:05 <ais523> well, IMO a good Underload interpreter should store numbers in binary
15:10:12 <ais523> internally
15:10:15 <ais523> but the syntax doesn't work like that at all
15:10:43 <wob_jonas> why not? if you want to handle large numbers in underload, you can implement a binary representation in underload just fine
15:11:12 <wob_jonas> 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 <wob_jonas> and then I'll implement a maze generator that calls that random number generator
15:12:03 <ais523> wob_jonas: because the binary representation is very inconvenient for working with
15:12:10 <ais523> you wouldn't be able to multiply with just *, for example
15:12:14 <wob_jonas> so some numbers will be greater than 2**30, but I won't repeat anything as many times
15:12:44 <ais523> make the interpreter use bignums internally
15:12:51 <wob_jonas> 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 <ais523> all esolang interpreters should do that unless the esolang inherently has a word size cap (which IMO is bad esolang design)
15:13:11 <wob_jonas> ais523: for underload, yes, I'd use bignums. for Consumer society, that's not so easy
15:13:56 <ais523> 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 <wob_jonas> 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 <ais523> it'd be hard to imagine an esolang where 32 bits /is/ an inherent limit (so, of course, I'm trying)
15:26:10 <wob_jonas> 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 <wob_jonas> 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 <wob_jonas> 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 <wob_jonas> intercal already has 16 bits as an inherent limit, and I can imagine a 32-bit variant.
15:56:27 <ais523> the 16 is arbitrary though
16:08:03 <esowiki> [[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 <esowiki> [[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 <ais523> Livefish would be /way/ more interesting if i was input, and o was some other operation
16:18:39 <ais523> that said, it would still likely be uninteresting
16:19:11 <esowiki> [[Livefish]] https://esolangs.org/w/index.php?diff=60560&oldid=60558 * Areallycoolusername * (+131)
16:19:18 <ais523> 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 <esowiki> [[Livefish]] https://esolangs.org/w/index.php?diff=60561&oldid=60560 * Areallycoolusername * (-31)
16:20:41 <esowiki> [[Livefish]] https://esolangs.org/w/index.php?diff=60562&oldid=60561 * Areallycoolusername * (+6)
16:22:08 <esowiki> [[Livefish]] https://esolangs.org/w/index.php?diff=60563&oldid=60562 * Areallycoolusername * (+10)
16:22:42 <esowiki> [[Livefish]] https://esolangs.org/w/index.php?diff=60564&oldid=60563 * Areallycoolusername * (-17) /* Categories */
16:51:54 <shachaf> int-e: Which level is impossible?
16:53:00 <int-e> Level 12 in the forest... skull house. I don't want any spoilers though.
16:54:05 <shachaf> Of course.
17:05:55 <esowiki> [[User:Areallycoolusername]] https://esolangs.org/w/index.php?diff=60565&oldid=59883 * Areallycoolusername * (+249)
17:07:07 <esowiki> [[User:Areallycoolusername]] https://esolangs.org/w/index.php?diff=60566&oldid=60565 * Areallycoolusername * (+34)
17:07:19 <esowiki> [[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 <fizzie> 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 <fizzie> 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 <fizzie> 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 <fizzie> 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 <fizzie> 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 <fizzie> 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 <b_jonas> "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 <b_jonas> ais523: ^
18:51:37 <ais523> I meant context-sensitive grammars
18:51:48 <ais523> and said the wrong thing out of habit because CFGs are common and CSGs are rare
18:52:20 <b_jonas> fizzie: try to call write first, that has the same syscall number in all versions, right?
18:52:46 <fizzie> b_jonas: No, that's what confusing me right before you joined.
18:53:10 <fizzie> b_jonas: The 32-bit write (1) is actually the 64-bit exit, so strace printed "write(...) = ?" + "program exited".
18:53:33 <b_jonas> 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 <b_jonas> for the proper x86_64 syscall interface, I do know the answer
18:53:59 <b_jonas> but not for the int 80
18:54:00 <fizzie> Er, I mean, the 64-bit write (1) is the 32-bit exit, is what I needed to say.
18:54:09 <b_jonas> wait what?
18:54:12 <b_jonas> even that's changed?
18:54:13 <b_jonas> wow
18:54:18 <fizzie> 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 <b_jonas> 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 <fizzie> 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 <b_jonas> 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 <b_jonas> hmm
18:57:11 -!- adu has joined.
18:57:38 -!- adu has quit (Client Quit).
18:57:39 <b_jonas> 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 <fizzie> 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 <b_jonas> 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 <fizzie> ...uh, actually, scratch all that. It's just that I can't count.
18:58:47 <fizzie> Turns out 0x20 | 0x40 *isn't* actually 0x40, but 0x60 instead.
18:58:48 -!- adu has joined.
18:58:57 <fizzie> Who knew.
18:59:11 -!- adu has quit (Client Quit).
18:59:22 <fizzie> 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 <b_jonas> 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 <b_jonas> so the syscall number goes in eax, and the arguments to ebx, ecx, edx, esi, edi, ebp
19:00:44 <ais523> EPERM seems like an interesting error for mmapping stdin
19:01:13 <ais523> it should be EACCES according to the docs
19:01:31 <ais523> oh, but EACCES is "Permission denied"
19:01:37 <ais523> (EPERM is "Operation not permitted")
19:02:04 <fizzie> 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 <fizzie> It kind of might be an instance of that sort of thing.
19:02:21 <fizzie> I was trying to map it rwx just because there's no reason not to.
19:02:32 <ais523> oh, I see
19:02:41 <ais523> I normally avoid +x in maps
19:02:52 <b_jonas> ais523: yeah, what fizzie says, plus /dev/pts is mounted noexec
19:02:53 <ais523> besides, mapping /anything/ rwx is a huge w^x violation
19:02:58 <fizzie> I thought I might want to run some code in there, though right now it doesn't.
19:03:16 <fizzie> 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 <b_jonas> 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 <ais523> b_jonas: clearly you should just make your mutable variables write-only, then
19:04:29 <ais523> (this is… possibly viable given the right sort of language?)
19:04:40 <b_jonas> ais523: old x86 didn't allow marking a page executable but not readable either
19:05:01 <ais523> 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 <b_jonas> the whole non-executable page thing came about only because of security people trying to reduce effects of bugs
19:06:49 <b_jonas> wtf was these loud noise
19:09:26 -!- sebbu has quit (Ping timeout: 250 seconds).
19:12:30 <fizzie> Aw. Works locally, crashes on HackEso. That might be a little annoying to debug.
19:12:46 <b_jonas> fizzie: ouch
19:12:54 <b_jonas> fizzie: how do you even compile it on HackEso?
19:13:03 <b_jonas> oh wait
19:13:10 <fizzie> `` 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 <b_jonas> you're compiling a x86_64 program, sorry
19:13:11 <HackEso> ​/hackenv/bin/`: line 5: 64 Segmentation fault /tmp/hello4
19:13:14 <b_jonas> that you can compile
19:13:41 <b_jonas> try cheating by making the program not of that format
19:13:59 <fizzie> That command line prints "Hello world!" on both my home machine and this work computer.
19:14:25 <fizzie> Yeah, will have to look into it a bit later, need to go grocery shopping.
19:14:36 <fizzie> But I know the format in general works.
19:15:02 <fizzie> `` 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 <HackEso> Hello world!
19:16:43 <fizzie> 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 <fizzie> Actually, it's a separate Linux kernel.
19:17:05 <fizzie> Maybe it's compiled without the 32-bit emulation in the first place.
19:18:01 <b_jonas> hmm
19:18:20 <kmc> it sure does
19:22:52 <fizzie> 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 <b_jonas> ``` set -e; >tmp/a.c echo $'#include<stdio.h>\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 <HackEso> hello ifrzMgePz7Lg,
19:24:46 <b_jonas> does it have to fit in an irc line? you can just use multiple irc lines
19:24:59 <fizzie> I guess it doesn't, really, just would be more elegant if it did.
19:25:10 <fizzie> If the word "elegant" can really be attached to that.
19:25:22 <b_jonas> 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 <b_jonas> it's just a ridiculously long compilation option, and the gcc defaults and libc defaults are somewhat bad for historical reasons,
19:26:20 <b_jonas> 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 <b_jonas> and I don't want to omit those just to golf the program
19:27:16 <fizzie> 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 <fizzie> finally uses those to do the job.
19:27:37 <b_jonas> fizzie: ok, wait a moment
19:27:51 <b_jonas> I think I read something relevant yesterday, let me look it up
19:28:02 <b_jonas> hmm wait
19:28:06 <b_jonas> that was for x86_32 code
19:28:21 <b_jonas> so that can't work
19:29:06 <b_jonas> 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 <fizzie> Yes, I could definitely do it much easier if I were willing to make it work on one specific libc.
19:29:55 <fizzie> (Or scan through memory to find suitable bytes.)
19:30:12 <fizzie> (Well, maybe that wouldn't be so much easier than the enumerate-symbols approach.)
19:30:56 <fizzie> 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 <fizzie> 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 <fizzie> On x86-64, that's not there, the page contains just __vdso_clock_gettime, __vdso_getcpu, __vdso_gettimeofday and __vsdo_time.
19:33:04 <fizzie> 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 <b_jonas> fizzie: but doesn't it have to work that way on any libc? I mean
19:39:14 <b_jonas> fizzie: what does the kernel put on the stack when it calls a signal handler?
19:39:29 <ais523> fizzie: I vaguely remember Web of Lies scanning the vDSO to find a syscall instruction
19:39:32 <b_jonas> 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 <b_jonas> wasn't there something like that?
19:39:39 <ais523> and then jumping to it via IP teleportation over ptrace
19:39:50 <b_jonas> maybe I'm confused
19:39:52 <ais523> (it seemed saner than trying to alter the executable's memory image to do a system call)
19:39:53 <b_jonas> I'll have to test that
19:43:21 <fizzie> 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 <fizzie> Unless there's an easier way to find that code than there is to find the puts/exit functions.
19:44:21 <ais523> syscall/signal interaction is interesting
19:44:37 <ais523> 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 <ais523> that's how restartable syscalls are restarted, for example
19:45:00 <ais523> it wouldn't surprise me if sigreturn is used as a replacement syscall for nonrestartable signals in much the same way
19:45:26 <ais523> (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 <b_jonas> 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 <ais523> b_jonas: no, it happens in the kernel, you can see this using strace
19:47:27 <ais523> there are a few really out-there signal numbers (not in the normal sequence) reserved for this purpose
19:47:31 <b_jonas> and I think the sigreturn had some other reason to exist, not the syscall restarting
19:47:34 <ais523> I can't remember whether they're negative or really large
19:48:16 <b_jonas> 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 <b_jonas> in blocking high level functions like fread, sure, there you restart
19:49:02 <ais523> 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 <ais523> sometimes that's implemented as restarting it
19:49:13 <b_jonas> 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 <b_jonas> I do understand that the restarting must be handled for compatibility with existing programs of course
19:50:17 <b_jonas> 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 <ais523> 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 <b_jonas> 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 <ais523> 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 <b_jonas> 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 <b_jonas> 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 <ais523> well, there are some programs that do this sort of thing intentionally
19:54:04 <ais523> nohup comes to mind
19:54:18 <b_jonas> ais523: yeah, I guess what you're saying makes sense, because libc can't easily tell which signal interrupted the syscall
19:57:50 <b_jonas> oh, I know why!
19:58:55 <b_jonas> 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 <ais523> oh right, you can't clobber the redzone
19:59:27 <b_jonas> you can't just have the signal handler return like a normal C function, the stack pointer would be wrong
19:59:58 <ais523> what even is the purpose of that thing, anyway?
20:00:58 <ais523> is it just to save a few assignments to SP? or is there some better optimization you can do with it?
20:01:23 <b_jonas> ais523: uh, some optimization thing, but I'm not sure what right now
20:03:12 -!- tromp has joined.
20:03:21 <b_jonas> 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 <b_jonas> but I think there's something other than that, possibly connected to instructions like push/pop
20:04:32 <ais523> 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 <b_jonas> ais523: something close to that, yes
20:11:20 <b_jonas> 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 <ais523> well, the copy isn't on the stack any more, it's in the redzone, but I know what you mean
20:12:13 <b_jonas> I'm not saying this comes up often, but the redzone doesn't have much of a price either
20:13:06 <b_jonas> if the kernel calls a signal handler, those 128 bytes don't cost much even when you aren't using them
20:13:08 <int-e> 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 <b_jonas> 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 <b_jonas> 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 <int-e> 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 <int-e> (just for the return address)
20:16:35 <int-e> hmm
20:16:39 <b_jonas> oh, because it would intersect the previous ret address?
20:16:45 <b_jonas> yeah, sorry, you're right
20:16:49 <b_jonas> that wouldn't work
20:17:08 <int-e> Err, yes, I think what I said is correct. I'm confusing myself.
20:18:14 <b_jonas> 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 <b_jonas> 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 <b_jonas> some of them can be below
20:19:37 <b_jonas> or perhaps
20:21:19 <b_jonas> 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 <b_jonas> and because of how call/ret/push/pop works, it makes sense to put that boundary near *rsp
20:23:28 <b_jonas> which is why there's a scratch area below [rsp]
20:25:51 <b_jonas> well, I don't really claim I understand this
20:26:02 <b_jonas> figuring out good general-purpose calling conventions is a very hard problem
20:26:08 <b_jonas> good thing we already have one to use
20:28:33 <ais523> it's probably only good on x86
20:28:39 <b_jonas> well sure
20:28:43 <ais523> and any goodness it has is relative to the general insanity of x86
20:28:49 <b_jonas> this is cpu-dependent
20:28:57 <b_jonas> and this is on x86_64 in particular
20:45:15 <b_jonas> ah, the linux manpage http://man7.org/linux/man-pages/man2/sigreturn.2.html gives some info
20:46:20 <b_jonas> ah yes!
20:46:48 <b_jonas> besides setting the stack pointer, it resets the saved sigprocmask. I knew there was something I missed
20:54:42 <b_jonas> hmm
20:55:29 <b_jonas> 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 <b_jonas> and if can you do a system call or symbol lookup then you no longer need that
20:56:32 <b_jonas> no wait
20:56:32 <b_jonas> wait
20:57:07 <b_jonas> 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 <b_jonas> oh
20:58:50 <b_jonas> it might be even better
20:58:53 <b_jonas> I'll have to test this
20:59:13 <b_jonas> hmm no
20:59:15 <b_jonas> darn
20:59:29 <b_jonas> I dunno
21:02:29 <b_jonas> nope
21:02:41 <b_jonas> you need a symbol lookup into libc I think
21:02:46 <b_jonas> so it won't help
21:16:22 <esowiki> [[User:Hakerh400]] https://esolangs.org/w/index.php?diff=60568&oldid=60554 * Hakerh400 * (-188) /* Programming languages we created */
21:16:34 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=60569&oldid=60486 * Illuminatu * (+177) /* Implementations */
21:18:43 <esowiki> [[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 <kmc> smh. arduino is doing some terrible thing where code inside comments gets preprocessor-expanded and then has compiler-level syntax errors
21:33:32 <kmc> I should once again ditch it and write basic AVR C
21:33:40 <kmc> but it's so convenient to throw things together
21:33:43 <kmc> when it isn't fucking you over
21:38:29 -!- arseniiv_ has changed nick to arseniiv.
21:38:44 <b_jonas> 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 <b_jonas> apparently used items are now described with the euphemism "pre-owned" rather than plain "used" or "second-hand"
22:06:57 <b_jonas> (I'm shopping on ebay.com)
22:08:42 <kmc> that's been the case for a looong time
22:08:44 <kmc> at least for cars
22:09:10 <b_jonas> kmc: I haven't been shopping online for long yet
22:09:19 <b_jonas> only for like two years so far
22:09:27 <kmc> ah
22:09:30 <b_jonas> I'm somewhat conventional and find it hard to get used to
22:09:34 <kmc> I bought my car online
22:09:36 <b_jonas> also I'm definitely not buying cars
22:09:40 <kmc> which is weird because no test drive
22:09:45 <kmc> but they had a 14 day return policy
22:09:52 <kmc> and as it turns out I love that car
22:09:59 <b_jonas> kmc: um, just because it's online you could have a test drive
22:10:11 <kmc> it was used
22:10:14 <b_jonas> even then
22:10:18 <kmc> how do you figure
22:10:55 <b_jonas> you search in the catalog of cars for sale, you contact the owner that you're interested,
22:11:13 <b_jonas> 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 <b_jonas> 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 <b_jonas> as in hidden errors
22:11:50 <b_jonas> this need not include a test drive, but it can
22:12:12 <b_jonas> depends on stuff like whether the car still has permission to run and insurance
22:12:36 <b_jonas> and whether it needs things fixed in a garage immediately after buying
22:14:21 <b_jonas> I'm buying cheap new items online, but see used ones in the listing when I search
22:14:48 <b_jonas> obviously I have to check that field that says "brand new"
22:14:56 <b_jonas> or "new (with tags)"
22:15:51 <kmc> that's not how buying cars online works
22:15:55 <kmc> it could have been thousands of miles away
22:16:00 <kmc> and, the seller does an inspection
22:16:11 <kmc> and you handle your own insurance and registration
22:16:21 <kmc> but yeah I was a little scared of getting ripped
22:16:22 <kmc> off
22:16:24 <kmc> but it was fine
22:16:30 <b_jonas> "thousands of miles" probably no, but a few hundred kilometers certainly
22:16:34 <kmc> ok
22:16:43 <b_jonas> sorry, I live in Europe, it's smaller
22:16:46 <kmc> you're once again pulling stuff out of your ass regarding things you've never done
22:17:03 <kmc> I wasn't buying on craigslist
22:17:18 <kmc> I went through a middleman that provides various services
22:17:23 <kmc> they also handled the registration for me
22:17:24 <b_jonas> ok
22:17:29 <kmc> which was convenient, although it took a long time
22:17:39 <b_jonas> so a used cars sales company
22:17:40 <b_jonas> makes sense
22:18:38 <b_jonas> 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 <b_jonas> but yes, agents handling sales of cars do exist here too
22:22:25 <kmc> eh it's ok
22:22:29 <kmc> i got pissed off unnecessarily
22:22:32 <kmc> it happens a lot :/
22:22:39 <kmc> sorry
22:23:11 -!- Essadon has joined.
22:23:13 <b_jonas> I'm not saying that either method is better
22:23:22 <b_jonas> you can't trust individual people, but you also can't trust agents
22:23:49 <b_jonas> s/people/owners/
22:24:27 <b_jonas> 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 <b_jonas> let me test to make sure it's really shallow
22:25:17 <b_jonas> yeah, shallow
22:25:18 <b_jonas> good
22:26:52 <kmc> you can call it with any iterable
22:26:54 <kmc> and yeah, it's shallow
22:30:31 <b_jonas> `` python3 <<<'a=[[4],[5]];b=list(a);a[0][0]=6;a[1]=[7];print(a,b)' # yes
22:30:32 <HackEso> ​[[6], [7]] [[6], [5]]
22:30:44 <kmc> bzzzzonk
22:31:15 <kmc> `quote
22:31:16 <HackEso> 843) <oerjan> i think the problem is you're trying to interpret finnish as logic.
22:31:19 <kmc> `quote
22:31:20 <HackEso> 1075) <oerjan> i guess the fact i won't eat bovine tongue is just tranferred cod trauma.
22:31:23 <kmc> `quote
22:31:24 <HackEso> 465) <Taneb> Maybe if you try diplomacy. <Taneb> 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 <zzo38> 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 <zzo38> 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 <int-e> shachaf: okay that level wasn't impossible after all
00:32:47 <shachaf> 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 <int-e> Mostly I needed a fresh start, a more open mind :P Breaks often do wonders in such a situation.
00:42:54 <shachaf> 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 <fizzie> 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 <oerjan> . o O ( spectator is you )
01:16:53 <shachaf> fizzie: imo play it yourself hth
01:18:58 -!- Essadon has quit (Quit: Qutting).
01:19:46 <fizzie> twh but for some reason I never quite feel like buying games.
01:19:54 <fizzie> Is this a Finnish product? The company name sure sounds so.
01:20:16 <fizzie> Apparently so.
01:21:15 <kmc> fizzie: if you like weird Linuxes like UML, you might like WSL too.
01:21:24 <kmc> I wonder if there are any interesting differences from name brand Linux
01:21:32 <kmc> they should have called it I Can't Believe It's Not Linux
01:25:07 <oerjan> @tell ais523 <ais523> I meant context-sensitive grammars <-- as a class in the chomsky hierarchy, they're not TC either
01:25:07 <lambdabot> Consider it noted.
01:25:48 <oerjan> Butterux
01:26:06 <zzo38> 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 <shachaf> `relcome cq1
03:31:58 <HackEso> cq1: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <https://esolangs.org/>. (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 <cq1> `okay nevermind whatever
04:06:47 <HackEso> ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: okay: not found
04:09:31 -!- cq1 has quit (Quit: Leaving.).
04:14:26 <kmc> `quote
04:14:27 <HackEso> 129) <fungot> Vonlebio: well, i'm only back in denmark because my work visa expired. please insert token to continue.
05:26:38 <esowiki> [[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 <esowiki> [[Define]] https://esolangs.org/w/index.php?diff=60572&oldid=60571 * A * (-1)
05:31:31 <esowiki> [[Livefish]] https://esolangs.org/w/index.php?diff=60573&oldid=60564 * A * (+329) Part of implementation
05:32:56 <esowiki> [[Livefish]] https://esolangs.org/w/index.php?diff=60574&oldid=60573 * A * (+128) /* C */
05:34:58 <esowiki> [[Livefish]] https://esolangs.org/w/index.php?diff=60575&oldid=60574 * A * (+153) /* C */
05:35:22 <esowiki> [[Livefish]] https://esolangs.org/w/index.php?diff=60576&oldid=60575 * A * (+4) /* Lua */
05:35:46 <esowiki> [[Livefish]] https://esolangs.org/w/index.php?diff=60577&oldid=60576 * A * (-59) /* Implementations */
05:38:56 <esowiki> [[Livefish]] https://esolangs.org/w/index.php?diff=60578&oldid=60577 * A * (+171) Wierd proof of Turing-incompleteness
05:39:13 <esowiki> [[Livefish]] https://esolangs.org/w/index.php?diff=60579&oldid=60578 * A * (+1) /* Computational Properties */
05:40:16 <zzo38> What instruction sets other than Glulx have convenient bit arrays like Glulx has?
05:42:38 <esowiki> [[Livefish]] https://esolangs.org/w/index.php?diff=60580&oldid=60579 * A * (+2) /* C */
05:46:45 <esowiki> [[Fake-machine]] https://esolangs.org/w/index.php?diff=60581&oldid=56520 * A * (-535) Blanked the page
05:49:22 <esowiki> [[Livefish]] https://esolangs.org/w/index.php?diff=60582&oldid=60580 * A * (+33) /* C */
05:49:40 <esowiki> [[Livefish]] https://esolangs.org/w/index.php?diff=60583&oldid=60582 * A * (-2) /* C */
05:50:32 <esowiki> [[Livefish]] https://esolangs.org/w/index.php?diff=60584&oldid=60583 * A * (+37) /* Lua */
05:59:11 <esowiki> [[User:A]] https://esolangs.org/w/index.php?diff=60585&oldid=60511 * A * (-416) Blanked the page
05:59:21 <kmc> zzo38: how do glulx bit arrays work?
06:07:06 -!- FreeFull has quit.
06:08:23 <zzo38> 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 <kmc> ah, that is convenient
06:37:20 -!- Sgeo__ has joined.
06:40:23 -!- Sgeo_ has quit (Ping timeout: 246 seconds).
06:56:25 <kmc> I suppose on amd64 you'd do something like: mov %esi, %eax; shr $6, %rsi; bt %eax, (%rdi, %rsi, 1)
06:56:52 <kmc> where array pointer = %edi, bit index = %esi, result in CF
06:57:29 <kmc> it could be wrong, i'm tired and not thinking clearly
06:57:32 <kmc> '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 <oren> 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 <int-e> 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 <int-e> 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 <TheWild> hello
14:37:30 <int-e> world
14:39:09 <esowiki> [[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 <esowiki> [[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 <TheWild> I just created yet another Turing tarpit. https://gist.github.com/beyondlimits/d1278c97c57bcbbba10f50cfc3d8a77b. Shame on me!
15:49:44 <oerjan> we'll have to tar and feather you.
15:51:15 <int-e> TheWild: Doesn't that have finite state though?
15:52:23 * oerjan too tired to read code
15:52:53 <TheWild> hmmm... kind of. Unless you map, say, 1..6 to pins of some serial, infinite storage device ;)
15:53:17 <oerjan> the neighbor's playing an annoying beat may have something to do with that.
15:53:20 <oerjan> *-'
15:55:15 <TheWild> 3 would be enough
15:55:15 <TheWild> memory[1]: clock
15:55:15 <TheWild> memory[2]: 0 for input, 1 for output
15:55:15 <TheWild> memory[3]: 0 for setting up address, 1 for data I/O
15:55:30 <int-e> oomph oomph oomph ta-da oomph oomph oomph drrrt oomph oomph oomph ta-da...
15:55:44 <TheWild> meh,
15:55:44 <TheWild> memory[4]: actual data wire
15:57:15 <int-e> . o O ( What an awkward ternary if operator. )
15:57:30 <TheWild> yeah, it's python
15:57:32 <oerjan> is it worse than the malbolge one?
15:58:12 <oerjan> (_possibly_ a different meaning of ternary.)
15:58:29 <int-e> No, I'm comparing to mainstream languages. <true-value> if <condition> else <false-value> is just a very odd order of arguments.
15:59:05 <int-e> oerjan: uh I missed the punniness
15:59:36 <oerjan> '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 <oerjan> 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 <esowiki> [[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 <b_jonas> 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 <b_jonas> or the first write or something
16:58:06 <b_jonas> because this is one of the traditional differences between actual unixes and windows
17:02:15 <kmc> i'm ot sure
17:02:19 <kmc> that's a mount option isn't it
17:02:24 <kmc> or maybe that's just noatime and relatime
17:05:42 -!- tromp has quit (Remote host closed the connection).
17:14:25 <zzo38> There is many file format that 7-Zip will not open, such as MIME, Blorb, and Hamster archives.
17:14:42 <rain1> Blorb?
17:15:49 <zzo38> 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 <kmc> yeah
17:16:15 <kmc> file formats that nobody but you has ever heard of
17:17:53 <zzo38> But, MIME is common format, I think
17:18:40 <kmc> that's true
17:21:40 <b_jonas> 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 <kmc> oh?
17:22:18 <kmc> interesting
17:22:31 * kmc has configured munin to monitor a lead acid battery voltage
17:24:35 <kmc> https://i.imgur.com/D7b4QvD.jpg
17:24:42 <kmc> the sensor is that little board with the yellow wire coming out
17:25:42 <rain1> What is the Blorb format?
17:25:51 <rain1> i have heard of hamster pack format
17:26:05 <zzo38> rain1: It is IFF based
17:29:09 <b_jonas> kmc: well no, it's actually a 386 instruction, not a 286 instruction, obviously
17:29:29 <b_jonas> but other than that, yes
17:29:43 <b_jonas> so I think the version you gave wouldn't even work
17:29:48 <kmc> 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 <rain1> ok
17:30:09 <rain1> I think shar is interestign
17:30:14 <rain1> it's very "bootstrappable"
17:30:22 <rain1> any time you have a shell you can extract shars
17:30:29 <rain1> they are a type of self extracting archive
17:30:44 <rain1> 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 <kmc> I think there's a bug and I got bored
17:57:01 <kmc> 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 <kmc> it... doesn't seem to be assembling right?
17:59:11 <kmc> had to add \n's in the asm
17:59:14 <kmc> but not needed locally
17:59:15 <kmc> freakin weird
17:59:27 <kmc> 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 <ais523> @messages-
19:07:49 <lambdabot> oerjan said 17h 42m 41s ago: <ais523> I meant context-sensitive grammars <-- as a class in the chomsky hierarchy, they're not TC either
19:07:53 <ais523> :t (.)
19:07:54 <lambdabot> (b -> c) -> (a -> b) -> a -> c
19:09:13 <ais523> I couldn't remember the argument order
19:09:52 <ais523> (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 <kmc> it's the maths order
19:15:23 <kmc> 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 <fizzie> kmc: It doesn't matter in your example, but I think it's incorrect that you modify an input operand.
19:40:59 <fizzie> "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 <fizzie> output variable that never gets used."
19:43:01 <fizzie> So something like asm("..." : "=@ccc" (result), "=r" (dummy) : "r" (buf), "0" ((unsigned long) index)) or some-such.
19:43:14 <fizzie> Er, "1".
20:54:17 <b_jonas> fizzie: or just make it an input-output operand, and don't use the variable after that
20:55:11 <fizzie> Yeah, that requires a lvalue though.
20:55:30 <fizzie> So you can't do `(unsigned long) index` to make the size right.
21:00:58 <int-e> shachaf: the "more" mechanic is soo messy.
21:01:20 <int-e> and I found a bonus.
21:33:43 -!- arseniiv has quit (Ping timeout: 246 seconds).
22:16:59 <b_jonas> ``` quote; wisdom
22:17:00 <HackEso> 202) <j-invariant> I need a new desktop background <Gregor> j-invariant: Try http://codu.org/spinners.png (tiled) <j-invariant> 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 <b_jonas> ``` wisdom; quote
22:17:05 <HackEso> the u//The U are a very mad people. \ 393) <NihilistDandy> MY CONTINUITY <NihilistDandy> MY FANFICTION <NihilistDandy> 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 <zzo38> 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 <shachaf> int-e: On ? ?
23:38:19 <shachaf> 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 <shachaf> 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 <int-e> shachaf: yes on ?.
01:09:13 -!- oerjan has joined.
01:09:41 <int-e> shachaf: I may have gotten lucky because I'm still stuck on a relevant level ;)
01:12:27 <pikhq> Baba is you is great
01:17:18 <int-e> hmm you don't need a flag to reach ?
01:17:44 <int-e> anyway. almost 20 hours. so much time wasted...
01:18:23 <int-e> still less than Recursed though
01:22:05 -!- Phantom_Hoover has quit (Remote host closed the connection).
01:27:33 <zzo38> 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 <pikhq> 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 <zzo38> 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 <zzo38> 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 <zzo38> 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 <zzo38> 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 <zzo38> 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 <shachaf> int-e: Oh, wait, I just realized what you did wasn't what I thought.
03:58:00 <shachaf> Never mind what I said.
05:00:52 -!- tromp has joined.
05:05:34 -!- tromp has quit (Ping timeout: 255 seconds).
05:41:07 <zzo38> 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 <zzo38> 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 <b_jonas> 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 <b_jonas> 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 <b_jonas> 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 <b_jonas> 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 <zzo38> 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 <b_jonas> 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 <b_jonas> but that was only worth because the ancient x86_16 had very slow multiplication instructions
09:30:36 <b_jonas> and even then it's slow and might not be worth
09:30:56 <b_jonas> in practice it's not helpful because back then people just didn't have the x87 hardware
09:31:16 <b_jonas> and by the time everyone had it, the x86 had faster multiplication on wider integers
09:31:41 <b_jonas> 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 <b_jonas> in which case of course you use those for integer stuff
09:31:59 <b_jonas> this includes programmable calculators too
09:32:59 <b_jonas> 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 <fizzie> 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 <fizzie> (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 <fizzie> 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 <fizzie> (I also don't hear any of these differences, it's more of a matter of principle.)
13:07:16 <fizzie> 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 <fizzie> 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 <fizzie> ...uh, now the output controller has a sample_rate of 48000, but the output *stream* is still 44100. Odd.
13:11:33 <b_jonas> fizzie: hmm. that sucks.
13:26:42 <fizzie> Oh, looks like I just needed to restart Chrome.
13:27:14 <b_jonas> 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 <fizzie> Could be. I don't know if it does that within the browser, or as separate streams to PulseAudio.
13:28:04 <b_jonas> fizzie: I presume it would be PulseAudio that mixes them
13:28:18 <b_jonas> or at least not the browser
13:28:35 <b_jonas> but either pulseaudio or the hardware
13:28:37 <fizzie> Well, that's easy enough to verify by just opening another tab.
13:28:52 <b_jonas> fizzie: but it can't be just any tab
13:29:00 <b_jonas> it has to be one with an audio running with different sample rate
13:29:47 <fizzie> Well, "any tab" was enough to show that they're separate streams to PulseAudio.
13:30:17 <fizzie> I guess that's sort of obvious, otherwise you couldn't assign different tabs to different playback devices.
13:32:43 <fizzie> 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 <b_jonas> huh
13:33:38 <b_jonas> but isn't 44.1 like the usual sample rate, because it was used on audio CDs?
13:33:48 <b_jonas> you know, before we started to compress audio
13:34:23 <fizzie> 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 <fizzie> 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 <fizzie> 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 <fizzie> https://cs.chromium.org/chromium/src/media/audio/audio_manager_base.cc?l=341-344&rcl=9a9b2ae55f6b5de259deae781c20fdc9419abe7b
13:40:29 <fizzie> (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 <fizzie> 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 <int-e> shachaf: oh it's ???
14:37:14 -!- Sgeo__ has quit (Ping timeout: 250 seconds).
14:45:28 <oerjan> `? ???
14:45:30 <HackEso> ​???? ¯\(°​_o)/¯
14:55:24 -!- tromp has quit (Remote host closed the connection).
15:03:10 <int-e> 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 <esowiki> [[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 <esowiki> [[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 <esowiki> [[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 <esowiki> [[Infinite Vector]] https://esolangs.org/w/index.php?diff=60591&oldid=44773 * Ais523 * (+368) /* Control */ add initial-value
17:19:06 <esowiki> [[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 <esowiki> [[Infinite Vector]] https://esolangs.org/w/index.php?diff=60593&oldid=60592 * Ais523 * (+215) /* Commands */ types for shift/rotate
17:28:13 <esowiki> [[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 <FireFly> Baba is You is hard ,_,
19:00:11 -!- tromp has joined.
19:02:43 <rain1> 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 <zzo38> 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 <b_jonas> america is strange
20:38:55 <j4cbo> oh?
20:39:30 <b_jonas> 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 <kmc> america is very strange
20:50:23 <kmc> though, I think each country is strange in some ways
20:50:31 <kmc> are you thinking of anything in particular
20:52:42 <b_jonas> 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 <FireFly> 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 <b_jonas> FireFly: true
22:06:17 -!- tromp has quit (Remote host closed the connection).
22:15:49 <zzo38> 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 <zzo38> 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 <izabera> brexit can't go well and i can prove it
00:55:36 <zzo38> 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 <zzo38> (And you can vote against it if you don't like Brexit)
00:56:00 <izabera> assume it could. brexit happens and everyone's happy and the pound even gains value
00:56:23 <zzo38> OK, and then what?
00:56:23 <izabera> thus, every single one of the other member states will want to leave too
00:56:28 <izabera> at least italy will want to
00:56:32 <izabera> and france will want to
00:56:37 <zzo38> OK
00:57:13 <izabera> basically everyone except for maybe germany and the nordic countries?
00:57:51 <izabera> anyway, mass leaving from the eu
00:58:15 <zzo38> And then what?
00:58:16 <izabera> thus the eu gets dismantled, market chaos ensues
00:58:38 <izabera> which will be a large enough crisis to top the 2008 one
00:58:51 <izabera> and the uk will suffer as well, just like everyone else
00:59:06 <izabera> thus contraddicting the assumption that brexit goes well
00:59:08 <izabera> qed
00:59:49 <izabera> i mean it's not that far from a reasonable train of thought
01:00:06 <zzo38> 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 <izabera> i don't really agree, i didn't assume much
01:01:18 <kmc> uk already had a weird position within the EU
01:01:30 <kmc> no euro, own visa system, different treaty stuff
01:01:42 <zzo38> kmc: Yes, and that is one thing why they should exit
01:01:42 <kmc> 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 <arseniiv> . 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 <esowiki> [[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): <pre> { "Decoration" : { "Alpha" : 255, "Blue..."
10:52:40 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60596&oldid=60595 * A * (+1750)
10:53:36 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60597&oldid=60596 * A * (+887)
10:53:59 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60598&oldid=60597 * A * (+57)
10:54:14 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60599&oldid=60598 * A * (+0)
11:50:08 -!- Sgeo_ has joined.
11:53:18 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60600&oldid=60599 * A * (+30)
11:53:40 <esowiki> [[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 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60602&oldid=60601 * A * (+18)
11:54:56 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60603&oldid=60602 * A * (-34)
12:01:23 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60604&oldid=60603 * A * (+262) /* Documentation */
12:05:57 <esowiki> [[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 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60606&oldid=60605 * A * (+4) /* Computational Class */
13:25:15 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60607&oldid=60606 * A * (+11) /* Computational Class */
13:25:29 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60608&oldid=60607 * A * (-15) /* Computational Class */
13:26:47 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60609&oldid=60608 * A * (+10) /* Documentation */
13:28:21 -!- moony_ has joined.
13:39:22 <moony_> i found a working MC88110 \o/
13:39:32 <moony_> some bent pins, but those should be fixable
13:39:32 -!- MDude has quit (Ping timeout: 272 seconds).
13:39:56 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60610&oldid=60609 * A * (-18)
13:41:36 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60611&oldid=60610 * A * (+4)
13:41:44 <moony_> would be nice if i knew the cooling requirements for it tho
13:42:04 <moony_> pretty sure the manual doesn't list how many watts of heat it emits when operating
13:44:00 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60612&oldid=60611 * A * (+171) /* Documentation */
13:44:32 <esowiki> [[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 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60614&oldid=60613 * A * (+9) /* Influenced by */
14:13:55 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60615&oldid=60614 * A * (+3) /* Computational Class */
14:14:17 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60616&oldid=60615 * A * (+0) /* Computational Class */
14:17:56 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60617&oldid=60616 * A * (+363)
14:18:22 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60618&oldid=60617 * A * (-14)
14:18:38 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60619&oldid=60618 * A * (+17)
14:19:09 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60620&oldid=60619 * A * (+14)
14:20:50 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60621&oldid=60620 * A * (+4) /* Documentation */
14:22:51 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60622&oldid=60621 * A * (+70) /* Documentation */
14:23:42 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60623&oldid=60622 * A * (+55) /* Documentation */
14:24:54 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60624&oldid=60623 * A * (-125) /* Documentation */
14:25:26 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60625&oldid=60624 * A * (+4) /* Documentation */
14:26:27 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60626&oldid=60625 * A * (+27) /* Influenced by */
14:26:45 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60627&oldid=60626 * A * (-175) /* Documentation */
14:31:26 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60628&oldid=60627 * A * (+163) /* Documentation */
14:40:48 -!- moony_ has joined.
14:43:08 <moony_> is there a known javascript subset with fewer characters than jsfuck?
14:59:17 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60629&oldid=60628 * A * (+0) /* Influenced by */
15:00:49 <moony_> that esolang would give jacob1 a kick. Someone was inspired to make an esolang by The Powder Toy
15:01:41 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60630&oldid=60629 * A * (+24)
15:01:59 -!- oerjan has joined.
15:02:04 <moony_> helloerjan
15:03:12 <oerjan> good afternoony
15:03:22 <int-e> ollehrjan
15:03:36 <oerjan> int-ello
15:03:59 <esowiki> [[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 <moony_> is A on irc?
15:05:22 <int-e> 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 <moony_> haha
15:05:37 <int-e> then again there's /ignore
15:07:05 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60632&oldid=60631 * A * (-347) /* Documentation */
15:08:31 <esowiki> [[User:A]] https://esolangs.org/w/index.php?diff=60633&oldid=60585 * Moon * (+610) New message.
15:10:44 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60634&oldid=60632 * A * (-77) /* Documentation */
15:11:06 <moony_> Was hoping the message would get their attention.
15:12:52 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60635&oldid=60634 * A * (-108) /* Documentation */
15:13:29 <moony_> oh
15:13:30 <moony_> derp
15:13:33 <moony_> i put it on the wrong page
15:13:47 <esowiki> [[User:A]] https://esolangs.org/w/index.php?diff=60636&oldid=60633 * Moon * (-610) Wrong Page
15:14:08 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=60637&oldid=60489 * Moon * (+613) /* Hello! */ new section
15:16:24 <oerjan> lord snackleford appears to be summoning the Gone Horribly Right trope.
15:16:35 <moony_> ???
15:16:48 <oerjan> (over at girl genius)
15:18:15 <oerjan> too many possibilities for _how_ it's horrible at the moment.
15:23:47 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60638&oldid=60635 * A * (+594) /* Computational Class */
15:24:43 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=60639&oldid=60637 * A * (-613) Thanks for noting that. Clear page
15:25:11 <int-e> . o O ( CLS )
15:25:24 <int-e> . o O ( Back to the BASICs )
15:27:09 <esowiki> [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=60640&oldid=60369 * A * (+257) /* P0pCrn */
15:27:57 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=60641&oldid=60569 * A * (+231) /* PoGo */
15:29:28 <arseniiv> moony_: Someone was inspired to make an esolang by The Powder Toy => oh wow, I’ve seen that toy
15:29:53 <arseniiv> let me see if A have done a decent job for once…
15:34:00 <arseniiv> hmm it’s not inspired by The Powder Toy per se :(((
15:34:16 <moony_> yea ):
15:34:26 <moony_> arseniiv: have you seen what's possible in modern TPT?
15:34:52 <moony_> https://github.com/siraben/r216-forth
15:39:16 <arseniiv> why do A clear their talk page each time. Do they think they have perfect memory?
15:41:18 <arseniiv> 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 <moony_> see the link i posted :P
15:42:03 <arseniiv> okay
15:42:50 <arseniiv> (hm btw did they add polonium so we could do, in xkcd terms, polonium-bending?..)
15:43:56 <moony_> no, i added it for fun
15:44:04 <moony_> simon never finished it, so i just gave it some polish
15:44:06 <arseniiv> (wow, forth!)
15:44:29 <arseniiv> wait what you contribute to TPT? nice!!
15:44:45 <moony_> arseniiv: LBPHacker, the guy who made that computer, has plans to make a computer that performs 4 ops/frame
15:48:55 <arseniiv> 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 <moony__> arseniiv: the R216 computer runs one instruction per game frame
15:57:39 <moony__> 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 <arseniiv> moony__: 1 op/frame, nice!
15:59:07 <moony__> you can ask lbphacker how it's done, or mark2222, in #powder-subframe if you like
15:59:43 <arseniiv> thank you
16:02:40 <arseniiv> 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 <b_jonas> ``` set -e; cd wisdom; echo *le
18:58:16 <HackEso> 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 <b_jonas> `? le
18:58:50 <HackEso> cat: le: Is a directory
18:58:57 <b_jonas> oh
18:58:58 -!- LKoen has joined.
18:59:45 <b_jonas> `? misle
18:59:46 <HackEso> misle v. tr. "I was misled about morphology."
19:00:10 <b_jonas> `? tribble
19:00:15 <HackEso> 99 tribbles on the wall, take one down, pass it around, 117 tribbles on the wall.
19:00:37 <b_jonas> `? tamale
19:00:39 <HackEso> 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 <esowiki> [[Special:Log/newusers]] create * Koyodyne * New user account
19:30:48 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60642&oldid=60556 * Koyodyne * (+146)
19:31:42 <esowiki> [[Special:Log/newusers]] create * Void * New user account
19:37:18 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60643&oldid=60642 * Void * (+161)
19:37:40 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60644&oldid=60643 * Void * (+72)
19:50:05 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=60645&oldid=60553 * Void * (+12)
19:55:01 -!- FreeFull has joined.
20:08:42 <esowiki> [[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 <esowiki> [[RarVM]] https://esolangs.org/w/index.php?diff=60647&oldid=60646 * Void * (+445)
20:16:56 <esowiki> [[RarVM]] https://esolangs.org/w/index.php?diff=60648&oldid=60647 * Void * (+26)
20:20:35 <esowiki> [[RarVM]] https://esolangs.org/w/index.php?diff=60649&oldid=60648 * Void * (+102)
20:21:58 <esowiki> [[RarVM]] https://esolangs.org/w/index.php?diff=60650&oldid=60649 * Void * (+99)
20:23:25 <oren> "“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 <oren> "“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 <oren> "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 <esowiki> [[RarVM]] M https://esolangs.org/w/index.php?diff=60651&oldid=60650 * Void * (+400)
20:26:00 <esowiki> [[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 <b_jonas> [ 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 <oerjan> argh i hate web pages that steal clicks such that you accidentally follow a link when trying to do something else
01:14:03 <kmc> a lot of porn sites do that
01:14:53 <oerjan> this time it was SE's chat archive, of all things
01:15:00 <zzo38> 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 <oerjan> it is possible i actually accidentally clicked twice.
01:16:11 <zzo38> (One feature I would like is the ability to replace individual scripts on a webpage with my own versions.)
01:16:14 <oerjan> (i was selecting a link with the right button to copy it, and ended up following it.)
01:16:41 <kmc> I was reading a site that used hot pink text on white background :(
01:16:47 <zzo38> (Including such things as replacing jQuery with my own version on any webpages that use that)
01:16:52 <oerjan> and there are other times i _do_ want the script there, when following quoting links
01:16:53 <kmc> the content was actually quite good and important
01:17:02 <kmc> I fixed it with element inspector
01:17:10 <kmc> but I wonder the best way to link it to other people
01:17:27 <oerjan> kmc: i use that a lot to get rid of annoyingly large horizontal bars
01:17:34 <kmc> I don't know of a way to construct a link with a custom style sheet
01:18:03 <kmc> other than a javascript: url that you have to visit after
01:18:13 <zzo38> 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 <kmc> perhaps I could host a page which shows it in an iframe
01:18:42 <kmc> or just mirror the content and hope to not get in copyright trouble
01:18:56 <kmc> or copy the entire text into my Facebook post when I share it
01:19:08 <kmc> another solution to bad color choices is print to pdf
01:19:44 <zzo38> (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 <oerjan> 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 <oerjan> (Y=fix)
01:32:03 <oerjan> vaguely recalling something about decidable halting problem...
01:35:07 <oerjan> 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 <oerjan> 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 <zzo38> I partially implemented a NNTP server software, mainly, because I could not find another one that seemed suitable to my use
05:59:56 <esowiki> [[Ragaraja]] https://esolangs.org/w/index.php?diff=60653&oldid=60587 * Mauriceling * (+307) /* Description of Commands / Instructions */
06:45:00 <esowiki> [[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 <esowiki> [[Ragaraja]] https://esolangs.org/w/index.php?diff=60655&oldid=60654 * Mauriceling * (+160) /* References to Biology */
11:13:21 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60656&oldid=60638 * A * (+219) Add purpose
11:14:15 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60657&oldid=60656 * A * (+3) And sorry for making a small edit
11:26:56 <esowiki> [[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 <esowiki> [[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 <esowiki> [[A]] M https://esolangs.org/w/index.php?diff=60660&oldid=60659 * Arcorann * (+11) /* See also */
13:26:48 <esowiki> [[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 <oerjan> 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 <oerjan> i still would like to remember the reference someone gave to this before, though.
15:38:58 <oerjan> s/every/each/
15:40:59 <rain1> interesting, it's not turing complete but it has programs that diverge?
15:42:04 <oerjan> yep, e.g. YI
15:42:17 <oerjan> (which is just f x=f x)
15:42:23 -!- arseniiv has joined.
15:42:58 <oerjan> :t let f x=f x in f
15:43:00 <lambdabot> t1 -> t2
15:43:04 <int-e> oerjan: R. Statman, "The λY calculus" shows that the word problem is decidable for that calculus.
15:43:42 <oerjan> argh
15:43:58 <oerjan> well that does seem like the same thing.
15:44:10 <oerjan> or well no
15:44:26 <oerjan> what i am looking for sounds wearker than that
15:44:43 <int-e> huh, wait, I'm misrepresenting this
15:45:09 <int-e> the halting problem is decidable; the word problem is decidable if Y is restricted to a single type (o -> o) -> o.
15:45:14 <int-e> but not in general.
15:45:54 <oerjan> right
15:46:03 <int-e> 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 <Taneb> int-e: it doesn't for a specific o of finite size
15:47:08 <int-e> Taneb: yes it does: all church numerals have that type.
15:47:16 <int-e> hmm
15:47:22 <int-e> Oh I see.
15:47:32 <int-e> oerjan's talking about models.
15:47:34 <oerjan> the church numerals collapse
15:47:45 <int-e> (the "CPO" didn't fully register)
15:48:00 <Taneb> There's, like, three or four functions of type (() -> ()) -> () -> ()
15:48:07 <oerjan> for a particular set, only finitely many of them are unequal.
15:48:12 <oerjan> *finite set
15:48:58 <int-e> 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 <Taneb> (id, const id, const (const _|_))
15:49:49 <oerjan> int-e: for solving the halting problem, though, all you need is to evaluate with all the free variables = ()
15:49:55 <oerjan> *type variables
15:50:02 <oerjan> or Bool if you like that better
15:50:30 <int-e> Hmm I need to think about this... it sounds too good to be true.
15:53:08 <Taneb> oerjan: is your "basis type" terminology standard?
15:56:32 <int-e> (Of course my reference has the annoying problem that SKI and lambda calculus are not perfectly aligned.)
16:02:26 <oerjan> Taneb: not that i know of
16:03:24 <oerjan> int-e: denotationally they are, i should think
16:04:06 <oerjan> also i got to thinking about because i had doubts about a proof on PPCG that haskell is TC with just ()=;
16:04:10 <oerjan> *about this
16:04:41 <oerjan> i think that fails for this reason
16:05:20 <oerjan> *just the characters
16:08:20 <Taneb> How does that work at all?
16:10:02 <oerjan> you use (======) as identifiers
16:10:10 <Taneb> Oh, I see
16:11:49 <kmc> that's cute
16:16:34 -!- b_jonas has joined.
16:23:47 <arseniiv> (======)? nice!
16:24:10 <arseniiv> good day everyone
16:24:33 <kmc> hello
16:24:39 <Taneb> 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 <arseniiv> 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 <arseniiv> so I hope their unification will be decidable
16:33:03 <oerjan> Taneb: you need a type signature for polymorphic recursion, although i'm not sure if that's enough for TC-ness
16:34:03 <oerjan> Taneb: i don't think more than one type helps, because you can always duplicated definition to avoid using that.
16:34:36 <Taneb> oerjan: but eg. (===)(====)=(====) has an infinite number of types
16:35:12 <oerjan> yes, but you'll only ever use a finite number when running a program
16:35:38 <oerjan> (ghc defaults types to Any as i recall)
16:35:57 <oerjan> (without polymorphic recursion)
16:37:16 <oerjan> *unrestricted types
16:37:24 <Taneb> Right
16:37:34 <b_jonas> hmm
16:38:31 <b_jonas> It should be possible to make it TC by adding a few specific primitives, such as three list primitives and while
16:38:59 <b_jonas> yes, probably even arithmetic and while is enough, as you say
16:39:41 <b_jonas> although while has a generic type
16:40:28 <oerjan> 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 <b_jonas> oerjan: whoa
16:40:42 <b_jonas> SIX?
16:40:49 <oerjan> no, "perl 6"
16:40:52 <b_jonas> oh
16:40:54 <b_jonas> that's better
16:40:54 <oerjan> sheesh
16:41:15 <b_jonas> good
16:41:23 <oerjan> b_jonas: i believe ():;1- is TC
16:41:32 <oerjan> (for the haskell)
16:41:50 <b_jonas> oerjan: how does that work? how do you make functions?
16:41:57 <oerjan> oops
16:42:06 <oerjan> typo, ()=;1-
16:42:11 <b_jonas> oh ok
16:42:23 <b_jonas> I don't see how that works, but that's at least more believable
16:42:48 <b_jonas> oh right
16:42:50 <Taneb> > 1-(-1)
16:42:52 <lambdabot> 2
16:42:55 <oerjan> right
16:42:57 <b_jonas> you can just make recursive function definitions
16:43:12 <b_jonas> named functions, refering to themselves by name
16:43:17 <b_jonas> like you said above with (===)
16:43:23 <Taneb> Best thing is, you can now comment your code
16:43:28 <oerjan> i've been trying to think of a version with 5 chars but i cannot make it work
16:43:31 <b_jonas> only now you can use - too, so you get a slightly more conveient character set
16:43:31 <oerjan> Taneb: yeay
16:44:41 <b_jonas> oerjan: could you use ()=;: and use lists terminated by some special value consed with undef?
16:44:46 <b_jonas> instead of arithmetic that is
16:45:07 <b_jonas> like, lists of true and false, with the tail being undef
16:46:20 <oerjan> b_jonas: yes, ()=;:' should work
16:46:30 <b_jonas> oerjan: apostrophe?
16:46:35 <oerjan> for char literals
16:46:45 <b_jonas> why would you need char literals?
16:47:06 <b_jonas> I mean, just use two different well-typed functions to represent true and false
16:47:13 <oerjan> shortest way to get something to put in the lists that you can distinguish two values of
16:47:21 <b_jonas> mytrue x y = x; myfalse x y = y;
16:47:23 <oerjan> hm...
16:47:30 <b_jonas> then just call them to distinguish them
16:47:33 <oerjan> b_jonas: oh maybe that does work
16:47:43 <b_jonas> haskell rules again, so those will be polymorphic functions
16:48:08 <oerjan> but that may give trouble with the original obstruction...
16:48:14 -!- LKoen has joined.
16:48:28 <oerjan> because they won't be polymorphic in a particular list
16:49:10 <oerjan> but maybe it's close enough...
16:49:17 <b_jonas> oerjan: hmm
16:49:34 <b_jonas> yeah ...
16:49:51 -!- ais523 has joined.
16:49:58 <b_jonas> hi ais523
16:51:00 <ais523> hi
16:51:19 <b_jonas> ais523: I think you may be able to help with this discussion
16:52:00 <b_jonas> 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 <ais523> b_jonas: see the top answer on the PPCG question about Turing-complete subsets of languages' character sets
16:52:27 <b_jonas> 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 <ais523> I believe (=); is the character set chosen, yes
16:52:39 <b_jonas> ais523: yes, I think that's what spawned this
16:52:46 <b_jonas> but oerjan says that it's not clear if that works
16:52:49 <b_jonas> and I agree with him
16:52:51 <ais523> however, I'm starting to have doubts about whether SKI+fix is enough
16:53:05 <ais523> in a strongly typed language
16:53:07 <Taneb> ais523: oerjan is convinced that it isn't
16:53:34 <ais523> ofc, we have more than SKI+fix here; we have the entirety of typed lambda calculus + recursion
16:55:43 <oerjan> ais523: but that's just really syntactic sugar over SKIY
16:56:13 <b_jonas> oerjan: I guess you're right and ()=;:' or ()=;:1 should be enough
16:57:15 <kmc> typed church lists are a bit complicated aren't they
16:57:20 <oerjan> a weirder idea i had was x"|>=;
16:57:21 <kmc> the type of the list encodes the types of its elements?
16:57:36 <oerjan> originally without the |, so it was my best idea for getting 5
16:57:38 <kmc> I probably can't make a homogeneously-typed list without some kind of injection type :/
16:57:55 <b_jonas> oerjan: how does that work?
16:58:13 <Taneb> > "xxx">"xxxx"
16:58:15 <lambdabot> False
16:58:40 <oerjan> well i'm not entirely sure it works, but you have monadic operations >>= and >> and comparisons == > >=
16:58:55 <kmc> I tried to write fib with (=); for a while and gave up, but it's probably doable
16:58:59 <b_jonas> oerjan: but how do you define functions or call functions or something? you have no space or parens
16:59:02 <kmc> got into some occurs check hell
16:59:24 <oerjan> b_jonas: x""xx=xxx>>=xxxx
16:59:30 <oerjan> things like that
16:59:32 <b_jonas> oh
16:59:36 <kmc> 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 <b_jonas> dummy string argument
16:59:39 <b_jonas> interesting
16:59:54 <oerjan> i haven't thought that one all through though
16:59:59 <b_jonas> how about ()\->
17:00:12 <b_jonas> write lambda calculus, with names like (>>>>)
17:00:14 <oerjan> b_jonas: no recursion
17:00:20 <oerjan> because types
17:00:21 <b_jonas> because of the types again?
17:00:22 <b_jonas> hmm
17:00:39 <oerjan> that was the original version of another PPCG answer
17:02:09 <oerjan> 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 <b_jonas> I wonder if we could use square brackets instead of parenthesis
17:02:51 <b_jonas> define functions that take each argument in a single-element list
17:03:01 <ais523> oerjan: I'm wondering if you can do it using the (a->a)->(a->a) type for Church numerals
17:03:11 <ais523> b_jonas: that doesn't let you create identifiers
17:03:16 <b_jonas> then we get empty lists and one element lists "for free"
17:03:26 <b_jonas> ais523: yeah, that is a problem
17:03:44 <b_jonas> yeah, that would need 5 chars
17:03:49 <b_jonas> or 6 or what
17:03:50 <b_jonas> hmm
17:03:54 <b_jonas> []=;x
17:04:19 <b_jonas> woyld that work?
17:04:21 <ais523> maybe you could use : rather than []?
17:04:35 <ais523> although that might run into type issues
17:04:48 <ais523> it'd definitely be enough in an untyped language, given that you have structure, destructure, recursion
17:05:04 <b_jonas> ais523: you need an argument separator then
17:05:11 <b_jonas> unless you mean ()=;:
17:05:35 <b_jonas> I think ()=;:1 works, oerjan's suggestion was ()=;:' which should work too
17:06:15 <Taneb> What about x=;:'
17:07:15 <oerjan> <b_jonas> []=;x <-- i considered that one and the problem was no way to construct larger values
17:08:02 <oerjan> Taneb: you can't pattern match with : then
17:08:28 <oerjan> or apply functions
17:08:33 <b_jonas> oerjan: what do you mean by "larger values"?
17:08:59 <b_jonas> you can construct [[[[[[[]]]]]]]
17:09:14 <oerjan> yes, but that has no fixed type
17:09:18 <b_jonas> oh
17:09:21 <b_jonas> right
17:09:25 <b_jonas> so you can't have numbers
17:09:30 <b_jonas> ok, then that won't work
17:10:46 <oerjan> it's really quite awkward how 5 just seems to slip away for several different reasons
17:11:21 <Taneb> > let x'x'xx=xx; xxx='x' in x'x'xxx
17:11:23 <lambdabot> error:
17:11:23 <lambdabot> • Variable not in scope: xx
17:11:23 <lambdabot> • Perhaps you meant one of these:
17:11:29 <ais523> are there language options you can give to infer the type of Church numerals correctly?
17:11:44 <Taneb> Huh
17:11:45 <oerjan> Taneb: alas ' is an identifier char too
17:11:46 <kmc> what's PPCG?
17:11:50 <ais523> :t \f x->f (f (f (f x)))
17:11:51 <lambdabot> (t -> t) -> t -> t
17:11:56 <ais523> kmc: codegolf.stackexchange.com
17:12:07 <b_jonas> Taneb: isn'tr x'x'xx a single variable?
17:12:08 <kmc> wheres pp from
17:12:12 <Taneb> oerjan: ...so why not x=;:"
17:12:13 <ais523> possibly the world's largest users of esolangs?
17:12:22 <ais523> kmc: ppcg = programming puzzles and code golf
17:12:22 <b_jonas> :i x'x'xx
17:12:33 <b_jonas> @type x'x'xx
17:12:33 <ais523> although they basically gave up on the programming puzzles quite early on, the name didn't change
17:12:34 <lambdabot> error: Variable not in scope: x'x'xx
17:12:49 <ais523> (oddly, puzzling.stackexchange.com are typically quite willing to do programming puzzles)
17:13:42 <oerjan> 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 <b_jonas> ais523: and puzzling.stackexchange.com has very few questions about creating puzzles, it's almost all questions that are puzzle
17:14:19 <ais523> b_jonas: questions about creating and solving puzzles are ontopic but rarely asked
17:14:26 <b_jonas> ais523: yep
17:14:44 <int-e> > 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 <lambdabot> [0,1,1,2,3,5,8,13,21,34,55]
17:14:52 <oerjan> <Taneb> oerjan: ...so why not x=;:" <-- no pattern matching of : in function arguments
17:15:01 <ais523> 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 <b_jonas> ais523: doesn't it still have lots of FAQ though?
17:15:42 <b_jonas> let me check
17:15:45 <Taneb> b_jonas: nah, they just get closed for duplicaiton ;P
17:15:51 <Taneb> oerjan: aargh
17:15:54 <b_jonas> I don't visit SO much, it's just too large for me
17:15:54 <ais523> b_jonas: yes, there are still plenty of those around, mostly from earlier in the site's history
17:16:47 <ais523> they added a new ask-a-question wizard recently which insists that you post code samples
17:16:56 <ais523> it's optional, but it excludes basically any FAQ from being asked when used
17:17:28 <b_jonas> ais523: yeah, you seem to be right
17:18:21 <int-e> 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 <arseniiv> wow
17:20:16 <oerjan> ah so fib exists.
17:20:20 <ais523> int-e: does that example show that SKIY is in fact TC in a typed lazy language?
17:20:29 <oerjan> i suppose primitive recursion is probably possible, then.
17:21:26 <oerjan> ais523: if a is a finite type, you can only distinguish finitely many fib types.
17:21:29 <int-e> ais523: no. fib is primitive recursive. note that Y is not even used.
17:21:29 <b_jonas> int-e: um, but can you get rid of the iterate and (!!) things?
17:21:37 <int-e> b_jonas: they're just for testing
17:21:42 <oerjan> er, values
17:22:19 <b_jonas> 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 <int-e> b_jonas: The first let defines a fibonacci function (of sorts); The second let defines conversions between Church numerals and Int.
17:23:08 <int-e> b_jonas: yes, if you're willing to use sufficiently big types for the church numerals.
17:23:23 <b_jonas> hmm
17:23:52 <arseniiv> aren’t Church numerals basically unfolders? (so, primitive recursion)
17:23:53 <ais523> 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 <ais523> err, the for loop
17:24:21 <arseniiv> (or I remember it wrong, and some other numerals are unfolders)
17:24:40 <arseniiv> (maybe Church—Scott if it means a different thing)
17:25:09 <int-e> 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 <b_jonas> also, EU copyright thing thing, just have to mention it on the channel, would be strange if nobody did
17:26:27 <ais523> b_jonas: the article 11 / article 13 thing?
17:26:40 <b_jonas> ais523: yeah, or the whole vote and stuff
17:26:52 <b_jonas> the article 13 thing that got renumbered
17:26:56 <ais523> 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 <ais523> I'd prefer a comprehensive reform to copyright law rather than just enforcing it
17:27:32 <int-e> b_jonas: the renumbering was a normal part of the process.
17:27:46 <b_jonas> int-e: sure
17:28:27 <b_jonas> 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 <ais523> what content filters?
17:29:17 <b_jonas> 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 <b_jonas> which hosters can only enforce by automatic real-time content filters to accept or reject third-party content
17:30:24 <int-e> 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 <ais523> int-e: this is already the case on YouTube nowadays
17:30:49 <ais523> it has an automatic filter, and it does cause problems
17:31:01 <b_jonas> 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 <int-e> Yes and that will become worse. So this is another step in the wrong direction.
17:31:18 <b_jonas> it's more relevant for other sites
17:32:01 <int-e> 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 <arseniiv> ((((
17:32:29 <ais523> 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 <arseniiv> I hope it will turn someday
17:32:42 <ais523> so that the people making the false claims end up getting all the ad revenue
17:33:06 <ais523> 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 <arseniiv> (btw someone interested in that Metamath-like thing?)
17:34:13 <b_jonas> 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 <b_jonas> ais523: also, isn't that sort of claim already illegal?
17:35:17 <int-e> 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 <ais523> b_jonas: no, it would be if it were a DMCA claim, but YouTube's filters allow non-DMCA claim
17:35:27 <ais523> even then, DMCA claims have huge loopholes in them
17:35:58 <b_jonas> ais523: hmm
17:36:26 <int-e> We'll see in a couple of years how bad it'll actually be.
17:37:51 <ais523> 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 <ais523> because that leaves law-abiding people at a major disadvantage
17:38:03 <int-e> 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 <ais523> 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 <b_jonas> 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 <int-e> what's the right word actually... "beneficiaries"?
17:39:05 <int-e> 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 <arseniiv> int-e: it seems the latter, yes
17:39:31 <arseniiv> (beneficiaries)
17:39:41 <b_jonas> ais523: that's not really a good enough argument for any particular new law though
17:40:48 <arseniiv> laws seem to look as a sort of code, usually of very bad maintainability, suspicious correctness and the like
17:41:00 <ais523> 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 <ais523> so this may be a first step that leads to wider reform
17:42:24 <arseniiv> 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 <b_jonas> 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 <ais523> 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 <int-e> 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 <int-e> ...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 <ais523> 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 <ais523> if so, then it makes sense
17:48:03 <int-e> 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 <b_jonas> 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 <int-e> 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 <int-e> ...probably has shared their address with the provider anyway.
17:51:55 <int-e> (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 <int-e> (So the point of my idea above is that it can easily be fully automated.)
17:59:25 <ais523> 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 <ais523> people using it as a backup for family photos, or whatever
17:59:59 <int-e> ais523: yes, that's why I want the statistics for views as well
18:00:05 <ais523> 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 <int-e> (those are probably the more relevant ones anyway, but both uploads and views are interesting)
18:00:37 <kmc> a lot of record labels post their music officially
18:00:45 <ais523> or even explicit-but-global permission (e.g. many computer games give permission to upload videos of the game on YouTube)
18:00:49 <kmc> they get royalties
18:01:07 <b_jonas> 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 <int-e> kmc: yes. and it's also good advertisement, especially for lesser known artists.
18:01:30 <kmc> yah
18:01:38 <kmc> I've found quite a bit of music there that I listen to all the time now
18:02:25 <kmc> on a tangential note, this is some amazing guitar work https://www.youtube.com/watch?v=ISS2SrHxKI4
18:02:39 <kmc> 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 <esowiki> [[Category theory]] https://esolangs.org/w/index.php?diff=60662&oldid=46854 * Koyodyne * (+25) Fixed some information about identity morphisms
18:20:41 <esowiki> [[Category theory]] M https://esolangs.org/w/index.php?diff=60663&oldid=60662 * Koyodyne * (+0) replaced a typo
18:22:06 <esowiki> [[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 <esowiki> [[Category theory]] https://esolangs.org/w/index.php?diff=60665&oldid=60664 * Koyodyne * (+534) Added a section on higher categories
20:12:04 <esowiki> [[Category theory]] https://esolangs.org/w/index.php?diff=60666&oldid=60665 * Koyodyne * (+20) Added a section on higher categories
20:28:33 <esowiki> [[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 <arseniiv> oh this is actually very nice. If I’d known that article needs some attention…
20:34:23 <b_jonas> 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 <arseniiv> (should I add about semicategories, the ones without identity morphisms?)
20:36:14 <arseniiv> nah, a link to nLab should be really sufficient
20:46:24 <ais523> arseniiv: categories are general enough as it is, why would you need to make them more general? :-D
20:46:53 <ais523> anyway, I'm not convinced category theory is an esolang; it's fairly eso but not very lang
20:49:25 <arseniiv> 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 <arseniiv> 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 <arseniiv> and Haskell is in no relation to that AFAIR
20:54:46 <ais523> well, Haskell is fairly close to category theory as a programming language
20:54:48 <arseniiv> but it’s a universal argument, I should admit
20:54:53 <ais523> it's not at all the same thing, but the same ideas get used in both
20:54:53 <arseniiv> yeah
20:55:00 <arseniiv> agree
20:56:48 <arseniiv> if only I’d get more of Edward Kmett’s packages... hm no forget it
21:51:24 <kmc> isn't the point of category that the same ideas get used in /everything/
21:59:49 <ais523> yes, it lets you translate theorems from one context to another
22:00:47 <ais523> 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 <ais523> (this is known as a "coherence" result, in category theory)
22:01:17 -!- fractal has quit (Ping timeout: 245 seconds).
22:11:25 <b_jonas> !card-by-name Soulcatchers' Aerie
22:11:39 <b_jonas> `card-by-name Soulcatchers' Aerie
22:11:40 <HackEso> 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 <b_jonas> 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 <ais523> 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 <ais523> `card-by-name Noxious Ghoul
22:17:16 <HackEso> 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 <ais523> I guess you could use a damage effect instead
22:17:48 <ais523> oh, what's that effect which pings everything when a creature ETBs called?
22:17:52 <ais523> `card-by-name pandemonium
22:17:52 <HackEso> 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 <ais523> oh, would need to be global, so not that
22:19:32 <ais523> Forerunner of the Empire almost works but it's a "may" ability
22:19:39 <ais523> `card-by-name forerunner of the empire
22:19:39 <HackEso> 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 <ais523> (you can use a protection-from-color effect to make it selective)
22:19:57 <ais523> is there a reason you wanted to replace noxious ghoul, anyway?
22:21:03 <b_jonas> ais523: no reason really. I was looking for cards for a different construction, but found this one and got curious
22:21:45 <ais523> 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 <ais523> you could almost use it to replace Hungry Lynx but the two creature types are the same
22:23:11 <ais523> (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 <b_jonas> 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 <b_jonas> and somehow you trigger off blocking or damage, but I also don't see how to do that
22:24:41 <b_jonas> the advantage would be that since your creatures never die or get born, they can be complicated enchanted creatures
22:24:56 <b_jonas> they can have rules text on them, or on enchantments on them
22:25:13 <b_jonas> which allows a larger selection of cards, but I don't find the right card needed here
22:25:24 <ais523> the existing construction has one creature per counter, though
22:25:45 <ais523> 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 <ais523> (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 <b_jonas> ais523: yes, but don't those creatures die and get recreated as tokens?
22:26:07 <b_jonas> I mean, what I'd like here is that those creatures never die
22:26:11 <ais523> oh, I see
22:26:13 <b_jonas> instead they linger at toughness 1 or 3
22:26:18 <ais523> you'd want to use tokens anyway because of deck size limits
22:26:28 <b_jonas> above that, and get triggered when they are lowered to toughness 1 or toughness 3
22:26:56 <ais523> triggering on a specific toughness is hard
22:26:58 <b_jonas> ais523: well, they could be token copies, but you copy and enchant them once at the start
22:27:16 <b_jonas> ais523: that's what the Fleet-Footed Monk is for, and there's another card that works for toughness 3
22:27:42 <ais523> `card-by-name fleet-footed monk
22:27:43 <HackEso> 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 <ais523> that checks power
22:27:57 <b_jonas> `card-by-name Goldmeadow Dodger
22:27:58 <HackEso> 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 <ais523> there are lots of creatures that trigger on dealing combat damage
22:28:36 <b_jonas> 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 <ais523> maybe we could trigger on that, rather than on /not/ dealing combat damage
22:29:01 <b_jonas> ais523: yes, that could work. is there an enchantment that gives a creature protection versus a creature type?
22:29:17 <b_jonas> we have to give the opponent's Goldmeadow Dodger protection against everything but the one creature type
22:29:23 <b_jonas> and have one Dodger per counter
22:29:57 <b_jonas> would be easier with colors, but there's only 5 and that's not known to be enough with Waterfall
22:30:43 <ais523> 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 <ais523> there's also true-name nemesis but it's hard to count that
22:31:41 <ais523> oh, there may be specific creature type protections, rather than tunable, that we can hack
22:31:47 <b_jonas> they don't need tunable, they can be Evolvable
22:32:03 <b_jonas> oh I'm stupid [3~
22:32:08 <b_jonas> the Coward thing
22:32:22 <b_jonas> `card-by-name Boldwyr Imitator
22:32:23 <HackEso> No output.
22:32:32 <b_jonas> `card-by-name Boldwyr I
22:32:33 <HackEso> 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 <b_jonas> that, and a large amount of Evolution
22:32:51 <ais523> I was going to say, boldwyr intimidator has a different effect, but does it work for what you're looking for?
22:33:04 <b_jonas> yeah, that should work
22:33:08 <b_jonas> but there's still at least two problems
22:33:34 <ais523> I kind-of like the way my existing setup works at split-second speed; something that involves combat can't
22:33:39 <b_jonas> one is what exactly to trigger from it attacking
22:33:49 <b_jonas> ais523: yes, that certainly makes it easier
22:34:20 <b_jonas> 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 <b_jonas> `card-by-name Unstable Mutation
22:34:34 <HackEso> 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 <b_jonas> ok, so now what to trigger from the Dodgers dealing damage?
22:34:54 <ais523> `card-by-name crackling perimeter
22:34:55 <HackEso> Crackling Perimeter \ 1R \ Enchantment \ Tap an untapped Gate you control: Crackling Perimeter deals 1 damage to each opponent. \ GTC-U
22:35:00 <b_jonas> or combat damage
22:35:03 <ais523> I couldn't remember the trigger on that one
22:35:06 <ais523> and I thought it hit creatures
22:35:16 <ais523> I think there's a card that hits every creature once-per-turn, but I guess copied auras could also work?
22:36:19 <b_jonas> 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 <b_jonas> infect
22:36:24 <b_jonas> in...
22:36:26 <b_jonas> wait, which one is it?
22:36:36 <b_jonas> infect
22:36:48 <ais523> wither also works
22:36:50 <b_jonas> Infest is an instant
22:37:18 <ais523> but yes, I'm used to toughness being the only relevant stat, but your construction triggers on power
22:37:39 <b_jonas> they will probably go hand in hand
22:38:33 <b_jonas> I was also wondering if we can somehow make our creatures actually die from dropped toughness, but respawn
22:39:08 <b_jonas> but it doesn't seem easy to make that scale
22:39:18 <ais523> that's basically what the existing construction does
22:40:09 <b_jonas> yes, but it recreates a token
22:40:19 <b_jonas> whereas I wanted to reanimate the same creature
22:40:22 <b_jonas> but that doesn't work
22:40:26 <b_jonas> it's a bad idea
22:40:39 <b_jonas> it can't work with many creatures, it needs actual cards, and possibly even then it won't work
22:41:38 <ais523> objects lose their identity when changing zones, that's one of the most fundamental rules of magic
22:41:49 <ais523> there's one creature which keeps counters when changing zones, I think, but it's definitely a special case
22:41:56 <ais523> `card-by-name skullbriar
22:41:57 <HackEso> 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 <ais523> oh wow, I didn't expect to successfully remember which one it was first try
22:42:36 -!- LKoen_ has joined.
22:43:05 <b_jonas> ais523: yes, but there are ways to make a card respawn
22:43:39 <b_jonas> 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 <b_jonas> then you still need as many creature cards in your deck as there are Waterfall counters, which isn't too good
22:44:03 <b_jonas> yeah, doesn't work well
22:44:26 <ais523> 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 <b_jonas> no it's not
22:44:47 <b_jonas> or at least, I shouldn't care about it
22:44:56 <b_jonas> well
22:45:03 <b_jonas> the problem with tokens is that you can't bring them back from the gy
22:45:06 <b_jonas> which is why I need cards
22:45:10 <b_jonas> if I respawn from the gy
22:45:40 -!- LKoen has quit (Ping timeout: 250 seconds).
22:45:52 <b_jonas> but yes, this doesn't work well
22:46:55 <b_jonas> another thing I was wondering about is
22:46:59 <b_jonas> `card-by-name Ensnaring Bridge
22:47:00 <HackEso> 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 <ais523> `card-by-name gift of immortality
22:47:07 <HackEso> 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 <b_jonas> plus a luring creature by the opponent
22:47:22 <b_jonas> so that it's your creature that attacks, but only if it has low toughness
22:47:24 <ais523> 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 <b_jonas> the opponent has the Bridge
22:47:51 <b_jonas> 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 <ais523> yes, doesn't work on tokens, but would work on creature cards
22:48:44 <b_jonas> 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 <ais523> apparently the playtest version just said "enchanted creature can't die", but it got altered for rules and balance reasons
22:50:30 <b_jonas> `card-by-name Rage Forger
22:50:31 <HackEso> 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 <b_jonas> nope, not that either
22:52:50 <b_jonas> ok, my ideas don't seem to work
22:55:15 <b_jonas> the game designers aren't stupid, they don't make too many cards that form easy infinite loops
22:56:19 <b_jonas> especially not mandatory ones
22:58:02 <b_jonas> and yes, I do have a playset of Faceless Butchers in my box of blacks
22:59:21 <ais523> 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 <ais523> because he was curious as to what would happen (the deck wasn't built around setting it up)
23:00:17 <b_jonas> I see
23:01:55 <ais523> 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 <b_jonas> did it call a judge then?
23:03:02 <b_jonas> or did the players call one?
23:04:08 <ais523> MTGO doesn't have judges
23:04:15 <ais523> when it breaks you can apply for a refund, but that's abotu it
23:04:30 <b_jonas> not even for tournaments with rewards?
23:06:24 -!- LKoen has joined.
23:06:42 <ais523> nope; quite a few people are upset about this
23:06:49 <b_jonas> oh, also, is it possible to golf this to one IRC line?
23:06:50 <b_jonas> <TABLE border=0 cellspacing=0><COLGROUP span=10 width=25><TR height=25><TD bgcolor=#80C rowspan=4><TD bgcolor=#80C><TD bgcolor=#FF8 colspan=5><TD bgcolor=#4F4 colspan=3><TR height=25><TD bgcolor=#8C0 colspan=3><TD bgcolor=#44F colspan=4><TD bgcolor=#08C><TD bgcolor=#4F4 rowspan=2><TR height=25><TD bgcolor=#0C8><TD bgcolor=#0C8 rowspan=3><TD bgcolor=#8C0 colspan=2><TD bgcolor=#44F><TD bgcolor=#08C
23:06:57 <b_jonas> colspan=3><TR height=25><TD bgcolor=#8FF><TD bgcolor=#0C8><TD bgcolor=#C08><TD bgcolor=#F44 rowspan=2><TD bgcolor=#08C><TD bgcolor=#F8F><TD bgcolor=#C80><TD bgcolor=#C80 rowspan=3><TR height=25><TD bgcolor=#8FF colspan=2 rowspan=2><TD bgcolor=#C08 colspan=2><TD bgcolor=#F8F colspan=3><TR height=25><TD bgcolor=#C08 colspan=2><TD bgcolor=#F44 colspan=3><TD bgcolor=#F8F><TD bgcolor=#C80></TABLE>
23:07:19 <ais523> 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 <ais523> how repeated are the colors? I was wondering if a <style> tag would help, but probably not for something that's that short
23:08:07 <b_jonas> I think the ` height=25` could be eliminated, but that's not enough
23:08:21 <b_jonas> and you could drop the ending </TABLE>
23:09:07 <b_jonas> ais523: well, there are 12 colors and 28 TD elements
23:09:43 <b_jonas> I guess we could save two bgcolor attributes if I gave the table a default bgcolor
23:09:49 -!- LKoen_ has quit (Ping timeout: 258 seconds).
23:10:28 <ais523> just out of interest (I know there's no actual reason required, especially in this channel), why are you trying to golf an HTML image-constructed-using-tables into a single line of IRC anyway?
23:11:05 <ais523> is there a reason it has to be constructed using tables? it's possible that absolute-positioning divs would be shorter (not sure on that though; it's probably naturally more verbose but has more scope for golfing)
23:11:14 <b_jonas> ais523: I dunno. the image is a packing of the 12 pentominoes into a rectangle, but the golfing is arbitrary
23:11:30 <b_jonas> using a PNG with a data url would probably make it small enough
23:11:41 <ais523> oh, divs wouldn't work well for that
23:11:51 <b_jonas> scale the png up with html
23:12:54 <b_jonas> the one irc line is arbitrary, I just thought of it because someone mentioned html tables on another channel
23:14:08 <b_jonas> oh yeah, the style could help with both the width and heigth
23:14:25 <b_jonas> an embedded stylesheet with a STYLE element that is
23:14:49 <b_jonas> I thought I'd just drop the height and add non-breaking spaces to make the rows reasonably tall
23:15:01 <b_jonas> I could even use that for width
23:15:34 <b_jonas> also I thought I could just drop the hash marks from the colors, but it seems like that doesn't work
23:15:46 <b_jonas> didn't it use to work?
23:16:36 <b_jonas> ah I see, it only works when there are six digits, not when there are only three
23:16:44 <b_jonas> or at least the three digits aren't interpreted the same
23:19:57 <b_jonas> also, one IRC line would work in a wisdom
23:20:33 <b_jonas> I'll have to try with a png in a data attribute
23:21:45 <ais523> there are golfier image formats, I think
23:21:57 <ais523> that text-based format X uses probably wouldn't even need to be base64'd
23:22:05 <ais523> (and would also be more readable on an IRC line)
23:22:20 <ais523> although it has a lot of needless double quotes and commas and the like
23:22:36 <b_jonas> sure, but this fits easier. even paletted BMP works, since I can set the number of palette elements to 12 IIRC
23:22:40 <b_jonas> number of palette colors
23:23:11 <b_jonas> heck, even RGB BMP would work, since it's just 180 bytes of pixel data before the base64 encoding
23:23:32 <b_jonas> then that could be produced by a script, making a random packing
23:23:47 <b_jonas> although I think paletted would be shorter
23:24:00 <b_jonas> slightly
23:24:26 <ais523> I wonder if there's been much research on golfing image formats
23:24:41 <ais523> PNG was designed to be portable more than golfy (it is fairly golfy for large images, but could easily be made better on small ones)
23:24:41 <b_jonas> ais523: for small images like this, or for large ones?
23:24:43 -!- oerjan has joined.
23:24:46 <ais523> b_jonas: small ones
23:25:28 <b_jonas> I've golfed an svg image once
23:26:06 <b_jonas> well, not completely golfed
23:26:19 <b_jonas> just relatively, compared to the original which was way too long
23:26:37 <b_jonas> by adding groups that are repeated, etc
23:28:21 <oerjan> b_jonas: i got thinking about your ()=;: suggestion while away and i think it actually works.
23:29:11 <oerjan> because if CPS transform the program, you only need to branch on one type to church-simulate booleans
23:29:16 <oerjan> *if you
23:30:01 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:30:25 -!- tromp has quit (Remote host closed the connection).
23:30:27 <oerjan> so you simulate a stream of Bools as [a -> a] where a is the final type of the computation.
23:30:35 <oerjan> er, [a -> a -> a]
23:31:27 <oerjan> the CPS transform can disrupt laziness but you don't need that for TC-ness
23:31:52 <b_jonas> oerjan: ok, although at that point I can't claim credit for it being my suggestion
23:32:11 <b_jonas> I don't really see why it would reduce to one type either
23:32:47 <b_jonas> so you'd make something like a cyclic tag system?
23:32:49 <oerjan> because if you have CPS transformed, then you can branch on a bool by applying it to two continuations.
23:33:11 <oerjan> argument-less ones.
23:33:26 <oerjan> and they always have the same type a
23:34:07 <b_jonas> hmm
23:34:11 <b_jonas> I'll think about that
23:34:17 <b_jonas> might work, but I'm tired now
23:34:20 <oerjan> i suppose you need a little laziness for that, but CPS doesn't destroy that
23:34:24 <oerjan> ah.
23:34:31 <b_jonas> this is haskell, we have a little lazyness
23:34:43 <oerjan> yep
23:35:03 <ais523> oerjan: I'm having trouble seeing why the bool wouldn't have to have a more complex type than the continuations (meaning you couldn't store bools inside continuations)
23:35:58 <oerjan> ais523: the type of the continuation is only the type of its final result, it doesn't prevent it from using more complicated types inside i think
23:36:33 <ais523> oh wow, I think I see how this works
23:36:39 <ais523> we give the arguments to the continuations /first/
23:37:01 <ais523> so both possible continuations for the program are already fully constructed, but because Haskell is lazy, aren't running yet
23:37:11 <oerjan> right
23:37:18 <ais523> then we force only the one we want (indirectly, as the currently running function is forced)
23:37:35 <b_jonas> what if you translate StackFlow, and the types you store on the list are functions that take each stack as the input (the function is curried to take multiple args) and the final output as the output?
23:37:39 <b_jonas> and do CPS that way
23:37:46 <b_jonas> or something
23:37:48 <ais523> this is the sort of illogical evaluation order normally only seen in declarative programming :-D
23:38:26 <oerjan> i don't think you _need_ laziness for this. you could use [(()->a)->(()->a)->(()->a)] instead.
23:38:36 <oerjan> and then it would work just as well in say ocaml
23:38:40 <ais523> recently I fixed a bug in Brachylog's standard library: the command being implemented was "given a list, a function, and a value, assert that the function produces the value on every element of the list"
23:38:56 <ais523> and the evaluation order I picked to make this work looks really bizarre to anyone not used to declarative languages
23:39:33 <ais523> first we produce a new list of the same length of the original, then we assert that all the elements of the new list are equal, then we assert that the first element of the new list is the value, then we map the function from the old list to the new list
23:40:04 <ais523> I guess I could have swapped the second and third steps and then it'd work in imperative languages too (although it'd require a two-list map)
23:40:06 <b_jonas> ais523: wait, does this apply only to a finite list?
23:40:14 <ais523> b_jonas: yes
23:40:18 <b_jonas> oh, it's easier that way
23:40:29 <ais523> map doesn't work very well on infinite lists in most declarative languages
23:40:44 <ais523> now I'm wondering how you could make it work
23:40:54 <ais523> (the list wouldn't be so much /infinite/, as undefined-length)
23:41:17 <b_jonas> ais523: map isn't the hard part, all is
23:41:37 <kmc> why doesn't it work well?
23:41:51 <ais523> well, the problem is that most declarative language impls record known facts about each element of a list by its index
23:42:46 <ais523> you can see this in Brachylog: write "a list whose first element is 4 and all of whose elements are prime" and you get an immediate "that's impossible", write "a list whose last element is 4 and all of whose elements are prime" and it'll go into an infinite loop
23:42:56 <b_jonas> ais523: I have a small prolog library that implements some such list functions using the convention we talked earlier about to represent closures
23:43:24 <ais523> (because in the former case, the 4 has a known index, so it has somewhere to record the known fact about it; in the later case it has to fall back to backtracking)
23:44:05 <oerjan> <b_jonas> what if you translate StackFlow [...] <-- my CPS suggestion fails if the types inside the lists are recursive (which is why you can't e.g. church encode the _whole_ list this way.)
23:44:23 <oerjan> it works for Bools and finite Enums.
23:44:32 -!- Essadon has quit (Read error: No route to host).
23:45:07 <ais523> hmm, actually I'm wrong, even in the former case it seems to enter an infinite loop? this may be a bug I can fix
23:45:32 <ais523> I can't see a logical reason why it would
23:46:24 <b_jonas> ais523: http://dpaste.com/1N0YQK5
23:46:46 <ais523> oh, duh, it's got confused about data types and is looking for an integer that starts with the digit 4
23:47:21 <ais523> what Prolog is that?
23:47:30 <ais523> it uses /**/ comments and "no" rather than "false"
23:47:54 <fizzie> I've definitely seen "no" before.
23:48:09 <b_jonas> ais523: sicstus prolog, I think
23:48:17 <ais523> fizzie: same, but I can't remember where
23:48:21 <ais523> "false" seems more common IME
23:48:26 <b_jonas> (the commercial one that works worse than gnu prolog)
23:48:36 <b_jonas> or is that swi prolog?
23:48:37 <b_jonas> hmm
23:48:59 <b_jonas> probably sicstus
23:49:11 <fizzie> SWI-Prolog is the only one I've really used particularly much.
23:49:20 <b_jonas> ais523: on comment syntax https://sicstus.sics.se/sicstus/docs/latest4/html/sicstus.html/ref_002dsyn_002dcom.html#ref_002dsyn_002dcom
23:49:47 <b_jonas> ais523: the "no" appears only in the output, not in the input though
23:49:54 <fizzie> I tried to Google for examples, and there's at least one swipl example which says "yes" and "no", but also there was another one where it was saying "true" (no "false"s in the example), so maybe they've changed it over time.
23:49:56 <ais523> b_jonas: Brachylog's written in SWI Prolog, so I've got fairly used to that
23:50:14 <ais523> even though GNU Prolog is the one I've used most, and Borland Prolog is the first one I learned (but never used; I just liked reading manuals)
23:50:54 <b_jonas> for input, I use false or fail
23:51:06 <b_jonas> I don't think "no" works as input
23:52:08 <b_jonas> ais523: gnu prolog seemed to work well for me, this one simply uses sicstus because I wrote it connected to a university course about declarative programming
23:52:26 <b_jonas> so the professor chose the interpreter, and that choice was good enough that it wasn't worth to mess with
23:52:27 <ais523> gnu prolog often has weird build-system-related issues IME
23:52:59 <ais523> I thought the standard true/fail values in input were "true" and "fail"
23:53:06 <b_jonas> ais523: maybe, but it ran my constraint logic programs fast, which matters for this course
23:53:18 <ais523> although "\+!" is sometimes seen as a fail value, as is "1=0" (these are both golfier than "fail")
23:53:37 <b_jonas> ais523: I think both false and fail works in multiple prologs
23:53:38 <ais523> explicitly writing a true value is probably never useful?
23:53:56 <ais523> maybe for use with call and friends
23:54:14 <b_jonas> ais523: I wrote the olvashato compiler that outputs prolog code. I wouldn't say that explicit true can never be useful.
23:54:25 <b_jonas> I'm not sure if it outputs true
23:54:56 <b_jonas> sure, x=x would work there too
23:55:02 <ais523> oh right, it's useful in generated code for the same reason that trailing commas on lists are
23:55:03 <b_jonas> for golf
23:55:18 <ais523> IIRC there's a 1=1 in the output of the Brachylog compiler
23:55:31 <ais523> simply to avoid special-casing for empty lists
23:56:29 <b_jonas> there are string constants saying "true" in the prolog part of the olvashato compiler. I won't check if it's dead code now though.
23:57:47 <b_jonas> there are enough of them that one of them likely can be triggered
23:57:53 <ais523> explicit fail is also a weird case; it's only relevant in code with side effects (assuming you're considering cuts to be side effects)
23:58:01 <b_jonas> though it may need input code where you use something unnecessary
23:58:03 <b_jonas> but still
23:58:58 <b_jonas> explicit "fail" only appears once in the compiler, for when you call the or builtin with no arguments (it's variadic)
23:59:16 <b_jonas> it does output explicit "abort" often though
23:59:31 <b_jonas> that's quite different of course
23:59:51 <ais523> which one is abort?
2019-03-27
00:00:01 <ais523> IIRC Prolog has a huge number of different ways of crashing
00:00:02 <b_jonas> abort basically throws an exception that I never catch
00:00:23 <b_jonas> it doesn't "crash", just makes the program give an error output that tells me that I put a bug in the program I wrote
00:00:57 <fizzie> SWI-Prolog has that one easter egg, though I think it only works in interactive mode.
00:01:02 <fizzie> `` echo 'X.' | swipl |& grep '^%'
00:01:03 <HackEso> ​% ... 1,000,000 ............ 10,000,000 years later \ % \ % >> 42 << (last release gives the question) \ % halt
00:01:12 <b_jonas> I use it for pattern matches when it's not known that they're exhaustive
00:01:39 -!- 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:07:34 -!- AnotherTest has quit (Ping timeout: 250 seconds).
00:07:53 -!- tromp has joined.
00:15:50 <ais523> :t let inc n f x = f (n f x); addinfinity n = inc (addinfinity n) in addinfinity
00:15:51 <lambdabot> t1 -> (t2 -> t2) -> t3 -> t2
00:16:12 <ais523> oerjan: ^ not primitive recursive
00:18:26 <ais523> although the evaluation order is dubious because it interprets n + ∞ as 1 + 1 + 1 + … + n and never reaches the n
00:37:20 -!- Lord_of_Life has quit (Ping timeout: 250 seconds).
00:39:40 -!- Lord_of_Life has joined.
00:48:11 -!- tromp has quit (Remote host closed the connection).
00:53:51 <oerjan> OKAY
01:20:31 -!- tromp has joined.
01:20:34 -!- arseniiv has quit (Ping timeout: 246 seconds).
01:24:47 -!- ais523 has quit (Quit: quit).
01:25:07 -!- tromp has quit (Ping timeout: 250 seconds).
02:16:51 -!- Deewiant has quit (Ping timeout: 264 seconds).
02:17:13 -!- Deewiant has joined.
02:33:59 -!- tromp has joined.
02:38:44 -!- tromp has quit (Ping timeout: 272 seconds).
03:20:11 -!- tromp has joined.
03:24:36 -!- tromp has quit (Ping timeout: 250 seconds).
03:46:15 -!- tromp has joined.
03:50:22 -!- tromp has quit (Ping timeout: 246 seconds).
04:11:45 -!- oerjan has quit (Quit: Nite).
05:34:22 -!- tromp has joined.
05:39:24 -!- tromp has quit (Ping timeout: 268 seconds).
05:42:23 -!- FreeFull has quit.
06:57:53 <asie> 7
06:57:56 <asie> sorry
07:28:42 -!- AnotherTest has joined.
08:04:42 <b_jonas> ais523: hmm no, that prolog library doesn't just use the representation of closures that I mentioned earlier, it also allows a more tricky representation that can be a closure over non-ground terms that don't get copied,
08:04:57 -!- tromp has joined.
08:45:10 -!- b_jonas has quit (Quit: leaving).
09:10:06 <Taneb> Has anyone here used Coursera?
09:12:19 -!- tromp has quit (Remote host closed the connection).
09:21:08 <rain1> yes
09:22:07 <Taneb> rain1: how did you find the experience?
09:22:25 <rain1> it's really good
09:41:40 <Taneb> rain1: thanks :)
09:41:54 <rain1> what course are you thinking of doing?
09:42:23 <Taneb> It's not for me, my parter is trying to improve her Python
09:43:06 <rain1> ah cool
09:43:13 <Taneb> So, "Python", and "Data science Python"
09:44:06 -!- tromp has joined.
09:46:29 <rain1> I just started doing dan boneh's cryptography course
09:46:39 <rain1> i took some others in the past like sussmans electronics course
10:02:34 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60668&oldid=60657 * A * (+5)
10:09:11 -!- Sgeo_ has joined.
10:12:30 -!- Sgeo__ has quit (Ping timeout: 250 seconds).
10:14:21 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60669&oldid=60668 * A * (+4013)
10:15:39 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60670&oldid=60669 * A * (+35) /* Deadfish non-interactive interpreter */
10:15:55 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60671&oldid=60670 * A * (+8) /* Deadfish non-interactive interpreter */
10:18:16 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60672&oldid=60671 * A * (+3662) /* Deadfish non-interactive partial interpreter */
10:30:54 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60673&oldid=60672 * A * (+4093) Unfortunately another small edit, since I had to check my program constantly.
10:32:05 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60674&oldid=60673 * A * (+50) /* Deadfish non-interactive partial interpreter */
10:32:23 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60675&oldid=60674 * A * (+12) /* A subsection just for testing the program */
10:36:06 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60676&oldid=60675 * A * (+284) Okay. Final edit of Deadfish interpreter (if it doesn't have bugs in it)
10:36:32 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60677&oldid=60676 * A * (-50) Wait a second. Delete the subsection.
10:38:33 <esowiki> [[Deadfish]] https://esolangs.org/w/index.php?diff=60678&oldid=60481 * A * (+12222) /* Perl */
10:50:32 <esowiki> [[Deadfish]] https://esolangs.org/w/index.php?diff=60679&oldid=60678 * A * (+151) /* Powder */
10:51:26 <esowiki> [[Deadfish]] https://esolangs.org/w/index.php?diff=60680&oldid=60679 * A * (+1) /* Powder */
10:52:38 <esowiki> [[Deadfish]] https://esolangs.org/w/index.php?diff=60681&oldid=60680 * A * (-29) /* Powder */
10:55:33 <esowiki> [[Deadfish]] https://esolangs.org/w/index.php?diff=60682&oldid=60681 * A * (+113) Inaccurate description
11:07:45 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60683&oldid=60677 * A * (+37) /* Deadfish non-interactive partial interpreter */
11:08:59 <esowiki> [[Deadfish]] https://esolangs.org/w/index.php?diff=60684&oldid=60682 * A * (+13) /* Powder */
11:09:23 <esowiki> [[Deadfish]] https://esolangs.org/w/index.php?diff=60685&oldid=60684 * A * (-114) /* Unofficial MagicKit Assembler */
11:11:25 <esowiki> [[Deadfish]] https://esolangs.org/w/index.php?diff=60686&oldid=60685 * A * (+0) /* Powder */
11:12:17 <esowiki> [[Deadfish]] https://esolangs.org/w/index.php?diff=60687&oldid=60686 * A * (+56) /* Powder */
11:13:30 <esowiki> [[Deadfish]] https://esolangs.org/w/index.php?diff=60688&oldid=60687 * A * (-3882) /* Powder */
11:14:13 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60689&oldid=60683 * A * (-3888) /* Deadfish non-interactive partial interpreter */
11:28:51 <esowiki> [[Deadfish]] https://esolangs.org/w/index.php?diff=60690&oldid=60688 * A * (-128) /* Powder */
11:31:02 <esowiki> [[Deadfish]] https://esolangs.org/w/index.php?diff=60691&oldid=60690 * A * (+95) /* Powder */
11:35:00 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60692&oldid=60689 * A * (+241) /* Deadfish non-interactive partial interpreter */
11:38:21 <esowiki> [[Deadfish]] https://esolangs.org/w/index.php?diff=60693&oldid=60691 * A * (+241) /* Powder */
11:39:38 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60694&oldid=60692 * A * (+12) /* Deadfish non-interactive partial interpreter */
11:40:29 <esowiki> [[User:A]] https://esolangs.org/w/index.php?diff=60695&oldid=60636 * A * (+192)
11:52:14 -!- arseniiv has joined.
11:52:51 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60696&oldid=60694 * A * (+21587) /* Deadfish non-interactive partial interpreter */
11:53:04 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60697&oldid=60696 * A * (+0) /* Fibonacci Sequence */
11:54:05 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60698&oldid=60697 * A * (+40) /* Fibonacci sequence */
11:54:48 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60699&oldid=60698 * A * (+28) /* Fibonacci sequence */
11:55:21 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60700&oldid=60699 * A * (+17)
11:58:46 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60701&oldid=60700 * A * (+326) /* Fibonacci sequence */
11:59:35 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60702&oldid=60701 * A * (-6) /* Hello, world! */
12:00:05 <esowiki> [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=60703&oldid=60640 * A * (-7) /* Powder */
12:01:56 <int-e> fungot: spam?
12:01:56 <fungot> int-e: there must be some strangeness in the naming schemes tla imposes many naming schemes and behaviors on you, in fact
12:03:09 <int-e> fungot: Do you mean TLA the proof assistant^Wsystem?
12:03:10 <fungot> int-e: not unless i can implement different classes with these behaviors in some libraries i'm working on; this can be problematic, too! :)
12:04:00 <int-e> fungot: That's an amazing start, but can you do three perfectly sensible sentences in a row?
12:04:00 <fungot> int-e: thanks to the greenwich village halloween parade blocking some of the titles of everyone of my friends used c and i understand that
12:04:22 <int-e> ... not quite.
12:05:10 <int-e> ^style
12:05:10 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp ukparl youtube
12:05:29 <int-e> `grwp sentient
12:05:31 <HackEso> No output.
12:05:41 <int-e> `quote sentient
12:05:42 <HackEso> 645) <elliott> I'm not biased towards humanity over sentient .txt files. \ 1255) <int-e> fungot's irc is the uncanny semi-sentient style... where one can typically read half a sentence before noticing anything wrong <fungot> int-e: yes, i know
12:06:13 <int-e> `wc -l wisdom
12:06:14 <HackEso> wc: invalid option -- ' ' \ Try 'wc --help' for more information.
12:06:17 <int-e> `` wc -l wisdom
12:06:18 <HackEso> wc: wisdom: Is a directory \ 0 wisdom
12:06:31 <int-e> `` wc -l quotes # that was stupid
12:06:32 <HackEso> 1332 quotes
12:07:02 <int-e> . o O ( We have room for four more quotes. )
12:09:15 <shachaf> whoa, sentient .txt files
12:09:29 <shachaf> I just thought about that file for the first time in years (?) last weekend.
12:15:02 <int-e> Well, I don't get the reference.
12:15:45 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60704&oldid=60702 * A * (+35891) /* A simple adder code snippet */
12:15:49 <int-e> Do I have to finish ??? for the "Baba is All" achievement?
12:16:49 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60705&oldid=60704 * A * (+81) /* Factorial */
12:19:40 <int-e> Anyway, after all I think that Baba is You is quite good. The only problem is that for a number of levels I have the feeling that I've missed the intended solution... the mechanics are so complicated that it's really hard to avoid alternative solutions.
12:20:56 <int-e> (In some cases that is obvious... because they made bonus levels that presumably block the intended solution. So if the same solution works in the "easy" and "bonus" version of the level... I must have missed one :) )
12:23:21 <esowiki> [[Looping counter]] https://esolangs.org/w/index.php?diff=60706&oldid=57170 * A * (-187)
12:25:40 <esowiki> [[Disan Count]] https://esolangs.org/w/index.php?diff=60707&oldid=58773 * A * (+0) The C++ program won't run.
12:27:00 <int-e> Hah, the achievement statistics are hilarious. 52.8% 23.0% 15.9% 9.0% 5.7% 4.3% 2.8% 2.4% ...
12:27:41 <int-e> But I guess part of the reason is that the game is still fairly new.
12:37:01 -!- Lord_of_Life_ has joined.
12:39:37 -!- Lord_of_Life has quit (Ping timeout: 255 seconds).
12:39:43 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
12:42:33 -!- arseniiv has quit (Ping timeout: 245 seconds).
12:49:54 -!- arseniiv has joined.
12:54:05 <esowiki> [[User talk:Language]] N https://esolangs.org/w/index.php?oldid=60708 * A * (+669) Created page with "[[User talk:Language]] is an [[esoteric programming language]] by [[User:A]] that makes fun of user talks of this wiki. Please note that this page is not a discussion of the..."
12:54:30 <esowiki> [[User talk:Language]] https://esolangs.org/w/index.php?diff=60709&oldid=60708 * A * (+21) /* Syntax */
12:57:04 <esowiki> [[User talk:Language]] https://esolangs.org/w/index.php?diff=60710&oldid=60709 * A * (+319) /* Syntax */
13:01:36 <esowiki> [[User talk:Language]] https://esolangs.org/w/index.php?diff=60711&oldid=60710 * A * (+568) /* Syntax */
13:02:01 <arseniiv> wtf is A trying into meta now?
13:02:10 <arseniiv> damn damn damn
13:02:17 <arseniiv> (sorry)
13:02:43 <esowiki> [[User talk:Language]] https://esolangs.org/w/index.php?diff=60712&oldid=60711 * A * (-40) /* Syntax */
13:03:18 <esowiki> [[User talk:Language]] https://esolangs.org/w/index.php?diff=60713&oldid=60712 * A * (+28)
13:03:36 <esowiki> [[User talk:Language]] https://esolangs.org/w/index.php?diff=60714&oldid=60713 * A * (+10) /* Computational Class */
13:04:21 <esowiki> [[Joke language list]] https://esolangs.org/w/index.php?diff=60715&oldid=60559 * A * (+62) /* General languages */
13:05:58 <esowiki> [[User talk:Language]] https://esolangs.org/w/index.php?diff=60716&oldid=60714 * A * (+40)
13:07:50 <esowiki> [[User talk:Language]] https://esolangs.org/w/index.php?diff=60717&oldid=60716 * Arseniiv * (+270) /* Suggested extensions */ new section
13:18:10 <esowiki> [[Nope.]] https://esolangs.org/w/index.php?diff=60718&oldid=60532 * A * (+134)
13:24:44 <esowiki> [[Talk:Nope.]] https://esolangs.org/w/index.php?diff=60719&oldid=58992 * Arseniiv * (+236) /* Cat program */ new section
13:27:58 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60720&oldid=60705 * A * (+65) /* Documentation */
13:28:21 -!- AnotherTest has quit (Ping timeout: 250 seconds).
13:29:15 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60721&oldid=60720 * A * (-2) /* Examples */
13:29:45 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=60722&oldid=60641 * A * (-1) /* Powder */
13:29:53 -!- wob_jonas has joined.
13:30:07 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60723&oldid=60721 * A * (-67) /* Documentation */
13:30:10 <wob_jonas> `perl -e print 2**5**2, ",\n";
13:30:12 <HackEso> 33554432,
13:31:35 <wob_jonas> `? tsa
13:31:36 <HackEso> tsa? ¯\(°​_o)/¯
13:36:58 <esowiki> [[Talk:Powder]] N https://esolangs.org/w/index.php?oldid=60724 * Arseniiv * (+239) very very cool concept of a table-specified partial function
13:45:12 -!- xkapastel has joined.
14:31:58 <wob_jonas> `? tsr
14:31:59 <HackEso> tsr? ¯\(°​_o)/¯
14:34:46 -!- oerjan has joined.
14:36:40 -!- Sgeo__ has joined.
14:38:28 -!- Sgeo has joined.
14:38:38 <esowiki> [[Special:Log/newusers]] create * Hunar1997 * New user account
14:39:50 -!- Sgeo_ has quit (Ping timeout: 246 seconds).
14:41:02 -!- Sgeo__ has quit (Ping timeout: 250 seconds).
14:41:11 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60725&oldid=60644 * Hunar1997 * (+130) /* Introductions */
14:43:26 <wob_jonas> `? chalk
14:43:27 <HackEso> chalk? ¯\(°​_o)/¯
14:45:05 <esowiki> [[Talk:C2BF]] N https://esolangs.org/w/index.php?oldid=60726 * Hunar1997 * (+24) Created page with "The link no longer works"
14:52:57 <esowiki> [[User:Hunar1997]] N https://esolangs.org/w/index.php?oldid=60727 * Hunar1997 * (+206) Created page with "I'm a Physics student at University of Sulaimani, Kurdistan Regional Government/Iraq. I like programming .. You can contact me at [http://facebook.com/hunar1997 facebook] or m..."
14:53:53 <esowiki> [[User:Hunar1997]] https://esolangs.org/w/index.php?diff=60728&oldid=60727 * Hunar1997 * (+65)
14:57:48 <esowiki> [[Joke language list]] M https://esolangs.org/w/index.php?diff=60729&oldid=60715 * Oerjan * (+0) Aabeehilptz
15:02:22 <oerjan> hm gregor is not here
15:03:05 <oerjan> oh he's online
15:14:11 <esowiki> [[FBP]] N https://esolangs.org/w/index.php?oldid=60730 * Hunar1997 * (+2607) Created this page
15:16:03 <esowiki> [[Brainfuck]] https://esolangs.org/w/index.php?diff=60731&oldid=60328 * Hunar1997 * (+55)
15:17:59 <esowiki> [[Brainfuck algorithms]] https://esolangs.org/w/index.php?diff=60732&oldid=59505 * Hunar1997 * (+63)
15:18:35 <int-e> arseniiv: maybe they found https://esolangs.org/wiki/User:Language and one-upped that
15:19:06 * int-e wonders whether the "Langauge" type is intentional.
15:24:38 <int-e> It's interesting that the links to the 'User talk:Language' page don't work though...
15:25:57 -!- Bowserinator has quit (Remote host closed the connection).
15:26:10 -!- Bowserinator has joined.
15:26:30 <int-e> (Apparently the user talk pages are more special than though could be... I wonder why... can users be renamed, and that automatically renames their user pages? I don't understand Wikimedia's special pages.)
15:32:41 <oerjan> int-e: what links are not working? self links get turned into bold non-links, if that's what you're noticing.
15:32:54 <int-e> oh
15:33:19 <int-e> ... that's a bit unfortunate in this particular case, I think.
15:34:00 <int-e> at least for the link in 'Language (talk)'
15:34:55 <int-e> Oh well. Thanks for the explanation :)
15:35:52 <arseniiv> int-e: I think definitely, there is even a (unsuccessful?) pun about comp. power
15:36:47 <int-e> What's next though... Language:User talk, User:User talk, and User talk:User talk?
15:37:13 <int-e> And then there'll be a new category, User:Language derivatives.
15:37:21 <int-e> I sincerely hope A is not reading this :)
15:37:41 <oerjan> WE'LL SEE
15:41:23 <wob_jonas> int-e: nah, we'll probably move even this one to a page in the main namespace. we have precedents that the page name can differ from the language name because of mediawiki stuff
15:54:53 <arseniiv> int-e: I sincerely hope A is not reading this :) => oerjan neatly summed my reaction to this :D :D
15:54:58 -!- xkapastel has quit (Quit: Connection closed for inactivity).
16:15:00 <esowiki> [[FasterBrainfuckProgramming]] N https://esolangs.org/w/index.php?oldid=60733 * Hunar1997 * (+17) Redirected page to [[FBP]]
16:44:18 <int-e> . o O ( it's sad when people write simulators to do simple Bayesian analysis (error rate, false positve rate, false negative rate)... )
16:44:39 <int-e> context: https://twitter.com/AlecMuffett/status/1097149658374291456
17:02:39 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
17:04:36 -!- LKoen has joined.
17:07:29 -!- AnotherTest has joined.
17:23:12 <esowiki> [[Talk:Point operator]] https://esolangs.org/w/index.php?diff=60734&oldid=53081 * EnilKoder * (+493) enilKoder's idea
17:27:25 <esowiki> [[Talk:Point operator]] M https://esolangs.org/w/index.php?diff=60735&oldid=60734 * EnilKoder * (+174) /* Workable point operator. */
17:30:29 -!- oerjan has quit (Quit: Later).
18:02:31 -!- LKoen has quit (Remote host closed the connection).
18:07:52 -!- b_jonas has joined.
18:09:13 <b_jonas> `? tlr
18:09:14 <b_jonas> `? tla
18:09:15 <HackEso> tlr? ¯\(°​_o)/¯
18:09:16 <HackEso> tla? ¯\(°​_o)/¯
18:13:44 <int-e> https://en.wikipedia.org/wiki/TLA%2B "TLA is an acronym for Temporal Logic of Actions. "
18:14:00 <int-e> It's also a Leslie Lamport thing, probably better known for LaTeX.
18:27:39 <kmc> and Paxos and Lamport signatures!
18:29:20 -!- LKoen has joined.
18:48:45 -!- xkapastel has joined.
18:49:58 <b_jonas> `? group
18:49:59 <HackEso> Groups are just loops with the property of associativity.
18:50:24 <b_jonas> `? Abel group
18:50:26 <HackEso> Abel group? ¯\(°​_o)/¯
18:50:26 <b_jonas> `? Abel-group
18:50:28 <HackEso> Abel-group? ¯\(°​_o)/¯
18:50:33 <b_jonas> `? Abelian group
18:50:35 <HackEso> Abelian group? ¯\(°​_o)/¯
18:50:35 <b_jonas> `? Abelean group
18:50:37 <HackEso> Abelean group? ¯\(°​_o)/¯
18:51:23 <int-e> FWIW, "abelian" is the common spelling.
18:55:05 <b_jonas> groups are just categories on one object
19:29:01 -!- LKoen has quit (Remote host closed the connection).
19:34:36 <int-e> hmm. "groups are just monoids"
19:35:20 <b_jonas> they're not just monoids
19:35:34 <int-e> b_jonas: that's what you just wrote though
19:35:47 <b_jonas> yeah
19:42:17 <b_jonas> `? mp
19:42:19 <HackEso> mp? ¯\(°​_o)/¯
19:42:23 <b_jonas> `? MP
19:42:24 <HackEso> MP? ¯\(°​_o)/¯
19:42:33 <b_jonas> MP is minister president or member of the parliament, we're not sure which one
19:44:11 <int-e> modus ponens
19:44:23 <b_jonas> `? mapole
19:44:24 <HackEso> A mapole is a thwackamacallit built from maple according to Canadian standards. The army version includes a spork, a corkscrew and a moose whistle. A regulatory mapole measures 6’ by 12 kg, ±0.5 inHg.
19:44:42 <int-e> machine pistol
19:49:31 <b_jonas> `? 1337
19:49:32 <HackEso> 1337 15 50 905
19:50:05 <b_jonas> `forget 323
19:50:13 <HackEso> Forget what?
20:08:39 -!- Phantom_Hoover has joined.
20:08:39 -!- Phantom_Hoover has quit (Changing host).
20:08:39 -!- Phantom_Hoover has joined.
20:20:11 <arseniiv> now I remember why semicategories. Semigroups are just semicategories on one object
20:21:04 <arseniiv> HackEso> 1337 15 50 905 => leet is so <what>?
20:21:37 <arseniiv> ah maybe 90s
20:22:13 <arseniiv> `? commutative
20:22:15 <HackEso> commutative? ¯\(°​_o)/¯
20:22:25 <arseniiv> `? commutative*
20:22:26 <HackEso> commutative*? ¯\(°​_o)/¯
20:22:45 <arseniiv> `? *-algebra
20:22:46 <HackEso> ​*-algebra? ¯\(°​_o)/¯
20:22:51 <arseniiv> `? C*-algebra
20:22:52 <HackEso> C*-algebra? ¯\(°​_o)/¯
20:22:58 <arseniiv> why
20:30:04 -!- FreeFull has joined.
20:44:38 -!- arseniiv has quit (Ping timeout: 245 seconds).
20:46:45 -!- Essadon has joined.
20:56:07 <esowiki> [[RarVM]] M https://esolangs.org/w/index.php?diff=60736&oldid=60652 * Void * (+1)
20:58:27 -!- xkapastel has quit (Quit: Connection closed for inactivity).
21:09:32 <esowiki> [[Control character]] N https://esolangs.org/w/index.php?oldid=60737 * EnilKoder * (+3647) Created page with "==Control Character== This programming language is currently a work in progress.<br> Control Character is an esoterical language by enilKoder that is inspired by [[Whitespace]..."
21:23:12 <b_jonas> `? bonsaikitten
21:23:13 <HackEso> Bonsaikitten is the cat typing behind the glass of the CRT when you run the cat command.
21:25:53 <b_jonas> `? hackego
21:25:55 <HackEso> HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing. HackEgo is the slowest bot in all Mexico!
21:25:56 <b_jonas> `? warranty
21:25:57 <HackEso> HACKEGO COMES WITHOUT WARRANTY, EXPRESS OR IMPLIED, AND IS UNFIT FOR ANY PURPOSE, INCLUDING THE PURPOSE OF BEING UNFIT FOR ANYTHING. Its warranty has expired.
21:27:38 <b_jonas> `? tmp
21:27:39 <HackEso> tmp/ is a directory for files that are not worth saving in HackEgo history, but which should still outlive a single command. NOTE: It interacts funnily with HackEgo's lock and re-run commit check; files can DISAPPEAR if you don't know what you're doing. Basically, don't modify files inside and outside tmp/ in the same HackEgo command.
21:30:03 <b_jonas> `? run
21:30:08 <HackEso> ​`run <command> is HackEgo's builtin for running a command with full shell syntax. These days most use the user-made `` or ``` shortcuts instead, although all of the three have subtle differences, with `run being the most plain option (also, unlike the rest it cannot be called from other commands.)
21:30:18 <b_jonas> `? guarantee
21:30:20 <HackEso> HackEgo is guaranteed merchantable.
21:30:56 <b_jonas> `help
21:30:57 <HackEso> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch [<output-file>] <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
21:32:48 <b_jonas> huh
21:32:52 <b_jonas> how does `help work?
21:34:00 <b_jonas> `? `
21:34:08 <HackEso> ​`! emulates the ! command of our former bot EgoBot. You write `! then the name of the language then a program, and it runs the program you give and returns the result. We used to use it to test out esoprograms in-channel all the time, but the set of included esolangs is fairly old now and so it's rarely used.
21:34:09 <b_jonas> `? !
21:34:09 <HackEso> ​! is a syntax used in Haskell and Prolog for solving evaluation order problems.
21:34:12 <b_jonas> `? `!
21:34:14 <HackEso> ​`! is a command that runs interpreters. Supposedly. Nobody actually uses it, or knows how it works. It has some historical significance, where it originally replaced some previous bot of #esoteric that was not as customizable as HackEgo.
21:53:13 <esowiki> [[RarVM]] M https://esolangs.org/w/index.php?diff=60738&oldid=60736 * Void * (+376)
22:14:21 -!- ais523 has joined.
22:17:42 -!- LKoen has joined.
22:18:21 <b_jonas> I don't understand why that's called wisdom/\`
22:21:00 <b_jonas> hmm, that might be a problem with learn
22:21:04 <b_jonas> look
22:21:21 <b_jonas> ``` hg log -T "{id}:{date|shortdate}:{desc}\n" -l 1 wisdom/\`
22:21:22 <HackEso> ​:2018-09-09:<ais523> learn `! emulates the ! command of our former bot EgoBot. You write `! then the name of the language then a program, and it runs the program you give and returns the result. We used to use it to test out esoprograms in-channel all the time, but the set of included esolangs is fairly old now and so it\'s rarely used.
22:21:36 <b_jonas> it seems like he wants to learn to wisdom/\`\! but learn misunderstands
22:21:43 <b_jonas> and you see similar stuff below:
22:23:01 <b_jonas> ``` hg log -T "{rev}:{date|shortdate}:{files}:{desc}\n" -r 6530
22:23:02 <HackEso> 6530:2016-01-08:wisdom/`:<Elronnd> learn `? this | this
22:23:39 <b_jonas> ais523: is that meant to be on wisdom/\` or on wisdom/\`\?
22:23:41 <b_jonas> um
22:23:44 <b_jonas> on wisdom/\`\!
22:24:00 <ais523> it's meant to be triggered by `wisdom `!
22:24:26 <b_jonas> ok. I'll have to merge it then
22:24:29 <b_jonas> `? `
22:24:29 <b_jonas> `? `~
22:24:30 <HackEso> ​`! emulates the ! command of our former bot EgoBot. You write `! then the name of the language then a program, and it runs the program you give and returns the result. We used to use it to test out esoprograms in-channel all the time, but the set of included esolangs is fairly old now and so it's rarely used.
22:24:31 <b_jonas> `? `
22:24:31 <HackEso> ​`~? ¯\(°​_o)/¯
22:24:32 <HackEso> ​`! emulates the ! command of our former bot EgoBot. You write `! then the name of the language then a program, and it runs the program you give and returns the result. We used to use it to test out esoprograms in-channel all the time, but the set of included esolangs is fairly old now and so it's rarely used.
22:24:32 <b_jonas> `? `!
22:24:33 <HackEso> ​`! is a command that runs interpreters. Supposedly. Nobody actually uses it, or knows how it works. It has some historical significance, where it originally replaced some previous bot of #esoteric that was not as customizable as HackEgo.
22:25:24 <b_jonas> ``` mv -v wisdom/\` wisdom/\`\!
22:25:26 <HackEso> ​'wisdom/`' -> 'wisdom/`!'
22:25:28 <b_jonas> `? `
22:25:29 <HackEso> ​`? ¯\(°​_o)/¯
22:25:31 <b_jonas> `? `!
22:25:32 <HackEso> ​`! emulates the ! command of our former bot EgoBot. You write `! then the name of the language then a program, and it runs the program you give and returns the result. We used to use it to test out esoprograms in-channel all the time, but the set of included esolangs is fairly old now and so it's rarely used.
22:25:33 <b_jonas> `? ``
22:25:34 <HackEso> ​``? ¯\(°​_o)/¯
22:25:38 <b_jonas> `? `run
22:25:39 <HackEso> ​`run <command> is HackEgo's builtin for running a command with full shell syntax. These days most use the user-made `` or ``` shortcuts instead, although all of the three have subtle differences, with `run being the most plain option (also, unlike the rest it cannot be called from other commands.)
22:29:13 <b_jonas> ``` hg log -T "{rev}:{date|shortdate}:{files}:{desc}\n" -r 7326
22:29:14 <HackEso> 7326:2016-03-30:wisdom/`:<rdococ> learn `? is a blue tit
22:29:22 <b_jonas> should I rescue this too to wisdom/\`\? ?
22:29:34 <b_jonas> `forget platypus
22:29:35 <HackEso> rm: cannot remove 'wisdom/platypus': No such file or directory
22:29:38 <b_jonas> `forget society
22:29:39 <HackEso> Forget what?
22:33:07 -!- ais523 has quit (Remote host closed the connection).
22:34:19 -!- ais523 has joined.
22:47:21 -!- ais523 has quit (Remote host closed the connection).
22:48:35 -!- ais523 has joined.
22:58:16 -!- Remavas has joined.
22:59:37 -!- moei has joined.
23:11:44 -!- Lord_of_Life has quit (Excess Flood).
23:14:31 -!- Lord_of_Life has joined.
23:17:40 -!- AnotherTest has quit (Ping timeout: 258 seconds).
23:19:49 -!- LKoen has quit (Remote host closed the connection).
23:20:45 -!- LKoen has joined.
23:21:31 -!- oerjan has joined.
23:23:35 <oerjan> `? abelian group
23:23:37 <HackEso> abelian group? ¯\(°​_o)/¯
23:24:11 <oerjan> `le/rn abelian group//An abelian group is a group that spends all its time commuting, and therefore never does any real work.
23:24:14 <HackEso> Learned 'abelian group': An abelian group is a group that spends all its time commuting, and therefore never does any real work.
23:26:25 -!- ais523 has quit (Quit: quit).
23:26:36 <oerjan> `before wisdom/323
23:26:38 <HackEso> wisdom/323//323 is a quine in McCulloch's first machine.
23:27:45 <oerjan> i never finished my analysis of the second machine
23:32:23 <oerjan> all the cases are simple to check for halting, except for the ones that evolve to having exactly two 5s and no 3s, which behave like a kind of iterated map of natural number vectors
23:35:11 <oerjan> <arseniiv> ah maybe 90s <-- iirc that was my intention
23:35:20 <oerjan> `dowg 1337
23:35:21 <HackEso> 6245:2015-11-23 <oerjän> learn 1337 15 50 905
23:41:16 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:41:30 -!- Essadon has quit (Quit: Qutting).
23:44:01 <oerjan> <b_jonas> how does `help work? <-- `help was a purely builtin command, but now redirects to bin/help, _except_ when called without an argument.
23:44:13 <oerjan> `cat bin/help
23:44:14 <HackEso> ​\? "$(echo "$1" | sed 's/^[^`]/`&/')"
23:49:30 <oerjan> `dowg `
23:49:32 <HackEso> 11759:2019-03-27 <b_jonäs> `` mv -v wisdom/\\` wisdom/\\`\\! \ 11620:2018-09-09 <ais52̈3> learn `! emulates the ! command of our former bot EgoBot. You write `! then the name of the language then a program, and it runs the program you give and returns the result. We used to use it to test out esoprograms in-channel all the time, but the set of included esolangs is fairly old now and so it\'s rarely used. \ 8425:2016-06-09 <b_jonäs> revert \ 8424:2016
23:50:01 <oerjan> `,2 dowg `
23:50:11 <HackEso> 2/2:016-06-09 <b_jonäs> learn `? is the command to query wisdom entries. \ 7327:2016-03-31 <shachäf> revert \ 7326:2016-03-30 <rdocöc> learn `? is a blue tit \ 6531:2016-01-08 <oerjän> revert \ 6530:2016-01-08 <Elronn̈d> learn `? this | this \ 3047:2013-06-05 <oerjän> learn ` is the prefix to greatness.
23:51:56 <oerjan> `` hg cat -r 8425 wisdom/\` >wisdom/\`
23:51:59 <HackEso> No output.
23:52:02 <oerjan> `? `
23:52:06 <HackEso> ​` is the prefix to greatness.
23:54:17 <oerjan> <b_jonas> should I rescue this too to wisdom/\`\? ? <-- no.
23:54:24 <oerjan> `? `?
23:54:25 <HackEso> ​​`? ¯\(°​_o)/¯
23:54:41 <oerjan> `cat bin/`?
23:54:42 <HackEso> cat: 'bin/`?': No such file or directory
23:54:53 <oerjan> `dowg `?
23:54:54 <HackEso> 10049:2016-12-30 <zgrëp> le/rn `?//\xe2\x80\x8b`? \xc2\xaf\\(\xc2\xb0\xe2\x80\x8b_o)/\xc2\xaf \ 10048:2016-12-30 <zgrëp> le/rn `?//See `? `?. \ 8429:2016-06-10 <oerjän> undo 8426 \ 8426:2016-06-09 <b_jonäs> slashlearn `?/`? is the command to query wisdom entries. \ 5693:2015-06-24 <oerjän> revert \ 5692:2015-06-24 <hppavilion1̈_> learn `? Woooow you\'re sooooooooo metaaaa- No. \ 5197:2014-12-13 <oerjän> sed -i \'s/\xc2\xb0/\xc2\xb0\xe2\x80\x8
23:55:10 <oerjan> oops
23:55:20 <oerjan> `cat wisdom/`?
23:55:21 <HackEso> ​​`? ¯\(°​_o)/¯
23:56:29 <oerjan> `? platypus
23:56:30 <HackEso> platypus? ¯\(°​_o)/¯
23:56:41 <oerjan> `before wisdom/society
23:56:44 <HackEso> wisdom/society//Society's a platypus.
23:57:47 <oerjan> b_jonas: also bin/help currently works like `?, except that it tries matching starting with ` before matches without.
23:58:23 <oerjan> because entries starting with ` are more likely to be about commands
2019-03-28
00:02:54 <shachaf> man
00:03:01 <shachaf> so much work put into the HackEso ux
00:03:48 -!- tromp has quit (Remote host closed the connection).
00:05:08 <oerjan> one day archeologists will find its remains and wonder why the rest of the 21st century internet's ux wasn't as sane
00:16:02 <oerjan> my current favorite norwegian comic strip https://www.dagbladet.no/tegneserie/dunce/
00:17:50 <oerjan> (admittedly i'm not really following any other than those at that website)
00:36:41 -!- tromp has joined.
00:37:46 -!- Lord_of_Life_ has joined.
00:39:37 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
00:40:11 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:41:12 -!- tromp has quit (Ping timeout: 250 seconds).
01:05:21 -!- Remavas has quit (Quit: Leaving).
01:12: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.”).
01:31:39 -!- tromp has joined.
02:26:22 <Sgeo> `ping
02:26:23 <HackEso> pong
02:27:39 -!- sftp has quit (Ping timeout: 252 seconds).
02:29:12 -!- sftp has joined.
03:33:25 -!- FreeFull has quit.
04:13:24 -!- oerjan has quit (Quit: Nite).
07:22:02 <esowiki> [[TrumpScript]] M https://esolangs.org/w/index.php?diff=60739&oldid=46220 * Salpynx * (+89) remove unused "massive stub" template ref and add better categories
07:38:46 <esowiki> [[D.U.C.K.]] M https://esolangs.org/w/index.php?diff=60740&oldid=57504 * Salpynx * (+133) remove link to bad year category, correct spelling
07:55:43 -!- tromp has quit (Remote host closed the connection).
07:55:56 -!- tromp has joined.
07:58:43 <b_jonas> oerjan: I see
07:59:53 <b_jonas> oerjan: I just found that bin/\? doesn't work when you cd to a different directory first
08:49:02 -!- tromp has quit (Remote host closed the connection).
09:00:28 -!- AnotherTest has joined.
09:00:31 -!- arseniiv has joined.
09:02:51 -!- b_jonas has quit (Quit: leaving).
09:18:36 -!- tromp has joined.
09:29:05 -!- AnotherTest has quit (Ping timeout: 258 seconds).
10:17:06 <esowiki> [[Top-based turning]] N https://esolangs.org/w/index.php?oldid=60741 * A * (+357) Created page with "[[Top-based turning]] is an [[esoteric programming language]] influenced by [[The Waterfall Model]] and [[Befunge]]. [[Category:Languages]] [[Category:2019]] Category:Unknow..."
10:21:32 <esowiki> [[Top-based turning]] https://esolangs.org/w/index.php?diff=60742&oldid=60741 * A * (+570)
10:26:07 <esowiki> [[Top-based turning]] https://esolangs.org/w/index.php?diff=60743&oldid=60742 * A * (+739) /* The language */
10:28:48 -!- danieljabailey has quit (Ping timeout: 245 seconds).
10:29:38 <esowiki> [[Top-based turning]] https://esolangs.org/w/index.php?diff=60744&oldid=60743 * A * (+357) /* Commands */
10:31:25 <esowiki> [[Top-based turning]] https://esolangs.org/w/index.php?diff=60745&oldid=60744 * A * (+228)
10:31:39 -!- danieljabailey has joined.
10:31:55 <esowiki> [[Top-based turning]] https://esolangs.org/w/index.php?diff=60746&oldid=60745 * A * (+33) /* Commands */
10:32:25 <arseniiv> maybe I could stand A’s creations, if only they didn’t claim completeness and other serious things erroneously
10:33:42 <esowiki> [[Top-based turning]] https://esolangs.org/w/index.php?diff=60747&oldid=60746 * A * (+190) /* Example program */
10:35:19 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60748&oldid=60723 * A * (-1207) This article is long enough. This is unneccesary.
10:36:27 <esowiki> [[Top-based turning]] https://esolangs.org/w/index.php?diff=60749&oldid=60747 * A * (+30) /* The language */
10:38:03 <esowiki> [[Top-based turning]] https://esolangs.org/w/index.php?diff=60750&oldid=60749 * A * (+188) /* Example program */
10:39:30 <esowiki> [[Top-based turning]] https://esolangs.org/w/index.php?diff=60751&oldid=60750 * A * (+41) /* Example program */
10:39:56 <esowiki> [[Top-based turning]] https://esolangs.org/w/index.php?diff=60752&oldid=60751 * A * (-27) /* Commands */
10:42:36 <esowiki> [[Talk:Powder]] https://esolangs.org/w/index.php?diff=60753&oldid=60724 * A * (+245) /* Fibonacci sequence, factorials etc. */
10:42:49 <esowiki> [[Talk:Powder]] https://esolangs.org/w/index.php?diff=60754&oldid=60753 * A * (+1)
10:50:06 <esowiki> [[Talk:Powder]] M https://esolangs.org/w/index.php?diff=60755&oldid=60754 * Arseniiv * (+132) /* Fibonacci sequence, factorials etc. */
10:51:06 <arseniiv> is there a wiki template to mark a claim as unfounded?
11:05:15 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60756&oldid=60748 * A * (-14989) /* Fibonacci sequence */
11:05:16 <esowiki> [[Nope.]] M https://esolangs.org/w/index.php?diff=60757&oldid=60718 * Arseniiv * (+80) link to discussion about an unexistent cat program
11:05:52 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=60758&oldid=60756 * A * (-27757) /* Factorial */
11:08:10 <esowiki> [[Talk:Powder]] https://esolangs.org/w/index.php?diff=60759&oldid=60755 * A * (+253)
11:11:15 <esowiki> [[Talk:Powder]] https://esolangs.org/w/index.php?diff=60760&oldid=60759 * A * (-870) Blanked the page
11:21:17 -!- bobby has quit (Ping timeout: 245 seconds).
11:23:52 -!- bobby has joined.
11:33:22 -!- Bob- has joined.
11:34:26 -!- bobby has quit (Ping timeout: 258 seconds).
11:38:58 <arseniiv> and again, it’s cleaning time
11:45:43 -!- Sgeo has quit (Read error: Connection reset by peer).
11:45:47 -!- arseniiv has quit (Ping timeout: 246 seconds).
11:46:12 -!- Sgeo has joined.
11:47:37 <esowiki> [[Talk:Powder]] https://esolangs.org/w/index.php?diff=60761&oldid=60760 * Ais523 * (+870) Undo revision 60760 by [[Special:Contributions/A|A]] ([[User talk:A|talk]]): please do not blank mainspace/talkspace pages which have non-minimal content from other users
11:48:56 -!- arseniiv has joined.
11:52:28 <arseniiv> on a positive things, I now think about an ideas akin to https://esolangs.org/wiki/Entropy about resources that become unusable over time, but without loss of precision, simply breaking and raising an error on use/access. Though, in a straight-forward implementation this will end in boring copying all over the place and not much else
11:52:46 <arseniiv> s/things/side
12:00:08 <esowiki> [[Top-based turning]] https://esolangs.org/w/index.php?diff=60762&oldid=60752 * A * (+39) /* Example program */
12:00:41 <esowiki> [[Top-based turning]] https://esolangs.org/w/index.php?diff=60763&oldid=60762 * A * (+2) /* Example program */
12:01:48 <esowiki> [[Top-based turning]] https://esolangs.org/w/index.php?diff=60764&oldid=60763 * A * (+14) Another small edit...
12:31:25 <arseniiv> > Iexp has an incredible and innovative syntax which replaces all need for parentheses, called the dot notation. The precedence of an operator is determinated from the number of dots before it. More dots, higher precedence.
12:31:27 <lambdabot> <hint>:1:85: error: parse error on input ‘,’
12:31:40 <arseniiv> haha I’ve seen that in ye olden logic books
12:32:13 <arseniiv> though there were dots on both sides of operators. But in other regards it should be the same idea :D
12:32:28 <arseniiv> sorry lambdabot
12:33:19 <esowiki> [[Pxem]] https://esolangs.org/w/index.php?diff=60765&oldid=57783 * YamTokWae * (+141) pronounciation
12:33:57 <arseniiv> oh! is there an esolang based on what is known about Turing-completeness of word-equality problem for some semigroups (IIRC)?
12:34:07 <arseniiv> I bet it is
12:40:58 -!- Lord_of_Life has quit (Ping timeout: 250 seconds).
12:41:52 -!- Lord_of_Life has joined.
12:42:19 <esowiki> [[Pxem]] https://esolangs.org/w/index.php?diff=60766&oldid=60765 * YamTokWae * (+220) /* Hello, world! */
12:46:19 <esowiki> [[PPAP++]] https://esolangs.org/w/index.php?diff=60767&oldid=50099 * YamTokWae * (+36)
12:54:01 <esowiki> [[Z]] https://esolangs.org/w/index.php?diff=60768&oldid=57109 * YamTokWae * (+12) Too bad, dead link....
12:56:37 <esowiki> [[Y (programming language)]] https://esolangs.org/w/index.php?diff=60769&oldid=46618 * YamTokWae * (+73)
13:01:00 <esowiki> [[Template:Stub]] https://esolangs.org/w/index.php?diff=60770&oldid=36025 * YamTokWae * (+45) Why not categorize?
13:04:33 -!- danieljabailey has quit (Ping timeout: 268 seconds).
13:08:04 -!- wob_jonas has joined.
13:08:17 <wob_jonas> arseniiv: http://www.madore.org/~david/weblog/d.2015-12-28.2347.html#d.2015-12-28.2347 the details get subtle
13:10:46 -!- danieljabailey has joined.
13:13:11 <arseniiv> wob_jonas: mmm
13:23:54 <arseniiv> another idea about breaking: we have an infinite graph whose edges are labeled with operations (assume concatenative language), and a program is a simple path,
13:25:13 <arseniiv> . The graph should have to some degree a regular structure to allow Turing-completeness
13:26:14 <arseniiv> it is like we burn vertices and edges on our way, so we can’t pass through them a second time
13:30:59 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
13:33:56 <arseniiv> but if the graph is plain enough, e. g. its vertices are A → N and there’s an edge from f to g iff g(x) = f(x) + [x == c], labeled c, then we can map any string on A to even a unique simple path, and that’s not interesting at all
13:34:37 <arseniiv> oops, unique if we are bound to start in the same vertex each time
13:35:27 <arseniiv> we should probably require that vertex to be fixed
13:35:46 <arseniiv> so the ultimate question is, what graph
13:36:28 <esowiki> [[Template:Distinguish]] https://esolangs.org/w/index.php?diff=60771&oldid=55621 * YamTokWae * (+943) WTF the useless template was.... Now it's useful now!
13:40:17 <esowiki> [[Template:Distinguish/Confusion]] https://esolangs.org/w/index.php?diff=60772&oldid=55616 * YamTokWae * (+1022)
13:41:49 <esowiki> [[Y]] https://esolangs.org/w/index.php?diff=60773&oldid=9601 * YamTokWae * (+112)
13:42:23 <esowiki> [[Template:Distinguish]] https://esolangs.org/w/index.php?diff=60774&oldid=60771 * YamTokWae * (-943) Undo revision 60771 by [[Special:Contributions/YamTokWae|YamTokWae]] ([[User talk:YamTokWae|talk]]) (Sorry, I accidentally misread pagename.)
13:43:39 <esowiki> [[Y (programming language)]] https://esolangs.org/w/index.php?diff=60775&oldid=60769 * YamTokWae * (+115)
13:49:27 -!- wob_jonas has joined.
13:49:32 <wob_jonas> arseniiv: try the graph of colors in Piet
13:51:39 <esowiki> [[Template:Realstub]] M https://esolangs.org/w/index.php?diff=60776&oldid=8410 * YamTokWae * (+2) SORTKEY plz....
13:52:13 <esowiki> [[Template:Realstub]] M https://esolangs.org/w/index.php?diff=60777&oldid=60776 * YamTokWae * (+0) How should it be categorized?
13:54:44 <esowiki> [[Category:Stubs]] https://esolangs.org/w/index.php?diff=60778&oldid=8091 * YamTokWae * (+48)
13:54:54 <esowiki> [[Template:Stub]] https://esolangs.org/w/index.php?diff=60779&oldid=60770 * YamTokWae * (+2)
13:55:12 <esowiki> [[Template:Stub]] https://esolangs.org/w/index.php?diff=60780&oldid=60779 * YamTokWae * (+18)
13:59:10 -!- YamTokWae has joined.
13:59:19 <YamTokWae> Hello?
13:59:29 <YamTokWae> 1st time 2 use IRC
13:59:51 <YamTokWae> \help
14:00:19 <YamTokWae> !delete above message
14:00:23 <YamTokWae> ...?
14:00:45 <Taneb> YamTokWae: you can't delete or edit past IRC messages
14:00:55 <Taneb> `welcome YamTokWae
14:00:56 <HackEso> YamTokWae: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <https://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
14:01:10 <YamTokWae> I'm active there
14:01:15 <YamTokWae> (sometimes
14:01:32 <YamTokWae> What do you usually talk here?
14:01:41 <Taneb> Weird programming stuff
14:01:49 <Taneb> And other assorted CS and/or puzzly things
14:02:08 <YamTokWae> i see
14:02:18 <YamTokWae> btw do you discuss policy of wiki?
14:03:22 -!- AnotherTest has joined.
14:04:33 <int-e> We do, on occasion. esowiki (a bot) reports on edits so that's a constant reminder.
14:04:35 <YamTokWae> Hi :AnotherTest
14:06:10 <YamTokWae> I see....
14:09:31 <YamTokWae> leaving, bye
14:09:33 -!- YamTokWae has left.
14:10:58 <arseniiv> hm which of b_jonas nicknames should I use to @tell him…
14:11:47 <wob_jonas> arseniiv: tell it to wob_jonas
14:12:30 <arseniiv> wait, it you’re still here why my client couldn’t add your name to the post field, wierd
14:12:53 <arseniiv> weird*
14:13:59 <arseniiv> (and I thought I specifically cannot make a typo in this word)
14:15:45 <arseniiv> wob_jonas: okay, I think Piet colors is a neat idea, but once again if there are edges of all colors going out of any vertex, then it’s quite bland, and if there aren’t, then for TC-ness we should carefully pick a graph
15:03:44 -!- AnotherTest has quit (Ping timeout: 258 seconds).
15:05:12 -!- Sgeo_ has joined.
15:08:34 -!- Sgeo has quit (Ping timeout: 255 seconds).
15:14:42 -!- Sgeo__ has joined.
15:17:32 -!- Sgeo_ has quit (Ping timeout: 245 seconds).
15:24:46 -!- pikhq has quit (Ping timeout: 255 seconds).
15:26:03 -!- pikhq has joined.
15:39:34 -!- oerjan has joined.
15:43:11 <oerjan> <arseniiv> is there a wiki template to mark a claim as unfounded? <-- {{fact}}
15:43:48 <oerjan> although that's not quite appropriate for erroneous proofs...
15:45:28 <oerjan> unless you identify an actually wrong assumption.
15:48:48 <oerjan> <arseniiv> haha I’ve seen that in ye olden logic books <-- i remember that too, i think in russell/whitehead's principia mathematica
15:51:00 -!- wob_jonas has quit (K-Lined).
16:03:33 -!- int-e has left ("LAW-ABIDING CHICKEN").
16:03:34 -!- int-e has joined.
16:12:03 <oerjan> wob_jonas got K-Lined?
16:12:35 <oerjan> and int-e is displaying signs of boily withdrawal
16:18:33 -!- Essadon has joined.
16:18:49 -!- Essadon has quit (Max SendQ exceeded).
16:32:23 -!- tromp has quit (Remote host closed the connection).
16:51:08 -!- AnotherTest has joined.
17:14:20 -!- tromp has joined.
17:30:59 -!- oerjan has quit (Quit: Later).
17:34:23 <arseniiv> @tell oerjan in case of A, I think there rarely are proofs at all
17:34:23 <lambdabot> Consider it noted.
17:36:24 <arseniiv> ah I see, {{fact}} is equivalent to {{cn}}, which is “[citation needed]”, which is quite not applicable here
18:37:31 -!- b_jonas has joined.
18:38:56 <b_jonas> oerjan: looks like so
18:44:59 -!- tromp has quit (Remote host closed the connection).
18:45:14 -!- tromp has joined.
19:01:42 <b_jonas> `? garlic
19:01:43 <HackEso> garlic? ¯\(°​_o)/¯
19:01:50 <b_jonas> `? underneath
19:01:51 <HackEso> underneath? ¯\(°​_o)/¯
19:01:51 <b_jonas> `? overneath
19:01:52 <HackEso> overneath? ¯\(°​_o)/¯
19:01:54 <b_jonas> `? besidesneath
19:01:56 <HackEso> besidesneath? ¯\(°​_o)/¯
19:02:00 <b_jonas> `? nextneath to
19:02:01 <HackEso> nextneath to? ¯\(°​_o)/¯
19:04:51 -!- tromp has quit (Remote host closed the connection).
19:13:57 <b_jonas> `? behindneath
19:13:58 <HackEso> behindneath? ¯\(°​_o)/¯
19:40:50 -!- tromp has joined.
20:20:29 -!- skizzy has joined.
20:53:51 <esowiki> [[Control character]] https://esolangs.org/w/index.php?diff=60781&oldid=60737 * EnilKoder * (-3647) Blanked the page
20:54:12 <kmc> I haven't seen boily in a while :(
20:54:24 <esowiki> [[Control character]] https://esolangs.org/w/index.php?diff=60782&oldid=60781 * EnilKoder * (+3647)
20:55:04 <esowiki> [[Special:Log/move]] move * EnilKoder * moved [[Control character]] to [[Control Character]]: Capitalization of the first C in Character
20:55:46 <esowiki> [[Control character]] https://esolangs.org/w/index.php?diff=60785&oldid=60784 * EnilKoder * (-31) Blanked the page
20:57:34 -!- Phantom_Hoover has joined.
20:57:34 -!- Phantom_Hoover has quit (Changing host).
20:57:34 -!- Phantom_Hoover has joined.
21:00:10 <esowiki> [[Control character]] https://esolangs.org/w/index.php?diff=60786&oldid=60785 * EnilKoder * (+371)
21:02:00 -!- FreeFull has joined.
21:16:42 <b_jonas> kmc: yes, we haven't seen him in a while either
21:24:53 <esowiki> [[Control Character]] https://esolangs.org/w/index.php?diff=60787&oldid=60783 * EnilKoder * (+215)
21:28:21 <oren> anyone else play poly bridge
21:31:26 -!- skizzy has left ("Leaving").
22:02:43 -!- b_jonas has quit (Quit: leaving).
22:08:23 -!- moei has quit (Quit: Leaving...).
22:13:56 <esowiki> [[Special:Log/newusers]] create * Prof Apex * New user account
22:18:00 <kmc> hope he's doing well
22:27:49 <kmc> what is poly bridge
22:27:58 <kmc> is that when i play bridge with my wife and my girlfriend
22:30:51 <fizzie> I think it might've been a poly*gon*-oriented bridge-building game?
22:31:00 <fizzie> Faintly recall saw something about that.
22:41:49 -!- tromp has quit (Remote host closed the connection).
22:42:01 -!- tromp has joined.
22:55:00 -!- tromp has quit (Remote host closed the connection).
23:12:04 -!- tromp has joined.
23:31:00 -!- AnotherTest has quit (Ping timeout: 268 seconds).
23:35:57 -!- Cale has quit (Ping timeout: 252 seconds).
23:48:19 -!- Cale has joined.
23:54:03 -!- oerjan has joined.
23:56:58 <oerjan> @messages-cloudy
23:56:58 <lambdabot> arseniiv said 6h 22m 35s ago: in case of A, I think there rarely are proofs at all
23:59:09 <oerjan> <kmc> I haven't seen boily in a while :( <-- he sometimes posts on reddit.
23:59:54 <kmc> cool
2019-03-29
00:01:33 -!- arseniiv has quit (Ping timeout: 258 seconds).
00:04:12 -!- Phantom_Hoover has quit (Remote host closed the connection).
00:26:15 -!- tromp has quit (Remote host closed the connection).
00:39:23 -!- Lord_of_Life_ has joined.
00:41:43 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
00:41:46 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:48:14 -!- Melvar has quit (Quit: rebooting).
00:55:59 -!- Melvar has joined.
01:02:18 -!- tromp has joined.
02:26:44 -!- Melvar has quit (Ping timeout: 246 seconds).
02:27:09 -!- Melvar has joined.
03:29:14 -!- FreeFull has quit.
04:51:28 -!- oerjan has quit (Quit: Nite).
05:06:06 -!- rodgort has quit (Quit: Leaving).
05:10:15 -!- rodgort has joined.
05:46:01 <Hooloovo0> hmm, does hackego do IRP?
05:46:12 <Hooloovo0> little enough goes on in that channel anyway.., :(
06:11:35 -!- S_Gautam has joined.
06:45:36 -!- pikhq has quit (Ping timeout: 250 seconds).
07:13:18 <esowiki> [[A]] https://esolangs.org/w/index.php?diff=60788&oldid=60661 * Arcorann * (+75) /* Description */
07:39:22 -!- pikhq has joined.
08:02:25 -!- tromp has quit (Remote host closed the connection).
08:02:39 -!- tromp has joined.
08:20:47 -!- rodgort has quit (Quit: Leaving).
08:29:31 -!- rodgort has joined.
08:56:14 -!- AnotherTest has joined.
09:20:08 -!- wob_jonas has joined.
09:21:35 <wob_jonas> kmc: it's a bridge building game with exactly the same game design as the ones that we played twenty years ago, only this time it has useless but cheap optional additions such as sharing high scores on the internet or perspective graphics from the viewpoint of the running vehicle.
09:21:59 <wob_jonas> but the kids who were too young when these games were in fashion twenty years ago seem to enjoy playing it, so why not.
09:22:45 <wob_jonas> Hooloovo0: what do you mean by "IRP"?
09:23:54 <Taneb> `wiki IRP
09:23:55 <HackEso> https://esolangs.org/wiki/IRP
09:27:04 <wob_jonas> hmm
10:02:40 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
10:21:14 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
10:21:31 -!- AnotherTest has quit (Ping timeout: 250 seconds).
11:05:21 <myname> any idea for a terminal game i could create to play casually while doing otther stuff
11:06:21 <Taneb> Coworker and I made an infinite minesweeper in the terminal game
11:06:40 <myname> how does that work
11:07:04 <Taneb> You can only see a little bit of it at once, and you get a score based on how much you reveal
11:07:13 <Taneb> https://github.com/basile-henry/infinisweep
11:12:06 <myname> interesting idea
11:13:03 <myname> i found a pretty simple base for tick-based roguelikes
11:13:25 <myname> i am not sure how to make something out of it that's interesting enugh to play but not dangerously enough to die while i am not looking
11:16:56 <myname> i fail to build infinisweep x)
11:17:29 <Taneb> What OS are you on? And which version of GHC?
11:20:59 <myname> i guess it's an arch thing. haskell and arch do not work together that well
11:21:59 <myname> it complains about missing data.char :D
11:22:09 <myname> (and other obvious things)
11:22:27 <myname> There are files missing in the ‘base-4.12.0.0’ package
11:22:46 <myname> reinstalling base fails, though
11:23:05 <Taneb> That's a shame :(
11:24:02 <myname> install base claims here is already base-4.12, reinstalling claims there is not
11:24:16 <Taneb> I don't really know Arch, I'm afraid :(
11:24:34 -!- vertrex has quit (Ping timeout: 268 seconds).
11:24:43 -!- vertrex has joined.
11:24:48 <myname> i guess i woudl have to try gradually updating
11:25:02 <myname> i will have a look on how to actually force to install a specific version
11:26:22 <myname> [__0] rejecting: base-4.12.0.0, base-4.11.1.0, base-4.11.0.0, base-4.10.1.0,
11:26:22 <myname> base-4.10.0.0, base-4.9.1.0, base-4.9.0.0, base-4.8.2.0, base-4.8.1.0,
11:26:22 <myname> base-4.8.0.0, base-4.7.0.2, base-4.7.0.1, base-4.7.0.0, base-4.6.0.1,
11:26:22 <myname> base-4.6.0.0, base-4.5.1.0, base-4.5.0.0, base-4.4.1.0, base-4.4.0.0,
11:26:22 <myname> base-4.3.1.0, base-4.3.0.0, base-4.2.0.2, base-4.2.0.1, base-4.2.0.0,
11:26:25 <myname> base-4.1.0.0, base-4.0.0.0 (only already installed instances can be used)
11:26:27 <myname> [__0] rejecting: base-3.0.3.2 (conflict: base==3.0.3.2, base => base>=4.0 &&
11:26:30 <myname> <4.3)
11:26:32 <myname> i am pretty confused
11:26:38 <Taneb> So am I
11:30:24 <myname> lets check what happens if i uninstall ghc-libs
11:36:27 -!- arseniiv has joined.
11:44:20 <myname> it fails to build colour via the build process of infinisweep but i can install colour with cabal just fine
11:44:32 -!- Essadon has joined.
11:46:41 <Taneb> How were you trying to build it? cabal new-build?
11:46:46 <myname> yeah
11:47:04 <Taneb> Hmm, maybe make an issue?
11:47:29 <myname> it's most likely my setup. i will try on another system
11:54:46 -!- hakatashi has quit (Read error: Connection reset by peer).
11:55:04 -!- hakatashi has joined.
11:57:15 -!- hakatashi has quit (Read error: Connection reset by peer).
11:57:39 -!- hakatashi has joined.
12:33:16 -!- AnotherTest has joined.
12:38:03 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
12:43:39 -!- Lord_of_Life has joined.
12:48:19 -!- S_Gautam has joined.
13:01:04 -!- Vorpal has quit (Ping timeout: 246 seconds).
13:08:27 -!- Vorpal has joined.
13:10:38 -!- tromp has quit (Remote host closed the connection).
13:42:29 <esowiki> [[Control Character]] https://esolangs.org/w/index.php?diff=60789&oldid=60787 * EnilKoder * (+525)
13:45:01 -!- tromp has joined.
14:09:41 <esowiki> [[Control Character]] https://esolangs.org/w/index.php?diff=60790&oldid=60789 * EnilKoder * (+199)
14:09:53 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60791&oldid=60725 * Prof Apex * (+226) /* Introductions */
14:10:24 <esowiki> [[AsciiDots]] https://esolangs.org/w/index.php?diff=60792&oldid=58171 * Prof Apex * (+84) /* More Examples */
14:11:42 <esowiki> [[User:EnilKoder]] N https://esolangs.org/w/index.php?oldid=60793 * EnilKoder * (+636) Created page with "One time, I decided to create my own programming language: enilKode (named after my Scratch username enilK). Recently, I searched on Scratch for an interpreter, and I found a..."
14:13:10 <esowiki> [[User talk:EnilKoder]] N https://esolangs.org/w/index.php?oldid=60794 * EnilKoder * (+0) Created blank page
14:16:59 <esowiki> [[AsciiDots]] M https://esolangs.org/w/index.php?diff=60795&oldid=60792 * Prof Apex * (+0) /* More Examples */
14:21:20 <esowiki> [[EnilKode]] M https://esolangs.org/w/index.php?diff=60796&oldid=60555 * EnilKoder * (+30)
14:22:18 <esowiki> [[User:EnilKoder]] https://esolangs.org/w/index.php?diff=60797&oldid=60793 * EnilKoder * (+36)
15:35:51 -!- tromp has quit (Remote host closed the connection).
15:36:07 -!- tromp has joined.
15:36:55 -!- vertrex has quit (Ping timeout: 255 seconds).
15:51:10 -!- vertrex has joined.
15:51:10 -!- vertrex has quit (Changing host).
15:51:10 -!- vertrex has joined.
16:10:29 -!- oerjan has joined.
16:22:20 <oerjan> <Taneb> https://github.com/basile-henry/infinisweep <-- i'd imagine such a game could have the "problem" that after you've opened enough space, you'll be statistically unlikely to again _need_ to make a dangerous choice. does that happen with this?
16:23:01 <oerjan> as in, you could just ignore the dangerous ambiguities but still expand indefinitely.
16:24:11 <oerjan> (some might not consider that a problem. after all, tatham's (finite) version by default prevents unresolvable situations from arising.)
16:25:12 <Taneb> oerjan: that does happen in practice, after a while
16:28:49 <Taneb> I tend to still mess up nonetheless
16:29:39 <Taneb> We've been thinking of incorporating a time into the score somehow to mitigate this
16:34:54 <esowiki> [[AsciiDots]] https://esolangs.org/w/index.php?diff=60798&oldid=60795 * Prof Apex * (+69) /* More Examples */
16:37:50 <esowiki> [[AsciiDots]] M https://esolangs.org/w/index.php?diff=60799&oldid=60798 * Prof Apex * (-4) /* More Examples */
16:44:12 <esowiki> [[Y (programming language)]] M https://esolangs.org/w/index.php?diff=60800&oldid=60775 * Oerjan * (+12) Section name
16:48:22 * oerjan doesn't like puzzle games with time limits
16:49:13 <oerjan> although i guess minesweeper played for time is not really a puzzle game.
16:49:36 <oerjan> (reminiscing about back when i played it a lot on windows)
16:52:00 <int-e> oerjan: the original Sokoban was awful :)
16:52:24 <int-e> (time limit, single move undo, and one had to reboot to quit)
16:55:16 <esowiki> [[Y]] https://esolangs.org/w/index.php?diff=60801&oldid=60773 * Oerjan * (+6) He's not really The Fox. I think.
16:56:14 <Taneb> oerjan: not so much a time limit as a "if you're playing for score you better hustle"
16:58:31 <esowiki> [[Special:Log/delete]] delete * Oerjan * deleted "[[Control character]]": Author request: Well, I *suspect* the author wants it deleted - it looks a bit weird.
16:58:58 <oerjan> int-e: argh!
17:02:20 <oerjan> today's xkcd seems particularly meh
17:04:03 <int-e> . o O ( "Big Data" is spread out over the whole range. )
17:07:50 * kmc trollishly remarks "xkcd, is that still going?"
17:07:55 <kmc> `quote xkcd
17:07:56 <HackEso> 776) * oerjan makes a brainfuck derivative for quoting xkcds
17:08:08 <kmc> oerjan: was that an idea specifically to piss me off? :D
17:32:40 <int-e> Oh yeah... xkcd... how's that still a thing?
17:32:55 <int-e> (I'm still disappointed that there was no John Oliver this week)
17:51:36 <oerjan> kmc: i don't remember. PROBABLY.
18:02:43 -!- danieljabailey has quit (Quit: ZNC 1.6.6+deb1ubuntu0.1 - http://znc.in).
18:05:33 -!- adu has joined.
18:07:18 <int-e> hmm, almost two weeks: long-lived topic
18:10:50 <oerjan> i once set the topic on ##nomic and no one else changed it for 364 days.
18:11:15 <int-e> . o O ( New rule: The topic may only be changed on April 1 )
18:11:46 <oerjan> at which time i had of course started to hope it'd last a year. worst timing ever.
18:11:52 <kmc> oerjan: seems ironic
18:11:55 <int-e> (364 is suggestive)
18:12:29 <oerjan> (i set it on Agora's birthday, so for about a year it said "Happy birthday Agora!"
18:12:32 <oerjan> )
18:12:42 <int-e> hah
18:12:59 <oerjan> (or something very close to that.)
18:13:55 -!- b_jonas has joined.
18:13:59 <int-e> I'm sure Charles odgson would be proud.
18:14:39 <int-e> (Hmpf. The D was there but my terminal betrayed me and I deleted it.)
18:15:22 <int-e> @google unbirthday
18:15:23 <lambdabot> https://en.wikipedia.org/wiki/Unbirthday
18:15:37 <oerjan> 's ok google put it right back in. and then i got annoyed because i didn't realize it was a typo.
18:15:37 <b_jonas> oerjan: but you can play minesweeper without a time limit
18:16:03 <oerjan> b_jonas: my mind is bad at ignoring stuff.
18:16:25 <int-e> . o O ( Ignore THIS! )
18:17:26 <int-e> Mind wandering... Granny Weatherwax had no trouble not to think of a pink elephant (or something like that). She didn't know what an elephant is.
18:27:43 <arseniiv> int-e: single move undo => I think many Sokoban clones have this issue, if there is undo at all
18:29:31 -!- Phantom_Hoover has joined.
18:29:31 -!- Phantom_Hoover has quit (Changing host).
18:29:31 -!- Phantom_Hoover has joined.
18:29:48 -!- oerjan has quit (Quit: I'll ignore you until later).
18:36:13 <int-e> arseniiv: xsok doesn't (I've spent... many hours... with xsok. I've even modified the xpms ("translucent boxes" so you can distinguish boxes on goals from others) and patched it... good times)
18:36:45 -!- adu has quit (Quit: adu).
18:37:37 <zzo38> About undo in Sokoban game, well, once Free Hero Mesh is done enough then you could use that, which provides as much undo as you want to.
18:38:00 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
18:40:45 <int-e> Hmmmmm. This is a funny claimer on a webcomic... "No part of this comic may be reproduced, stored in a retrieval system, or transmitted by any means without the express written consent of the creator."
18:41:07 <int-e> I can get behind the first two but I doubt all the carriers have that consent in writing :P
18:41:21 <arseniiv> int-e: though one major time I played Sokoban myself was on a TV when I didn’t know what to do
18:41:31 <int-e> (And the second one should be fun for ISP caches.)
18:41:31 <Hooloovo0> what's the license?
18:41:38 <Hooloovo0> also which comic?
18:41:49 <b_jonas> int-e: is it transmitted through https so that middle transmitters can't decode or cache it?
18:41:54 <int-e> There's no license. https://theonlyhalfsaga.com/comic/2018/10/02
18:46:52 <int-e> I suppose that by putting things on a web server in an easily found location (linked from elsewhere, indexed by search engines) you kind of give an implied license for people to access it... and all the implied transmissions. It's still a funny provision in an online context if taken at face value.
18:50:26 <kmc> i don't think that holds up legally
18:50:40 <kmc> well, access sure
18:50:48 <kmc> but idk
18:51:09 <kmc> generally copyright needs to be explicitly relinquished, and in some jurisdictions you can't even do it
18:51:16 <kmc> I'm blathering tho
18:51:29 <kmc> this is what happens when I tab to a new irc window without reading scrollback
18:51:32 <kmc> `quote butts
18:51:34 <HackEso> No output.
18:51:45 <int-e> kmc: well, if anything the carriers are being tricked into infringement here...
18:51:46 <b_jonas> kmc: sorry
18:52:03 <int-e> by me and the comic author :P
18:52:30 * int-e shrugs.
18:53:05 <int-e> IANAL. I merley find this amusing because it tickles my logical mind.
18:53:24 <int-e> merely.
18:56:24 <kmc> tickling is fun
18:56:57 <kmc> my wife is helping out with an apr 1 joke at google (for the employees, not users)
18:57:04 <kmc> which I guess I'll tell you about after apr 1
18:57:13 <kmc> it's the kind that is amusing and not annoying, imo
19:14:57 <Hooloovo0> hmm, I should scramble a prank
19:14:59 <Hooloovo0> it's doable
19:15:13 <Hooloovo0> (I hope)
19:15:45 <b_jonas> sigbovik will be on 2019-04-01 too, and the proceedings will probably come out around that time too on the wobsite
19:15:57 <b_jonas> I expect a few tom7 pieces as always
19:16:30 <kmc> nice
19:17:03 <kmc> oh! I ran into some Fortran code in the wild the other day, in a program I use, and it's not BLAS or LAPACK
19:17:35 <kmc> there's this ham radio digital mode FT8 and the encoder / decoder that everyone uses is written in Fortran 90
19:17:55 <kmc> the maintainer is an older Nobel prize winning physicist so, fair enough
19:18:02 <kmc> and it's actually a pretty good choice here
19:18:05 <kmc> still amused
19:18:12 <kmc> it's not old code
19:18:22 <esowiki> [[Template:Distinguish/Confusion]] M https://esolangs.org/w/index.php?diff=60802&oldid=60772 * ZM * (+2) plural s
19:20:00 <kmc> most digi stuff on ham radio works on audio frequency signals that you connect to your normal radio (or to a SDR program using a utility like Virtual Audio Cable)
19:20:18 <kmc> this has a number of advantages and a number of disadvantages
19:21:11 <b_jonas> kmc: sure, just like how modems work, so you can transmit them through the existing analog telephone infrastructure
19:22:07 <kmc> yeah
19:22:11 <kmc> it's a modem
19:23:55 <int-e> kmc: there's even a case that putting a website online gives Google the right to provide a "cached view" unless instructed otherwise (through robots.txt or using the Google-specific NOARCHIVE meta tag)
19:24:27 <int-e> (So there is case law for implied licenses in this general area.)
19:24:31 <b_jonas> int-e: but google specifically removes those cached copies when they find that the website is no longer available at the original place
19:24:39 <b_jonas> hides it I mean
19:24:48 <b_jonas> no longer distributes it
19:25:08 <int-e> b_jonas: I'm reading that webcomic now. I'm not storing it for later :P
19:25:32 <int-e> https://en.wikipedia.org/wiki/Field_v._Google,_Inc.
19:26:22 <int-e> And while not directly comparable, that implied license seems even stronger than what I need :)
19:26:35 <kmc> this means you can transmit digi modes with a 60 year old tube radio, which is cool
19:27:05 <kmc> or receive them with a microphone near a pocket shortwave radio, as I did the other day
19:28:39 <kmc> disadvantage, you only get at most about 4 kHz of bandwidth
19:28:57 <kmc> but this would be the case anyway for reasons of law and ettiquite
19:29:34 <kmc> on HF the entire range allocated for data is only like 100 kHz per band
19:29:57 <b_jonas> kmc: and on a phone line, you get 56 kHz of bandwidth, and even for that you need a decade's advances in coding and decoding magic to transmit that reliably
19:30:10 <kmc> yeah
19:30:25 <b_jonas> that tech is magic
19:30:28 <kmc> most ham modes use pretty simple modulation, e.g. frequency shift keying
19:31:01 <kmc> FT8 uses a 8 symbol FSK but there are some fancier tricks on the next protocol layer
19:31:24 <b_jonas> as in error correcting code?
19:31:56 <kmc> it's a very low bitrate, weak-signal mode so it doesn't need much speed from coding
19:31:59 <kmc> yeah
19:32:10 <kmc> it has a LDPC code
19:32:29 <kmc> also transmits a Costas array at the beginning, middle and end of a message
19:34:42 <kmc> a Costas array is a permutation matrix such that all the distances between 1 elements are distinct
19:35:56 <kmc> this allows you to very precisely reconstruct the time and frequency offset of the message, and even account for drift over the 5 seconds or so it takes to send it
19:36:03 <kmc> actually 12 seconds
19:36:42 -!- FreeFull has joined.
19:57:42 <b_jonas> `perl -e print 120/15
19:57:42 <HackEso> 8
19:59:41 <arseniiv> . o O ( baba is you is cool indeed )
20:04:20 <arseniiv> aaah 1 april and I didn’t get it until now, despite several mentions right here! what to do?.. two days left
20:04:24 <esowiki> [[BareMinimum]] N https://esolangs.org/w/index.php?oldid=60803 * Joshop * (+1002) Created page with "BareMinimum is a programming language with only two operators: subtract and minimum. ==Expressions== All expressions in BareMinimum are in prefix notation. There are two binar..."
20:05:45 <esowiki> [[BareMinimum]] https://esolangs.org/w/index.php?diff=60804&oldid=60803 * Joshop * (+28)
20:08:33 <esowiki> [[BareMinimum]] https://esolangs.org/w/index.php?diff=60805&oldid=60804 * Joshop * (+41)
20:30:46 <b_jonas> `perl -e print 100/15
20:30:47 <HackEso> 6.66666666666667
22:09:33 <kmc> sigh, why does my mood crash randomly
22:09:43 <kmc> I hate being anxious / upset about something and not even knowing what
22:20:32 <int-e> kmc: that sounds like a setup for a vicious cycle
22:22:10 <kmc> yeah
22:23:40 <arseniiv> I almost crash when it’s needed to pick something ro buy out of a zillion variants, when descriptions probably lie, user comments are wildly inconsistent and I have to keep in mind the thing chosen would probably stick with me a long time
22:24:12 <arseniiv> in these cases I hopefully go with friends’ advice if any
22:24:38 <arseniiv> okay bye
22:28:04 <int-e> "The thing that used to worry him most was the fact that people always used to ask him what he was looking so worried about." -- Douglas Adams about Arthur Dent
22:28:59 -!- arseniiv has quit (Ping timeout: 246 seconds).
22:37:48 <kmc> mm
22:38:03 <kmc> I've been feeling down because I haven't had a job in a long time, and I really don't want to go back to the software industry
22:38:08 <kmc> but maybe I can think of something else to do
22:38:22 <kmc> also just because I don't get paid for something doesn't mean it's not worthwhile, for myself or others
22:38:35 <kmc> actually most of the most worthwhile-to-others things i've done have been not for pay
22:38:49 <kmc> I'm working on a project right now which i think people will find interesting, and I'm documenting it extensively
22:39:01 <kmc> so I should feel good about that, I think
22:41:28 <kmc> I mean my life's pretty great in general
22:46:42 <kmc> if I could contribute to OSS again, I'd feel good about that
22:46:49 <kmc> but it's hard for me right now for a variety of reasons
22:47:46 <b_jonas> kmc: you don't want to go back to the software industry? have you figured out what you want to do instead?
22:47:56 <b_jonas> because I'm sticking to software
22:48:23 <kmc> i haven't
22:48:41 <kmc> thinking about it makes me feel bad
23:13:03 <kmc> `` quote kmc | shuf
23:13:04 <HackEso> 967) <kmc> i don't know what that is so i'm going to assume it's a flavor of pocky \ 1121) <kmc> at the point where you start looking for a debugger for GNU Make, something has gone seriously wrong in life \ 1119) <Taneb> kmc, I was trying to go to a sci-fi and fantasy society social, and I went to the wrong bar <Taneb> Wound up at my university's fetish society <Taneb> Didn't realise for an hour and a half \ 1005) <kmc> LIST OF ACRONYMS: List Integrati
23:40:07 <kmc> wow FORTH programming looks awesome https://i.imgur.com/bql406z.jpg
23:47:39 <kmc> that might almost merit a NSFW warning
23:47:46 <kmc> despite being a programming book cover
2019-03-30
00:06:08 -!- tromp has quit (Remote host closed the connection).
00:08:05 -!- Phantom_Hoover has quit (Remote host closed the connection).
00:23:05 -!- AnotherTest has quit (Ping timeout: 246 seconds).
00:40:06 -!- oerjan has joined.
00:40:21 -!- Lord_of_Life_ has joined.
00:42:23 -!- tromp has joined.
00:42:52 -!- Lord_of_Life has quit (Ping timeout: 250 seconds).
00:42:53 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
01:10:51 <esowiki> [[Inflection]] https://esolangs.org/w/index.php?diff=60806&oldid=44480 * Prof Apex * (+262)
01:49:05 <esowiki> [[AlphaBeta]] https://esolangs.org/w/index.php?diff=60807&oldid=54154 * Illuminatu * (+306)
01:50:20 -!- nikgre has joined.
01:51:29 <esowiki> [[AlphaBeta]] https://esolangs.org/w/index.php?diff=60808&oldid=60807 * Illuminatu * (+12)
01:58:16 -!- nikgre has quit (Quit: Leaving).
02:08:31 <zzo38> Does any C compiler have "goto case" and "goto default"?
02:13:29 <fizzie> Not as far as I know, though some of the nearby languages (C#, D) do.
02:16:29 <oerjan> . o O ( What about Db )
02:18:07 <oerjan> ah https://www.codeproject.com/Articles/13639/Db-The-Future-Is-Coming
02:18:51 <fizzie> I'm guessing it's more common in languages with no implicit fall-through.
03:06:17 -!- Essadon has quit (Quit: Qutting).
03:20:22 <zzo38> Do you have any kind of advice of implementing NNTP server with SQLite?
03:32:40 <zzo38> If they want us to defend their church from an attack (after they helped us to get underground through their passage) but now we are too tired to help them and should sleep instead, then what are we going to do? Hire someone else to help them? (This is the GURPS game.)
03:38:31 <zzo38> Do you know if FreeDOS can load overlong COM files?
03:47:09 -!- FreeFull has quit.
04:02:14 -!- oerjan has quit (Quit: Nite).
04:10:32 -!- quintopia has quit (Ping timeout: 272 seconds).
04:10:40 -!- quintopia has joined.
08:14:04 -!- tromp has quit (Remote host closed the connection).
08:14:18 -!- tromp has joined.
09:19:50 -!- arseniiv has joined.
09:28:16 -!- tromp has quit (Remote host closed the connection).
09:34:00 -!- tromp has joined.
10:13:48 -!- aloril_ has quit (Remote host closed the connection).
10:23:28 -!- aloril has joined.
11:16:42 -!- rodgort has quit (*.net *.split).
11:16:42 -!- Melvar has quit (*.net *.split).
11:16:42 -!- HackEso has quit (*.net *.split).
11:16:42 -!- oren has quit (*.net *.split).
11:16:42 -!- lifthrasiir_ has quit (*.net *.split).
11:16:43 -!- APic has quit (*.net *.split).
11:17:11 -!- lifthrasiir has joined.
11:17:11 -!- rodgort has joined.
11:17:14 -!- oren has joined.
11:17:20 -!- Melvar has joined.
11:19:02 -!- HackEso has joined.
11:19:58 -!- vertrex has quit (Ping timeout: 255 seconds).
11:20:25 -!- sftp has quit (Ping timeout: 255 seconds).
11:21:36 -!- sftp has joined.
11:21:48 -!- vertrex has joined.
11:21:48 -!- vertrex has quit (Changing host).
11:21:48 -!- vertrex has joined.
11:22:16 -!- APic has joined.
11:35:37 -!- AnotherTest has joined.
12:16:09 <int-e> so quiet on the wiki - the A-team must be out of town.
12:19:35 <int-e> fungot: morning?
12:19:35 <fungot> int-e: curl is not the true finish.
12:19:59 <int-e> fungot: you can do better than that
12:20:48 <int-e> ouch.
12:23:37 <fizzie> fungot: Giving them the cold shoulder, eh?
12:23:38 <fungot> fizzie: i.e. a list of words with him, regardless of whether scheme48 is being proper, it's important to know where it is
12:23:46 <fizzie> (Is that even a correct idiom?)
12:24:22 <int-e> I think so.
12:24:27 <fizzie> @wn "cold shoulder"
12:24:28 <lambdabot> *** "cold shoulder" wn "WordNet (r) 3.0 (2006)"
12:24:28 <lambdabot> cold shoulder
12:24:29 <lambdabot> n 1: a refusal to recognize someone you know; "the snub was
12:24:31 <lambdabot> clearly intentional" [syn: {snub}, {cut}, {cold shoulder}]
12:25:03 <int-e> Or maybe it's "show" rather than "give"? I don't know.
12:25:50 <fizzie> "Even the best A&R—artist and repertoire—staff in the world couldn't save you if radio gave you the cold shoulder."
12:26:04 <fizzie> (From the Google snippet of an OED entry.)
12:26:26 <int-e> Yeah I think the "show" is inspired by the parallel idiom in German.
12:27:23 <int-e> Which is "jemandem die kalte Schulter zeigen" - the verb is "zeigen": to show; to demonstrate; to point out)
12:30:22 <fizzie> Looks like it's also a verb.
12:30:23 <fizzie> `` wn "cold shoulder" -over | sed -e '1,/verb/d;/^1/p;d'
12:30:24 <HackEso> 1. slight, cold-shoulder -- (pay no attention to, disrespect; "She cold-shouldered her ex-fiance")
12:31:20 <fizzie> (Guess almost any noun can be verbed though.)
12:33:27 <int-e> verbificationizing is lots of fun.
12:43:08 -!- Lord_of_Life_ has joined.
12:43:41 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
12:45:31 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
13:12:39 -!- Essadon has joined.
14:40:49 -!- FreeFull has joined.
15:52:09 -!- oerjan has joined.
15:57:36 <oerjan> "This expression and its German equivalent are mistranslations of dederunt umerum recedentem from the Book of Nehemiah 9.29 from the Vulgate Bible, which actually means "stubbornly they turned their backs on you", which comes from the Septuagint Bible's equivalent ἔδωκαν ‎(édōkan‎) νῶτον ἀπειθοῦντα. Latin umerus means both "shoulder" and "back"."
16:20:30 -!- Phantom_Hoover has joined.
16:20:31 -!- Phantom_Hoover has quit (Changing host).
16:20:31 -!- Phantom_Hoover has joined.
16:20:52 <kmc> good morning y'all
16:21:17 <oerjan> morn morn
16:35:01 <rain1> hiy
16:39:47 <b_jonas> hirain
16:46:44 <arseniiv> hello
16:49:46 <arseniiv> hm how do you think should “hot shoulder” mean misrecognition of people you don’t actually know?
17:03:43 <kmc> oh, another disadvantage of using sound cards as modems for ham radio: sometimes people end up transmitting their Windows alert sounds by accident :P
17:07:58 <zzo38> Other way is to not use Windows, or if you are using Windows to disable the alert sounds, or maybe you have surround sound you can use some channel for different purposes? There are other cases too where such a thing might be wanted.
17:08:05 <oerjan> shocking
17:09:12 <oerjan> zzo38: none of those ways help with accidents happening because some people are too dumb to know about them
17:12:56 <b_jonas> kmc: is that like when people give a presentation in a conference and there are popups prompting for software updates and friends who have come online on skype over the slides?
17:12:59 <zzo38> Yes, that is true probably
17:14:16 <esowiki> [[User:Sentry]] N https://esolangs.org/w/index.php?oldid=60809 * Sentry * (+63) Created page with "a young aspiring programmer and student, open source enthusiast"
17:14:51 <oerjan> `le/rn Aspiring is like perspiring, but more hopeful.
17:14:52 <HackEso> Usage: `le/[/]rn <key>//<wisdom>
17:14:54 <oerjan> oops
17:14:59 <oerjan> `learn Aspiring is like perspiring, but more hopeful.
17:15:01 <HackEso> Learned 'aspiring': Aspiring is like perspiring, but more hopeful.
17:28:00 <kmc> b_jonas: yes
17:31:20 <kmc> zzo38: yeah, the best solution is to use a dedicated sound card for the radio. you can buy USB sound interfaces like RIGblaster and SignaLink that are made for this, they generally have better quality, better filtering and such, and some of them can control your radio too, so you can set the frequency etc from software
17:31:38 <kmc> and some of the newer radios have a USB port built in so that you get both audio and control with a single USB cable
17:31:46 <kmc> but yeah it still relies on the operator configuring their software correctly
18:02:21 -!- oerjan has quit (Quit: Later).
18:03:47 <fizzie> `learn The password of the month is invalid.
18:03:49 <HackEso> Relearned 'password': The password of the month is invalid.
18:03:51 <fizzie> (Feel free to change, it just dawned on me we'll soon miss having one for March.)
18:06:38 <fizzie> We did an escape room as a team thing the other day, and they did the "password IS invalid" thing.
18:06:55 <fizzie> (Spoilers.)
18:08:59 <kmc> lol
18:09:19 <kmc> I know someone who chose their wifi password as "alllowercasenospaces"
18:12:32 <int-e> followtheinstructionstotheletter
18:16:05 <b_jonas> it turns out that French has a word with "à" in it other than "à", "là", and prefixed versions derived from "là". it's "en-deçà" and I don't think I've seen it until today.
18:23:48 <FireFly> kmc: I've seen that but worse, lemme see if I can find a pic..
18:24:03 -!- Lymia has quit (Remote host closed the connection).
18:27:51 <FireFly> Hmm, no picture, but something along the lines of "the wifi password is designed to mess with the use-mention distinction"
18:28:10 <kmc> lol
18:28:20 <FireFly> with the password being literally the bit after 'is', with spaces and all-lowercase
18:28:21 <kmc> yeah I know people who would set that kind of password
18:29:21 -!- Lymia has joined.
18:29:50 <j4cbo> the password is “contained in greengrocers’ quotes”
18:32:47 <zzo38> The book Godel,Escher,Bach defines the TNT (Typographical Number Theory), and you can define the rules to make a theorem. But, then maybe you want to define if a sentence of TNT (open formulas don't count) is true? I thought maybe: [1] If X is a theorem then X is true. [2] If X and Y are true and are assumed as axioms then Z would be a theorem, then Z is true. [3] If X starts with a universal quantifier and all sentences formed by removing the
18:34:22 <zzo38> What do you think?
18:57:11 <esowiki> [[Bitter]] M https://esolangs.org/w/index.php?diff=60810&oldid=58719 * DMC * (-1) /* Truth Machine */
18:57:50 <esowiki> [[Bitter]] M https://esolangs.org/w/index.php?diff=60811&oldid=60810 * DMC * (+1) /* Truth Machine */
18:58:25 <arseniiv> zzo38: and all sentences formed by removing the => is it only my IRC client, but it seems truncated after “the”
19:02:15 <arseniiv> I don’t remember what the formulation is in that book, though, to tell something useful
19:02:18 <esowiki> [[User:DMC]] M https://esolangs.org/w/index.php?diff=60812&oldid=60517 * DMC * (+100)
19:03:08 <kmc> zzo38: I think it uses the usual definition from modal logic
19:03:22 <kmc> or, not modal
19:03:24 <kmc> what's it called
19:03:49 <arseniiv> not not not intuitionistic?
19:03:56 <kmc> model theory
19:05:38 <arseniiv> there’s also another definition which is basically a simplification of this one applied to the canonical model, which I don’t remember if is always defined
19:05:39 <int-e> [1] has a name: soundness
19:06:07 <zzo38> [3] If X starts with a universal quantifier and all sentences formed by removing the quantifer and replacing that variable with the same number everywhere is true no matter what number you put, then X is true.
19:06:26 <int-e> [2] is really just a facet of soundness. (if X and Y are axioms, then the models that are considered for soundness are those that make X and Y (and the other axioms) true)
19:07:00 <arseniiv> (cont. to mine) ah, yeah, it shouldn’t be defined if there’s no equality in the language (and equality axioms in the theory)
19:07:01 <int-e> [3] is part of the /definition/ of truth of a formula in a model.
19:10:04 <int-e> (You usually need to do [3] a bit differently, working with assignments that assign model elements to the free variables of a formula, because for most models, the objects are not representable as expressions.)
19:11:25 <int-e> (But in the special case that's treated in GEB that's not the case; only the standard model is really considered (just the natural numbers, no nonstandard ones), and all those can be represented as 0, S0, SS0, etc.)
19:23:43 <esowiki> [[Special:Log/newusers]] create * Fuzzyastrocat * New user account
19:25:59 <b_jonas> `? skolem
19:26:00 <HackEso> skolem? ¯\(°​_o)/¯
19:29:01 <arseniiv> btw a big ramble and a question:
19:29:01 <arseniiv> btw nonstandard naturals are a mind-blower: no simultaneously computable addition and multiplication is like wtf should it at all be possible right here, aren’t we talking about simple natural-numbery things?
19:29:01 <arseniiv> and we can’t get rid of nonstandard models either: say, we take second-order logic axiomatization, but now we don’t have several crucial properties of first-order language;
19:29:01 <arseniiv> should we specially pick the standard model, then we could ask ourselves how do we to understand sets (which are needed to define a model, and specifically the standard model)—
19:29:01 <arseniiv> and why aren’t there nonstandard set universe models then (and there are!);
19:29:02 <arseniiv> finally, informal set theory as a base is in this case not much better than simply informal arithmetic (which we were to formalize in the first place as we’re wary about things like those same nonstandards etc.)
19:29:02 <arseniiv> so if I’m getting things right, we are left to presuppose we can somehow work with the standard naturals, akin to presupposing ZFC or PA are consistent, and not much else?
19:29:53 <arseniiv> (oh forgot to delete the second “btw”)
19:33:11 <int-e> I guess people mostly don't think much about it, probably taking a second-order view on the axiom of induction for most purposes.
19:33:57 <int-e> (the second order version is, any set that contains 0 and is closed under taking the successor, contains all natural numbers)
19:34:27 <kmc> @quote skolem
19:34:27 <lambdabot> byorgey says: Escaped skolem! Authorities mount massive search. News at 11.
19:34:29 <kmc> @quote skolem
19:34:29 <lambdabot> byorgey says: Escaped skolem! Authorities mount massive search. News at 11.
19:34:31 <kmc> @quote skolem
19:34:31 <lambdabot> byorgey says: Escaped skolem! Authorities mount massive search. News at 11.
19:34:39 <kmc> @quote Tolkeinesque
19:34:39 <lambdabot> No quotes match. I can't hear you -- I'm using the scrambler.
19:34:43 * kmc gives up
19:35:45 <int-e> arseniiv: that shifts the problem one level down the stack, of course; I have no clue how that plays out if you take an arbitrary model of ZFC (can we even pinpoint a standard model of ZFC? perhaps using some specific large ordinal?)
19:37:11 <int-e> @quote Tolkienesque
19:37:11 <lambdabot> chrisdone says: anyone got a fixed version of the split library for ghc7? some Tolkienesque error messages about skolems escaping
19:37:41 <int-e> I'm not sure about the Tolkien connection.
19:38:51 <int-e> Is this supposed to allude to the Balrog and Gandalf situation? "Thou shalt not pass!"?
19:39:19 <arseniiv> int-e: as far as I don’t know about it, I’ve thought there would be the same problem, and for a theory ZFC + <existence of a suitably large sets> there should be no less but maybe even more problems (though I don’t see how it can be more, either)
19:41:11 <int-e> arseniiv: one resolution is that mathematicians care more about provability than about truth :P
19:41:43 <kmc> "you shall not pass!" <--- me when I'm wearing a t-shirt :/
19:41:49 <arseniiv> int-e: yeah, I suppose it delivers some peace of mind
19:42:53 <int-e> Personally I also have this illusion that I understand the natural numbers... 0, 1, 2, and so on.
19:42:58 <int-e> What could possibly go wrong? :)
19:43:11 <arseniiv> there are still t-shirt haters in the world? :( isn’t it snobbish
19:43:16 <int-e> (they really are *natural* that way)
19:43:17 <b_jonas> int-e: 0, 1, and 2 are easy. the problem is that there are more natural numbers than those.
19:43:54 <arseniiv> int-e> What could possibly go wrong? :) => yeah, the same feeling there
19:45:04 <arseniiv> I like to say something about inductive types, though it shouldn’t be a panacea if one’s to look closer, but I don’t know type theory on that level
19:45:21 <arseniiv> to see it clearly
19:47:09 <int-e> b_jonas: I'm not playing that game (the game being: who can name more natural numbers?)
19:47:16 <b_jonas> there's too many of them
19:47:51 <int-e> > [0..] -- Or maybe I am. But not seriously.
19:47:53 <arseniiv> oh, also about something probably more discoverable: is there any connection between λ term (Y succ) aka ∞, and nonstandard naturals? Perhaps there are much more inequivalent such terms?
19:47:53 <lambdabot> [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,2...
19:48:23 <rain1> no i don't think they have a relationship
19:48:52 <int-e> arseniiv: no, you can't compute with that term. For example x - x = 0 is true for all non-standard natural numbers.
19:48:55 <arseniiv> there seems to be an error in lambdabot, they say 2 is after both 1 and 27
19:49:01 <arseniiv> (I’ll show myself out)
19:49:35 <arseniiv> rain1: int-e: thanks for straightening this out
19:49:35 <int-e> arseniiv: I think you hit the right level of insightfulness there, for this discussion. :)
19:49:47 <arseniiv> :D
19:49:53 <esowiki> [[Special:Log/newusers]] create * KerbalEngineer * New user account
19:53:38 <arseniiv> (oh I have two friends playing KSP. They didn’t manage to pull me in yet, though)
19:54:38 <int-e> I consciously try to avoid such time sinks as much as possible. Pure puzzle games are bad enough.
19:55:28 <int-e> (KSP in particular also seems quite expensive. But that's a secondary issue.)
19:56:12 <int-e> (Pure puzzle games... Baba is You is at 35 hours... still not done. I'm stuck on level 3 in Depths...)
19:58:22 <arseniiv> to say about that ∞, or more precisely a coinductive type N̅, some time ago I bemusingly found it’s perfect in defining how many steps for some machine to run; the code uses solely `prev` destructor and becomes very clean (if the language is sufficiently good at expressing N̅)
19:58:43 <arseniiv> hm time sinks is my issue I think
20:02:49 <arseniiv> it even rhymes, it should be true
20:04:48 <int-e> arseniiv: that is a fairly standard trick to make total languages with coinductive types Turing-complete (not sure which it was... Agda, probably): data Result a = Skip (Result a) | Return a
20:05:02 <int-e> (where data is the Haskell thing, so really a codata)
20:06:40 <int-e> For related reasons (avoiding recursion in a worker, helping the compiler to do the right kind of inlining) a similar "Skip" has found its way into some stream fusion libraries (bytestring?).
20:07:46 <int-e> I should probably refresh my memory on where I really encountered those...
20:23:31 <arseniiv> int-e: thanks, I haven’t thought it reaches further!
20:26:44 <arseniiv> though my case even was in a language without explicit codata, and I defined ∞ as a special case, so one could see if the value is ∞. But operationally it was still codata Nat' = Z | S Nat'
20:27:49 <arseniiv> where “operationally” means interoperation between Z, S and prec. I should pick words more accurately
20:27:50 <int-e> I guess it's dual in some sense to the Skip... you can provide an infinite amount of fuel to a computation.
20:29:16 <arseniiv> I thought Skip meant to be analogous to S? (and Return to Z)
20:29:42 <int-e> arseniiv: yes but it's used in a result of a computation rather than as input
20:29:56 <arseniiv> ah, in that sense
20:31:17 <int-e> So the function can be productive (produce a new constructor in finite time) without ever producing an answer.
20:31:56 <int-e> In the end you'll have a non-total run-time system that discards all the 'Skip's and waits for the result.
20:32:29 <int-e> But everything else can be total (respectively productive).
20:38:11 <arseniiv> hm, about duality: runSteps :: Nat' → s → s vs. runStep :: Result s → Result s. Could these be turned to something more explicitly dual?..
20:40:44 <int-e> You'd have runStep :: s -> Result s. (Result is a monad, so that's where you can eat the Skips when forwarding results). I suppose (Nat' -> s) is isomorphic to (Result s) if you think about it operationally; whenever the former consumes a "Suc", the latter will produce a "Skip".
20:41:59 <int-e> This is not a perfect match; maybe Nat' -> (s, Nat') with the convention that the Nat' is the remaining fuel makes it better; then you have a corresponding (state) monad.
20:43:23 <int-e> Maybe Cale will wake up and point out that this is just a pair of adjoint functors and that explains it all somehow. ;-)
20:44:17 <arseniiv> also have a sense of adjointness. Any unknown categorial magic should be due to adjoints!
20:46:02 <Cale> which...
20:46:03 <Cale> what
20:46:22 <Cale> What are we explaining?
20:46:30 -!- AnotherTest has quit (Ping timeout: 255 seconds).
20:46:36 <arseniiv> :)
20:48:34 <arseniiv> Cale: hm I think it could be phrased as “in what sense is returning Result s is dual to taking Nat'), but int-e may say it better
20:48:53 <arseniiv> oh, s/)/”
20:50:52 <Cale> What is this Result type?
20:51:10 <Cale> oh
20:51:12 <Cale> I found it :)
20:51:16 <int-e> the Skip monad, I got the naming wrong.
20:51:53 <arseniiv> okay I’ll probably go and the next day will read the logs
20:51:58 <Cale> ah... hmm
20:51:59 * int-e has always been better with ideas than with terminology.
20:52:08 <Cale> Maybe Free vs. Cofree can explain it...
20:52:24 <Cale> somehow :)
20:52:56 <int-e> Cale: sorry for the bait, but it was too tempting :)
20:53:24 <arseniiv> could those types be resp. Free somethingsomething and Cofree cosomethingsomething maybe?
20:53:53 <arseniiv> ok bye
20:55:10 <int-e> Oh for this purpose we should probably take [co]data Nat' = Suc Nat'. The Zero constructor will produce a lot of garbage.
20:55:37 <Cale> hah
20:55:41 <int-e> And then it becomes really weird because we have only one value.
20:56:22 <Cale> .oO( Cofree Proxy a -> b vs. a -> Free Proxy b )
20:56:36 <Cale> er, not proxy
20:57:12 <Cale> Identity?
20:57:19 <Cale> Identity.
20:57:32 <Cale> Kind of..
20:57:46 <Cale> I don't actually want more a's :)
20:57:48 <int-e> So there's a mismatch. Nat' -> s needs partiality in the arrows, in whatever category that lives in; the Result s has extra structure in the result (namely the number of Skips).
20:58:22 -!- arseniiv has quit (Ping timeout: 246 seconds).
20:58:37 <Cale> Well, Nat' -> s -> s also means you're theoretically allowed to depend on that Nat' and not just use it as computational fuel
20:58:59 <Cale> and yeah, on the other side, you're effectively producing an additional Nat
20:59:01 <int-e> Yes, that would be the garbage :)
20:59:04 <b_jonas> try taking powers modulo a large prime
20:59:15 <int-e> (depending on the Nat' value)
21:00:20 <int-e> So I want to do something intensional where I look inside the computation and see how many Suc are consumed, and shift that to the output. I guess category theory will not really help there. :)
21:01:02 <int-e> (I also want some linearity... the shifting becomes difficult if the Nat' value ever gets duplicated)
21:04:44 <esowiki> [[Control Character]] https://esolangs.org/w/index.php?diff=60813&oldid=60790 * EnilKoder * (+90) /* Syntax */
21:13:42 -!- FreeFull has quit (Quit: Rebooting).
21:15:03 -!- FreeFull has joined.
21:21:01 <b_jonas> `? sushi
21:21:02 <HackEso> sushi? ¯\(°​_o)/¯
21:21:06 <b_jonas> `? octopus
21:21:07 <HackEso> octopus? ¯\(°​_o)/¯
21:21:09 <b_jonas> `? squid]
21:21:10 <HackEso> squid]? ¯\(°​_o)/¯
21:21:11 <b_jonas> `? squid
21:21:12 <HackEso> squid? ¯\(°​_o)/¯
21:25:45 <int-e> why?
21:37:52 <esowiki> [[Control Character]] https://esolangs.org/w/index.php?diff=60814&oldid=60813 * EnilKoder * (-6)
22:30:12 <esowiki> [[Special:Log/newusers]] create * Amapires * New user account
22:31:45 <b_jonas> `? octonion
22:31:46 <HackEso> octonion? ¯\(°​_o)/¯
22:56:07 -!- quintopia has quit (Ping timeout: 255 seconds).
23:03:39 -!- quintopia has joined.
23:03:39 -!- tromp has quit (Remote host closed the connection).
23:34:06 <esowiki> [[Special:Log/upload]] upload * Lartu * uploaded "[[File:Ldpl-logo.png]]": LDPL Programming Language Logo
23:39:07 -!- tromp has joined.
23:58:07 <esowiki> [[LDPL]] https://esolangs.org/w/index.php?diff=60816&oldid=60283 * Lartu * (+2311)
23:58:27 -!- Phantom_Hoover has quit (Remote host closed the connection).
2019-03-31
00:03:33 <esowiki> [[LDPL]] https://esolangs.org/w/index.php?diff=60817&oldid=60816 * Lartu * (+1846)
00:41:33 -!- Lord_of_Life_ has joined.
00:44:13 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
00:44:21 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:45:02 -!- izabera has changed nick to excusemybeauty.
00:52:12 -!- oerjan has joined.
00:54:17 <oerjan> @dowg password
00:54:17 <lambdabot> Maybe you meant: yow docs do
00:54:23 <oerjan> `dowg password
00:54:24 <HackEso> 11764:2019-03-30 <fizzïe> learn The password of the month is invalid. \ 11709:2019-02-04 <int-̈e> slwd password//s=...-=hty-= \ 11708:2019-02-03 <int-̈e> learn The password of the month is eigthy-three characters long but contains no special characters except for a hyphen. \ 11684:2019-01-01 <b_jonäs> learn The password of the month is "overreachtorridbittenmandible". \ 11653:2018-12-01 <int-̈e> learn The password of the month is "SCALNATUAS". \ 11
00:54:38 <oerjan> shocking
00:55:24 <fizzie> I was looking at the per-month record.
00:55:26 <fizzie> `` hlnp -T '{date(date,"%Y-%m")}\n' wisdom/password | uniq | tr '\n' ' '
00:55:28 <HackEso> 2019-03 2019-02 2019-01 2018-12 2018-11 2018-10 2018-09 2018-08 2018-07 2018-06 2018-05 2018-04 2018-03 2018-02 2017-12 2017-11 2017-10 2017-09 2017-08 2017-07 2017-06 2017-05 2017-04 2017-03 2017-02 2017-01 2016-12 2016-11 2016-10 2016-09 2016-08 2016-07 2016-06 2016-05 2016-04 2016-03 2016-01 2014-10 2014-09
00:55:48 <fizzie> It's p. good, though 2018-01 is missing too.
00:56:13 <fizzie> (Well, starting from 2016-03 anyway.)
00:59:34 <b_jonas> timezone offset change in Europe very soon
01:00:25 <b_jonas> changed
01:02:11 <esowiki> [[Control Character]] https://esolangs.org/w/index.php?diff=60818&oldid=60814 * EnilKoder * (+875)
01:26:14 <oerjan> `` dowg password | grep 2018-02
01:26:16 <HackEso> 11345:2018-02-15 <int-̈e> learn The password of the month is late.
01:26:23 <oerjan> `` dowg password | grep 2018-01
01:26:25 <HackEso> No output.
01:26:35 <oerjan> `` dowg password | grep 2017-12
01:26:37 <HackEso> 11291:2017-12-31 <int-̈e> learn The password of the month is early. \ 11251:2017-12-01 <oerjän> learn The password of the month is equally offensive to all beliefs (but not time zones) \ 11250:2017-12-01 <oerjän> learn The password of the month is equally offensive to all beliefs
01:26:41 <oerjan> ah right
01:26:52 <oerjan> fizzie: int-e cheated on that one tdnh
01:28:23 -!- b_jonas has quit (Remote host closed the connection).
01:57:58 <fizzie> Oh, I see.
02:22:27 -!- Essadon has quit (Quit: Qutting).
02:36:41 -!- excusemybeauty has changed nick to izabera.
02:36:48 -!- izabera has changed nick to izalove.
02:42:11 <oerjan> there are (again) two (?) new users today who seem unable to introduce because their browser autocensor the swearing already on the page :(
02:42:21 <oerjan> *+s
02:51:21 <Hooloovo0> I'm not sure we need people who only use browsers with autocensors
02:51:41 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60819&oldid=60791 * Oerjan * (+206) Mention censorship issue which has caught out several attempted introductions
02:52:20 <oerjan> Hooloovo0: they'll mess up when editing other pages for sure
02:52:38 <oerjan> i added a note that they must disable it
02:53:05 <Hooloovo0> how did you know it was due to autocensoring?
02:53:34 <oerjan> Hooloovo0: take a look e.g. at https://esolangs.org/wiki/Special:AbuseLog/7340
02:56:42 <Hooloovo0> I see, interesting
02:57:51 <Hooloovo0> I'm not sure why someone would write something that only censors writes...
02:58:43 <oerjan> it might censor both ways
03:03:57 <esowiki> [[AlphaBeta]] M https://esolangs.org/w/index.php?diff=60820&oldid=60808 * Oerjan * (+0) /* External resources */ template
03:07:50 -!- GeekDude has quit (Ping timeout: 246 seconds).
03:35:57 <kmc> `quote
03:35:58 <HackEso> 834) <Vorpal> elliott, mostly I want something that takes zero effort to maintain and update once the initial setup is done. <elliott> okay well that is called not linux
03:42:43 <fizzie> It doesn't need to explicitly censor "writes", if it just sanitizes the incoming HTML's text content that will already #### things up in the <textarea> where you edit things.
03:58:17 <Hooloovo0> oh, yeah, I guess that makes sense
04:04:00 -!- oerjan has quit (Quit: Nite).
04:30:19 -!- APic has quit (Ping timeout: 244 seconds).
04:42:44 -!- APic has joined.
05:31:07 -!- Cale has quit (Ping timeout: 250 seconds).
05:42:02 <zzo38> int-e: About those truth for TNT, I was not considering models. [1] and [2] (which are soundness, as you mentioned), is generic and can be applicable to any system, but [3] is with the symbols specific with this system, rather than generic.
05:42:48 <zzo38> Also they say consistent is that x and ~x is not both theorems, but it is specific to the symbols of the system and I think a generic definition would instead be, it is consistent if there exist well-formed nontheorems.
05:52:33 -!- FreeFull has quit.
06:49:38 <esowiki> [[List of ideas]] https://esolangs.org/w/index.php?diff=60821&oldid=59250 * DrMeepster * (+127) /* Game */ Added idea
07:32:59 -!- tromp has quit (Remote host closed the connection).
07:33:15 -!- tromp has joined.
08:07:51 -!- tromp has quit (Remote host closed the connection).
08:26:18 -!- b_jonas has joined.
08:27:13 <b_jonas> oerjan: re autocensor, do you get this from the log of rejected edits or something?
08:27:34 <b_jonas> oh, you link a special page. let me check.
08:27:49 <b_jonas> wow
08:27:54 <b_jonas> seriously?
08:29:17 -!- tromp has joined.
08:36:55 <b_jonas> `ehlist http://eheroes.smackjeeves.com/comics/2768624/is-it-over-yet/
08:36:56 <HackEso> ehlist http://eheroes.smackjeeves.com/comics/2768624/is-it-over-yet/: b_jonas
08:44:25 <esowiki> [[User:Cortex]] https://esolangs.org/w/index.php?diff=60822&oldid=60516 * Cortex * (+984)
08:50:51 -!- Cale has joined.
09:39:55 -!- arseniiv has joined.
10:11:35 -!- AnotherTest has joined.
10:11:53 <arseniiv> re model theory: I was pleasantly surprised by models for minimal logic (intuitionistic logic without ex falso quodlibet, ⊦ ⊥ → x). There, ⊥ is basically just another variable name and it shouldn’t be false in all Kripke worlds, if we are to use Kripke models (as of Heyting algebra models, IDK). It makes me for some reason a warm feeling
10:18:29 -!- tromp has quit (Remote host closed the connection).
10:27:19 <rain1> wow thats weird, where can i learn this? about kripke models and _|_ not always being false
10:27:59 <b_jonas> what's this with everyone caring about all sorts of nontraditional logic, and set theory built in them?
10:28:28 <b_jonas> it somehow seems so fashionable there must be some reason why it's important, but I don't really understand why
10:28:55 <b_jonas> it isn't just because some versions of them can be a basis for making theoretical type systems for programming languages, right?
10:56:06 -!- tromp has joined.
11:12:01 <arseniiv> rain1: I have read about it in several places, but finally had understood from Ingebrigt Johansson. Der Minimalkalkül, ein reduzierter intuitionistischer Formalismus. Though I almost don’t read German and had had to re-read that thing several times to get missing pieces. Initially I saw something about this logic in en.wikipedia, and about Kripke models for intuitionistic one… let me remember. Maybe en.wikipedia would be sufficient
11:12:01 <arseniiv> too, but also I had read one Russian textbook on logic basics, and this topic was there as a digression
11:16:16 <arseniiv> b_jonas: IDK, for myself I’m interested in logic for quite a long time, initially because I was bold enough to want to devise a school geometry solver (I didn’t know about Tarski’s algorithm then, and didn’t want to use analytic geometry). Then gradually it occurred to me that the logic is a complex thing in itself and that I had misunderstood boolean algebra before and so on, it was full of disco
11:16:36 <arseniiv> …veries and something, but let’s pretend it was full of disco
11:16:59 <arseniiv> though I’m not that old to it to be so
11:17:06 <b_jonas> tom7 has a game with such a name
11:17:29 <arseniiv> “full of disco”?
11:17:31 <b_jonas> no
11:17:58 <b_jonas> something like "disco? very" where the theme of the challenge was "discovery". he often subverts the theme
11:18:09 <b_jonas> let me look this up
11:18:43 <b_jonas> yep, see on http://tom7.org/ in the paragraph that has "Disco"
11:20:04 <b_jonas> it says the game name is "Disco? Very!"
11:22:32 <arseniiv> also now I think classical logic is OK mainly because of it’s the simplest of all, in some sense, and minimal one is interesting to me because it really seems to be minimal one which can still talk about negation (we can take something like positive intuitionistic logic, namely S and K axioms, and add quantification on propositional variables, but it’s obviously a more complex setting)
11:25:24 <arseniiv> b_jonas: oh wow it seems I was on that page some time ago because of destroyfx
11:30:19 <arseniiv> > It's compressed using a bunch of different programs to discourage you from downloading it. Really you should get the finished version above.
11:30:21 <lambdabot> <hint>:1:31: error: parse error on input ‘of’
11:30:21 <arseniiv> :D
11:30:28 <arseniiv> ooops I did it again
12:01:12 <int-e> b_jonas: I'll adjust my "more than 100" to "more than 200". This game doesn't know when to stop.
12:01:35 <int-e> (number of levels in Baba is You)
12:03:18 <int-e> shachaf: did you notice the terrible "hidden depths" pun?
12:09:12 <arseniiv> int-e: please don’t spoil :P
12:11:28 <int-e> still 3 achievements to go, I'm afraid.
12:12:38 <int-e> arseniiv: I thought about it, and I don't think this is much of a spoiler. it's a bit like saying that soylent green is a movie about food.
12:13:39 <int-e> it is, but you need inside knowledge to really appreciate what that is really saying.
12:14:14 <arseniiv> mhm maybe, haven’t watched that
12:14:57 <arseniiv> anyway I suspected there should be many levels even from the first level screen with all these unreachable boxes
12:15:13 <arseniiv> when I unlocked Water
12:16:14 <arseniiv> uh I’m incomprehensible again. I mean, when I unlocked Water, I suddenly realized there are at least two level screens and the first is almost all locked still
12:16:27 <arseniiv> that should be better
12:37:29 <int-e> Hmm, after 10 levels or so? "water" being "The Lake"? I'm not sure I follow otherwise.
12:42:05 -!- Lord_of_Life_ has joined.
12:42:34 <int-e> arseniiv: If I understand correctly, then yes, the first is still mostly unlocked at that point.
12:42:48 <int-e> And you're still in the sane part of the game :)
12:43:32 <arseniiv> yeah, I’m only beginning
12:43:47 <int-e> I guess I'll shut up about this now :)
12:44:31 <FireFly> I need to play more Baba..
12:44:47 <arseniiv> I’m glad there would be something described as “insane”
12:44:50 <int-e> I'll say one more thing... the 200 wasn't an estimate, it's an established lower bound.
12:45:03 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
12:45:03 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
12:45:31 <arseniiv> int-e: now you ARE spoiling :P
12:45:48 <int-e> arseniiv: just keep going :P
12:45:51 <arseniiv> I love this place
12:46:45 <int-e> arseniiv: I'm hoping shachaf will let slip who of us is further ahead in the game at some point, by sharing his lower bound.
12:46:53 <arseniiv> int-e: mm did you see Opus Magnum btw? If it’s genre you’re interested in
12:47:49 <int-e> I saw, decided to pass on it because I still have a few other Zachtronics games unfinished.
12:48:31 <arseniiv> I decided to play this one first and then think about others
12:48:45 <int-e> (And I really prefer the programming ones because they tend to have more clear-cut semantics. The 2D Zachtronics games tend to have annoying asymmetries. As does the 3D one.
12:48:48 <int-e> )
12:49:28 <arseniiv> there is a 3D one? Seems I didn’t read enough
12:49:38 <int-e> (I've played Space Chem a bit, and learned that it makes a difference for handover whether it's from red to blue or vice versa)
12:49:43 <int-e> arseniiv: Infinifactory
12:49:45 -!- tromp has quit (Remote host closed the connection).
12:49:58 -!- tromp has joined.
12:50:17 <arseniiv> int-e: thanks! I’ll take a look what it is
12:51:22 <int-e> (That one is unfinished as well... it was fun for quite some time but in the end the designs get intimidatingly huge.)
12:53:24 <FireFly> I never really got into spacechem for whatever reason
12:53:59 <int-e> That doesn't mean that it isn't worth buying... I completed almost 50 of the levels (49) and had quite a bit of fun (for maybe 40 levels...). But I don't expect to finish.
12:54:18 -!- Essadon has joined.
12:57:19 <int-e> (That last one was about Infinifactory)
13:10:06 <arseniiv> oh I found I was not complete about minimal logic literature I have
13:12:14 <arseniiv> rain1: Kripke models are discussed in another article, “Subminimal negation” by Almudena Colacito, Dick de Jongh and Ana Lucia Vargas. In times of the first article Kripke models of course didn’t exist yet
13:12:33 <arseniiv> my bad
13:13:20 -!- FreeFull has joined.
13:17:32 -!- int-e has quit (Quit: leaving).
13:17:54 -!- int-e has joined.
14:24:34 -!- oerjan has joined.
14:36:31 -!- Phantom_Hoover has joined.
14:36:31 -!- Phantom_Hoover has quit (Changing host).
14:36:31 -!- Phantom_Hoover has joined.
14:37:03 <esowiki> [[Inflection]] M https://esolangs.org/w/index.php?diff=60823&oldid=60806 * Prof Apex * (-1)
14:55:03 <oerjan> mm, kripke models.
14:56:25 <oerjan> it seems to me that without negation, if you have a finite number of variables then taking the conjunction of all of them will give you something that implies all other expressions in them.
14:57:04 <oerjan> which means that finite models would still have explosion in a sense.
15:51:25 <b_jonas> `perl -eprint 42*0.0254, ","
15:51:26 <HackEso> 1.0668,
17:35:55 -!- oerjan has quit (Quit: Later).
18:12:39 <shachaf> int-e: No, what's the pun?
18:13:13 <shachaf> This game really is full of secrets.
18:20:26 -!- S_Gautam has joined.
19:02:12 -!- AnotherTest has quit (Ping timeout: 250 seconds).
19:07:27 <int-e> shachaf: Gurer vf guvf fvyyl znc anzr, "qrcguf" juvpu vf n fghcvq anzr hagvy lbh pbaarpg vg jvgu gur snpg gung vg'f "uvqqra", znxvat vg cebbs gung gur tnzr nf "uvqqra qrcguf".
19:09:12 <shachaf> I see.
19:09:17 <shachaf> I guess that's a pun.
19:09:36 <int-e> It's not deep, except literally.
19:10:25 <int-e> The map name after that is comparatively boring. :P
20:02:20 <zzo38> I found someone mentioned that you could convert a composite video signal into S-video by the use of a 1nF capacitor (and that in some TV sets you can somehow even get a better picture if the signal is converted in this way).
20:03:39 <shachaf> <shachaf> This game has many secrets.
20:04:12 <shachaf> Did you solve that one level in the mountaintop?
20:08:40 <int-e> shachaf: the floating one?
20:09:18 <shachaf> Yes.
20:09:21 <int-e> yeah.
20:09:34 <shachaf> It was sneaky.
20:09:38 <int-e> yeah.
20:09:39 <int-e> :P
20:09:53 <shachaf> What about that one level in -- space, I think?
20:10:16 <shachaf> The one with the two structures where you and the rock start outside.
20:10:35 <shachaf> I made the game crash on that one.
20:10:58 <int-e> I have not done that yet (crash the game).
20:12:44 <int-e> (and maybe it's fixed now... there were many patches over the past few days.)
20:13:33 <b_jonas> shachaf: was the game crashing a feature or a bug of the game?
20:14:05 <shachaf> I believe it was a bug.
20:14:42 <b_jonas> ok, so there wasn't, like, an obvious "missingno is crash" rule that you had to disassemble before a missingno gets a chance to attack you
20:18:36 <FireFly> hmm, I don't think I've seen a patch for the Switch Baba is You yet
20:21:20 -!- GeekDude has joined.
20:23:25 <int-e> shachaf: If it's an overt submap of the main map, I have it. Doesn't mean I remember it :)
20:25:44 <int-e> https://int-e.eu/~bf3/tmp/baba.png <-- spoilers.
20:25:56 <int-e> (screenshot of the main map)
20:26:35 * FireFly , meanwhile, is trying to figure out Fall-C
20:27:24 <shachaf> int-e: You don't have a flower around the rocket.
20:32:23 <int-e> I was stuck on number 13 there for ages. ("Sky hold")
20:32:49 <FireFly> oh well of course as I mention it here, I realise how to solve Fall-C
20:32:58 <FireFly> essentially rubber-duck debugging
20:33:38 <int-e> Hmm how do I find a level by name :)
20:34:12 <int-e> Especially considering that it may be somewhere I haven't been yet.
20:35:22 <shachaf> Well, you've solved all of Fall, presumably.
20:35:56 <int-e> Oh, "Forest of Fall"?
20:36:40 <FireFly> Yes
20:36:46 <FireFly> I think
20:36:54 <FireFly> Yep
20:37:12 <FireFly> Now doing Fall-D: Fetching
20:37:40 <int-e> huh, that's C here.
20:37:46 <FireFly> Huh.
20:38:02 <shachaf> I think they've been shuffled by patches.
20:38:13 <FireFly> I have A: Literacy; B: Broken Playground; C: Scenic Pond; D: Fetching; E: Skeletal Door
20:38:56 <int-e> yeah here C and D are swapped
20:41:23 <int-e> Oh yes. I had to learn a new trick for Scenic Pond.
20:42:34 -!- Phantom_Hoover has quit (Remote host closed the connection).
20:42:55 <shachaf> What about Erghea Gb Scenic Pond?
20:46:50 <int-e> I suspect I don't have that yet. https://int-e.eu/~bf3/tmp/much-later.png
20:48:08 <int-e> but hmm
20:48:13 <shachaf> Ah, yep.
20:48:55 <int-e> and I've missed something in qrcguf
20:49:11 <int-e> (no flower yet)
20:53:25 <zzo38> I looked, and, I don't know how it is work, either
21:01:22 <esowiki> [[NPFuck]] https://esolangs.org/w/index.php?diff=60824&oldid=60514 * Cortex * (+92)
21:04:40 <int-e> shachaf: I don't even know why you want a flower around the rocket
21:04:58 * int-e shrugs
21:05:02 <int-e> spoilers, I'm sure.
21:08:05 <shachaf> I'm confused. Let me look.
21:08:24 <shachaf> I seem to have one?
21:08:31 <shachaf> I mean the moon, not the actual rocket.
21:08:43 <shachaf> World 6, rocket trip.
21:09:21 <shachaf> But, uh, that's no the one I was thinking of. I mixed it up with Chasm.
21:09:26 <shachaf> Automated Doors was the level I got the crash on.
21:09:51 <b_jonas> are they doors with personalities like in HHGG?
21:10:05 <b_jonas> and elevators with foresight
21:13:18 <int-e> shachaf: yeah the moon has a flower :)
21:14:38 -!- arseniiv_ has joined.
21:18:00 -!- arseniiv has quit (Ping timeout: 255 seconds).
21:23:27 <int-e> shachaf: funny. but the "recent news" do mention something about an infinite loop with one of those keywords.
21:23:34 <int-e> so maybe it's fixed
21:27:10 -!- grumble has changed nick to upline.
21:43:59 <int-e> mov $2f - 1f, %rdx <-- as syntax is so confusing
21:53:14 -!- arseniiv_ has quit (Read error: Connection reset by peer).
21:53:24 -!- arseniiv has joined.
21:55:15 <arseniiv> spoilery spoilers
21:55:26 <zzo38> int-e: What is that code doing?
21:56:05 <int-e> zzo38: it's more readable as $(2f - 1f); 2f and 1f refer to the next (local) labels called 2 or 1.
21:56:22 <int-e> so it's computing the length of something.
21:56:40 <zzo38> O, OK
22:45:37 -!- tromp has quit (Remote host closed the connection).
22:48:51 -!- oerjan has joined.
22:59:07 <oerjan> <int-e> shachaf: yeah the moon has a flower :) <-- The Little Prince reference?
23:00:16 -!- danieljabailey has joined.
23:01:27 -!- salpynx has joined.
23:03:57 <int-e> oerjan: well, now it is
23:05:51 <salpynx> kmc: I had to look up that Forth on Atari book, full pdf download available here: https://archive.org/details/ataribooks-forth-on-the-atari-learning-by-using The contents are kinda amusing too.
23:05:59 <kmc> I skimmed it
23:06:04 <kmc> they show how to hook up custom hardware, which is neat
23:09:14 <salpynx> Some of those old basic computing books have neat programs that should be fun to convert into Esolangs. The Usborne computing books from the 80s have been released to the public (with some minor conditions) here https://usborne.com/browse-books/features/computer-and-coding-books/
23:11:33 <salpynx> I have been trying to convert a 'Creepy Computer Game" from Basic to Eoderdrome, via Thue. Still a work in progress...
23:11:49 <kmc> fun
23:16:08 <salpynx> The base idea is to have random numbers picked by running the source (replacement rules) through shuf, and have the rest of the program run as expected. A lot of those old games are simple random number guessing game variants
23:16:34 -!- tromp has joined.
23:40:27 -!- mniip has changed nick to mnoop.
←2019-02 2019-03 2019-04→ ↑2019 ↑all