00:09:14 https://cdn.discordapp.com/attachments/374727754551132162/647939740573630464/2019-11-23-151910_1600x900_scrot.png finished shot. 00:15:02 What is it a picture of? 00:15:50 a mountain pass with a terrain painter I wrote this afternoon to figure out how someone generated a particular image. 00:57:48 If I add up all of the numbers in the RSS column from "ps aux" output, it adds up to 397288 which is less than the amount obtained by subtracting the buffer and cache amounts from the used amount by the "free" command. Why is it? 00:58:40 (Adding "sudo" doesn't help) 01:05:58 I know that some memory is shared, but I don't know how to make a proper division of the memory usage. 01:13:55 [[Talk:Chef]] https://esolangs.org/w/index.php?diff=67370&oldid=67359 * OND * (+363) 02:22:46 -!- oerjan has joined. 02:34:19 @messages-sold 02:34:19 fizzie said 14h 39s ago: Actually, it might have been in the bot, not in the MediaWiki component. I wanted to filter out control characters (0-2, 4-31, 127) but due to signedness of char I may have 02:34:19 intentionally also filtered all bytes >127 as well. 02:34:37 fiendish 02:50:22 mooo 02:59:15 I fixed ZZ Zero so now the main game loop uses INP(96) to read the keyboard instead of INKEY$ so the problem of repeat rate is solved, but there is another problem is if you push two keys at once and release one, sometimes it isn't recognized, because the released code will be received and then the pushed code won't be received until it starts to repeat 02:59:21 And this results in a delay. 03:01:23 zzo38: what you making, and for what hardwarE? 03:01:50 It is a game creation system similar to ZZT, and the hardware is PC 03:03:07 You can download the latest version (currently 0.4) from http://zzo38computer.org/prog/zzzero.zip 03:04:24 I also set up a NNTP for discussion of it 03:04:37 zzo38: DOS? 03:04:52 Yes 03:04:53 should I run it under FreeDOS? 03:05:17 You can try; it probably would work. It also works under DOSBOX. 03:05:59 There are also a few other problems currently, such as the editor isn't very good, and the rotation map editor is slow 03:06:25 Have you used ZZT? 03:07:51 Nope 03:08:11 In fact I rarely use DOS. I usually write my nonsense for console hardware 03:08:28 i.e. the Gameboy, and I plan to do something for the Sega Saturn 03:12:34 Have you written any program for NES/Famicom? 03:16:22 zzo38: Considered it multiple times, and know what goes into it 03:31:52 -!- FreeFull has quit. 03:34:19 Does ZZ Zero working for you? 03:35:09 waiting for FreeDOS to download, zzo38 03:35:48 oh just finished, lemme install it, and then i'll try it 03:37:10 It also works in DOSBOX though 03:37:24 don't have DOSBOX installed either :p 03:37:59 O, OK 03:48:24 zzo38: what's this unusenet you speak of 03:48:57 -!- sprocklem has quit (Ping timeout: 240 seconds). 03:48:58 Unusenet is a form of NNTP newsgroup hierarchies which are not part of Usenet. 03:49:18 mm. how do I access it? :P 03:49:39 They do not conflict with Usenet (and you can serve both from the same server if you wish), because all Unusenet newsgroup names must start with "un" followed by one or more digits and then a dot. 03:49:49 moony: Access it with any NNTP client. 03:50:08 (Or just telnet to the NNTP server, although using specialized NNTP software is better.) 03:50:50 I haven't used usenet in a long while and completely forgot how to set up a NNTP client 03:50:52 aaaa 03:52:05 There are actually many different Unusenet hierarchies, but as far as I know the only one actually in use is where the digits after "un" are the number of components in the reverse domain name (all other Unusenet hierarchies start "un0."). 03:52:36 I also wrote my own NNTP client software, called bystand, and supports connecting to multiple servers (I have it connect to my own server and to nntp.aioe.org) 03:54:37 Or just use netcat or telnet or whatever and write raw messages. I implemented a POSTQUIT command for the convenience of users who do not have specialized NNTP software, even. 04:06:54 (Also, you do not need to access the NNTP in order to use ZZ Zero; it is there for purpose of discussion.) 04:08:50 zzo38 i'm honestly not sure how to use ZZ Zero at all :p 04:09:16 Did you read the documentation? 04:09:26 READ.ME? 04:09:31 or some other file 04:10:00 I may or may not be distracted by RETROFORTH right now 04:10:06 -!- sprocklem has joined. 04:10:27 That isn't the only documentation, but READ.ME does say that you should read the other *.DOC files too (at least GAME.DOC if you only wish to play the game, but there isn't any complete game really made yet, just the game engine) 04:10:34 hello, sprocklem 04:11:38 For example, if you type "GAME EXAMPLE" then the example file will be started (which isn't a complete game, just for testing for now) 04:15:53 Did you try that? 04:16:15 one moment 04:17:17 (If you just type "GAME" by itself, you may get a blank screen; the only things that work are ESC or F1.) 04:18:01 :O 04:18:33 zzo38: is example's SRC anywhere? 04:20:12 Yes; it is actually inside the world file. It is a Hamster archive. A Hamster archive consists of a sequence of "lumps". Each lump consists of the null-terminated filename, and then the 32-bit PDP-endian data size, and then the data. 04:20:42 mm. 04:20:44 I have added a hidden feature that you may find useful: Start the game, and then push F1 and then ^C and now PERSIST.DIR contains the unpacked files. 04:20:53 oo thanks 04:21:21 Move the files into PROJECT.DIR if you want to edit them. 04:22:07 just looking 04:25:46 You will also need to move the files into PROJECT.DIR in order to view them with BEDIT and WEDIT. However, MAIN.ASM is a plain text file, so it doesn't matter what directory it is in, if you want to just view it. 04:32:04 -!- shinh has joined. 04:32:50 [[Pass]] M https://esolangs.org/w/index.php?diff=67371&oldid=67330 * A * (+358) /* A sample program (Reverse a given string) */ 04:33:52 Did you look at MAIN.ASM? 04:42:17 -!- sprocklem has quit (Ping timeout: 240 seconds). 04:50:03 -!- economicsbat has quit (Ping timeout: 245 seconds). 04:57:32 -!- economicsbat has joined. 05:02:39 -!- economicsbat has quit (Ping timeout: 265 seconds). 05:13:06 -!- Frater_EST has joined. 05:24:48 -!- sprocklem has joined. 05:39:03 -!- sprocklem has quit (Ping timeout: 245 seconds). 05:44:52 -!- sprocklem has joined. 06:06:27 -!- sprocklem has quit (Ping timeout: 265 seconds). 06:06:59 -!- xkapastel has joined. 06:27:07 -!- sprocklem has joined. 06:50:31 -!- sunwen has joined. 06:53:08 -!- sunwen has quit (Remote host closed the connection). 06:53:31 -!- sunwen has joined. 07:05:54 -!- sprocklem has quit (Ping timeout: 265 seconds). 07:07:59 -!- sunwen has quit (Quit: Leaving). 07:11:00 [[User:Challenger5]] https://esolangs.org/w/index.php?diff=67372&oldid=66978 * Challenger5 * (+76) 07:12:36 [[Deadfish]] https://esolangs.org/w/index.php?diff=67373&oldid=67354 * Oerjan * (+433) /* Thue */ Fixed 256 issue 07:13:37 that's an annoyingly ugly check in binary, because you have to catch every option that _isn't_ 256 as well 07:14:05 i suppose it wouldn't really better in another base 07:14:08 *+be 07:14:51 Do you like the ZZ Zero assembly language? 07:15:29 assembly isn't really my thing. 07:16:44 also i had to split up the logic for the two $'s (turning one into >) in order to ensure the check for 256 doesn't trigger during the squaring-by-repeated-adding-and-decrement part 07:25:18 -!- Frater_EST has left. 07:26:36 -!- sprocklem has joined. 07:45:38 -!- sprocklem has quit (Ping timeout: 240 seconds). 07:54:52 -!- shikhin has quit (Quit: Quittin'.). 07:55:11 -!- shikhin has joined. 07:55:17 -!- imode has quit (Ping timeout: 240 seconds). 08:01:51 -!- sprocklem has joined. 08:17:14 -!- sprocklem has quit (Ping timeout: 240 seconds). 08:18:14 -!- sprocklem has joined. 08:44:47 -!- oerjan has quit (Quit: Nite). 09:04:27 -!- kritixilithos has joined. 09:46:35 -!- sprocklem has quit (Remote host closed the connection). 09:56:53 -!- sprocklem has joined. 09:57:06 -!- FreeFull has joined. 10:13:26 -!- sprocklem has quit (Ping timeout: 265 seconds). 10:18:52 -!- sprocklem has joined. 10:23:43 [[Pass]] M https://esolangs.org/w/index.php?diff=67374&oldid=67371 * A * (+41) /* A full list of all of Pass's operators */ 10:24:54 [[Pass]] M https://esolangs.org/w/index.php?diff=67375&oldid=67374 * A * (+153) /* Some basic functionalities */ 10:40:35 [[Pass]] https://esolangs.org/w/index.php?diff=67376&oldid=67375 * A * (-153) Undo revision 67375 by [[Special:Contributions/A|A]] ([[User talk:A|talk]]) This is too much... 10:43:22 [[Pass]] M https://esolangs.org/w/index.php?diff=67377&oldid=67376 * A * (-151) In my opinion strings are enough. 10:44:22 -!- sprocklem has quit (Ping timeout: 265 seconds). 11:08:44 -!- arseniiv has joined. 11:21:27 -!- kspalaiologos has joined. 11:30:26 -!- kspalaiologos has quit (Ping timeout: 240 seconds). 11:30:50 -!- kspalaiologos has joined. 11:31:56 b_jonas: huh 11:38:37 -!- kspalaiologos has quit (Ping timeout: 240 seconds). 11:39:09 -!- kspalaiologos has joined. 11:39:24 I'll get extended ascii sorted out 11:39:39 Whenever I'll find some time 11:39:44 =list 11:39:44 8ball echo echo1 f fib msg0 msg1 quine simple wiki 11:40:05 =8ball hello 11:40:05 Without a doubt. 11:40:12 =echo test 11:40:13 test 11:40:18 =echo1 test 11:40:18 test 11:40:25 =undef echo1 11:40:25 ok 11:40:32 =f x 11:40:40 =fib 11:40:40 011235813213455891442333776109871597258441816765109461771128657463687502512139319641831781151422983204013462692178309352457857028879227465149303522415781739088169632459861023341551655801412679142964334944377014087331134903170183631190329712150734807526976777874204912586269025203650110743295128009953 11:40:50 =msg0 11:40:50 AAAA 11:40:58 =quine 11:40:58 ^quine 11:41:02 Hah 11:41:10 ^show 11:41:10 echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help hw srmlebac uenlsbcmra scramble unscramble asc ord prefixes tmp test celebrate wiki chr ha rainbow rainbow2 welcome me tell eval elikoski list ping def a thanks tmp2 8ball rreree rerere botsnack bf quine 11:41:24 ^quine 11:41:24 =quine 11:41:25 ^quine 11:41:31 Oh shit 11:41:38 I nearly started a disaster 11:42:17 =doc 11:42:17 Incorrect usage! Refer to =help doc 11:46:36 -!- kspalaiologos has quit (Ping timeout: 240 seconds). 12:09:51 -!- sprocklem has joined. 12:15:04 -!- kritixilithos has quit (Ping timeout: 260 seconds). 12:24:50 -!- sprocklem has quit (Ping timeout: 240 seconds). 12:45:08 -!- kritixilithos has joined. 12:59:41 -!- Sgeo has quit (Read error: Connection reset by peer). 13:00:07 -!- Sgeo has joined. 13:20:17 -!- sprocklem has joined. 13:35:27 -!- kspalaiologos has joined. 14:29:11 -!- tromp has joined. 14:49:20 -!- gitlogger has quit (Excess Flood). 15:06:42 -!- xkapastel has quit (Quit: Connection closed for inactivity). 15:09:59 =quine 15:09:59 ^quine 15:10:10 ^quine 15:10:10 =quine 15:10:10 ^quine 15:10:16 hm 15:10:19 ^ignore 15:10:19 ^(EgoBot|HackEgo|HackEso|toBogE|Sparkbot|optbot|lambdabot|oonbotti|metasepia|ruddy|preflex|evalj|idris-bot|passwordBOT|jconn|applybot|blsqbot|fnordbot|termbot|otherbot|j-bot|esowiki|bfbot)! 15:10:32 aaah 15:10:40 Botloops are a longstanding tradition on the channel, as is mitigating them. 15:10:49 :D 15:11:11 I can totally understand why both 15:11:43 Although fungot's manual ignore list isn't the greatest. HackEso, for example, adds an invisible space in front of all lines of output that start with a non-alphanumeric character. (Or something along those lines.) 15:11:43 fizzie: it is you 15:12:48 =echo @bot 15:12:49 @bot 15:12:53 @bot 15:12:54 :) 15:12:56 :) 15:14:21 so many bots 15:15:09 `? metasepia 15:15:11 metasepia knew the weather at your nearest airport, and also something about ducks. 15:53:55 -!- imode has joined. 15:59:54 "knew" ... metasepia is no more? 16:01:47 I have a mysterious and esoteric string of characters that no one will comprehend: 16:02:00 a + a² (a² (v + a) − 2(v + a)² a) / a² (v + a)⁴ (a² + 4 v² + 4 av) 16:02:20 olsner: I don't know what happened. boily mentioned reviving it a few times, but never followed through. 16:02:39 A lot of the bots in that list are no more. 16:02:40 olsner: I may also have put a damper to it when I implemented @metar, which was metsepia's main use. 16:03:03 `? prefixes 16:03:05 Bot prefixes: fungot ^, HackEso `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ . 16:03:26 hrm, idioms 16:03:48 s/to/on/ 16:03:58 a ha 16:04:00 I'm not here 16:04:02 with my bot 16:04:04 -!- wastl has joined. 16:04:33 I’m not here with me too :′( 16:04:37 is there actually an knowledge index or something along these lines? 16:04:40 `slwd prefixes//s/.$/, bfbot = . 16:04:41 ​/bin/sed: -e expression #1, char 16: unterminated `s' command 16:04:41 myself* 16:04:45 `slwd prefixes//s/.$/, bfbot = ./ 16:04:47 prefixes//Bot prefixes: fungot ^, HackEso `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ , bfbot = . 16:04:57 arseniiv, I'm actually in the wisdom database lol 16:05:02 `? kspalaiologos 16:05:05 kspalaiologos is a brainfuck addict. He's secretly disassembling brainfuck code for a casino that lost the source code. Apparently knows the secret of Malbolge. 16:05:10 hehehe 16:05:19 why do you think I’m not 16:05:27 `? arseniiv 16:05:28 arseniiv is a blank slate who is afraid of alchemy, especially the kind involving chalk. 16:05:59 everytime like the first time *rofl* 16:06:02 `clwprits arseniv 16:06:05 Traceback (most recent call last): \ File "/srv/hackeso-code/umlbox", line 24, in \ import config_pb2 \ ModuleNotFoundError: No module named 'config_pb2' 16:06:19 (That was me.) 16:06:20 ... what 16:06:20 `? clwprits 16:06:21 clwprits? ¯\(°​_o)/¯ 16:06:25 int-e: wasn’t that you 16:06:26 `clwprits arseniv 16:06:27 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: clwprits: not found 16:06:32 oh, or not 16:06:34 what is this 16:06:35 Well, that's a typo as well. 16:06:35 `cwlprits arseniv 16:06:37 No output. 16:06:44 `cwlprits arseniiv 16:06:46 int-̈e 16:06:47 `? cwlprits 16:06:48 cwlprits? ¯\(°​_o)/¯ 16:06:49 so many typos 16:06:54 hahaha 16:07:03 I even misread that three times 16:07:04 what is this program 16:07:05 arseniiv: I had a hunch that it was me... I remembered explaining it. 16:07:08 what does it do 16:07:19 `? cwlprits int-e 16:07:20 cwlprits int-e? ¯\(°​_o)/¯ 16:07:26 `cwlprits int-e 16:07:28 shachäf oerjän oerjän oerjän boil̈y boil̈y oerjän oerjän 16:07:35 `? olsner 16:07:35 it tells who made edits. Hm it should have been… ah, now it shows 16:07:36 olsner seems to exist at least. He builds all his esolangs in diesel engines. His poetry's alphanumeric. 16:07:50 ^ xD 16:07:57 alphanumeric poetry is tg 16:08:05 'cwlprits' is 'culprits' for wisdom, and 'culprits' is hg log + bells and whistles. 16:08:06 `cat bin/cwlprits 16:08:08 cat: bin/cwlprits: No such file or directory 16:08:13 `cat ../bin/cwlprits 16:08:14 culprits "$HACKENV/wisdom/$1" 16:08:18 `whereis culprits 16:08:19 culprits: /hackenv/bin/culprits 16:08:34 -!- wastl has quit (Quit: Leaving.). 16:08:34 `quote alphanumeric 16:08:35 1125) A Swede who was in #esoteric / Thought his rhymes were a little generic. / "I might use, in my prose, / ꙮs, / But my poetry's alphanumeric." 16:08:44 `` culprits ../bin/cwlprits # was that me as well? 16:08:46 fizzïe shachäf 16:09:03 phew. 16:09:10 lol 16:09:14 `culprits ../bin/hwrl 16:09:15 fizzïe int-̈e shachäf 16:09:18 The -̈ is still funky though. 16:09:44 it does its job... I'm not being highlighted :) 16:10:11 ah, so *that’s* why it’s used 16:10:27 I thought it’s just to look eso 16:10:38 it could use ZWSPs instead 16:10:47 `cwlprits password 16:10:49 ais523̈_ ais523̈_ arseniïv oerjän int-̈e shachäf int-̈e fizzïe int-̈e fizzïe int-̈e int-̈e b_jonäs int-̈e int-̈e oerjän oerjän int-̈e int-̈e oerjän int-̈e oerjän oerjän oerjän int-̈e int-̈e oerjän oerjän shachäf oerjän oerjän oerjän oerjän int-̈e shachäf shachäf oerjän boil̈y oerjän int-̈e int-̈e oerjän shachäf shachäf oerjän oerjän oerjän oerjän oerjän oerjän oe 16:11:03 two months already 16:11:12 `? password 16:11:13 The password of the month is mostly irrelevant. 16:11:30 It uses "hlnp" under the hood, which I take it is short for "hg log no ping". 16:12:45 `grwp mostly 16:12:47 password:The password of the month is mostly irrelevant. \ study:A study is mostly useless until backed up by further studies. See studies. 16:13:00 Phew, it seems to be working. 16:13:04 `? mostly 16:13:05 mostly? ¯\(°​_o)/¯ 16:13:06 You may or may not notice any differences. 16:13:09 oops 16:13:10 `? studies 16:13:12 Studies show lots of things. Nobody reads them, though. Also: this study contradicts this other study. These two studies agree, but were secretly paid for by the same company. 16:13:25 `uptime 16:13:26 ​ 16:13:25 up 3809 day, 0:43, 0 users, load average: 0.00, 0.00, 0.00 16:14:02 One user-observable difference is that `cat will no longer get stuck. 16:14:03 `cat 16:14:07 No output. 16:15:46 `readlink /proc/self/fd/0 16:15:46 ​/null 16:15:58 Heh, that's actually a little misleading. 16:16:04 `` ls -l /null 16:16:07 ls: cannot access '/null': No such file or directory 16:16:16 It's showing the pre-chroot path. 16:17:02 I think that's what it always would have done, but it would've showed /tty1 before, which was connected to the UML 'null' channel. 16:17:43 I've just changed it to open /null inside the UML, so it gets the arguably more reasonable "immediate EOF" semantics, instead of the "read blocks forever" one. 16:18:33 (I did think about putting something either useful or funny into the stdin as well, but couldn't come up with anything particularly useful or particularly funny.) 16:19:01 http://ix.io/22Kl is another technically user-observable difference. 16:19:48 `` echo $$ 16:19:49 50 16:20:55 The biggest difference of them all is probably that I now understand how it actually works. 16:21:19 `? fizzie 16:21:20 fizzie is not fnord with a monad but the king of #esoteric, see https://zem.fi/static/img/square_fizzie_320px_white.jpg 16:22:58 `le/rn_append fizzie//. He understands how it actually works. 16:22:59 Can't open wisdom/fizzie: No such file or directory. \ /hackenv/tmp/le/rn_append: line 6: wisdom/fizzie: No such file or directory \ Learned 'fizzie': cat: wisdom/fizzie: No such file or directory 16:23:49 Hmm, is that still unfixed. 16:24:21 Oh, I guess it is, because it was outside bin so it wasn't caught by all the heuristics. 16:24:54 `sled /hackenv/le/rn_append//s|wisdom|${HACKENV-/hackenv}/wisdom| 16:24:55 hmm, does this look plausible: `` sed -i s=wisdom=\$HACKENV/wisdom= ../le/rn_append 16:24:56 ​/hackenv/le/rn_append//sep="//" \ [[ "$1" == ?*"$sep"* ]] || exit 1 \ topic="$(echo "${1%%$sep*}" | lowercase)" \ stuff="${1#*$sep}" \ perl -i -p -e 's/\n/ /' "${HACKENV-/hackenv}/wisdom/$topic" \ echo "$stuff" >>"${HACKENV-/hackenv}/wisdom/$topic" \ echo -n "Learned '$topic': " \ cat "${HACKENV-/hackenv}/wisdom/$topic" 16:25:12 ah 16:25:40 `le/rn_append fizzie//. He understands how it actually works. 16:25:43 Learned 'fizzie': fizzie is not fnord with a monad but the king of #esoteric, see https://zem.fi/static/img/square_fizzie_320px_white.jpg . He understands how it actually works. 16:26:58 `? sled 16:27:00 ​`sled // 16:27:15 oh, right. slash+sed 16:27:29 `? hackeso 16:27:30 HackEso is almost, but not quite, entirely unlike HackEgo. 16:28:04 . o O ( It's a text-based game in the hack&slash genre. ) 16:29:14 Ah, the other two entries in le/ are symlinks. 16:29:37 rather $HACKENV/le 16:31:14 `` mv /hackenv/le/rn_append /hackenv/bin/slashlearn_append && ln -sf /hackenv/bin/slashlearn_append /hackenv/le/rn_append # let's make that consistent 16:31:16 No output. 16:31:42 Although now that one's an absolute link while the other two are relative. Oh well. 16:58:53 -!- Lord_of_Life_ has joined. 17:00:26 -!- Lord_of_Life has quit (Ping timeout: 240 seconds). 17:00:27 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 17:02:01 -!- kritixilithos has quit (Quit: quit). 17:58:08 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine). 18:00:52 -!- Lord_of_Life has joined. 18:16:34 ^prefixes 18:16:34 Bot prefixes: fungot ^, HackEso `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ . 18:16:42 ^help 18:16:42 ^ ; ^def ; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool 18:17:42 ^def prefixes ul (Bot prefixes: fungot ^, HackEso `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot (, jconn ), j-bot [, bfbot = .)S 18:17:42 Defined. 18:17:46 ^prefixes 18:17:46 Bot prefixes: fungot ^, HackEso `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot (, jconn ), j-bot [, bfbot = . 18:17:49 `prefixes 18:17:50 Bot prefixes: fungot ^, HackEso `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ , bfbot = . 18:21:13 =prefixes 18:21:13 No such command. Try =help. 18:21:49 `? cat 18:21:50 Cats are cool, but should be illegal. 18:22:02 `? concat 18:22:07 concat? ¯\(°​_o)/¯ 18:22:21 `? catcon 18:22:22 catcon? ¯\(°​_o)/¯ 18:22:46 @prefixes 18:22:47 Unknown command, try @list 18:22:51 thank gods 18:31:34 Which gods? Germanic, Roman, Abrahamic, all of them, none of them, or it doesn't matter? 18:33:37 arseniiv: you're welcome ;-) 18:35:56 =str 1s++++[->++++<]>[->++>+++>++++>+++++>++++++>+++++++<<<<<<<]> >>--------------------------------------------------------------.>>---------------------------------------------------------------------------------.>----------------------------------------------------------------------------------------------------- 18:35:56 ok 18:36:01 =str 1a-------.<<<<<--------------------------------.>>>>>----.++.<----------.+.+++.>++++++.<----.>-----.<<<<--------------------------------------.<.>>>>+.>++.<++++++++.-------.++++++++.>-.<<<<<.>>>------------------------------------------------------------------.<<<++++++++++++.------------.>>++++++.>>----------- 18:36:01 ok 18:36:06 =str 1a---.++.++++++++.<<---.>>>-.<++++.<<<<.>>>>---------------.<<<<++++++++++++.------------.>>>>++++++++++++.-----------.++++++++++++.-----------.++.---.+.+++++++++++++.>+.<<<<<.>>-----.<<.>>>>.>--.<<<<<.>+++++.<++++++++++++.------------.>>>>-----.<<<<+++++++++++++.>>>>--------.+++++++++++++.>++.<<<<<------------ 18:36:06 ok 18:36:11 =str 1a-.>>>---.<<<++++++++++++.------------.>>>>-------------.++++.----.+++++++++++++.>.<<<<<.>--.<++++++++++++++. 18:36:11 ok 18:36:14 =def 1prefixes 18:36:14 ok, defined 'prefixes' 18:36:15 =prefixes 18:36:16 .................................................................................................................................................................................................................. 18:36:18 nope 18:36:47 =str 1s++++[->++++<]>[->++>+++>++++>+++++>++++++>+++++++<<<<<<]> >>--------------------------------------------------------------.>>---------------------------------------------------------------------------------.>------------------------------------------------------------------------------------------------------ 18:36:47 ok 18:36:52 =str 1a------.<<<<<--------------------------------.>>>>>----.++.<----------.+.+++.>++++++.<----.>-----.<<<<--------------------------------------.<.>>>>+.>++.<++++++++.-------.++++++++.>-.<<<<<.>>>------------------------------------------------------------------.<<<++++++++++++.------------.>>++++++.>>------------ 18:36:52 ok 18:36:57 =str 1a--.++.++++++++.<<---.>>>-.<++++.<<<<.>>>>---------------.<<<<++++++++++++.------------.>>>>++++++++++++.-----------.++++++++++++.-----------.++.---.+.+++++++++++++.>+.<<<<<.>>-----.<<.>>>>.>--.<<<<<.>+++++.<++++++++++++.------------.>>>>-----.<<<<+++++++++++++.>>>>--------.+++++++++++++.>++.<<<<<------------- 18:36:57 ok 18:37:02 =str 1a.>>>---.<<<++++++++++++.------------.>>>>-------------.++++.----.+++++++++++++.>.<<<<<.>--.<++++++++++++++. 18:37:02 ok 18:37:05 =def 1prefixes 18:37:05 ok, defined 'prefixes' 18:37:08 =prefixes 18:37:08 ................................................. 18:37:11 still no 18:37:25 oh wait 18:37:52 ^ I can remove the check 18:37:57 =str 1s++++[->++++<]>[->++>+++>++++>+++++>++++++>+++++++<<<<<<]> >>++.>>+++++++++++++++.>++++.<<<<<.>>>>>----.++.<----------.+.+++.>++++++.<----.>-----.<<<<++++++++++.<.>>>>+.>++.<++++++++.-------.++++++++.>-.<<<<<.>>>++++++++++++++.<<<++++++++++++.------------.>>++++++.>>--------------.++.++++++++.<<---.>>>-.<++++. 18:37:57 ok 18:38:02 =str 1a<<<<.>>>>---------------.<<<<++++++++++++.------------.>>>>++++++++++++.-----------.++++++++++++.-----------.++.---.+.+++++++++++++.>+.<<<<<.>>-----.<<.>>>>.>--.<<<<<.>+++++.<++++++++++++.------------.>>>>-----.<<<<+++++++++++++.>>>>--------.+++++++++++++.>++.<<<<<-------------.>>>---.<<<++++++++++++.-------- 18:38:02 ok 18:38:07 =str 1a----.>>>>-------------.++++.----.+++++++++++++.>.<<<<<.>--.<++++++++++++++. 18:38:07 ok 18:38:10 but it kinda bricks the bot output a tiny bit 18:38:10 =def 1prefixes 18:38:10 ok, defined 'prefixes' 18:38:11 =prefixes 18:38:11 Bot prefixes: fungot ^, HackEso `, lambdabot @ or ?, j-bot [, bfbot =. 18:38:13 better 18:38:41 btw you may want to set the bitness 18:38:43 sorry, the generated bf code was completely wrong, and I should have noticed that from the too many minuses 18:38:49 you can use it 18:38:55 but you need to set the bfbot correctly 18:39:13 https://esolangs.org/wiki/Bfbot#program_types 18:39:21 =wiki Bfbot#program_types 18:39:21 https://esolangs.org/wiki/Bfbot#program_types 18:39:27 yeah wiki works too 18:39:37 yes, but it doesn't matter for this simple program that prints a constant string, because it never overflows any cell 18:39:37 if you look at the repo, wiki is using this feature 18:39:51 b_jonas, some of them do 18:40:00 instead of doing + 254 times, you can do - twice 18:47:18 `perl -e$C=Date::Manip::Date::;require$C; $d=$C->new("12AM EST"); print $d->tzconv("UTC")->printf("%O %Z %z"); 18:47:19 Can't locate Date::Manip::Date in @INC (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/x86_64-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at -e line 1. 18:47:36 fizzie: can you install libdate-manip-perl into inside HackEso? 18:47:44 the debian package called libdate-manip-perl that is 18:48:50 ah no, it is installed, sorry 18:48:59 `perl -euse Date::Manip::Date; $d=Date::Manip::Date->new("12AM EST"); print $d->tzconv("UTC")->printf("%O %Z %z"); 18:49:00 Can't locate object method "tzconv" via package "Date::Manip::Date" at -e line 1. 18:49:34 `perl -euse Date::Manip::Date; $d=Date::Manip::Date->new("12AM EST"); print $d->convert("UTC")->printf("%O %Z %z"); 18:49:35 Can't locate object method "printf" via package "0" (perhaps you forgot to load "0"?) at -e line 1. 18:49:50 `perl -euse Date::Manip::Date; $d=Date::Manip::Date->new("12AM EST"); $d->convert("UTC"); $d->printf("%O %Z %z"); 18:49:52 No output. 18:49:56 `perl -euse Date::Manip::Date; $d=Date::Manip::Date->new("12AM EST"); $d->convert("UTC"); print $d->printf("%O %Z %z"); 18:49:57 2019-11-24T05:00:00 UTC +0000 18:50:03 `datei 18:50:07 2019-11-24 18:50:05.653 +0000 UTC November 24 Sunday 2019-W47-7 18:50:15 `perl -euse Date::Manip::Date; $d=Date::Manip::Date->new("12AM EST"); $d->convert("Europe/Paris"); print $d->printf("%O %Z %z"); 18:50:20 2019-11-24T06:00:00 CET +0100 18:51:40 I made a programming language 18:51:53 or rather, a markup language 18:52:00 just to produce brainfuck-to-anything compilers in anything 18:54:15 Does any TV set have a caption debugger? 18:57:57 Which gods? Germanic, Roman, Abrahamic, all of them, none of them, or it doesn't matter? => I pick them at random each time from the WHATWG-endorsed god pool 18:58:06 int-e: :D 19:00:02 arseniiv: I felt entitled because I'm running that particular bot :) 19:01:26 int-e: I guessed so 19:02:26 =help 19:02:26 bfbot is a bot executing brainfuck natively. You may add your very own commands to the bot. 19:02:26 Commands: =str =def =undef =list =plist =doc. More help at https://esolangs.org/wiki/bfbot 19:02:37 =list 19:02:38 8ball echo f fib msg0 msg1 prefixes quine simple wiki 19:02:40 =8ball KPS 19:02:40 Congratulations! You found the easter egg! ~~kspalaiologos, 2019 19:02:58 is there a command to just run a piece of bf code without defining a string first? 19:02:58 I put it here for no real reason 19:03:07 int-e, no, but I may consider adding it 19:03:17 but you can define it 19:03:19 on your own 19:03:34 ^help 19:03:34 ^ ; ^def ; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool 19:03:43 int-e: try ^bf 19:03:51 `bf8 [-] 19:03:51 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: bf8: not found 19:04:00 `whatis bf8 19:04:02 bf8(1egobot) - no description 19:04:09 needs a bang 19:04:21 `! bf8 +[+.] 19:04:22 ​ \ 19:04:34 `! bf8 ++++[->++++<]>[+.] 19:04:35 ​ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~. 19:04:38 =str 0s ----[---->+<]>--.---[->++<]>-.+.--.[-->+++++<]>+++.---[->++<]>-.[->++<]>+.>,[.,][-]++++++++++.[->++++++<]>+.[----->++++<]>.+.+.[--->+<]>--.---[->++<]>-.+[->++<]>.+++[->+++<]>.++++++++.+++.>++++++++++.[->++++++<]>+.---[->++<]>.+++[->+++<]>.++++++++.+++.>++++++++++.[->++++++<]>+.--[->++<]>-.-------.----------.+.+.[--->+<]>--.---[->++++<]>.+++[->+++<]>.++++++++.+++. 19:04:38 ok 19:04:44 `! bf8 ++++++++[->++++<]>[+.] 19:04:45 ^^^ this is why I turned this crap off 19:04:45 ​!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~. 19:04:45 `! bf8 +[>+<+++++]>. 19:04:46 3 19:04:55 =def 0bf 19:04:55 ok, defined 'bf' 19:05:03 =bf +[>+<+++++]>. 19:05:03 .....................+[>+<+++++]>.=...........................=t......=undef t...... 19:05:06 crap 19:05:16 =str 0s =str 0s ----[---->+<]>--.---[->++<]>-.+.--.[-->+++++<]>+++.---[->++<]>-.[->++<]>+.>,[.,][-]++++++++++.[->++++++<]>+.[----->++++<]>.+.+.[--->+<]>--.---[->++<]>-.+[->++<]>.+++[->+++<]>.++++++++.+++.>++++++++++.[->++++++<]>+.---[->++<]>.+++[->+++<]>.++++++++.+++.>++++++++++.[->++++++<]>+.--[->++<]>-.-------.----------.+.+.[--->+<]>--.---[->++++<]>.+++[->+++<]>.++++++++.+++. 19:05:16 ok 19:05:19 =def 0bf 19:05:19 ok, defined 'bf' 19:05:21 =bf +[>+<+++++]>. 19:05:22 .....................+[>+<+++++]>.=...........................=t......=undef t...... 19:05:30 why doesn't it work though 19:05:33 I set the correct mode 19:05:39 `! bf8 +[>+>++<<+++++]>.>. 19:05:39 3f 19:06:02 I want to fix some errors again 19:06:05 > fix error 19:06:07 "*Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Ex... 19:06:15 =prefixes 19:06:15 Bot prefixes: fungot ^, HackEso `, lambdabot @ or ?, j-bot [, bfbot =. 19:06:19 @botsnack 19:06:19 :) 19:06:23 arseniiv: a classic, and one of my favorites 19:06:31 @let prefixes = var "Bot prefixes: fungot ^, HackEso `, lambdabot @ or ?, j-bot [, bfbot =." 19:06:31 b_jonas: correct my ignorance, though.) you should get ( fnord) print prog; else... without parentheses. so this is like 19:06:32 Defined. 19:06:36 > prefixes 19:06:37 int-e: mine too! 19:06:38 Bot prefixes: fungot ^, HackEso `, lambdabot @ or ?, j-bot [, bfbot =. 19:06:39 almost as good as the fibonacci numbers 19:07:05 that (fix error) thing is still so weird 19:07:08 > fix$(0:).scanl(+)1 19:07:10 [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,... 19:07:14 I do understand why it works, but it's weird 19:07:46 > fix $ const undefined 19:07:48 *Exception: Prelude.undefined 19:07:59 what language is it 19:08:02 > error (error "bar") 19:08:04 =str 0s 3++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>>---------.>+++++++++++++++.+.--.<<++.>----.>+>+[,.]<<<<++++++++++.>>++++.>---------------.+.+.<<.>----.>++++++++++++++.---------------.++++++++.+++.<<<++++++++++.>>++++.>++++.---------------.++++++++.+++.<<<++++++++++.>>.>+++++.-------.----------.+.+.<<.>>++++++++++++++.---------------.++++++++.+++. 19:08:04 ok 19:08:04 *Exception: *Exception: bar 19:08:04 Haskell 19:08:07 damn 19:08:12 @run 2+2 19:08:14 4 19:08:14 `whatis run 19:08:15 run(8hackeso) - run a shell command \ run(1hackeso) - no description \ run(8lambdabot) - evaluate Haskell expression 19:08:20 =def 0bf 19:08:20 ok, defined 'bf' 19:08:31 =bf +[>+<+++++]>. 19:08:32 =str 9+[>+<+++++]>..=def 9temp.=temp(=undef temp 19:08:34 haha 19:08:36 that was close 19:08:46 but wait, it can't execute own commands 19:08:52 and I can't use fungot to chain myself 19:08:52 kspalaiologos: neither tiny nor simple use and) 19:09:05 is there a bot without protection though? 19:09:27 it would make a ridiculous one command 19:09:36 int-e: have you seen a short code for Thue—Morse sequence 01101001100101101001011001101001…? 19:09:44 j-bot 19:09:47 tell me something 19:09:48 what is this 19:09:51 =prefixes 19:09:51 Bot prefixes: fungot ^, HackEso `, lambdabot @ or ?, j-bot [, bfbot =. 19:09:56 @help 19:09:56 help . Ask for help for . Try 'list' for all commands 19:09:58 @list 19:09:58 What module? Try @listmodules for some ideas. 19:10:04 @echo test 19:10:04 echo; msg:IrcMessage {ircMsgServer = "freenode", ircMsgLBName = "lambdabot", ircMsgPrefix = "kspalaiologos!~kspalaiol@176.221.122.71", ircMsgCommand = "PRIVMSG", ircMsgParams = ["#esoteric",":@echo 19:10:04 test"]} target:#esoteric rest:"test" 19:10:07 ? 19:10:08 oh yeah 19:10:13 kspalaiologos: j-bot runs J :D 19:10:14 what just happened 19:10:24 @listmodules 19:10:25 activity base bf check compose dice dict djinn dummy elite eval filter free fresh haddock help hoogle instances irc karma localtime metar more oeis offlineRC pl pointful poll pretty quote search 19:10:25 slap source spell system tell ticker todo topic type undo unlambda unmtl version where 19:10:32 @spell abc 19:10:33 ABC ABCs AB AC Ac 19:10:40 @spell =echo hei 19:10:41 =echo hei 19:10:41 hei 19:10:41 kspalaiologos: lambdabot's echo command is weird. I don't know if it has a plain echo command, but you can do something like 19:10:46 Aha! 19:10:49 @run var "hello, world" 19:10:50 wait 19:10:51 hello, world 19:10:51 to output something 19:10:53 =echo @spell hello 19:10:54 @spell hello 19:10:58 dammit man 19:11:01 =prefixes 19:11:01 Bot prefixes: fungot ^, HackEso `, lambdabot @ or ?, j-bot [, bfbot =. 19:11:19 [echo stuff 19:11:36 eh it seems like I have to modify my own bot 19:11:50 j-bot echo: it does have an echo command, but you can't invoke that command with a shortcut 19:11:50 b_jonas, pong: it does have an echo command, but you can't invoke that command with a shortcut 19:11:54 > fix$(0:).tail.(>>= \x->[x,1-x]) -- the `tail` always makes me a little sad 19:11:56 [0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1... 19:12:07 only two commands work with the shortcut, and you can't use a command name, the shortcut prefix implies the command 19:12:14 @pl \x->[x,1-x] 19:12:14 ap (:) (return . (-) 1) 19:13:08 j-bot cd: , 19:13:08 b_jonas, changed to ,#esoteric 19:13:21 [ prefixes =: 'Bot prefixes: fungot ^, HackEso `, lambdabot @ or ?, j-bot [, bfbot =.' 19:13:21 b_jonas: mine would be about as fast as ff, but without the parenthesis'" eh! 19:13:22 b_jonas: |ok 19:13:24 [prefixes 19:13:29 [ prefixes 19:13:29 b_jonas: Bot prefixes: fungot ^, HackEso `, lambdabot @ or ?, j-bot [, bfbot =. 19:14:01 kspalaiologos: there's a brainfuck interpreter written in brainfuck somewhere on the internet, I think you could use that to make a command in bfbot that runs brainfuck 19:14:11 haha 19:14:18 but my idea was way more fun 19:14:19 of course it would be very inefficient, but that's what you get for making a bot that you can only program in brainfuck 19:14:32 ^ I planned on adding gisa/asm2bf support 19:14:37 but I kinda don't fancy doing it now 19:14:51 I think there was a short period when jevalbot had a built-in to invoke a buubot command and wait for its reply 19:14:56 why so serious man :p 19:14:59 and return the reply to the J expression so it can continue 19:15:40 arseniiv: ^^ not sure whether you saw the Thue-Morse code there 19:15:57 int-e: yeah, this is neat! 19:16:21 `prefixes 19:16:22 Bot prefixes: fungot ^, HackEso `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ , bfbot = . 19:16:23 I’m trying to write something but it doesn’t work 19:16:25 `? prefixes 19:16:26 Bot prefixes: fungot ^, HackEso `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ , bfbot = . 19:16:40 Ithink maybe I’ll write a version using `iterate` 19:16:59 I don't even know what idris-bot or thutubot is supposed to be. I suspect their names were just invented to pad out the prefixes. Maybe we should invent more fictional bots there. 19:17:15 I mean as a temporary measure, until we actually add more bots. 19:18:39 List of fictional bots 19:19:14 I'd like to use the ten prefixes 0=- 0-= -0= -=0 =0- =-0 E-0 E0- 0E- -0E 19:19:47 8==D 19:20:08 +help 19:20:11 > map((`mod`2).popCount)[0..] 19:20:12 scam 19:20:13 [0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1... 19:20:20 hi kmc 19:20:39 hi 19:22:05 int-e: I feel helpless. I started writing “concat $ iterate (\xs -> …) [0]” and froze, I think I shouldn’t write code in a linear text box 19:22:21 > [iterate(>>= \x->[x,1-x])[0]!!i!!i|i<-[0..]] 19:22:23 [0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1... 19:22:50 [[User talk:Palaiologos]] https://esolangs.org/w/index.php?diff=67378&oldid=67367 * Palaiologos * (+277) Actual example 19:23:16 > map head.transpose$iterate(>>= \x->[x,1-x])[0] 19:23:18 [0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1... 19:23:20 [ (,-.)^:9]0 19:23:30 b_jonas: 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 ... 19:23:42 @type iterate(>>= \x->[x,1-x])[0] 19:23:44 Num a => [[a]] 19:23:50 > iterate(>>= \x->[x,1-x])[0] 19:23:53 [[0],[0,1],[0,1,1,0],[0,1,1,0,1,0,0,1],[0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0],[0,... 19:24:08 haha 19:24:08 arseniiv: I /was/ going to say that I don't know a nice way of merging the resulting sequences... but map head.transpose does that pretty nicely. 19:24:55 > concat$iterate(>>= \x->[x,1-x])[0] 19:24:57 [0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0... 19:25:02 @type transpose 19:25:04 [[a]] -> [[a]] 19:25:07 > iterate(>>= \x->[x,1-x])[0]!!9 19:25:10 [0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1... 19:25:20 > traspose [[1], [2, 3], [4, 5, 6]] 19:25:23 error: 19:25:23 • Variable not in scope: traspose :: [[Integer]] -> t 19:25:23 • Perhaps you meant one of these: 19:25:26 b_jonas: cheater! 19:25:55 > transpose [[1], [2, 3], [4, 5, 6]] 19:25:57 [[1,2,4],[3,5],[6]] 19:26:02 oh 19:26:24 @src transpose 19:26:24 transpose [] = [] 19:26:24 transpose ([] : xss) = transpose xss 19:26:24 transpose ((x:xs) : xss) = (x : [h | (h:t) <- xss]) : transpose (xs : [ t | (h:t) <- xss]) 19:26:55 int-e: now I understand why head.transpose works 19:27:09 oh. 19:27:20 > head.transpose$iterate(>>= \x->[x,1-x])[0] 19:27:22 [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... 19:27:35 > head.transpose.transpose$iterate(>>= \x->[x,1-x])[0] 19:27:38 [0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1... 19:27:41 ;) 19:27:52 (I had `map head`) 19:28:18 > iterate(ap(++)(fmap(1-)))[0] 19:28:20 [[0],[0,1],[0,1,1,0],[0,1,1,0,1,0,0,1],[0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0],[0,... 19:28:24 > iterate(ap(++)(fmap(1-)))[0]!!9 19:28:27 [0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1... 19:28:31 ah, yes, . is less binding than application 19:29:03 b_jonas: ah, cute. 19:29:26 how about abacaba? I think I already have seen how to do it but I’m afraid I won’t write it myself quick enough this time too 19:29:33 b_jonas: you can drop the `f` and then it'll actually be one character less than (>>= \x->[x,1-x]) 19:30:08 > iterate(ap(++)(map(1-)))[0]!!9 19:30:11 [0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1... 19:30:22 but I still think the !!9 is cheating. 19:31:12 > fix(s->0:map(1-)s) 19:31:15 error: 19:31:15 Pattern syntax in expression context: s -> 0 : map (1 -) s 19:31:21 > fix(\s->0:map(1-)s) 19:31:23 [0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1... 19:31:30 no 19:33:22 perl is an amazing language 19:33:53 I managed to fit ini parser and brainfuck code generator making up a brainfuck-to-anything compiler compiler 19:33:57 in 3700 bytes 19:34:16 https://esolangs.org/wiki/User_talk:Palaiologos 19:34:18 this INI 19:34:20 turns into this: 19:34:35 https://github.com/KrzysztofSzewczyk/b2all/blob/master/b2cs.bf 19:34:42 > map (ceiling . (/log 2) . log) [1..] 19:34:44 [0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6... 19:35:00 kspalaiologos: you'll have to talk to ais523, he's the perl guy here :-) 19:35:13 possibly 19:35:23 I honestly think this language is amazing 19:35:26 for data processing 19:35:41 on such an edge case of brainfuck compiler compiler 19:36:19 `? ayacc 19:36:20 ayacc is ais523's yacc parser generator implementation, get it from darcs clone http://nethack4.org/projects/ayacc 19:36:22 > fix((0:).("..">>).map(1+)) 19:36:24 [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:36:33 oh. 19:36:58 > let h=ceiling.(/log 2).log in concat.iterate(\s->h s:s)[0] 19:37:01 error: 19:37:01 • Couldn't match expected type ‘a -> [[a1]]’ 19:37:01 with actual type ‘[[Integer]]’ 19:37:06 > fix((0:).(<*"..").map(1+)) 19:37:08 [0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5... 19:37:21 b_jonas, 403 forbidden 19:37:33 > 0:fix((1:).(<*"..").map(1+)) -- sigh. 19:37:35 [0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6... 19:37:41 it's gone 19:38:11 > let h=ceiling.(/log 2).log in concat.iterate(\s->h$length s:s)[0] 19:38:13 error: 19:38:13 • Couldn't match expected type ‘a -> [[a1]]’ 19:38:13 with actual type ‘[[Int]]’ 19:39:08 @type floor 19:39:10 (RealFrac a, Integral b) => a -> b 19:39:16 hm 19:39:48 > let h=ceiling.(/log 2).log in concat$iterate(\s->h$length s:s)[0] 19:39:50 error: 19:39:51 • No instance for (RealFrac [Int]) arising from a use of ‘h’ 19:39:51 • In the expression: h $ length s : s 19:40:31 > let h=ceiling.(/log 2).log in concat$iterate(\s->h(length s):s)[0] 19:40:33 error: 19:40:34 • Could not deduce (RealFrac Int) arising from a use of ‘h’ 19:40:34 from the context: Integral a 19:40:49 :t ceiling.(/log 2).log 19:40:51 (RealFrac a, Integral c, Floating a) => a -> c 19:41:05 :t ceiling.(/log 2).log.fromIntegral 19:41:07 (Integral c, Integral a) => a -> c 19:41:16 what kind of arcane magic is it 19:41:22 :t genericLength 19:41:23 Num i => [a] -> i 19:41:25 > let h=ceiling.(/log 2).log.fromIntegral in concat$iterate(\s->h(length s):s)[0] 19:41:28 [0,0,0,1,0,0,2,1,0,0,2,2,1,0,0,3,2,2,1,0,0,3,3,2,2,1,0,0,3,3,3,2,2,1,0,0,3,3... 19:41:35 eh… 19:41:45 arseniiv: what are you trying to do? 19:41:53 abacaba 19:42:01 oh, the ruler function 19:42:28 kspalaiologos: Haskell indeed is magic, a dark one sometimes! 19:42:47 though not yet 19:43:10 > let h=ceiling.(/log 2).log.fromIntegral in concat$iterate(\s->h(length s):s)[] 19:43:12 [-17976931348623159077293051907890247336179769789423065727343008115773267580... 19:43:22 interesting 19:43:35 ``` openssl rand -base64 12 # fizzie: why does this hang? is there something wrong with random numbers? 19:43:53 > let h=ceiling.(/log 2).log.fromIntegral in concat$iterate(\s->h(length s):s)[0,0] 19:43:56 [0,0,1,0,0,2,1,0,0,2,2,1,0,0,3,2,2,1,0,0,3,3,2,2,1,0,0,3,3,3,2,2,1,0,0,3,3,3... 19:44:07 No output. 19:44:23 `python3 -cimport secrets; print(secrets.token_urlsafe(16)) # fizzie: python also can't generate crypto-secure random numbers either 19:44:24 > fix((0:).(>>=(:[0]).succ)) 19:44:26 [0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1... 19:44:54 No output. 19:45:57 `python3 -cprint([(x&-x).bit_length()-1 for x in range(1,333)]) # you want a ruler function? 19:45:57 ​[0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 19:46:13 > let xs = concat $ transpose [repeat 0, map succ xs] in xs 19:46:15 [0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1... 19:46:27 <3 transpose 19:46:32 ``` openssl rand -base64 16 19:46:48 fizzie: ^ this should work, and I think it used to work in HackEso before 19:47:03 No output. 19:47:07 -!- imode has quit (Quit: WeeChat 2.6). 19:49:20 neat 19:49:58 ah, I see why mine isn’t working 19:50:17 -!- imode has joined. 19:51:43 Hmpf. At some point I knew that abs(x) >= 0 is not universally true in C. 19:53:02 int-e: yeah. but -abs(x) <= 0 is always true, which is why Hacker's Delight says that it can be worth to use the negative absolute value function 19:57:43 another candidate: 19:57:43 > concat$iterate(\xt@(x:xs)->(x+1:xs)++xt)[0] 19:57:45 [0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1... 19:58:09 -!- imode1 has joined. 19:58:22 don’t like (++) of course 19:58:36 -!- imode has quit (Ping timeout: 246 seconds). 19:59:11 @hoogle mapHead 19:59:12 Data.NonEmpty mapHead :: (a -> a) -> T f a -> T f a 19:59:12 Data.Text.Lazy.Manipulate mapHead :: (Char -> Char) -> Text -> Text 19:59:12 Data.Text.Manipulate mapHead :: (Char -> Char) -> Text -> Text 20:00:20 b_jonas: hmm, I guess that would've helped 20:00:43 b_jonas: but I learned about std::make_unsigned instead. 20:08:11 And now that the code no longer gets stuck in an infinite loop I actually have an eligible solution for this months' IBM's Ponder This :) 20:12:05 (Probably got a bit lucky there, but who am I to complain about luck...) 20:13:27 ``` openssl rand -base64 16 20:13:58 No output. 20:16:17 `` od -tx1 /dev/urandom | head 20:16:18 0000000 6a 0e 63 83 21 cd 57 8d 35 5f eb d9 fd 18 4c c2 \ 0000020 d5 77 1b 90 00 f8 14 9c c7 55 16 13 e8 f6 7e 2c \ 0000040 9e e0 ee 73 e8 74 73 46 d5 65 b1 63 47 d9 64 2e \ 0000060 73 b6 ca d1 73 31 f3 d5 0b b0 d5 03 60 d6 15 4d \ 0000100 ea 20 e8 81 37 a0 20 45 65 10 c4 d7 12 a1 a8 14 \ 0000120 62 84 de d4 08 89 1d 8f a7 e5 e8 74 77 a8 98 ca \ 0000140 9c a3 35 fd 16 28 73 a9 35 8a 3e 4d 80 f2 b6 15 \ 0000160 d4 0d 6f b7 31 68 19 ee c7 ca 91 20:20:35 Ah, it calls getrandom() and that never terminates. 20:20:52 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net). 20:23:23 `` timeout 4 strace openssl rand -base64 16 2>&1 | paste 20:23:28 https://hack.esolangs.org/tmp/paste/paste.9297 20:24:04 fizzie: ^ 20:26:41 -!- kspalaiologos has quit (Quit: Leaving). 20:31:23 [[Exp]] N https://esolangs.org/w/index.php?oldid=67379 * PythonshellDebugwindow * (+1899) Created page with "'''Exp''' (short for "Expression") is an esoteric coding language based on expressions, created by [[User:PythonshellDebugwindow]]. ==Instructions== {| class="wikitable sortab..." 20:33:00 [[User:PythonshellDebugwindow]] https://esolangs.org/w/index.php?diff=67380&oldid=67361 * PythonshellDebugwindow * (+111) 20:38:53 I wonder is there a command in vim to expand tabs? 20:40:02 Nevermind I found out; type :%!expand to expand tabs 20:46:04 Hm, not sure what I could have changed that would affect that. Per the documentation, getrandom will block until the urandom source is initialized, unlike the /dev/urandom device which will return low-quality randomness. 20:46:41 It's possible it's not actually my changes but a side effect of the Debian upgrade instead, I guess. 20:47:00 fizzie: ok, but in a UML box, can't it initialize very quickly by getting a random seed from the containing linux? 20:47:21 i'm suprised UML is still even maintained 20:48:36 Sure, in theory. Whether it actually does that is another question. I've seen some messages about random and fast initialization in the debug output though. 20:49:03 Anyway, the UML kernel on HackEso is pretty old too. 20:50:14 ``` uname -a 20:50:17 Linux (none) 4.9.82 #6 Sat Apr 7 13:45:01 BST 2018 x86_64 GNU/Linux 20:50:35 yes, that looks old 20:53:17 I tried upgrading it to the Debian 10 stock user-mode-linux package (kernel 4.19), but it failed to work. 20:54:20 sad 20:56:05 maybe it's time that the hackeso setup be transitioned away from UML and towards a different virtualization technique 20:56:41 moony: basically whoever runs it decides how it's ran 20:56:51 and that's fizzie 20:57:01 so whatever fizzie does 20:57:08 and the hg repo is public, so you can download it and make a new generation 20:57:15 good point 20:57:15 and I think even the source code of the bot itself is public 20:57:20 will look later 20:57:21 so if you want to fork it, you are allowed 20:57:45 "Trying to reregister IRQ 2 FD 4 TYPE 0 ID (____ptrval____) \ open(rfile, O_RDONLY): Device or resource busy" is what it does on the standard kernel. But it works fine on the 5.3 in sid. 20:58:12 I would strongly prefer if we had just one hackbot instance on the channel, TBH. 20:58:17 [[Deadfish]] https://esolangs.org/w/index.php?diff=67381&oldid=67373 * Zzo38 * (+750) +ZZ Zero 20:58:28 yea I wouldn't try and bring in yet another hackbot here 20:59:41 and the second HackBot can synchronize by pulling the updates from Eso's repository using hg, and pushing diffs with `fetch and applying them 20:59:43 [[Deadfish]] M https://esolangs.org/w/index.php?diff=67382&oldid=67381 * Zzo38 * (+1) 21:00:30 Now you can see the example ZZ Zero code which implements Deadfish. 21:00:30 but more likely just keep it on standby for when fizzie gives up 21:07:17 `uname -a 21:07:20 Linux (none) 4.19.37 #2 Fri May 24 13:58:48 UTC 2019 x86_64 GNU/Linux 21:07:21 Weird, now it worked. 21:10:46 `` uname -a # rolled it back anyway 21:10:47 Linux (none) 4.9.82 #6 Sat Apr 7 13:45:01 BST 2018 x86_64 GNU/Linux 21:11:35 `run openssl rand -base64 16 # hmm 21:11:52 I tried that while it was briefly 4.19, and it didn't work any better. 21:12:06 No output. 21:14:07 -!- Vorpal has joined. 21:14:48 `` cat /proc/sys/kernel/random/entropy_avail; sleep 10; cat /proc/sys/kernel/random/entropy_avail # I assume this is the root cause 21:14:58 1 \ 1 21:16:08 does it, like, not trust that the randomness of the containing box gives enough entropy? 21:16:26 and so it tries to gather entropy on its own like in a full linux box? 21:17:42 It may be a configuration issue. 21:18:05 There's a CONFIG_UML_RANDOM flag: "This option enables UML's "hardware" random number generator. It attaches itself to the host's /dev/random, supplying as much entropy as the host has, rather than the small amount the UML gets from its own drivers. It registers itself as a standard hardware random number generator, major 10, minor 183, and the canonical device name is /dev/hwrng." 21:18:24 But that only helps if the userland runs rngd to feed randomness from /dev/hwrng to /dev/random. 21:18:40 I'm not sure whether I have it enabled or not, either. 21:19:33 -!- moony has changed nick to sust. 21:19:48 Anyway, I could make the umlbox init inject "enough" initial entropy from the host for reasonable HackEso commands. 21:20:15 maybe UML does that on its own if you enable that config option? 21:20:40 No, the documentation of that config option continues: "The way to make use of this is to install the rng-tools package." 21:20:47 hmm 21:20:54 is there a different config option then? 21:21:18 Not as far as I can tell. 21:21:34 :-( 21:22:14 Arguably, it's good that UML doesn't just pass through the random devices / calls to the host. Otherwise, a single UML instance could DoS everyone else by consuming all the entropy. 21:23:23 (I don't know if they've had that as a concern or not. There isn't very much recent documentation on UML and randomness.) 21:24:02 maybe they just haven't fixed UML since the getrandom syscall was added? 21:25:15 It's not really "broken", it's working as intended. 21:25:27 ``` od -N16 -tx4 /dev/random 21:25:37 hmm 21:25:54 It's just that /dev/urandom is "broken", unlike the getrandom syscall. 21:26:10 "When read during early boot time, /dev/urandom may return data prior to the entropy pool being initialized. If this is of concern in your application, use getrandom(2) or /dev/random instead." 21:26:11 yeah, it's not specific to getrandom , because /dev/random d 21:26:14 oes the same 21:27:02 I guess you could make the wrapper write an initial random seed into /dev/random 21:27:09 the /dev/random of the inner box I mean 21:27:17 No output. 21:27:39 (Also, that wasn't 30 seconds.) 21:33:26 `python3 -cfor k in range(20):import sys,time;n=time.time()*100%1000;print("%02d.%02d"%divmod(n,100),file=sys.stderr);time.sleep(0.2) 21:33:31 07.33 \ 07.54 \ 07.74 \ 07.94 \ 08.14 \ 08.34 \ 08.54 \ 08.74 \ 08.94 \ 09.14 \ 09.34 \ 09.54 \ 09.74 \ 09.94 \ 00.14 \ 00.34 \ 00.54 \ 00.74 \ 00.94 \ 01.14 21:33:33 `python3 -cwhile 1:import sys,time;n=time.time()*100%1000;print("%02d.%02d"%divmod(n,100),file=sys.stderr);time.sleep(0.2) 21:34:05 No output. 21:34:08 `run for k in {1..9999}; do echo $k; sleep 1; done 21:34:22 When I run things locally in verbose mode, after a little while there is a "random: fast init done" kernel message, which from the code looks like is when some threshold of entropy has been reached, and it wakes up the parts of the kernel that have been blocked on crng_init_wait. But that's probably the small trickle of randomness it gets from its own drivers. 21:34:26 fizzie: it looks as if HackEso no longer prints partial output after a timeout, or something. why is this? 21:34:39 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 \ 28 \ 29 \ 30 21:34:42 hmm 21:34:48 weird, it does now 21:34:52 but not with the python command 21:34:54 what did I do wrong? 21:35:33 I don't know. Maybe the Python command is fully buffered, since the output is to a pipe, not a terminal? 21:35:41 but I print to sys.stderr 21:35:48 I'll experiment a bit more 21:36:19 sys.stderr is a pipe too, FWIW. 21:36:28 (In fact, it's the same pipe.) 21:36:55 That's a change from before, by the way, earlier the 'cat' (to fake that the output is not to a tty) was inserted only in the stdout path. 21:38:17 `python3 -cwhile 1:import sys,time;n=time.time()*100%1000;print("%02d.%02d"%divmod(n,100),file=sys.stderr);sys.stderr.flush();time.sleep(0.2) 21:38:27 `python3 -cwhile 1:import sys,time;n=time.time()*100%1000;print("%02d.%02dnf"%divmod(n,100),file=sys.stderr);time.sleep(0.2) 21:38:47 07.63 \ 07.83 \ 08.03 \ 08.23 \ 08.43 \ 08.63 \ 08.83 \ 09.03 \ 09.23 \ 09.44 \ 09.64 \ 09.84 \ 00.04 \ 00.24 \ 00.44 \ 00.64 \ 00.84 \ 01.04 \ 01.24 \ 01.44 \ 01.64 \ 01.84 \ 02.05 \ 02.25 \ 02.45 \ 02.65 \ 02.85 \ 03.05 \ 03.25 \ 03.45 \ 03.65 \ 03.85 \ 04.05 \ 04.25 \ 04.45 \ 04.66 \ 04.86 \ 05.06 \ 05.26 \ 05.46 \ 05.66 \ 05.86 \ 06.06 \ 06.26 \ 06.46 \ 06.66 \ 06.86 \ 07.06 \ 07.26 \ 07.46 \ 07.67 \ 07.87 \ 08.07 \ 08.27 \ 08.47 \ 08.67 \ 21:38:57 No output. 21:39:02 you were right, sys.stderr is buffered for some reason. darn you, python3. 21:39:07 fizzie: sorry for the false alarm 21:39:59 It also looks to be keeping correct time pretty well. 21:40:20 `python3 -cwhile 1:import sys,time;n=time.time()*100%1000;print("%02d.%02dnf"%divmod(n,100),file=sys.stderr);time.sleep(0.5) 21:40:40 `python3 -cwhile 1:import sys,time;n=time.time()*100%1000;print("%02d.%02d"%divmod(n,100));sys.stdout.flush();time.sleep(0.5) 21:40:43 The 30-second timeout is measured on CLOCK_MONOTONIC with a POSIX timer now. 21:40:51 No output. 21:41:11 00.93 \ 01.43 \ 01.93 \ 02.43 \ 02.93 \ 03.43 \ 03.93 \ 04.43 \ 04.93 \ 05.44 \ 05.94 \ 06.44 \ 06.94 \ 07.44 \ 07.94 \ 08.44 \ 08.94 \ 09.44 \ 09.95 \ 00.45 \ 00.95 \ 01.45 \ 01.95 \ 02.45 \ 02.95 \ 03.45 \ 03.95 \ 04.45 \ 04.96 \ 05.46 \ 05.96 \ 06.46 \ 06.96 \ 07.46 \ 07.96 \ 08.46 \ 08.97 \ 09.47 \ 09.97 \ 00.47 \ 00.97 \ 01.47 \ 01.97 \ 02.47 \ 02.97 \ 03.47 \ 03.97 \ 04.48 \ 04.98 \ 05.48 \ 05.98 \ 06.48 \ 06.98 \ 07.48 \ 07.98 \ 08.48 \ 21:41:24 `python3 -cwhile 1:import sys,time;n=time.time()*100%1000;print("%02d.%02d"%divmod(n,100));sys.stdout.flush();time.sleep(1.0) 21:41:49 `python3 -cwhile 1:import sys,time;n=time.time()*100%10000;print("%02d.%02d"%divmod(n,100));sys.stdout.flush();time.sleep(1.0) 21:41:55 04.81 \ 05.82 \ 06.82 \ 07.82 \ 08.82 \ 09.82 \ 00.82 \ 01.83 \ 02.83 \ 03.83 \ 04.83 \ 05.83 \ 06.83 \ 07.83 \ 08.84 \ 09.84 \ 00.84 \ 01.84 \ 02.84 \ 03.85 \ 04.85 \ 05.85 \ 06.85 \ 07.85 \ 08.85 \ 09.86 \ 00.86 \ 01.86 \ 02.86 \ 03.86 21:42:20 10.01 \ 11.02 \ 12.02 \ 13.02 \ 14.02 \ 15.02 \ 16.03 \ 17.03 \ 18.03 \ 19.03 \ 20.03 \ 21.04 \ 22.04 \ 23.04 \ 24.04 \ 25.04 \ 26.04 \ 27.05 \ 28.05 \ 29.05 \ 30.05 \ 31.05 \ 32.06 \ 33.06 \ 34.06 \ 35.06 \ 36.06 \ 37.06 \ 38.06 \ 39.07 21:42:31 looks about right 21:53:28 -!- tromp has quit (Remote host closed the connection). 21:56:12 -!- tromp has joined. 22:18:11 The thing is, that's measuring it from the inside. If there's some sort of timing skew, it would only show up if there was some external source to measure it against. But there isn't. 22:33:23 Weird. I've got a command that prints one line of output if I copy the umlbox command line it ends up executing and run it outside of the multibot/hackbot context (but as the same user); but as a HackEso command it just says the usual "No output." 22:35:45 Ohh, right: it's probably because under HackEso it runs with the cat, and the timeout kills both processes at the same time. Yep, with | cat it also does the same outside. 22:36:10 I guess maybe the timeout should only kill the command process, and rely on the cat stopping since the only process holding the write end of its pipe was just killed. 22:38:20 fizzie: you should probably still kill the cat after some time 22:38:24 just in case] 22:40:07 ``` kill -STOP 49; echo hello 1-gmRmaFJxJn 22:40:45 No output. 22:40:56 ``` echo hkirO7mrtS3z; sleep 1; echo iP-fR9XfSssi; kill -STOP 49; echo H_FneqCCqFeY 22:42:31 No output. 22:42:54 hmm 22:43:19 ``` echo -l7gBFfQyxIJ; sleep 999 22:43:50 No output. 22:44:18 that's strange 22:44:24 `perl -euse Time::HiRes; $| = 1; $t = time; $SIG{'TERM'} = sub { printf "TERM at %.3f seconds\n", time-$t; exit 0; }; sleep; 22:44:31 ``` echo rc-V4VVF2nvu 22:44:32 rc-V4VVF2nvu 22:44:46 ``` echo 24AsPMQN_AlS; sleep 999 22:44:55 TERM at 30.000 seconds 22:45:10 `run echo lZ_R_lCr2p1T; sleep 999 22:45:22 No output. 22:45:36 fizzie: ^ what's happening? 22:45:45 lZ_R_lCr2p1T 22:45:50 hmm 22:45:53 now it works 22:46:06 That's the one from `run. But I don't see why that would be any different. 22:46:16 Yeah, weird. 22:46:25 ``` echo -6d0phMQiXb5_ 22:46:26 ​-6d0phMQiXb5_ 22:46:52 `run echo cDxDMxZU9YJ3 22:46:53 cDxDMxZU9YJ3 22:47:13 `run echo 4e073w8PupF-; sleep 9999 22:47:24 I mean, I could imagine the cat could also be buffering its writes? But that part hasn't changed. And nothing would get incomplete output in that case. 22:47:35 Anyway, gotta go. 22:47:39 I don't think cat does 22:47:49 4e073w8PupF- 22:48:23 fizzie: my cat doesn't know how to buffer writes. 22:48:26 it can meow tho 22:54:33 b_jonas: Oh, maybe it's rnooodl that's buffering writes? 22:54:41 That's be one difference between ``` and `run. 22:57:13 fizzie: yes, but (1) it didn't work with run either, (2) rnooooodl flushes after each line 22:57:17 or doesn't it? wait 22:57:30 ``` cat bin/rn*(o)dl 22:57:31 cat: 'bin/rn*(o)dl': No such file or directory 22:57:34 ``` cat /hackenv/bin/rn*(o)dl 22:57:35 perl -pe 's/([Nn])ooodl/"$1@{[o x(3+rand 7)]}dl"/ge' 22:57:37 It did work with run, every time you tried it. 22:57:40 darn it 22:57:43 it doesn't flush 22:57:57 4e073w8PupF- and lZ_R_lCr2p1T both. 22:58:11 `run echo uy0np_TFMTLV; sleep 9999 22:58:47 uy0np_TFMTLV 22:58:48 `run echo GyDzrHYDRozQ; sleep 10; echo s0WsZweXT8GlA; kill -STOP 49; echo wCLwrX8fLtPX 22:58:54 yes, it's working with run apparently 22:59:24 GyDzrHYDRozQ \ s0WsZweXT8GlA 22:59:36 sorry, I'm just tired and confused then 23:09:27 -!- tromp has quit (Remote host closed the connection). 23:14:14 -!- arseniiv has quit (Ping timeout: 246 seconds). 23:30:18 -!- imode1 has quit (Quit: WeeChat 2.6). 23:52:07 -!- tromp has joined. 23:54:13 http://ix.io/22MC what 23:55:47 -!- imode has joined. 23:56:35 -!- tromp has quit (Ping timeout: 246 seconds).