00:00:33 [[Counting Calculus]] M https://esolangs.org/w/index.php?diff=83942&oldid=83939 * PythonshellDebugwindow * (+54) Categorize 00:02:32 [[User:Salpynx/Braneflage]] M https://esolangs.org/w/index.php?diff=83943&oldid=83941 * Salpynx * (+2) /* Program Commands */ that looks better. Hopefully it's correct too. 00:20:52 int-e how does Wuste Ebenen translate? https://i.imgur.com/vbqqJtI.png 00:21:57 Wüste = desert, Ebene(n) = plain(s) 00:23:33 because there is a obscene word Ebenya meaning "something fucking far/disconnected", that is traditionally considered made out of such word as "ebat'" "fuck", "zaebenit" "fucking make smth"; but now seeing the word "Ebenen" on the map I'm thinking that the etymology is not like people use think 00:24:42 hah, cool, because that's exactly how another map says: https://i.imgur.com/9D72Uk2.png 00:32:03 ah so it's similar to the English term "bumfuck" / "bumfuck nowhere"? 00:32:11 Wiktionary says that "ебать" is protoslav "*jěbati" and is the same in Serbian, Czheh, Slovak, Pol; and is related to sanskrít . यभति (yabhati) and ancient greek. οἴφω, οἰφέω; but now I don't believe Wiktionary that ебеня is from there, because it's too close to your word 00:33:21 found one reference to the russian word on twitter https://twitter.com/cybersandwitch/status/1285193689732718593 00:33:31 i actually have a dead-tree book of photos of soviet bus stops 00:33:38 what Wiktionary says on German Ebene: From Middle High German ebene, from Old High German ebanī, from Proto-Germanic *ebnaz, whence also Old English efen (English even), Old Norse jafn. 00:33:41 i saw it at a bookstore and was immediately like yes I need this 00:34:28 keegan how do I see the parent tweet? 00:36:25 either I'm idiot in twitter or it's deleted ( 00:42:49 in C, do we know what format __DATE__ will have after year 10000? I want to use it to give a likely branch hint in a date formatting routine so that before 9995 or so the branch that writes a four digit year is considered likely, but after 10000 the branch that writes a five digit year is considered likely instead 00:43:41 nakilon: https://twitter.com/ItsDanThomas/status/1284808430167957504 00:44:03 b_jonas: excellent idea 00:44:31 I guess I could just have something in the build script that detects the date instead and defines macros accordingly, and then test those macros instead of __DATE__ 00:44:43 yes, this is the book I have https://twitter.com/ItsDanThomas/status/1285306157645660161 (vol 2 only) 00:45:04 keegan heh you'll never find such stops 00:50:38 I admire your long-term planning b_jonas 00:51:39 nakilon: I mean, I probably won't 00:51:44 because I'm unlikely to visit Russia any time soon 00:51:52 these blogs posts copypasting these images made it impossible to google real examples lol 00:51:56 heh 00:52:40 Preprocessor Macro of the Long Now. 00:54:42 keegan this is a little bit closer to reality https://www.goingthewholehogg.com/soviet-bus-stops/ 00:55:30 but really it's just 1-3 walls with a roof and maybe a little piece of mosaic 00:55:47 real bus stop just won't be photographed and posted in web 00:56:45 and it would be by magnitude harder to find soviet one in Russia than in Ukraine or maybe Moldova 00:57:53 I see 00:59:40 oh nice, the Yandex Images search is expectedly more relevant and shows some real things instead of just top-10 blog articles: https://yandex.ru/images/search?text=%D1%81%D0%BE%D0%B2%D0%B5%D1%82%D1%81%D0%BA%D0%B0%D1%8F%20%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0%20%D0%B2%20%D0%B5%D0%B1%D0%B5%D0%BD%D1%8F%D1%85 01:00:24 this is it: https://yandex.ru/images/search?pos=74&p=1&img_url=https%3A%2F%2Fi7.photo.2gis.com%2Fimages%2Fgeo%2F0%2F30258560046534811_308c.jpg&text=%D1%81%D0%BE%D0%B2%D0%B5%D1%82%D1%81%D0%BA%D0%B0%D1%8F+%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0+%D0%B2+%D0%B5%D0%B1%D0%B5%D0%BD%D1%8F%D1%85&rpt=simage 01:00:44 keegan: well there's a subject i didn't realize i was interested in but i absolutely am now 01:00:45 :3 01:02:09 and there are all Ukrainian as I see https://bugaga.ru/jokes/1146723770-sdelano-v-sssr-avtobusnye-ostanovki.html 02:09:40 heh, about privacy: 5 years ago here https://www.google.com/chrome/browser/desktop/ there was a Chrome, i.e. not a Google Chrome but almost a Chromium, that is almost without telemetry and stuff; but now it's Google Chrome there, and the FreeSMUG project was closed in 2020 too 02:12:33 -!- dyeplexer has joined. 02:15:40 -!- dyeplexer has quit (Remote host closed the connection). 02:27:36 I write software without telemetry; the telemetry is a waste of energy. 02:30:02 -!- mla has joined. 02:48:18 Is there an esolang which is just a presentation of a Turing category? I found the language "Finite Groups", and I'm thinking of a cross between that and Cat/Kitten/Grace/etc. 02:48:44 my QuakeLive browser extension was sending users usernames to my Spreadsheet so I knew who used it; Google didn't catch me with it 03:24:03 -!- tiggilyboo has joined. 03:26:06 -!- Lord_of_Life has quit (Ping timeout: 264 seconds). 03:27:11 -!- Lord_of_Life has joined. 03:37:59 [[Talk:Polyglot]] https://esolangs.org/w/index.php?diff=83944&oldid=83833 * ColorfulGalaxy * (+46) /* Challenge */ 03:42:10 [[Hello, world!]] https://esolangs.org/w/index.php?diff=83945&oldid=75658 * ColorfulGalaxy * (+254) 03:46:24 wtf does kolmogorov have to do with hello world 03:52:58 Some numbers are more compressible than others, in the Kolmogorov sense that they can be printed out by relatively short programs. "Hello world" is a number. I think that that's all that they're thinking of. 03:59:44 -!- tiggilyboo has quit (Quit: tiggilyboo). 05:26:07 Do you think that this trademark license is suitable? http://sprunge.us/iagkJb 06:08:18 cd: Hi ;-) 06:08:24 hiii 06:08:48 i've been (trying) to run a hb instance for a bit, damn thing's fiddly but it works 06:08:51 :P 06:09:00 thought it'd be funny to see what that network makes of it 06:09:02 congrats 06:15:26 int-e: atm the hiccups it has are 1) I didn't fully fix the ping code so it randomly times out on pissnet (I'm tired gimmie a breakkkkk), and 2) very very rarely umlbox init hangs for no apparent reason, and I can't seem to ever repro it 06:16:04 cd: sounds like fun 06:18:58 `` mknod stall p && cat stall 06:19:08 * cd is curious if this is the first "oops eso broke" in a while 06:20:24 fizzie: ^ 06:26:32 [[Nevermind]] https://esolangs.org/w/index.php?diff=83946&oldid=83881 * OfficialCraftCGame * (-1) 06:27:11 [[Nevermind]] https://esolangs.org/w/index.php?diff=83947&oldid=83946 * OfficialCraftCGame * (+0) 06:27:18 No output. 06:28:06 oh hey, a no output 06:28:09 only uh 06:28:14 nearly 10min later 06:29:30 `sleep 3600 06:32:23 No output. 06:33:46 generous, but not quite 10 minutes :) 07:31:24 -!- imode has quit (Ping timeout: 272 seconds). 07:40:50 -!- Sgeo has quit (Read error: Connection reset by peer). 07:58:35 -!- FireFly has changed hostmask to firefly@glowbum/gluehwuermchen/Firefly. 08:10:55 -!- hendursaga has quit (Ping timeout: 252 seconds). 08:15:02 -!- hendursaga has joined. 08:46:28 -!- Thelie has joined. 09:43:46 Ooh, first-ever recorded CHGHOST: https://logs.esolangs.org/libera-esolangs/2021-06-04.html#lmb 09:43:50 And how come that takes long? Sure, it's a blocking read, but so's many other things, it should react to SIGTERM just as usual. 09:47:07 that's just cloaking, right? had to be recorded earlier 09:47:27 It was recorded as a simulated quit-and-rejoin pair, not as a CHGHOST. 09:48:07 I just turned on the extension that allows it to report it as a single thing, is all. 09:48:18 I see 09:49:24 lol 09:49:53 FireFly: You made history. (Not in a very big way, but still.) 09:50:33 I vaguely remember there used to be something screwy about how umlbox handles time, maybe it's just that its notion of 30 seconds gets real skewed. 09:53:24 `` sleep 1; echo a second 09:53:26 a second 09:53:32 `` sleep 2; echo two seconds 09:53:35 two seconds 09:53:42 `` sleep 4; echo four seconds 09:53:47 four seconds 09:54:05 That seems to check out, roughly. But last time it broke when I went for five, somehow. 09:54:12 `` sleep 5; echo five seconds 09:54:24 five seconds 09:54:36 Well, that was definitely more than 5. 09:54:40 `` sleep 10; echo ten seconds 09:55:14 the world's longest ten seconds 09:55:35 ...nine... 09:56:30 Yeah. I wonder if it's something like, its "wall" clock only runs when there's actually CPU activity, so while a busy-loop gets terminated roughly in the allotted 30 seconds, an entirely idle wait can run for much longer. 09:58:14 ...eight... 09:58:59 Still running, but I don't have any way to tell how far it's gotten. 09:59:27 If someone puts in a busy loop will that be enough for the sleep 10 to catch up 09:59:31 ten seconds 09:59:49 It'd be a separate UML instance, so probably not, they should be fully independent. 10:00:02 ...seven... 10:00:52 4 minutes and 51 seconds 10:02:16 "Real-time Clock makes UML time deltas match wall clock deltas. This should normally be enabled." Says some random excerpt from an UML book from 15 years ago. 10:02:55 I lost count. 10:03:07 ...five... 10:03:07 ;-) 10:08:10 I don't see anything relevant in the kernel config options, really. 10:11:39 There apparently used to be an option called UML_REAL_TIME_CLOCK. But I can find no sign of it in the kernel I've got there (4.19), which might mean it's either no longer an option because it's now on by default, or it's no longer an option because it just isn't supported any more. 10:11:51 https://cateee.net/lkddb/web-lkddb/UML_REAL_TIME_CLOCK.html says "found in Linux kernels: 2.6.9–2.6.23" which was pretty long time ago. 10:12:10 `` rasel @ 10:12:12 No output. 10:12:33 ah it responded already 10:13:43 Fortunately timeouts don't really block other non-writing commands from going ahead, so it's not a huge deal if there's a stuck idle process for a few minutes. Still, would be nice to have time work more properly. 10:13:59 Maybe I'll just go with the cheap fix and add an external timeout. 10:14:53 `cat ../canary 10:14:53 Why are you taking Polly down into the mine? Polly's a parrot, not a canary! And where's my cracker? 10:15:12 Although there's this whole fancy thing with the internal one, where it has a two-phase thing: after 30 seconds, it sends TERM, and then gives the process a 5-second grace period to stop cleanly before sending KILL to it. 10:15:45 shouldn't there be a watchdog outside 10:16:29 I guess I could try to figure out how to trigger the soft timeout from the outside, and then have an even harder one (just terminate the UML kernel) if both of those fail. 10:17:53 And of course there's the whole R/W-lock thing that we underatand well enough to make this completely blocking. 10:18:11 I mean, it still times out *eventually*. 10:18:13 * int-e shrugs 10:18:35 ...0.23111... 10:18:56 In case you missed it, the "10 seconds" did already finish. 10:19:27 ah yes, I ddi 10:19:29 did 10:19:44 what a pity though 10:20:05 but 5 minutes is a good effort 10:20:55 I think I'll probably add an extra TTY to signal in the TERM and KILL timeout triggers from the outside (where I expect time probably does run in a linear fashion), and then add one more phase which just kills the UML process. That'll simplify the init too. 10:21:04 But not now. 10:22:08 -!- dyeplexer has joined. 10:26:38 -!- Thelie has quit (Remote host closed the connection). 10:56:57 -!- dutch has quit (Quit: WeeChat 3.0.1). 11:19:01 -!- dutch has joined. 11:23:11 [[Nevermind]] https://esolangs.org/w/index.php?diff=83948&oldid=83947 * OfficialCraftCGame * (+0) 11:28:29 [[Nevermind]] M https://esolangs.org/w/index.php?diff=83949&oldid=83948 * OfficialCraftCGame * (+120) Added a link to my python interpreter 11:29:43 [[Nevermind]] M https://esolangs.org/w/index.php?diff=83950&oldid=83949 * OfficialCraftCGame * (+4) Put the links into an unordered list. 11:30:44 [[Nevermind]] M https://esolangs.org/w/index.php?diff=83951&oldid=83950 * OfficialCraftCGame * (+18) Added the page to the 2021 category. 12:23:25 -!- Thelie has joined. 12:37:09 [[NOTE]] N https://esolangs.org/w/index.php?oldid=83952 * ResU * (+729) Created page with "NOTE is an esolang created by [[User:ResU]] in 2021. It uses one-based indexing. ==Arrays== Arrays are created like this: example = Hello, world! In this case, [[NOTE]] https://esolangs.org/w/index.php?diff=83953&oldid=83952 * ResU * (+21) /* Commands */ 12:54:35 [[NOTE]] https://esolangs.org/w/index.php?diff=83954&oldid=83953 * ResU * (+35) /* Commands */ 13:23:59 [[NOTE]] https://esolangs.org/w/index.php?diff=83955&oldid=83954 * ResU * (+395) /* Examples */ 13:24:32 [[NOTE]] https://esolangs.org/w/index.php?diff=83956&oldid=83955 * ResU * (+0) /* Examples */ 13:25:23 -!- arseniiv_ has joined. 13:27:37 [[Rayuela]] M https://esolangs.org/w/index.php?diff=83957&oldid=82823 * Xanman12321 * (+0) minor fix 14:20:37 [[Jumping True]] https://esolangs.org/w/index.php?diff=83958&oldid=83931 * MathR * (+56) 14:26:11 [[Jumping True]] https://esolangs.org/w/index.php?diff=83959&oldid=83958 * MathR * (+17) 14:29:20 -!- Sgeo has joined. 14:29:31 -!- Thelie has quit (Remote host closed the connection). 15:00:24 -!- Melvar has quit (Quit: WeeChat 3.0.1). 15:07:51 [[User:ResU]] https://esolangs.org/w/index.php?diff=83960&oldid=83877 * ResU * (+15) 15:52:21 [[User:Epidemic7]] https://esolangs.org/w/index.php?diff=83961&oldid=83624 * Epidemic7 * (-113) 16:00:17 [[Jumping True]] https://esolangs.org/w/index.php?diff=83962&oldid=83959 * MathR * (+24) /* External resources */ 16:00:44 [[25 bytes o:]] N https://esolangs.org/w/index.php?oldid=83963 * Epidemic7 * (+308) Created page with "[[Category: Joke languages]] 25 bytes o: is an esoteric programming language designed to be as least functional as possible with the smallest compiler. To it's name, it's 25 b..." 16:04:08 [[25 bytes o:]] https://esolangs.org/w/index.php?diff=83964&oldid=83963 * Epidemic7 * (-5) 16:04:54 [[25 bytes o:]] https://esolangs.org/w/index.php?diff=83965&oldid=83964 * Epidemic7 * (+68) 16:16:19 [[FALSE]] M https://esolangs.org/w/index.php?diff=83966&oldid=58762 * MathR * (+0) Changed "Computational Class" to "Computational class" 16:48:13 [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=83967&oldid=83845 * ResU * (+38) /* NOTE */ 17:10:12 `coins 17:10:18 ​2ivncoin wilsonacoin q-ballendsartrecoin mesolammalcoin draysnaterreludenjarercoin bakcoin haifficidumbscoin owlacoin disorcoin witcoin lockcoin tsummagemoneycoin bincoin befernogcoin fcccoin thrugcoin fruntecoin cronycoin adedfourcoin uixcoin 18:34:28 -!- dyeplexer has quit (Remote host closed the connection). 18:35:08 [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=83968&oldid=83270 * ResU * (+186) 18:51:17 -!- winircuser-780 has joined. 18:59:12 -!- winircuser-780 has quit (Quit: Powered by WinIRC). 19:39:56 [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=83969&oldid=83968 * Ais523 * (+181) /* Category:No input */ [[:Category:Output only]]? 19:50:28 Hmm, what's the standard clean C way to wait for either a child process to terminate or a file descriptor to become ready for reading, whichever happens first? I know on modern Linux there's pidfd_open, but that's Linux >= 5.3, and this should work on 4.19. Is it just "poll on the fd and rely on SIGCHLD to cause the poll to fail with EINTR"? And do I need to change the default disposition from ignore to 19:50:34 something else for SIGCHLD to interrupt the poll? Hmm, I guess I can just try it out. 19:53:47 [[Deadfish]] https://esolangs.org/w/index.php?diff=83970&oldid=83743 * Dnm * (+713) Deadfish in Rexx 20:12:25 " Maybe I'll just go with the cheap fix and add an external timeout." => what? that's not a cheap fix, that's the proper method, because you trust the outer machine more than the inner one 20:12:52 you can also have a timeout in the inner machine so it can prepare to shut down more properly, but it's the outer one that you rely on 20:14:29 -!- Thelie has joined. 20:14:33 fizzie: you can use signalfd if you wish 20:15:06 or let libev or some other event loop figure out the internals and you only tell it what events you want it to wake you up for 20:16:36 It's a cheap fix in the sense that it doesn't fix the behavior of time measurement. I agree it's proper to have (also) an external timeout, but I was really just talking about the specific problem of being unable to measure time. 20:17:07 Not that I can think of any particularly important use cases for having HackEso do accurate timing. 20:19:17 but yes, you can use signals: sigaction to set a signal handler on SIGCHLD, block the signal with sigsetmask, wait nonblocking to check child still alive, if it is then poll on filehandle which temporarily unblocks the signal without a race condition. but this kind of thing is messy, I' 20:19:29 d rather libev handles it, at least if this is supposed to run on Linux 20:20:44 also the incantations are different in a multithreaded program 20:21:06 It does run on Linux (though as part of init). 20:22:06 because threads have separate per-thread signal masks, and signals can be directed to either a single thread or to the whole process, etc 20:22:26 Well, this is a single-threaded case. 20:23:43 the alternative is to have both ends of an internal pipe or eventfd, have the signal write to that as well as to memory, and make every poll wait on its reader side, so that if the signal arrives, that poll wakes up from that, even if the signal arrives shortly before the poll call, then you needn't modify the sigprocmask 20:24:13 this is what libev uses to allow you to wake the event loop up from what's possibly another thread of the same process 20:24:20 (it also works from the same thread) 20:37:37 there might be other solutions but I don't know them 21:00:35 [[NOTE]] M https://esolangs.org/w/index.php?diff=83971&oldid=83956 * PythonshellDebugwindow * (-64) /* Examples */ Change code to pre 21:04:03 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine). 21:05:19 [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=83972&oldid=83969 * ResU * (+187) 21:06:41 [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=83973&oldid=83972 * ResU * (-4) /* Category:No input */ 21:06:46 -!- Melvar has joined. 21:08:14 -!- Lord_of_Life has joined. 21:21:06 [[Commlang]] N https://esolangs.org/w/index.php?oldid=83974 * Monochromeninja * (+4619) :) 21:21:40 [[User:Monochromeninja]] M https://esolangs.org/w/index.php?diff=83975&oldid=81516 * Monochromeninja * (+46) 21:31:12 `` sleep 3600 # this should take roughly 30 seconds 21:31:52 No output. 21:33:16 22:31:12..22:31:52 as observed from here. That's so suspiciously close to 40 seconds, it's making me think that (unlike at home) the 30- and 35-second soft and medium-hard timeout signals did not in fact work, and only the 40-second actually-hard timeout made it stop. 21:35:03 The way it is supposed to work now is, 30 seconds after starting the UML kernel, we write a 0 byte to one of its TTY inputs; if it hasn't terminated in 5 more seconds; we write a 1 byte; and if it *still* doesn't terminate in 5 more seconds, we send a SIGKILL to all the UML processes. 21:37:39 And the umlbox init's "run" command handler is supposed to watch that TTY for input; if it reads a 0, it sends a SIGTERM to the running command; and if it reads a 1 (well, any non-zero byte), it just does a `reboot(LINUX_REBOOT_CMD_POWER_OFF);`, which is what it normally does to gracefully stop. 21:38:43 It does work at home, terminating at the 30-second mark. But of course it's a different system. 21:42:07 Hmm. It also does terminate in exactly 10 seconds, and cleanly, if I just manually execute something like `umlbox --no-stdin --base-mounts --cwd / --timeout 10 --verbose /bin/sleep 3600` on the HackEso system. Which is very very close to the command it runs under multibot, except with a bunch of extra mounts and environment variables and resource limits. 21:43:01 Hrm. It takes 20 seconds if I omit `--verbose`. But if I omit `--verbose`, I don't know what's going on. 21:43:17 [[Nevermind]] https://esolangs.org/w/index.php?diff=83976&oldid=83951 * OfficialCraftCGame * (+9) 21:44:10 Actually, maybe part of what --verbose does enables the read from that TTY. Because I used just the debugging console's "input" side, since it had no other existing purpose. 21:47:28 The flag does change whether I issue a tcsetattr command to configure it to raw mode. Maybe it's doing some sort of terminal line buffering otherwise. 21:50:50 [[Alivefish]] N https://esolangs.org/w/index.php?oldid=83977 * ResU * (+474) Created page with "Alivefish was created by [[User:ResU]] in 2021. It is very similar to [[Deadfish]] and [[AEWNN]]. ==Commands== {| class=wikitable !Command !Description |- |v- |Is..." 21:51:43 Yeah, that seems plausible. I managed to actually fix it by just adding a newline after the 0 or 1. Hmm. Can't decide whether to go with that fix, or just make it use a dedicated TTY. 21:52:41 [[User:ResU]] https://esolangs.org/w/index.php?diff=83978&oldid=83960 * ResU * (+20) 22:00:59 `` sleep 3600 # this should be a little closer to 30 seconds, but who knows really 22:01:35 No output. 22:02:30 23:00:59..23:01:35 as seen from here. Hmm, that's closer to 35 seconds now, rather than 30. 22:03:20 But `time .../umlbox --no-stdin --base-mounts --cwd / --timeout 10 /bin/sleep 3600` says 0m10.255s, which is much closer. Odd. 22:06:11 Oh, maybe there's something about invoking /hackenv/bin/` that makes sending SIGTERM to the primary child process (the shell?) not actually terminate the whole thing. Yeah, because we still wait for the cat (and don't send it SIGTERM in case the command had something to output), and there's bound to be some other subprocess then keeping the cat's input pipe not EOF. I bet that's it. 22:07:37 Eh, it's probably good enough. I guess I could get a little closer by making the actual command child start a new process group, and then do kill(-child, SIGTERM) instead of kill(child, SIGTERM), but I think maybe we're at the point of diminishing returns here. 22:10:16 `perl -esleep 3600; # if that hypothesis is right, this should be closer still to 30 seconds 22:10:46 No output. 22:11:20 23:10:16..23:10:46, yay. 22:41:17 -!- arseniiv_ has quit (Ping timeout: 244 seconds). 22:53:25 fizzie: if the first signal is SIGTERM and it's delivered only to the shell, not to sleep, then it's no wonder it has no effect. you should try SIGHUP instead. 22:53:49 or send to the whole process group, or to the foreground process group of the terminal, or to every process except init since you're shutting down the whole machine 22:53:59 but even so send a SIGHUP after the SIGTERM\ 22:54:11 or don't, the SIGKILL will kill everything 22:55:14 ah, you found the bug 22:58:15 I think that it might be useful to define some new signals, such as SIGMEM (normally does nothing, but for some programming languages it might be possible for the standard library to reduce memory usage) and SIGOOM (normally terminates the process; if it isn't terminated and there still isn't enough memory, then it is forcibly terminated anyways) and SIGUSR3. 22:58:37 (That is not applicable to your specific case, but still I think it might be of some use for other things) 23:18:03 -!- Thelie has quit (Remote host closed the connection). 23:48:26 [[Alivefish]] M https://esolangs.org/w/index.php?diff=83979&oldid=83977 * PythonshellDebugwindow * (+38) /* Commands */ Seems to have them 23:48:44 [[Alivefish]] M https://esolangs.org/w/index.php?diff=83980&oldid=83979 * PythonshellDebugwindow * (+23) /* Hello, world! */ cat 23:52:39 [[Truth Machine (language)]] M https://esolangs.org/w/index.php?diff=83981&oldid=83878 * PythonshellDebugwindow * (+48) Confused formatted cats 23:53:37 [[Truth-machine]] M https://esolangs.org/w/index.php?diff=83982&oldid=83520 * PythonshellDebugwindow * (+51) Confusion