> 1622764833 779147 PRIVMSG #esoteric :14[[07Counting Calculus14]]4 M10 02https://esolangs.org/w/index.php?diff=83942&oldid=83939 5* 03PythonshellDebugwindow 5* (+54) 10Categorize > 1622764952 270253 PRIVMSG #esoteric :14[[07User:Salpynx/Braneflage14]]4 M10 02https://esolangs.org/w/index.php?diff=83943&oldid=83941 5* 03Salpynx 5* (+2) 10/* Program Commands */ that looks better. Hopefully it's correct too. > 1622766052 840650 PRIVMSG #esoteric : int-e how does Wuste Ebenen translate? https://i.imgur.com/vbqqJtI.png > 1622766213 869196 PRIVMSG #esoteric : 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 > 1622766282 472781 PRIVMSG #esoteric : hah, cool, because that's exactly how another map says: https://i.imgur.com/9D72Uk2.png > 1622766723 700316 PRIVMSG #esoteric : ah so it's similar to the English term "bumfuck" / "bumfuck nowhere"? > 1622766731 312063 PRIVMSG #esoteric : 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 > 1622766801 251596 PRIVMSG #esoteric : found one reference to the russian word on twitter https://twitter.com/cybersandwitch/status/1285193689732718593 > 1622766811 874412 PRIVMSG #esoteric : i actually have a dead-tree book of photos of soviet bus stops > 1622766818 482185 PRIVMSG #esoteric : 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. > 1622766821 238612 PRIVMSG #esoteric : i saw it at a bookstore and was immediately like yes I need this > 1622766868 884247 PRIVMSG #esoteric : keegan how do I see the parent tweet? < 1622766964 901909 :hakatashi1!~hakatashi@104.131.49.125 JOIN :#esoteric > 1622766985 166992 PRIVMSG #esoteric : either I'm idiot in twitter or it's deleted ( < 1622767270 175315 :delta23!~deltaepsi@unaffiliated/deltaepsilon23 JOIN :#esoteric > 1622767369 797845 PRIVMSG #esoteric : 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 > 1622767421 330490 PRIVMSG #esoteric : nakilon: https://twitter.com/ItsDanThomas/status/1284808430167957504 > 1622767443 993727 PRIVMSG #esoteric : b_jonas: excellent idea > 1622767471 661774 PRIVMSG #esoteric : 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__ > 1622767483 682592 PRIVMSG #esoteric : yes, this is the book I have https://twitter.com/ItsDanThomas/status/1285306157645660161 (vol 2 only) > 1622767504 306270 PRIVMSG #esoteric : keegan heh you'll never find such stops > 1622767838 391741 PRIVMSG #esoteric : I admire your long-term planning b_jonas > 1622767899 728477 PRIVMSG #esoteric : nakilon: I mean, I probably won't > 1622767904 488186 PRIVMSG #esoteric : because I'm unlikely to visit Russia any time soon > 1622767912 257577 PRIVMSG #esoteric : these blogs posts copypasting these images made it impossible to google real examples lol > 1622767916 786243 PRIVMSG #esoteric : heh > 1622767960 531307 PRIVMSG #esoteric : Preprocessor Macro of the Long Now. > 1622768082 741650 PRIVMSG #esoteric : keegan this is a little bit closer to reality https://www.goingthewholehogg.com/soviet-bus-stops/ > 1622768130 646267 PRIVMSG #esoteric : but really it's just 1-3 walls with a roof and maybe a little piece of mosaic > 1622768147 412119 PRIVMSG #esoteric : real bus stop just won't be photographed and posted in web > 1622768205 164016 PRIVMSG #esoteric : and it would be by magnitude harder to find soviet one in Russia than in Ukraine or maybe Moldova > 1622768273 98383 PRIVMSG #esoteric : I see > 1622768380 911564 PRIVMSG #esoteric : 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 > 1622768424 242250 PRIVMSG #esoteric : 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 > 1622768444 218753 PRIVMSG #esoteric : keegan: well there's a subject i didn't realize i was interested in but i absolutely am now > 1622768445 16189 PRIVMSG #esoteric : :3 > 1622768529 989581 PRIVMSG #esoteric : and there are all Ukrainian as I see https://bugaga.ru/jokes/1146723770-sdelano-v-sssr-avtobusnye-ostanovki.html > 1622772580 995753 PRIVMSG #esoteric : 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 > 1622773656 236216 PRIVMSG #esoteric : I write software without telemetry; the telemetry is a waste of energy. > 1622774898 361402 PRIVMSG #esoteric : 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. > 1622774924 320800 PRIVMSG #esoteric : my QuakeLive browser extension was sending users usernames to my Spreadsheet so I knew who used it; Google didn't catch me with it > 1622777879 582892 PRIVMSG #esoteric :14[[07Talk:Polyglot14]]4 10 02https://esolangs.org/w/index.php?diff=83944&oldid=83833 5* 03ColorfulGalaxy 5* (+46) 10/* Challenge */ > 1622778130 717447 PRIVMSG #esoteric :14[[07Hello, world!14]]4 10 02https://esolangs.org/w/index.php?diff=83945&oldid=75658 5* 03ColorfulGalaxy 5* (+254) 10 > 1622778384 432323 PRIVMSG #esoteric : wtf does kolmogorov have to do with hello world > 1622778778 98909 PRIVMSG #esoteric : 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. < 1622783751 303213 :sebbu!~sebbu@unaffiliated/sebbu QUIT :Ping timeout: 250 seconds > 1622784367 233067 PRIVMSG #esoteric : Do you think that this trademark license is suitable? http://sprunge.us/iagkJb > 1622787992 634540 PRIVMSG #esoteric :14[[07Nevermind14]]4 10 02https://esolangs.org/w/index.php?diff=83946&oldid=83881 5* 03OfficialCraftCGame 5* (-1) 10 > 1622788031 641106 PRIVMSG #esoteric :14[[07Nevermind14]]4 10 02https://esolangs.org/w/index.php?diff=83947&oldid=83946 5* 03OfficialCraftCGame 5* (+0) 10 > 1622788038 30309 PRIVMSG #esoteric : No output. > 1622788343 166073 PRIVMSG #esoteric : No output. < 1622790752 269049 :sebbu!~sebbu@unaffiliated/sebbu JOIN :#esoteric < 1622798352 342315 :esowiki!~esowiki@unaffiliated/fizzie/bot/esowiki QUIT :Ping timeout: 245 seconds < 1622798421 121455 :esowiki!~esowiki@unaffiliated/fizzie/bot/esowiki JOIN :#esoteric > 1622799826 144144 PRIVMSG #esoteric : Ooh, first-ever recorded CHGHOST: https://logs.esolangs.org/libera-esolangs/2021-06-04.html#lmb > 1622799830 616323 PRIVMSG #esoteric : 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. > 1622800027 702117 PRIVMSG #esoteric : that's just cloaking, right? had to be recorded earlier > 1622800047 551105 PRIVMSG #esoteric : It was recorded as a simulated quit-and-rejoin pair, not as a CHGHOST. > 1622800087 319069 PRIVMSG #esoteric : I just turned on the extension that allows it to report it as a single thing, is all. > 1622800098 798382 PRIVMSG #esoteric : I see > 1622800164 809336 PRIVMSG #esoteric : lol > 1622800193 85443 PRIVMSG #esoteric : FireFly: You made history. (Not in a very big way, but still.) > 1622800233 528284 PRIVMSG #esoteric : 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. > 1622800404 971026 PRIVMSG #esoteric : `` sleep 1; echo a second > 1622800406 945697 PRIVMSG #esoteric : a second > 1622800412 790977 PRIVMSG #esoteric : `` sleep 2; echo two seconds > 1622800415 705937 PRIVMSG #esoteric : two seconds > 1622800422 566445 PRIVMSG #esoteric : `` sleep 4; echo four seconds > 1622800427 523651 PRIVMSG #esoteric : four seconds > 1622800445 191525 PRIVMSG #esoteric : That seems to check out, roughly. But last time it broke when I went for five, somehow. > 1622800452 20079 PRIVMSG #esoteric : `` sleep 5; echo five seconds > 1622800464 52285 PRIVMSG #esoteric : five seconds > 1622800476 94334 PRIVMSG #esoteric : Well, that was definitely more than 5. > 1622800480 726944 PRIVMSG #esoteric : `` sleep 10; echo ten seconds > 1622800514 897677 PRIVMSG #esoteric : the world's longest ten seconds > 1622800590 972388 PRIVMSG #esoteric : 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. > 1622800739 567069 PRIVMSG #esoteric : Still running, but I don't have any way to tell how far it's gotten. > 1622800767 733901 PRIVMSG #esoteric : If someone puts in a busy loop will that be enough for the sleep 10 to catch up > 1622800771 3863 PRIVMSG #esoteric : ten seconds > 1622800789 446873 PRIVMSG #esoteric : It'd be a separate UML instance, so probably not, they should be fully independent. > 1622800852 929588 PRIVMSG #esoteric : 4 minutes and 51 seconds > 1622800936 455275 PRIVMSG #esoteric : "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. > 1622801290 349454 PRIVMSG #esoteric : I don't see anything relevant in the kernel config options, really. > 1622801499 559474 PRIVMSG #esoteric : 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. > 1622801511 973613 PRIVMSG #esoteric : 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. > 1622801530 751581 PRIVMSG #esoteric : `` rasel @ > 1622801532 601964 PRIVMSG #esoteric : No output. > 1622801553 935256 PRIVMSG #esoteric : ah it responded already > 1622801623 38031 PRIVMSG #esoteric : 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. > 1622801639 365073 PRIVMSG #esoteric : Maybe I'll just go with the cheap fix and add an external timeout. > 1622801693 934443 PRIVMSG #esoteric : Why are you taking Polly down into the mine? Polly's a parrot, not a canary! And where's my cracker? > 1622801712 409370 PRIVMSG #esoteric : 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. > 1622801789 429793 PRIVMSG #esoteric : 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. > 1622801891 820352 PRIVMSG #esoteric : I mean, it still times out *eventually*. > 1622801936 252037 PRIVMSG #esoteric : In case you missed it, the "10 seconds" did already finish. > 1622802055 934644 PRIVMSG #esoteric : 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. > 1622802064 805395 PRIVMSG #esoteric : But not now. < 1622804200 671888 :LKoen!~LKoen@41.174.9.109.rev.sfr.net JOIN :#esoteric > 1622805791 168113 PRIVMSG #esoteric :14[[07Nevermind14]]4 10 02https://esolangs.org/w/index.php?diff=83948&oldid=83947 5* 03OfficialCraftCGame 5* (+0) 10 > 1622806109 405588 PRIVMSG #esoteric :14[[07Nevermind14]]4 M10 02https://esolangs.org/w/index.php?diff=83949&oldid=83948 5* 03OfficialCraftCGame 5* (+120) 10Added a link to my python interpreter > 1622806183 492153 PRIVMSG #esoteric :14[[07Nevermind14]]4 M10 02https://esolangs.org/w/index.php?diff=83950&oldid=83949 5* 03OfficialCraftCGame 5* (+4) 10Put the links into an unordered list. > 1622806244 850234 PRIVMSG #esoteric :14[[07Nevermind14]]4 M10 02https://esolangs.org/w/index.php?diff=83951&oldid=83950 5* 03OfficialCraftCGame 5* (+18) 10Added the page to the 2021 category. > 1622810229 344957 PRIVMSG #esoteric :14[[07NOTE14]]4 N10 02https://esolangs.org/w/index.php?oldid=83952 5* 03ResU 5* (+729) 10Created 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, 1622810825 782568 PRIVMSG #esoteric :14[[07NOTE14]]4 10 02https://esolangs.org/w/index.php?diff=83953&oldid=83952 5* 03ResU 5* (+21) 10/* Commands */ > 1622811275 15971 PRIVMSG #esoteric :14[[07NOTE14]]4 10 02https://esolangs.org/w/index.php?diff=83954&oldid=83953 5* 03ResU 5* (+35) 10/* Commands */ > 1622813039 221395 PRIVMSG #esoteric :14[[07NOTE14]]4 10 02https://esolangs.org/w/index.php?diff=83955&oldid=83954 5* 03ResU 5* (+395) 10/* Examples */ > 1622813072 930194 PRIVMSG #esoteric :14[[07NOTE14]]4 10 02https://esolangs.org/w/index.php?diff=83956&oldid=83955 5* 03ResU 5* (+0) 10/* Examples */ > 1622813257 257136 PRIVMSG #esoteric :14[[07Rayuela14]]4 M10 02https://esolangs.org/w/index.php?diff=83957&oldid=82823 5* 03Xanman12321 5* (+0) 10minor fix < 1622814499 941071 :LKoen!~LKoen@41.174.9.109.rev.sfr.net QUIT :Remote host closed the connection > 1622816437 63022 PRIVMSG #esoteric :14[[07Jumping True14]]4 10 02https://esolangs.org/w/index.php?diff=83958&oldid=83931 5* 03MathR 5* (+56) 10 > 1622816771 606632 PRIVMSG #esoteric :14[[07Jumping True14]]4 10 02https://esolangs.org/w/index.php?diff=83959&oldid=83958 5* 03MathR 5* (+17) 10 < 1622817470 26633 :LKoen!~LKoen@41.174.9.109.rev.sfr.net JOIN :#esoteric < 1622818534 297789 :LKoen_!~LKoen@41.174.9.109.rev.sfr.net JOIN :#esoteric < 1622818694 670078 :LKoen!~LKoen@41.174.9.109.rev.sfr.net QUIT :Ping timeout: 258 seconds < 1622818824 366305 :Melvar!~melvar@dslb-092-074-060-026.092.074.pools.vodafone-ip.de QUIT :Quit: WeeChat 3.0.1 > 1622819271 726079 PRIVMSG #esoteric :14[[07User:ResU14]]4 10 02https://esolangs.org/w/index.php?diff=83960&oldid=83877 5* 03ResU 5* (+15) 10 < 1622819285 2553 :ProofTechnique!sid79547@gateway/web/irccloud.com/x-upqitgagdepuqhgk PART :#esoteric < 1622821158 620378 :copumpkin!~copumpkin@unaffiliated/copumpkin QUIT :Quit: Hmmm < 1622821186 763835 :copumpkin!~copumpkin@unaffiliated/copumpkin JOIN :#esoteric < 1622821204 889096 :copumpkin!~copumpkin@unaffiliated/copumpkin QUIT :Client Quit < 1622821241 822631 :copumpkin!~copumpkin@unaffiliated/copumpkin JOIN :#esoteric < 1622821252 775695 :copumpkin!~copumpkin@unaffiliated/copumpkin QUIT :Client Quit < 1622821289 464342 :copumpkin!~copumpkin@unaffiliated/copumpkin JOIN :#esoteric < 1622821301 482776 :copumpkin!~copumpkin@unaffiliated/copumpkin QUIT :Client Quit < 1622821337 208148 :copumpkin!~copumpkin@unaffiliated/copumpkin JOIN :#esoteric < 1622821348 83936 :copumpkin!~copumpkin@unaffiliated/copumpkin QUIT :Client Quit < 1622821390 900412 :copumpkin!~copumpkin@unaffiliated/copumpkin JOIN :#esoteric < 1622821396 842361 :copumpkin!~copumpkin@unaffiliated/copumpkin QUIT :Client Quit < 1622821436 655822 :copumpkin!~copumpkin@unaffiliated/copumpkin JOIN :#esoteric < 1622821443 733876 :copumpkin!~copumpkin@unaffiliated/copumpkin QUIT :Client Quit < 1622821474 125346 :copumpkin!~copumpkin@unaffiliated/copumpkin JOIN :#esoteric < 1622821491 315988 :copumpkin!~copumpkin@unaffiliated/copumpkin QUIT :Client Quit > 1622821941 512615 PRIVMSG #esoteric :14[[07User:Epidemic714]]4 10 02https://esolangs.org/w/index.php?diff=83961&oldid=83624 5* 03Epidemic7 5* (-113) 10 > 1622822417 523692 PRIVMSG #esoteric :14[[07Jumping True14]]4 10 02https://esolangs.org/w/index.php?diff=83962&oldid=83959 5* 03MathR 5* (+24) 10/* External resources */ > 1622822444 814436 PRIVMSG #esoteric :14[[0725 bytes o:14]]4 N10 02https://esolangs.org/w/index.php?oldid=83963 5* 03Epidemic7 5* (+308) 10Created 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..." > 1622822648 119100 PRIVMSG #esoteric :14[[0725 bytes o:14]]4 10 02https://esolangs.org/w/index.php?diff=83964&oldid=83963 5* 03Epidemic7 5* (-5) 10 > 1622822694 884709 PRIVMSG #esoteric :14[[0725 bytes o:14]]4 10 02https://esolangs.org/w/index.php?diff=83965&oldid=83964 5* 03Epidemic7 5* (+68) 10 > 1622823379 23561 PRIVMSG #esoteric :14[[07FALSE14]]4 M10 02https://esolangs.org/w/index.php?diff=83966&oldid=58762 5* 03MathR 5* (+0) 10Changed "Computational Class" to "Computational class" > 1622825293 358023 PRIVMSG #esoteric :14[[07Hello world program in esoteric languages14]]4 10 02https://esolangs.org/w/index.php?diff=83967&oldid=83845 5* 03ResU 5* (+38) 10/* NOTE */ < 1622826580 295705 :copumpkin!~copumpkin@unaffiliated/copumpkin JOIN :#esoteric > 1622826612 629557 PRIVMSG #esoteric : `coins > 1622826618 572745 PRIVMSG #esoteric : ​042ivncoin 07wilsonacoin 08q-ballendsartrecoin 09mesolammalcoin 02draysnaterreludenjarercoin 06bakcoin 13haifficidumbscoin 04owlacoin 07disorcoin 08witcoin 09lockcoin 02tsummagemoneycoin 06bincoin 13befernogcoin 04fcccoin 07thrugcoin 08fruntecoin 09cronycoin 02adedfourcoin 06uixcoin < 1622829100 129688 :LKoen_!~LKoen@41.174.9.109.rev.sfr.net QUIT :Remote host closed the connection < 1622829635 876606 :LKoen!~LKoen@41.174.9.109.rev.sfr.net JOIN :#esoteric < 1622830944 855922 :metcalf!~metcalf@host86-162-128-62.range86-162.btcentralplus.com JOIN :#esoteric < 1622831689 235504 :metcalf!~metcalf@host86-162-128-62.range86-162.btcentralplus.com QUIT :Remote host closed the connection > 1622831708 559693 PRIVMSG #esoteric :14[[07Esolang talk:Categorization14]]4 10 02https://esolangs.org/w/index.php?diff=83968&oldid=83270 5* 03ResU 5* (+186) 10 < 1622831814 255955 :metcalf!~metcalf@host86-162-128-62.range86-162.btcentralplus.com JOIN :#esoteric < 1622832085 575547 :metcalf!~metcalf@host86-162-128-62.range86-162.btcentralplus.com QUIT :Client Quit < 1622832101 426506 :metcalf!~metcalf@host86-162-128-62.range86-162.btcentralplus.com JOIN :#esoteric < 1622833468 418865 :metcalf_!~metcalf@host86-162-128-62.range86-162.btcentralplus.com JOIN :#esoteric < 1622833690 673759 :metcalf!~metcalf@host86-162-128-62.range86-162.btcentralplus.com QUIT :Ping timeout: 258 seconds < 1622833690 818052 :metcalf_!~metcalf@host86-162-128-62.range86-162.btcentralplus.com NICK :metcalf < 1622834140 231809 :delta23!~deltaepsi@unaffiliated/deltaepsilon23 QUIT :Quit: Leaving < 1622834450 130747 :delta23!~deltaepsi@unaffiliated/deltaepsilon23 JOIN :#esoteric > 1622835596 155045 PRIVMSG #esoteric :14[[07Esolang talk:Categorization14]]4 10 02https://esolangs.org/w/index.php?diff=83969&oldid=83968 5* 03Ais523 5* (+181) 10/* Category:No input */ [[:Category:Output only]]? > 1622836228 822251 PRIVMSG #esoteric : 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 > 1622836234 830742 PRIVMSG #esoteric : something else for SIGCHLD to interrupt the poll? Hmm, I guess I can just try it out. > 1622836427 950796 PRIVMSG #esoteric :14[[07Deadfish14]]4 10 02https://esolangs.org/w/index.php?diff=83970&oldid=83743 5* 03Dnm 5* (+713) 10Deadfish in Rexx > 1622837545 266806 PRIVMSG #esoteric : " 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 > 1622837572 78618 PRIVMSG #esoteric : 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 > 1622837673 942493 PRIVMSG #esoteric : fizzie: you can use signalfd if you wish > 1622837706 147986 PRIVMSG #esoteric : 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 > 1622837796 347131 PRIVMSG #esoteric : 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. > 1622837827 795322 PRIVMSG #esoteric : Not that I can think of any particularly important use cases for having HackEso do accurate timing. > 1622837957 7171 PRIVMSG #esoteric : 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' > 1622837969 638598 PRIVMSG #esoteric : d rather libev handles it, at least if this is supposed to run on Linux > 1622838044 550478 PRIVMSG #esoteric : also the incantations are different in a multithreaded program > 1622838066 13571 PRIVMSG #esoteric : It does run on Linux (though as part of init). > 1622838126 16620 PRIVMSG #esoteric : because threads have separate per-thread signal masks, and signals can be directed to either a single thread or to the whole process, etc > 1622838146 963120 PRIVMSG #esoteric : Well, this is a single-threaded case. > 1622838223 897269 PRIVMSG #esoteric : 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 > 1622838253 882670 PRIVMSG #esoteric : this is what libev uses to allow you to wake the event loop up from what's possibly another thread of the same process > 1622838260 651867 PRIVMSG #esoteric : (it also works from the same thread) > 1622839057 788051 PRIVMSG #esoteric : there might be other solutions but I don't know them < 1622840412 51305 :metcalf!~metcalf@host86-162-128-62.range86-162.btcentralplus.com QUIT :Quit: metcalf > 1622840435 100174 PRIVMSG #esoteric :14[[07NOTE14]]4 M10 02https://esolangs.org/w/index.php?diff=83971&oldid=83956 5* 03PythonshellDebugwindow 5* (-64) 10/* Examples */ Change code to pre > 1622840719 678613 PRIVMSG #esoteric :14[[07Esolang talk:Categorization14]]4 10 02https://esolangs.org/w/index.php?diff=83972&oldid=83969 5* 03ResU 5* (+187) 10 > 1622840801 38177 PRIVMSG #esoteric :14[[07Esolang talk:Categorization14]]4 10 02https://esolangs.org/w/index.php?diff=83973&oldid=83972 5* 03ResU 5* (-4) 10/* Category:No input */ < 1622840805 122337 :Melvar!~melvar@dslb-092-074-060-026.092.074.pools.vodafone-ip.de JOIN :#esoteric < 1622841233 265409 :delta23!~deltaepsi@unaffiliated/deltaepsilon23 QUIT :Quit: Leaving > 1622841666 818925 PRIVMSG #esoteric :14[[07Commlang14]]4 N10 02https://esolangs.org/w/index.php?oldid=83974 5* 03Monochromeninja 5* (+4619) 10:) > 1622841700 841668 PRIVMSG #esoteric :14[[07User:Monochromeninja14]]4 M10 02https://esolangs.org/w/index.php?diff=83975&oldid=81516 5* 03Monochromeninja 5* (+46) 10 < 1622842142 603212 :LKoen!~LKoen@41.174.9.109.rev.sfr.net 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.” > 1622842272 131006 PRIVMSG #esoteric : `` sleep 3600 # this should take roughly 30 seconds > 1622842312 720832 PRIVMSG #esoteric : No output. > 1622842396 803369 PRIVMSG #esoteric : 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. > 1622842503 267515 PRIVMSG #esoteric : 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. < 1622842521 917532 :delta23!~deltaepsi@unaffiliated/deltaepsilon23 JOIN :#esoteric > 1622842659 631220 PRIVMSG #esoteric : 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. > 1622842723 964797 PRIVMSG #esoteric : It does work at home, terminating at the 30-second mark. But of course it's a different system. < 1622842837 43325 :delta23!~deltaepsi@unaffiliated/deltaepsilon23 QUIT :Quit: Leaving > 1622842927 653305 PRIVMSG #esoteric : 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. > 1622842981 995172 PRIVMSG #esoteric : Hrm. It takes 20 seconds if I omit `--verbose`. But if I omit `--verbose`, I don't know what's going on. > 1622842997 440203 PRIVMSG #esoteric :14[[07Nevermind14]]4 10 02https://esolangs.org/w/index.php?diff=83976&oldid=83951 5* 03OfficialCraftCGame 5* (+9) 10 > 1622843050 351993 PRIVMSG #esoteric : 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. > 1622843248 907127 PRIVMSG #esoteric : 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. > 1622843450 648869 PRIVMSG #esoteric :14[[07Alivefish14]]4 N10 02https://esolangs.org/w/index.php?oldid=83977 5* 03ResU 5* (+474) 10Created 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..." > 1622843503 373455 PRIVMSG #esoteric : 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. > 1622843561 1113 PRIVMSG #esoteric :14[[07User:ResU14]]4 10 02https://esolangs.org/w/index.php?diff=83978&oldid=83960 5* 03ResU 5* (+20) 10 > 1622844059 776506 PRIVMSG #esoteric : `` sleep 3600 # this should be a little closer to 30 seconds, but who knows really > 1622844095 425175 PRIVMSG #esoteric : No output. > 1622844150 835186 PRIVMSG #esoteric : 23:00:59..23:01:35 as seen from here. Hmm, that's closer to 35 seconds now, rather than 30. > 1622844200 113512 PRIVMSG #esoteric : But `time .../umlbox --no-stdin --base-mounts --cwd / --timeout 10 /bin/sleep 3600` says 0m10.255s, which is much closer. Odd. > 1622844371 466915 PRIVMSG #esoteric : 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. > 1622844457 87991 PRIVMSG #esoteric : 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. > 1622844616 217175 PRIVMSG #esoteric : `perl -esleep 3600; # if that hypothesis is right, this should be closer still to 30 seconds > 1622844646 845555 PRIVMSG #esoteric : No output. > 1622844680 519415 PRIVMSG #esoteric : 23:10:16..23:10:46, yay. > 1622847205 305675 PRIVMSG #esoteric : 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. > 1622847229 359932 PRIVMSG #esoteric : 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 > 1622847239 225055 PRIVMSG #esoteric : but even so send a SIGHUP after the SIGTERM\ > 1622847251 985511 PRIVMSG #esoteric : or don't, the SIGKILL will kill everything > 1622847314 426047 PRIVMSG #esoteric : ah, you found the bug > 1622847495 982184 PRIVMSG #esoteric : 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. > 1622847517 227978 PRIVMSG #esoteric : (That is not applicable to your specific case, but still I think it might be of some use for other things) < 1622848220 124928 :delta23!~deltaepsi@unaffiliated/deltaepsilon23 JOIN :#esoteric > 1622850506 591429 PRIVMSG #esoteric :14[[07Alivefish14]]4 M10 02https://esolangs.org/w/index.php?diff=83979&oldid=83977 5* 03PythonshellDebugwindow 5* (+38) 10/* Commands */ Seems to have them > 1622850524 337330 PRIVMSG #esoteric :14[[07Alivefish14]]4 M10 02https://esolangs.org/w/index.php?diff=83980&oldid=83979 5* 03PythonshellDebugwindow 5* (+23) 10/* Hello, world! */ cat > 1622850759 714235 PRIVMSG #esoteric :14[[07Truth Machine (language)14]]4 M10 02https://esolangs.org/w/index.php?diff=83981&oldid=83878 5* 03PythonshellDebugwindow 5* (+48) 10Confused formatted cats > 1622850817 564865 PRIVMSG #esoteric :14[[07Truth-machine14]]4 M10 02https://esolangs.org/w/index.php?diff=83982&oldid=83520 5* 03PythonshellDebugwindow 5* (+51) 10Confusion