00:30:13 <esowiki> [[Brainfunc]] M https://esolangs.org/w/index.php?diff=70321&oldid=70276 * PythonshellDebugwindow * (+99) /* Resources */
00:32:12 <esowiki> [[Spiral Rise]] M https://esolangs.org/w/index.php?diff=70322&oldid=70306 * Ais523 * (-1) /* Computational class */ grammar
00:34:04 <esowiki> [[Brainfunc]] M https://esolangs.org/w/index.php?diff=70323&oldid=70321 * PythonshellDebugwindow * (+10) /* Resources */
00:35:56 <esowiki> [[User:PythonshellDebugwindow/Test]] N https://esolangs.org/w/index.php?oldid=70324 * PythonshellDebugwindow * (+35) Created page with "#REDIRECT [https://www.google.com/]"
00:36:15 <esowiki> [[User:PythonshellDebugwindow]] https://esolangs.org/w/index.php?diff=70325&oldid=70313 * PythonshellDebugwindow * (+9)
00:36:26 <esowiki> [[User:PythonshellDebugwindow/Test]] M https://esolangs.org/w/index.php?diff=70326&oldid=70324 * PythonshellDebugwindow * (-35) Blanked the page
00:36:56 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70327&oldid=70325 * PythonshellDebugwindow * (-9)
00:37:37 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70328&oldid=70327 * PythonshellDebugwindow * (+15)
00:38:33 <esowiki> [[TTTTTTTT]] M https://esolangs.org/w/index.php?diff=70329&oldid=70314 * PythonshellDebugwindow * (+0) /* Keywords */
00:43:37 <esowiki> [[TTTTTTTT]] M https://esolangs.org/w/index.php?diff=70330&oldid=70329 * PythonshellDebugwindow * (+330) /* Syntax */
00:46:06 -!- b_jonas has quit (Quit: leaving).
01:18:46 -!- arseniiv has quit (Ping timeout: 246 seconds).
01:41:31 <zzo38> Is it possible for a program called by xinetd to pass the connection to another program which is running (which will not necessarily be the first thing it does; it may communicate with the client before it does that), without needing to continue to run itself?
01:47:04 -!- 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:52:11 <ais523> zzo38: the only way I know of would be to use an AF_UNIX socket to send the connected network socket as ancillary data
01:52:38 <ais523> that would duplicate the network socket into a different process, allowing the original process to exit without closing it
01:52:59 <int-e> one way is enough, certainly ;)
01:53:38 <int-e> I vaguely remembered this... took a while to home in on `man unix` and the section on SCM_RIGHTS.
01:54:27 <zzo38> ais523: Yes, but will xinetd work properly if the program is doing that?
01:54:57 <ais523> I don't know for certain, but I wouldn't expect xinetd to be responsible for closing the socket itself
01:55:15 <ais523> it probably duplciates it to the child and closes its own copy, allowing the executed program to be responsible for closing the other copy
01:56:56 <ais523> (duplicating a file descriptor to a program you're about to execute is very easy, it's duplicating it to a program that's already running that's the hard part)
01:59:05 <zzo38> xinetd has the per_source option, I don't know if it would work properly if the program terminates. (I don't expect the rlimit options to work of course, meaning I would have to manage those by myself.)
02:26:28 <int-e> so... at a glance this will only break the obvious things: accounting (number of running instances, wait) and interception.
02:27:03 <int-e> per_source falls under accounting
02:27:45 <int-e> Also xinetd is a bit bigger than I expected.
02:28:03 <int-e> (but it's pretty nice code)
02:57:56 -!- MTGBusyBeaver42 has quit (Ping timeout: 240 seconds).
03:12:11 -!- Phantom_Hoover has joined.
03:19:13 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
03:45:57 <esowiki> [[Spiral Rise]] https://esolangs.org/w/index.php?diff=70331&oldid=70322 * Ais523 * (+0) s/augend/addend/g (OK, so addition is commutative, but)
03:47:47 <esowiki> [[Zero Instruction Set Computer]] https://esolangs.org/w/index.php?diff=70332&oldid=54398 * Ais523 * (+18) /* Examples */ +[[Spiral Rise]]
03:56:48 <ais523> how many esolang interpreters detect tight infinite loops and optimize them into something with zero (or minimal) CPU usage?
03:57:20 <ais523> the only one I can think of offhand is Ratiofall, which if it can prove that the program is stuck in an infinite loop, indefinitely parks the thread
03:57:57 <int-e> some brainfuck interpreters?
03:59:32 <ais523> it seems like a natural thing to do but I'm not sure if many implementors thought of it
04:02:27 <int-e> Well, once you compress a straight line sequence of +->< into a few addition and subtractions, it's not a big effort to detect balanced code (that doesn't move the pointer) that just increments and decrements the current cell, and change the additions to multiplications accordingly.
04:02:58 <ais523> oh, that's optimizing tight /finite/ loops
04:03:03 <ais523> loads of interps do that (including Ratiofall)
04:03:32 <zzo38> Now will you write the document of Waterfall Construction Kit?
04:03:37 <int-e> ais523: Sorry, I skipped the "infinite" while reading.
04:03:41 <ais523> I'm talking more about optimizing something like +[] in BF into something that blocks forever without consuming CPU, such as an intentional deadlock
04:04:23 <ais523> zzo38: I need to work out what the language semantics are exactly, the great thing about an esolang that was only designed to write one program is that you don't have to care much about the details of the syntax or semantics
04:04:38 <ais523> especially if you subsequently compile that program by hand rather than using a compiler, and know what it's meant to mean
04:05:05 <int-e> In that case, I don't know... especially in a BF context, it seems rather pointless to have such code.
04:05:46 <int-e> (You can arrange for the program to terminate instead, though that may be a little bit inconvenient.)
04:06:20 <ais523> it's useful to save electricity when debugging esoprograms
04:07:11 <ais523> some non-eso languages have basic infinite loop detection built in, too, although Haskell treats an infinite loop as an exception rather than optimising it
04:07:30 <ais523> (this is actually in the published language semantics, IIRC, that exceptions and infinite loops are considered equivalent)
04:07:46 <ais523> thus ghc can optimise one into the other
04:08:00 <ais523> > let x a = x a+1 in x 0
04:08:05 <int-e> In denotational semantics that don't care about IO, sure, all these things are bottom.
04:08:19 <ais523> hmm, I'm vaguely surprised it didn't detect that one
04:09:30 <zzo38> A infinite loop with no I/O might as well be: for(;;) pause(); if you do not need to track any variables by the debugger.
04:09:39 <int-e> GHC makes virtually *no* effort to detect infinite loops. The run-time system detects a very special case where a thread becomes blocked on a black hole that it created itself. It's a feature of the garbage collector.
04:09:55 <ais523> zzo38: right; which system call or library function you use there is up for debate, but pause seems reasonable
04:11:27 * ais523 tries strace ratiofall -d -e [[2,1],[1,1]]
04:11:37 <ais523> looks like it uses futex as its infinitely blocking system call
04:11:52 <ais523> which kind-of makes sense, as I implemented it using a park with no paired unpark
04:12:56 <int-e> > let x a = let r = r+1 in r in x 0 -- hmm
04:13:49 <int-e> I guess the x a = x a + 1 would work if compiled with optimization because of CSE.
04:15:25 <ais523> the equivalent Waterfall Model program is [[3,2,2],[1,1,2],[2,0,0]], which ratiofall appears to optimize at optimization level 2 or higher
04:15:28 <ais523> (at -O1 it doesn't notice)
04:16:20 <int-e> But that guess is actually wrong.
04:16:37 <int-e> Oh well, anybody relying on <<loop>> is a fool.
04:17:10 <ais523> my guess is that most infinite loop detection only exists in cases where it's more or less forced by the implementation technique of the interpreter
04:17:36 <ais523> e.g. ratiofall attempts to determine how many iterations a loop will go before it terminates, and thus infinitely many iterations is a special case that simply has to be handled
04:18:56 <int-e> Woah, this code is ancient. 2002. import List
04:19:19 <int-e> And it has a commented out import PrelIOBase (unsafePerformIO) ... I didn't even remember that module name :)
04:20:14 <ais523> I guess Incident gets a special mention here: the language semantics require implementations to unilaterally break tight infinite loops (and give a precise definition and specify what point in the loop at which to break it)
04:21:58 <int-e> Okay I detected the offset-0 loop, turned it into an if-then-else, but kept the whole loop for the non-zero case.
04:24:41 <int-e> (There were reasons to keep the loop; it might contain output instructions.)
04:35:57 <esowiki> [[Unassignable]] https://esolangs.org/w/index.php?diff=70333&oldid=20158 * Ais523 * (-56) update intro; there is now a compiler into ABCDXYZ
04:40:55 -!- FreeFull has quit.
05:00:14 <esowiki> [[StackFlow]] https://esolangs.org/w/index.php?diff=70334&oldid=54277 * Ais523 * (+1811) this language is now mostly obsolete due to [[The Waterfall Model]] (although it was helpful for the ~4 years in between); mention that in the intro to avoid misleading people, explain the relationship in detail lower down, and reorganise the TC proofs a little
05:39:36 <esowiki> [[The Waterfall Model]] https://esolangs.org/w/index.php?diff=70335&oldid=58723 * Ais523 * (+410) /* External resources */ M:tG-related external resources
07:01:57 -!- imode has quit (Ping timeout: 250 seconds).
07:20:19 -!- wib_jonas has joined.
07:39:40 -!- tromp has joined.
07:43:31 -!- tromp_ has quit (Ping timeout: 272 seconds).
08:16:40 -!- LKoen has joined.
08:32:14 -!- olsner has quit (Ping timeout: 256 seconds).
08:41:59 -!- olsner has joined.
08:57:10 -!- rain1 has joined.
09:07:43 -!- xelxebar has quit (Ping timeout: 240 seconds).
09:18:23 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=70336&oldid=70255 * A * (-102)
09:51:51 -!- sprocklem has quit (Ping timeout: 260 seconds).
09:53:14 -!- sprocklem has joined.
09:57:48 -!- sprocklem has quit (Ping timeout: 256 seconds).
09:58:56 -!- sprocklem has joined.
10:20:12 -!- LKoen has quit (Remote host closed the connection).
10:21:45 -!- LKoen has joined.
10:29:09 -!- wib_jonas has quit (Quit: Ping timeout (120 seconds)).
11:04:59 -!- xkapastel has joined.
11:15:10 -!- wib_jonas has joined.
11:19:07 -!- xelxebar has joined.
11:28:11 -!- Phantom_Hoover has joined.
11:30:44 -!- olsner has quit (Ping timeout: 256 seconds).
11:32:23 -!- olsner has joined.
11:50:19 -!- Lord_of_Life_ has joined.
11:52:20 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
11:52:21 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
12:21:38 -!- arseniiv has joined.
12:23:17 <wib_jonas> curse you, non-specific error message
12:30:23 -!- xelxebar has quit (Ping timeout: 240 seconds).
12:32:59 -!- xelxebar has joined.
12:51:26 <esowiki> [[Special:Log/move]] move * PythonshellDebugwindow * moved [[TTTTTTTT]] to [[HGFTSNOA]]
12:55:44 -!- olsner has quit (Ping timeout: 256 seconds).
13:02:36 -!- olsner has joined.
13:11:36 -!- olsner has quit (Ping timeout: 256 seconds).
13:16:08 -!- olsner has joined.
14:24:49 -!- sprocklem has quit (Ping timeout: 264 seconds).
14:25:21 -!- sprocklem has joined.
14:38:21 -!- kritixilithos has joined.
14:39:14 -!- kritixil1 has joined.
14:42:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
14:44:45 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
14:45:33 -!- kritixilithos has joined.
14:46:23 -!- kritixil1 has quit (Remote host closed the connection).
14:46:39 -!- kritixilithos has quit (Client Quit).
14:46:57 -!- LKoen has quit (Remote host closed the connection).
14:47:34 -!- kritixilithos has joined.
14:48:29 -!- kritixilithos has quit (Client Quit).
14:51:06 -!- rain1 has quit (Quit: Lost terminal).
14:52:26 -!- kritixilithos has joined.
14:55:31 -!- tromp has quit (Remote host closed the connection).
14:56:05 -!- tromp has joined.
15:14:27 -!- b_jonas has joined.
15:34:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
15:36:02 -!- longname has quit (Ping timeout: 256 seconds).
15:40:38 -!- olsner has quit (Ping timeout: 256 seconds).
15:42:42 -!- longname has joined.
15:43:17 <esowiki> [[HGFTSNOA]] M https://esolangs.org/w/index.php?diff=70339&oldid=70337 * PythonshellDebugwindow * (+2507)
15:45:56 -!- Phantom_Hoover has joined.
15:46:08 -!- Phantom_Hoover has quit (Changing host).
15:46:08 -!- Phantom_Hoover has joined.
15:52:37 -!- imode has joined.
16:07:31 -!- olsner has joined.
16:44:35 -!- xkapastel has quit (Quit: Connection closed for inactivity).
16:52:01 -!- rain1 has joined.
16:54:31 -!- xkapastel has joined.
16:56:12 -!- callforjudgement has joined.
16:57:49 -!- ais523 has quit (Ping timeout: 246 seconds).
16:57:59 -!- callforjudgement has changed nick to ais523.
17:11:56 -!- kritixilithos has joined.
17:13:29 -!- kspalaiologos has joined.
17:15:00 -!- wib_jonas has quit (Remote host closed the connection).
17:26:23 <ais523> I should really learn how to type that thing
17:33:05 -!- LKoen has joined.
17:40:31 <kspalaiologos> I've literally had the source code of bfbot reincarnation
17:40:57 <kspalaiologos> and the exact file containing 16KB of assembly code for it is gone forever, overwritten with NUL's
17:42:30 <ais523> ugh, are there any other copies?
17:42:50 <ais523> after a couple of similar incidents I configured my editor to store backup copies of everything I edit in an unrelated directory
17:43:00 <ais523> which serves as good insurance against that sort of thing
17:45:09 -!- kritixilithos has quit (Quit: quit).
17:47:31 -!- ais523 has quit (Quit: sorry for my connection).
17:47:43 -!- ais523 has joined.
18:03:46 <int-e> universal crisis averted
18:04:02 <tromp> int-e: my pre-optimization oddperfect is 337 bits :-(
18:04:19 <tromp> need some serious optimizing now
18:05:31 <tromp> i still have an ugly pred in there to consider only divisors 1..n-1
18:09:49 -!- FreeFull has joined.
18:37:25 <int-e> yeah I was happy to get away without pred :)
18:47:41 -!- arseniiv_ has joined.
18:48:29 -!- arseniiv has quit (Ping timeout: 246 seconds).
19:01:35 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70340&oldid=70328 * PythonshellDebugwindow * (+0) /* Languages */
19:02:30 <esowiki> [[HGFTSNOA]] M https://esolangs.org/w/index.php?diff=70341&oldid=70339 * PythonshellDebugwindow * (+2) /* Datatypes */
19:06:58 -!- imode has quit (Ping timeout: 246 seconds).
19:31:16 -!- imode has joined.
19:33:33 <b_jonas> kspalaiologos: hardware failure => ouch, that sucks
20:12:13 <b_jonas> darn. I realized that I can't deny that I'm a prepper, at least to a small amount, because I was looking at the stockpiles of stuff I have at home, and started to think of what I have too much or too little of and how I could improve this.
20:13:22 <longname> That doesn't really make you a prepper
20:13:40 <b_jonas> certainly not a full prepper
20:13:58 <longname> Prepping implies that you're focusing on a disaster situation to such a degree where it overshadows your daily life
20:14:00 <b_jonas> but I can't claim myself entirely innocent of the mindset
20:14:16 <longname> But it's perfectly rational to want to keep a reasonable stockpile of supplies
20:14:19 <b_jonas> eww no, that's a bad derogative definition
20:14:26 <b_jonas> you can certainly be a prepper in a good way
20:14:33 <zzo38> I keep backups on DVDs, but it would also be possible to keep backups of public files on remote services too (perhaps in addition to DVDs)
20:27:05 -!- b_jonas has quit (Quit: leaving).
20:29:18 -!- b_jonas has joined.
20:37:44 <esowiki> [[HGFTSNOA]] M https://esolangs.org/w/index.php?diff=70342&oldid=70341 * PythonshellDebugwindow * (+397)
20:37:48 -!- kspalaiologos has quit (Quit: Leaving).
20:44:00 <rain1> good to be prepared
20:54:26 -!- moony has changed nick to moonv.
20:59:48 <esowiki> [[Spiral Rise]] https://esolangs.org/w/index.php?diff=70343&oldid=70331 * Ais523 * (+1089) /* Implementations */ comment the implementation in The Waterfall Model, so that people besides me might get some idea of what this is actually doing
21:12:57 -!- rain1 has quit (Quit: Lost terminal).
21:29:46 <zzo38> I don't hate Hitler's art so much, even though some people do (they say they have no soul, and other stuff).
21:37:33 -!- cpressey has joined.
21:39:43 -!- cpressey has quit (Client Quit).
22:22:58 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds).
22:24:00 -!- budonyc has joined.
22:29:58 -!- ais523 has quit (Ping timeout: 246 seconds).
22:44:35 -!- xkapastel has quit (Quit: Connection closed for inactivity).
22:52:04 <zzo38> Which is better, putting both parts of a split card (or flip card, or double face card, or adventurer card, etc) in one record, or in two records linked together, or something else other than this? I can think of advantages for each case, and disadvantages.
23:08:01 -!- sprocklem has quit (Ping timeout: 264 seconds).
23:22:27 <b_jonas> zzo38: I suggest to put each card face of split/flip/double-sided/meld card to a separate record, but put the stripes in the text boxes of level up, saga and planeswalker to the same record. if you want a simpler structure, link the face records together, recording what all the other faces are, why there are multiple faces, and the order of these faces.
23:23:19 <b_jonas> zzo38: if you're ok with a more complex structure, then have a type of record for cards and a type of record for faces, link the list of faces from the cards, and possibly create faces for the unique tokens described in rules texts as well.
23:26:52 <b_jonas> zzo38: there's some irregularity involved because the faces of a double-sided or split card have separate expansion symbols and artist credits, whereas the faces of a flip card doesn't, but I hope that the set symbols and artist credits of each face of the card should be the same
23:29:14 <zzo38> Yes, I would think the set symbols for each face of the card are the same, and perhaps also the collector number, although there may be the possibility for the artist's name to differ (although I don't know if this is the case with any existing cards)
23:31:44 -!- b_jonas has quit (Ping timeout: 250 seconds).
23:32:17 <zzo38> (Probably the rarity is also the same for both faces; I don't know why it would be different.)
23:33:33 -!- b_jonas has joined.
23:34:50 <zzo38> Meld cards are another different thing though. They are two separate cards, and the melded side probably does not have a rarity at all, although I suppose the two separate cards could have the same or different rarity.
23:44:53 <esowiki> [[Insanity]] N https://esolangs.org/w/index.php?oldid=70344 * PythonshellDebugwindow * (+216) Created page with "'''Insanity''' is an esolang by [[User:PythonshellDebugwindow]]. Its based on Einsteins definition of insanitydoing the same thing over and over again and expecting a..."
23:45:10 -!- b_jonas has quit (Ping timeout: 250 seconds).
23:45:13 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70345&oldid=70340 * PythonshellDebugwindow * (+15) /* Languages */
23:46:55 -!- b_jonas has joined.
23:50:07 -!- Lord_of_Life_ has joined.
23:53:16 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
23:53:18 -!- Lord_of_Life_ has changed nick to Lord_of_Life.