00:17:14 -!- zzo38 has joined.
00:17:30 <zzo38> Now I internet is fixed (although the DNS is not yet updated).
00:29:27 -!- oerjan has joined.
00:34:27 <b_jonas> `@ fizzie cat /hackenv/bin/slbd
00:34:28 <HackEso> fizzie: cd bin; sled "$1" | sed '1s/^Rosebud!$/Rosbbud!/'
00:35:12 <b_jonas> fizzie: ^ you've been sediting scripts in bin all day and you haven't ran into that, it's sort of funny
00:35:19 <b_jonas> looks like maybe we just don't need that command
00:37:20 <HackEso> #!/bin/sh \ . lib/interp \ interp_file ./interps/1l/1l_a.bin
00:37:21 <HackEso> #!/bin/sh \ . lib/interp \ interp_file ./interps/2l/2li.bin
00:38:50 <b_jonas> ``` set -e; cd "$HACKENV/ibin"; grep -Fl ". lib/interp" * # or maybe all of these
00:38:50 <HackEso> 1l \ 2l \ adjust \ asm \ axo \ bch \ befunge \ befunge98 \ bf \ bf16 \ bf32 \ bf8 \ bf_txtgen \ boolfuck \ c \ cintercal \ clcintercal \ cxx \ dimensifuck \ forth \ glass \ glypho \ haskell \ java \ kipple \ lambda \ lazyk \ linguine \ lua \ malbolge \ pbrain \ perl \ qbf \ rail \ rhotor \ sadol \ sceql \ sh \ slashes \ trigger \ udage01 \ underload \ unlambda \ whirl
00:39:40 <HackEso> #!/bin/sh \ echo "$1 has $(lib/karma "$1") karma."
00:39:41 <HackEso> #!/bin/sh \ echo "$1 now has $(($(lib/karma "$1")+1)) karma." | tee karma
00:39:43 <HackEso> #!/bin/sh \ touch karma \ echo "$1 now has $(($(lib/karma "$1")-1)) karma."
00:40:19 <b_jonas> yes, I know, I can edit those
00:40:50 <fizzie> `sled /hackenv/bin/slbd//s|cd bin|cd ${HACKENV-/hackenv}/bin|
00:40:51 <HackEso> /hackenv/bin/slbd//cd ${HACKENV-/hackenv}/bin; sled "$1" | sed '1s/^Rosebud!$/Rosbbud!/'
00:41:12 <fizzie> It is sort of funny. I even fixed a number of similar "cd bin; ..." things.
00:42:34 <fizzie> The karma thing is pretty clever, though I don't think scalling the full repository log really scales forever.
00:44:02 <fizzie> `slbd karma//s|lib/|${HACKENV-/hackenv}/lib/|
00:44:08 <HackEso> karma//#!/bin/sh \ echo "$1 has $(${HACKENV-/hackenv}/lib/karma "$1") karma."
00:45:55 <fizzie> `slbd karma+//s|lib/|${HACKENV-/hackenv}/lib/|
00:45:57 <HackEso> karma+//#!/bin/sh \ echo "$1 now has $(($(${HACKENV-/hackenv}/lib/karma "$1")+1)) karma." | tee karma
00:46:04 <fizzie> `slbd karma-//s|lib/|${HACKENV-/hackenv}/lib/|
00:46:17 <HackEso> karma-//#!/bin/sh \ touch karma \ echo "$1 now has $(($(${HACKENV-/hackenv}/lib/karma "$1")-1)) karma."
00:46:30 <fungot> b_jonas: and leave any other messages before that one arrives... fnord??
00:47:16 <fizzie> Looks like the karma system saw most use around 2011.
00:47:48 <fizzie> Hmm, there's a number of increments for fungot. That's odd.
00:47:48 <fungot> fizzie: ( fnord of some sort, but it has the proper makefiles and such, arcus??!
00:51:37 <fizzie> Oh, right, because the repository history starst from 2012.
00:51:55 <kmc> that's some p. fancy bash-work
00:54:11 <b_jonas> HackEso: doesn't the tee target have to be changed as well?
00:54:23 <b_jonas> fizzie: doesn't the tee output file have to be changed as well?
00:55:17 <fizzie> Oh, right. That's there so that the command writes something. Yes.
00:56:09 <fizzie> `` for d in + -; do sed -i -e 's|tee karma|tee ${HACKENV-/hackenv}/karma|' /hackenv/bin/karma$d; done
00:56:45 <fizzie> `` cd /hackenv/bin; rm '!'; ln -s interp '!' # just merging these two identical files
00:58:35 <b_jonas> yep, still 1, previous one didn't count
01:04:01 <HackEso> 12127:2019-11-17 <fizzïe> ` cd /hackenv/bin; rm \'!\'; ln -s interp \'!\' # just merging these two identical files \ 12093:2019-11-16 <fizzïe> sled /hackenv/bin/!//s|exec ibin|exec $HACKENV/ibin| \ 11880:2019-07-19 <oerjän> ` ln -s interp bin/\\! \ 11879:2019-07-19 <oerjän> ` mv bin/{\\!,interp} \ 11876:2019-07-17 <ais52̈3> ` sed -i -e \'s/echo/echo -n/\' \'bin/!\' \ 11875:2019-07-17 <ais52̈3> ` sed -i -e \'s/ARG"$/ARG$2"/\' \'bin/!
01:04:04 <fizzie> Yeah, it's pretty terribul.
01:04:36 <oerjan> i'm not entirely convinced this is an improvement.
01:05:37 <HackEso> a.c \ a.out \ as-encoding \ asmbf-1.1.1 \ banana.txt \ compiled_brachylog.pl \ hexdump.hex \ input.brachylog \ jeval.whatis \ just \ karma \ le \ out \ OUT \ out.a \ out.a.hd \ out.a.xxd \ paste \ single-word-character-names \ spline \ spout \ spout.raw \ test.b \ test.sh \ tmp.txt \ v1.1.1.tar.gz
01:06:39 <HackEso> bin \ canary \ emoticons \ esobible \ etc \ f \ factor \ hw \ ibin \ interps \ karma \ le \ lib \ misle \ paste \ ply-3.8 \ quines \ quinor \ quotes \ share \ src \ stuff \ tmflry \ tmp \ wisdom
01:07:19 <HackEso> /hackenv/bin:/usr/bin:/bin
01:07:44 <oerjan> oh you made le a symbolic link
01:07:56 <oerjan> i guess that works, although what if it's removed...
01:08:05 <HackEso> lrwxrwxrwx 1 1000 1000 11 Nov 16 21:29 le -> /hackenv/le
01:08:15 <fizzie> I wasn't sure whether to make it a link or a directory.
01:08:45 <fizzie> Anyway, with the pwd-in-/hackenv/tmp/ setup there really isn't a way to make `foo/bar commands fully revert-able.
01:09:03 <oerjan> this should prevent some accidents
01:09:36 <oerjan> what do you mean, fulle revert-able?
01:09:57 <HackEso> lrwxrwxrwx 1 1000 1000 11 Nov 16 21:29 le -> /hackenv/le
01:09:57 <fizzie> Well, in the sense that if someone breaks it, you can't fix it with `revert.
01:10:13 <HackEso> dr-xr-xr-x 2 1000 1000 4096 Apr 7 2018 ../le
01:11:48 <oerjan> argh, apparently symbolic links cannot be write-protected
01:15:52 <zzo38> Yes, you cannot change the permission of a symbolic link, I don't know why it is like that
01:16:56 <esowiki> [[Joke language list]] https://esolangs.org/w/index.php?diff=67109&oldid=67094 * Quadril-Is * (+42) /* General languages */
01:17:30 <esowiki> [[IBC]] https://esolangs.org/w/index.php?diff=67110&oldid=67103 * Quadril-Is * (+5)
01:17:43 <fizzie> Yeah, I'm not certain the benefit of having a bit less cruft in the repo is worth the hassle / breaking change. But I'm not sure it's not, either.
01:19:09 <esowiki> [[User talk:Quadril-Is]] N https://esolangs.org/w/index.php?oldid=67111 * Quadril-Is * (+189) Created page with "--~~~~ --~~~~"
01:19:51 <esowiki> [[IBC]] https://esolangs.org/w/index.php?diff=67112&oldid=67110 * Quadril-Is * (+40)
01:19:59 <fizzie> For ibin, I'll address those as an offline commit if we keep this configuration.
01:20:59 <fizzie> (I was thinking of making `interp to just cd /hackenv first, but it seems inconsistent to have those have a separate default cwd. Though you'd only notice when accessing files, which is maybe not that common.)
01:23:41 <esowiki> [[User:Quadril-Is]] https://esolangs.org/w/index.php?diff=67113&oldid=67073 * Quadril-Is * (+437)
01:26:50 <fizzie> Even if we do revert back to /hackenv as the default directory, I'd probably make `fetch (with no output file specified) write to tmp/ by default.
01:26:56 <fizzie> `slbd hello-world-in-any-language//s|hw/|${HACKENV-/hackenv}/hw/|g
01:26:58 <HackEso> hello-world-in-any-language//if [ -z $(tr [A-Z] [a-z] <<< "$1") ]; then echo "Hello, world!"; else if [ -f ${HACKENV-/hackenv}/hw/$(tr [A-Z] [a-z] <<< "$1") ]; then cat ${HACKENV-/hackenv}/hw/$(tr [A-Z] [a-z] <<< "$1"); else echo "Your language does not exist"; fi; fi
01:31:21 <esowiki> [[Stack]] https://esolangs.org/w/index.php?diff=67114&oldid=63100 * Quadril-Is * (+42) /* Usage in esolangs */
01:34:51 <oerjan> <fizzie> `` rm /hackenv/bin/8$'\x0f'ball # I've no idea what this one was about <-- it was to do a prank 8ball that gives the answer you want hth
01:36:53 <oerjan> <fizzie> Still maintaining a healthy lead, I see. <-- whee
01:40:15 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
02:10:20 <b_jonas> healthy lead? I haven't met healthy lead since my childhood. mercury, lead, and even tin counts as poisonous now. zinc, copper and iron will follow them in a few years, and the electronics industry will have to make wires from silver.
02:18:47 <kingoffrance> the thing about magic 8 ball is if you get an answer you dont like, you just ask "but that last answer was wrong/no-ways permanent, right?"
02:20:32 <oerjan> b_jonas: iron seems unlikely given that it's an essential nutrient
02:22:31 <oerjan> kingoffrance: sorry, but the first answer takes precedence hth
02:22:55 <fizzie> "Four times he had declared that that accursed Lensman, whoever he might be, must be destroyed, and had mustered his every available force to that end, only to have his intended prey slip from his grasp as effortlessly as a droplet of mercury eludes the clutching fingers of a child."
02:23:15 <fizzie> These days, I don't think children play that much with droplets of mercury.
02:23:52 <fizzie> (The quote was from Galactic Patrol, Edward E. Smith, published 1937.)
02:24:30 <oerjan> all i know about lensman is from the tvtropes page on lensman race
02:24:40 <fizzie> It's got that for sure.
02:24:54 <kingoffrance> oerjan, do i have to purchase magic 8 ball, or can i just shake one inside packaging in a store ~20 years ago and have my future foretold?
02:25:06 <fizzie> But the books have some other slightly old-fashioned bits too.
02:25:22 <fizzie> "For eight hours two hundred Rigellians stood at whining calculators, each solving course-and-distance problems at the rate of ten per minute."
02:25:51 <fizzie> "Then for hours bale after bale of cards went through the machine; thousands of records per minute. Occasionally one card would flip out into a rack, rejected."
02:26:40 <oerjan> kingoffrance: there are many free alternatives hth
02:27:41 <oerjan> fizzie: i think i've seen that quoted before
02:29:00 <fizzie> They've got faster-than-light travel, but haven't really invented computers.
02:34:50 <kingoffrance> well, "each solving..." they were the computers, they had initiated the process of outsourcing at that point
02:38:03 -!- Frater_EST has joined.
02:49:26 <b_jonas> oerjan: is it a nutrient in ion form, or in metalic form?
02:51:05 <b_jonas> fizzie: not play as such, but I broke at least one mercury thermometer as a child by accident, and I think many children have done that
02:51:47 <b_jonas> I only have one last mercury thermometer now, if that one breaks then either I'll have to use one of these modern alcohol or electronic thermometers, or buy one from Ukraine or something
02:51:50 <oerjan> i think metallic does not occur naturally
02:53:35 <zzo38> I think EsoPost is a bit similar to 7
02:54:02 <oerjan> "Iron is both necessary to the body and potentially toxic." says wikipedia
02:54:20 <b_jonas> ornxka: right, but metalic iron is used in electronic radiation shields and cooking vessels and the like, and it's the metalic mercury, metalic tin, and metalic lead that is toxic and mostly banned
02:54:50 <ornxka> pff i dont believe that for a second
02:55:06 <zzo38> I think many things that are necessary are toxic.
02:55:56 <ornxka> they say the poison makes the dose which is why i only eat very small amounts of lead at any given time
02:58:24 <oerjan> 's ok if it's small enough
02:59:18 <kmc> oxygen is very toxic
02:59:23 <oerjan> mercury accumulates in the body iirc so it has to be small enough in _total_ dose over a lifetime
02:59:36 <oerjan> not sure about lead, it's also a heavy metal
02:59:43 <kmc> when plants took over earth and filled the atmosphere with oxygen, it killed 90% of species in existence
03:00:14 <oerjan> kmc: [accurate count verification needed]
03:00:54 <oerjan> or a citation to actual science
03:01:03 -!- xkapastel has quit (Quit: Connection closed for inactivity).
03:01:14 <kmc> my wife told me that and she usually knows what she's talking about
03:02:12 <oerjan> those people are the worst
03:03:02 <oerjan> let me just check wikipedia, that's infallible
03:04:22 <oerjan> "causing almost all life on Earth to go extinct.[dubious – discuss][5]" checks out
03:05:37 -!- Frater_EST has quit (Read error: Connection reset by peer).
03:06:51 -!- Frater_EST has joined.
03:07:45 <oerjan> from the talk page "The abstract of the paywalled source does not say rise in O2 caused extinctions. Rather, it notes that an extinction is observed in the fossil record, and suggests that hiccups in phosphorous availability was to blame."
03:14:10 <kmc> well maybe i'm wrong
03:16:32 -!- FreeFull has quit.
03:18:04 <esowiki> [[Whitespace]] https://esolangs.org/w/index.php?diff=67115&oldid=67102 * Quadril-Is * (+68) /* Hello, world! */
03:18:21 <esowiki> [[Whitespace]] https://esolangs.org/w/index.php?diff=67116&oldid=67115 * Quadril-Is * (-205) /* Cat program */
03:18:34 <esowiki> [[Whitespace]] https://esolangs.org/w/index.php?diff=67117&oldid=67116 * Quadril-Is * (-225) /* Truth-machine */
03:22:00 <oerjan> kmc: https://en.wikipedia.org/wiki/Talk:Great_Oxidation_Event#What_exactly_was_the_"catastrophe"_?
03:22:56 <oerjan> with a bit of crank near the end
03:23:21 <kmc> interesting
03:23:24 <kmc> thank you for informing
03:25:33 <oerjan> and later they changed the article title not to contain "catastrophe"
03:25:44 <esowiki> [[Talk:Whitespace]] https://esolangs.org/w/index.php?diff=67118&oldid=67096 * Quadril-Is * (+22)
03:26:00 <esowiki> [[Talk:Whitespace]] https://esolangs.org/w/index.php?diff=67119&oldid=67118 * Quadril-Is * (+95)
03:40:18 <esowiki> [[Whitespace]] https://esolangs.org/w/index.php?diff=67120&oldid=67117 * Quadril-Is * (+269) /* Cat program */
03:54:12 <esowiki> [[Ecstatic]] https://esolangs.org/w/index.php?diff=67121&oldid=39853 * Quadril-Is * (+81) /* truth machien */
04:01:34 <esowiki> [[User:Quadril-Is]] https://esolangs.org/w/index.php?diff=67122&oldid=67113 * Quadril-Is * (+131)
04:01:53 <esowiki> [[User:Quadril-Is]] https://esolangs.org/w/index.php?diff=67123&oldid=67122 * Quadril-Is * (+14) /* My esolangs */
04:06:52 <zzo38> How to improve the keyboard speed in DOSBOX? Also, how to capture the printer output in DOSBOX? Also, the BASIC code "IF VAL("1") = 1" is false when running in DOSBOX (but true on an actual DOS computer); why is that? (If I change it to "IF CINT(VAL("1")) = 1" then it works, though.)
04:16:34 <zzo38> (I only want to capture the data written to LPT1, and not try to interpret it at all.)
04:18:22 <zzo38> I wonder if there is some way of using TSR to do that
04:28:47 <esowiki> [[Quine]] https://esolangs.org/w/index.php?diff=67124&oldid=66690 * Quadril-Is * (+118) /* How to write quines */ corrected what quinify actually does
04:42:01 <esowiki> [[Whitespace]] https://esolangs.org/w/index.php?diff=67125&oldid=67120 * Quadril-Is * (+4) /* Truth-machine */
05:07:42 <zzo38> Do you know why VAL does that in DOSBOX?
05:13:38 <zzo38> I found out that for key codes, what I could do is in the program that reads them, use INP(96) instead of INKEY$ to read the keyboard during the main game loop (but use still using INKEY$ in menus, and when requesting text entry). It seems that INP(96) sometimes returns 224 instead of the scancode, but that isn't a problem since we can just save the previous scan code and use it if 224 is returned.
05:14:22 <esowiki> [[Quine]] https://esolangs.org/w/index.php?diff=67126&oldid=67124 * Quadril-Is * (-43) /* How to write quines */
05:17:03 <kmc> zzo38: I don't know
05:17:06 <kmc> is that in QBASIC?
05:17:41 <esowiki> [[User:Quadril-Is/secretpagebyquadrilspipp]] N https://esolangs.org/w/index.php?oldid=67127 * Quadril-Is * (+2) Created page with "hi"
05:20:19 <kmc> zzo38: how did you discover that?
05:21:00 <zzo38> I found that port 96 is the keyboard input, and then I tried and saw what happens
05:22:23 <zzo38> I now found that there are a few other programs using "POKE &H41A, PEEK(&H41C)" to clear the keyboard buffer, although I figured it out just by examining memory dumps
05:23:33 <zzo38> (To clear the keyboard buffer in this way, you will need "DEF SEG = 0" at first, unless segment 0 is already selected, which it might be if you want to read the shift states with PEEK(&H417).)
05:25:00 <kmc> how did you discover the thing about VAL, i mean
05:25:37 <zzo38> By trying it in DOSBOX. Entering a subtraction command shows that there is a difference of approx. 2e-16, which is why it does not compare as equal.
05:25:58 <zzo38> But on a real DOS computer my program worked; I had to change it to work on the emulator.
05:28:10 <zzo38> Do you know why it does that? I don't know why, but at least I know how to fix it
05:29:26 <zzo38> I don't know if that is also what causes some other programs to fail?
05:30:05 <kmc> so it's a floating point thing?
05:30:38 <kmc> i think there is a way to attach gdb to dosbox
05:30:43 <kmc> so you could step through the relevant code
05:30:54 <kmc> i have also used a freeware version of IDA to reverse engineer DOS programs
05:31:03 <zzo38> Yes, it seems like something to do with floating point
05:32:28 <kmc> maybe DOSBox does not properly emulate the weird 80-bit x87 floats
05:32:44 <kmc> i'd be surprised though. dosbox is pretty mature software
05:32:56 <kmc> and is used to run all kinds of dos programs
05:43:17 <zzo38> I also found that in DOSBOX the functions to adjust the date/time do not work; it is just ignored, and then retrieving the date/time returns the actual date/time instead.
05:43:52 <zzo38> I once tried some program I found to try to capture printer output, but it just caused DOSBOX to crash.
05:44:35 -!- atslash has quit (Ping timeout: 276 seconds).
05:45:51 <zzo38> But I think there would probably be some way to make it work, if the programs use the DOS function calls to make printer output rather than direct I/O.
05:48:26 <kmc> a TSR should work in that case
05:53:34 -!- Frater_EST has quit (Read error: Connection reset by peer).
06:02:07 <HackEso> 1/2:31) <oklopol> i'm my dad's unborn sister \ 492) <CakeProphet> monqy: help how do I use lambdabot to send messages to people. [...around half an hour later...] <CakeProphet> @messages <lambdabot> quicksilver said 1y 2m 18d 19h 54m 29s ago: you use @tell \ 453) <itidus20> software patents strike again <ais523_> that's got to be at least three times, now <ais523_> are they out yet? \ 881) <kmc> i fell in love with the first gimmick twitter
06:02:12 <HackEso> 2/2: account that i met who could appreciate georges bataille \ 266) <lament> elliott: well what i would do if i were omniscient and omnipotent would be to create an immortal woman with perfect tits and bang her for the rest of eternity
06:04:10 <oerjan> int-e: `5 and the like actually default to quote
06:04:16 <HackEso> 1/2:481) <Phantom_Hoover> I keep asking random people for "friendship <thing>" and it's crippling \ 202) <j-invariant> I need a new desktop background <Gregor> j-invariant: Try http://codu.org/spinners.png (tiled) <j-invariant> uhrghoaudp \ 1217) <elliott> listen. listen. jesus has saved me from talking about undefined behaviour in C with you any more, and He could save you too. \ 121) <nooga> i think of languages as tools, there is no holy
06:06:10 <HackEso> 2/2:grail of languages <olsner> even if there's no holy grail, that doesn't mean cups of crap is ok \ 847) <zzo38> Yes I am native English speaker, but it is Canadian English, not British English.
06:16:48 <esowiki> [[Unsquare]] N https://esolangs.org/w/index.php?oldid=67128 * Quadril-Is * (+1171) Created page with "'''Unsquare''' was named after Dave Brubeck's [https://www.youtube.com/watch?v=_yExwkQYcp0 Unsquare Dance]. Unsquare Dance is unusual in rhythm, and so is the esolang. ==Instr..."
06:24:40 <esowiki> [[Unsquare]] https://esolangs.org/w/index.php?diff=67129&oldid=67128 * Quadril-Is * (+41) /* Instructions */
06:25:03 <esowiki> [[Unsquare]] https://esolangs.org/w/index.php?diff=67130&oldid=67129 * Quadril-Is * (+44) /* Hello, world! */
06:25:25 <esowiki> [[Unsquare]] https://esolangs.org/w/index.php?diff=67131&oldid=67130 * Quadril-Is * (-1) /* Hello, world! */
06:28:05 <esowiki> [[Unsquare]] https://esolangs.org/w/index.php?diff=67132&oldid=67131 * Quadril-Is * (+52) /* Instructions */
06:32:15 <esowiki> [[Unsquare]] https://esolangs.org/w/index.php?diff=67133&oldid=67132 * Quadril-Is * (+35) /* Cat program */
06:34:17 <esowiki> [[User:Quadril-Is]] https://esolangs.org/w/index.php?diff=67134&oldid=67123 * Quadril-Is * (+38)
06:50:31 -!- imode has quit (Ping timeout: 265 seconds).
06:52:37 -!- oerjan has quit (Quit: Nite).
07:01:36 -!- xkapastel has joined.
07:11:24 <zzo38> Have you figured the computational class of EsoPost and how to convert programs to/from it?
07:12:56 <zzo38> I think there are some similarities to 7, but also differences. There is a data stack, a bit like frame in 7, although unlike in 7 you can also hold lists of commands.
07:14:35 <zzo38> A difference is that unlike 7 where the passive commands push the corresponding active commands, in EsoPost the passive commands push themself instead, and a separate command makes them active.
07:35:19 <esowiki> [[EsoPost]] https://esolangs.org/w/index.php?diff=67135&oldid=67072 * Zzo38 * (+1141) EsoPost II variant, and some more explanations and category
07:37:39 <b_jonas> zzo38: have you tried running qbasic in bochs instead of dosbox? I used bochs to run DOS programs, and found that it works quite well for all old programs. (not so well for some newer games.)
07:38:05 -!- kritixilithos has joined.
07:38:23 <zzo38> b_jonas: No, I don't have bochs in my computer
07:38:35 <b_jonas> I don't think I tried VAL("1") = 1 in particular
07:39:19 <zzo38> You can try typing that (with a question mark at first) in the immediate window to see what happens.
07:40:08 <b_jonas> I don't have that set up now either
07:40:33 <b_jonas> that was back when I had the termbot experiment, that one ran DOS in bochs
07:46:16 <esowiki> [[EsoPost]] https://esolangs.org/w/index.php?diff=67136&oldid=67135 * Zzo38 * (+275)
07:49:20 <esowiki> [[EsoPost]] https://esolangs.org/w/index.php?diff=67137&oldid=67136 * Zzo38 * (+4)
07:54:37 <esowiki> [[EsoPost]] https://esolangs.org/w/index.php?diff=67138&oldid=67137 * Zzo38 * (+18)
08:47:31 <zzo38> Do you like ZZ Zero?
08:49:22 <zzo38> Now I implemented dark rooms, and also some other stuff, too
08:50:15 <zzo38> There is the option to use Chebyshev or Manhattan for torch light radius.
08:58:34 <esowiki> [[Unsquare]] https://esolangs.org/w/index.php?diff=67139&oldid=67133 * Quadril-Is * (+24)
09:00:55 <esowiki> [[Unsquare]] https://esolangs.org/w/index.php?diff=67140&oldid=67139 * Quadril-Is * (+24) /* Truth-machine */
09:01:51 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=67141&oldid=67089 * Quadril-Is * (+15) /* U */
09:25:51 -!- rodgort has quit (Quit: Leaving).
09:37:04 -!- rodgort has joined.
09:52:47 -!- kspalaiologos has joined.
09:53:38 <HackEso> /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: `asmbf: not found
09:53:53 <HackEso> +>+[>>>+<<+<<[>>->+<<<-]>>>[<<<+>>>-]<[->+<<[>>>-<<+<-]>[<+>-]>>[<->[-]]<[<<<+>>>-]<]>>[-]<<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>,>>>><<<<<<+>>[<<[-]<+>>>-]<<<[>>>+<<<-]>[<<<[-]>[-]>>>>>>>>[<<<<<<<<+>+>>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>[-]]>>>>>>[-]<<<<<<]<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>.>>>>+<<<<<<<<<[-]>[-]>>>>>>>>[<<<<<<<<+>+>>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>>>>>>>[-]<<<<<<]<<<[>>+>+<<<-]>>[<<+>>-]>[[-]<<<[-]>[-]>>]<<]
10:31:12 -!- kspalaiologos has quit (Quit: Quit).
10:31:37 -!- kspalaiologos has joined.
10:32:09 <kspalaiologos> should I create an article about my brainfuck toolchain on the wiki?
10:40:38 -!- LKoen has joined.
10:55:52 -!- arseniiv has joined.
11:11:36 -!- LKoen has quit (Remote host closed the connection).
11:13:19 -!- LKoen has joined.
11:39:16 <b_jonas> kspalaiologos: that might help. the asmbf language you input probably counts as an esolang as well, unless you use it for something more practical than writing bf programs
11:39:58 <kspalaiologos> well, unironically I saw a casino using brainfuck just to "secure their stuff"
11:44:10 <myname> i don't get how you secure anything by using bf. i mean, even if you couldn't reverse engineer what it does, you could just use it?
11:49:13 -!- xkapastel has quit (Quit: Connection closed for inactivity).
12:00:52 <b_jonas> do you have a link about that?
12:01:10 <b_jonas> or is this a top secret thing that you saw when you broke into their system to get a jackpot so you can't tell us about it
12:11:49 <b_jonas> DMM reports that the Irregular Webcomic forums are down and he can't easily bring them up. We'll have to make some replacement somehow, because those forums are too useful. Luckily I downloaded much of the forum content recently, but hosting and moderating a forum is the hard part.
12:12:16 -!- kritixilithos has quit (Ping timeout: 260 seconds).
12:13:54 <kspalaiologos> i remember the thread popping up on mazonkas' brainfuck computer
12:17:57 -!- FreeFull has joined.
12:20:30 <b_jonas> kspalaiologos: so they're the ones paying you to write the brainfuck disassembler, because they don't have the source code?
12:22:15 <kspalaiologos> thought about singly linked list, doubly linked list
12:22:32 <kspalaiologos> but the general problem is, I expect big amount of allocations and small block size
12:22:54 <kspalaiologos> so linked list is going to kill the performance a tiny bit
12:23:45 <kspalaiologos> because small chunk size = a lot of allocation = many entries = need to reserve a lot of space = shitty performance
12:34:30 <kingoffrance> i believe xored lists you save some space, and easily relocatable, at expense of more complexity. i only say that because might be something space-saving is apropos
12:34:48 <kingoffrance> (apologies if you are well aware, i dont see them really "taught" but they are simple)
12:35:46 <kingoffrance> see google/wikipedia/whatever xored linked list. there is probably surely better, im just saying might be a good fit
12:35:47 <kspalaiologos> if this involves xor operation, it's quite hard to implement
12:36:02 <kingoffrance> well, ive been looking for long time somewhere they would be apropos
12:37:03 <kspalaiologos> but #1: it involves bitwise xor - hard to implement in arithmetic-only assembly
12:37:27 <kspalaiologos> but #2: it doesn't solve entirity of problems with doubly linked list
13:04:48 <b_jonas> kspalaiologos: you can do xor lists with subtraction (modulo word size) just fine. you just have to get the signs right. not that I specifically endorse xor lists, or working in brainfuck, etc.
13:04:53 -!- kritixilithos has joined.
13:05:46 <kspalaiologos> I need to improve my algorithm so it keeps track of multiple nodes a time
13:05:56 -!- arseniiv has quit (Ping timeout: 276 seconds).
13:09:32 <kspalaiologos> and by the way, segment adressing is live https://github.com/KrzysztofSzewczyk/asmbf/releases/tag/v1.1.3
13:11:09 -!- LKoen has quit (Remote host closed the connection).
13:12:59 -!- arseniiv has joined.
13:14:01 <b_jonas> xor lists are introduced in TAOCP 2.2.5 exercise 18 (this is odd, because that's before doubly linked lists are introduced), and its solution explicitly says that addition and subtraction modulo field size works too
13:14:09 -!- LKoen has joined.
13:32:44 -!- atslash has joined.
13:36:22 -!- LKoen has quit (Remote host closed the connection).
13:37:58 -!- atslash has quit (Ping timeout: 265 seconds).
13:38:20 -!- atslash has joined.
13:39:04 -!- LKoen has joined.
13:50:54 -!- LKoen has quit (Remote host closed the connection).
13:51:54 -!- LKoen has joined.
13:55:20 -!- LKoen has quit (Remote host closed the connection).
13:57:56 -!- LKoen has joined.
13:59:28 -!- atslash has quit (Read error: Connection reset by peer).
13:59:41 -!- atslash has joined.
14:15:23 -!- YamTok has joined.
14:16:06 <YamTok> I have ever wondered editing articles about esolangs with archived webpage's descriptions, such as L33t, and so on.
14:16:36 <YamTok> But first of all anyone knows policy of the wiki?
14:17:49 <YamTok> For example am I allowed to copy and paste (in pretty format) what official page of L33t says to <<https://esolangs.org/wiki/L33t>>?
14:18:12 <YamTok> I mean, bringing its specifications, e.g. commands, back.
14:18:49 <YamTok> Umm, I have to leave now becaus eI gotta go to bed.
14:19:19 <YamTok> Anyone replying to me, I'd like you to reply on my talk page so I can also see your replies.
14:19:30 <YamTok> <<https://esolangs.org/wiki/User_talk:YamTokTpaFa>>
14:19:38 -!- YamTok has left.
14:27:24 <esowiki> [[User talk:YamTokTpaFa]] N https://esolangs.org/w/index.php?oldid=67142 * Fizzie * (+750) /* Policies */ new section
14:49:04 -!- kritixilithos has quit (Ping timeout: 260 seconds).
14:51:49 -!- kritixilithos has joined.
15:03:01 <kspalaiologos> 've been working on the Malbolge interpreter in Brainfuck
15:13:19 <int-e> maybe it's time to move on
15:14:33 <kspalaiologos> somebody eventually will get interested in it and fix it
15:14:35 <esowiki> [[Special:Log/newusers]] create * DiamondKoopa * New user account
15:51:20 <esowiki> [[Special:Log/newusers]] create * Planet * New user account
15:52:47 <fizzie> Just so you know, I'm eyeing upgrading MediaWiki to a post-1.31 version, it might have some user-visible changes. In particular, the (non-default) CologneBlue and Modern skins are no longer shipped with MediaWiki; if I did the database right, 4 and 10 users have those explicitly enabled, respectively.
15:57:56 <fizzie> Well, first I'll need to finally upgrade from stretch to buster. (I mean, that's not literally a dependency, I just want to do them in that order.)
15:59:50 <kspalaiologos> the problem could be, people maintaining government-related websites earn ~500$ a month
16:00:53 <b_jonas> fizzie: upgrading from stretch to buster is even better
16:01:01 <b_jonas> fizzie: does that upgrade HackEso too?
16:01:12 <b_jonas> the inside of HackEso that is, the virtual environment in which commands run
16:01:25 <fizzie> Not automatically, but I'll upgrade the container too.
16:01:35 <fizzie> It's probably a lot more straight-forward, because there isn't really much running in it.
16:04:15 <b_jonas> fizzie: also, can you install the package libdate-manip-perl inside fungot so I can do date subtractions conveniently?
16:04:15 <fungot> b_jonas: probably what i'm thinking today about token based languages rather than english from time to time.
16:04:27 <fungot> b_jonas: so everything's a bit hazy on the details of the underlying language for now, if i wanted
16:04:36 <fizzie> Yes, for HackEso. For fungot, I think that'd be a little challenging.
16:04:36 <fungot> fizzie: i thought it sounded familiar. together they don't ring a bell?! i just wrote
16:06:31 <fungot> 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
16:06:49 <fungot> kspalaiologos: rosemary's baby is by far the most badass character in the field, the " current", and then
16:06:55 <fungot> 0.1.1.2.3.5.8.13.21.34.55.89.144.233.377.610.987.1597.2584.4181.6765.10946.17711.28657.46368.75025.121393.196418.317811.514229.832040.1346269.2178309.3524578.5702887.9227465.14930352.24157817.39088169.632459 ...
16:07:06 <fungot> >+10>+>+[[+5[>+8<-]>.<+6[>-8<-]+<3]>.>>[[-]<[>+<-]>>[<2+>+>-]<[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>[-]>+>+<3-[>+<-]]]]]]]]]]]+>>>]<3][]
16:07:31 <fizzie> Yes, with a bug that runs of >s were not RLE'd.
16:08:11 <fizzie> I guess. FWIW, it doesn't actually support that format as input.
16:08:18 <fizzie> It's just that ^show prints the internal representation.
16:08:19 <b_jonas> fungot, I'm quite sure Rosemary didn't have a baby
16:08:19 <fungot> b_jonas: ( dump " fred" " plugh" " xyzzy" " fnord" " 42") " b"
16:08:44 <b_jonas> kspalaiologos: because bfjoust has standardized postfix, so using postfix now would be confusing
16:08:53 <b_jonas> in fact I think people were using postfix even before bfjoust
16:09:30 <fizzie> Well, bfjoust also uses operators for the encoding.
16:09:33 <b_jonas> https://esolangs.org/wiki/BF_Joust
16:12:05 <HackEso> /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: show: not found
16:12:06 <fungot> 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
16:12:47 <b_jonas> oh right, fungot's user-defined commands
16:12:48 <fungot> b_jonas: you _are_ using scheme, not to program!
16:12:56 <b_jonas> I should add those to the whatisdb as well
16:13:50 -!- HackEso has quit (Remote host closed the connection).
16:14:03 <fizzie> Hmm, I don't think that was entirely intentional.
16:14:54 <fizzie> It should be fine. I just wasn't thinking of it.
16:22:00 <fungot> 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
16:22:00 <fungot> kspalaiologos: second variable has 1 in its value, pack those to the registered event handlers. the clients only ever see names, never references, to objects.
16:25:40 -!- HackEso has joined.
16:26:45 <fizzie> It's a letter rearrangement scheme.
16:27:17 <arseniiv> I thought it tries to find a word in a dictionary
16:27:26 <fungot> kspalaiologos: this little excursion is going to work
16:28:07 <fizzie> (But it doesn't accept the RLE form as input.)
16:28:40 <arseniiv> RLE is a great thing, at least in comparison with mass media
16:29:58 <arseniiv> I’m currently steaming because of walking too near a working TV :(
16:30:26 <kspalaiologos> ^str 0 set >+<+[>[>[-]+<-]>[<+>>>>>>>>>>>[-]<[-]<<<<<<<<<-]>>>>>>>>>>>>>[<<<<<<<<<<<<<<+>>>>>>>>>>>>>>-]<<<<<<<<<<<<<<[>[-]+<-]>[<+>>>>>>>>>>>>>,<<<<[-]>>>>[<<<<+<<<<<<<+>>>>>>>>>>>-]<<<<<<<<<<<[>>>>>>>>>>>+<<<<<<<<<<<-]>>>>>>>>>>[-]++++++++++++++++++++++++++++++++<<<[<<<<<<+>>>>>>-]->>>[<<<<<<<<<-<+>>>>>>>>>>-]<<<<<<<<<<[>>>>>>>>>>+<<<<<<<<<<-]>[>>>>>>+<<<<<<[-]]<->>>>>>>[<<<<<<<->>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>>>>>>>[>>>>>>+<<<<<<<<<<<<<<<
16:30:26 <fungot> Set: >+<+[>[>[-]+<-]>[<+>>>>>>>>>>>[-]<[-]<<<<<<<<<-]>>>>>>>>>>>>>[<<<<<<<<<<<<<<+>>>>>>>>>>>>>>-]<<<<<<<<<<<<<<[>[-]+<-]>[<+>>>>>>>>>>>>>,<<<<[-]>>>>[<<<<+<<<<<<<+>>>>>>>>>>>-]<<<<<<<<<<<[>>>>>>>>>>>+<<<<<<<<<<<-]>>>>>>>>>>[-]++++++++++++++++++++++++++++++++<<<[<<<<<<+>>>>>>-]->>>[<<<<<<<<<-<+>>>>>>>>>>-]<<<<<<<<<<[>>>>>>>>>>+<<<<<<<<<<-]>[>>>>>>+<<<<<<[-]]<->>>>>>>[<<<<<<<->>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>>>>>>>[>>>>>>+<<<<
16:30:27 <kspalaiologos> ->>>>>>>>>[-]]<<<<<<<<-]<[>[-]+<-]>[<+>>>>>>>>>[-]>>[<<+<<<<<<
16:31:00 <fizzie> Yeah. There's a way to put in long programs, it's just very convoluted.
16:31:05 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
16:31:32 <kspalaiologos> ^ str 0 set >+<+[>[>[-]+<-]>[<+>>>>>>>>>>>[-]<[-]<<<<<<<<<-]>>>>>>>>>>>>>[<<<<<<<<<<<<<<+>>>>>>>>>>>>>>-]<<<<<<<<<<<<<<[>[-]+<-]>[<+>>>>>>>>>>>>>,<<<<[-]>>>>[<<<<+<<<<<<<+>>>>>>>>>>>-]<<<<<<<<<<<[>>>>>>>>>>>+<<<<<<<<<<<-]>>>>>>>>>>[-]++++++++++++++++++++++++++++++++<<<[<<<<<<+>>>>>>-]->>>[<<<<<<<<<-<+>>>>>>>>>>-]<<<<<<<<<<[>>>>>>>>>>+<<<<<<<<<<-]>[>>>>>>+<<<<<<[-]]<
16:31:54 <fizzie> Basically, you'll want to: ^str 9 set abc ^str 9 add def ^str 9 add ghi ^def cmd bf str:9
16:32:13 <fizzie> And you'll have to move to /query fungot, it's not on other channels.
16:32:13 <fungot> fizzie: stupid " hello, little girly man." :)
16:32:21 <fizzie> fungot: Don't be rude.
16:32:21 <fungot> fizzie: none of them have published their codes. maybe a more graphical way to program is broken by design, in case anyone cares, gambit 4 threading is implemented on top of x-p
16:34:06 <arseniiv> I like fungot more than mass media idiots and jerks
16:34:06 <fungot> arseniiv: i just started the thing and hey presto, thanks heaps with " malloc"
16:34:22 <fungot> >+<+[>[>[-]+<-]>[<+>11[-]<[-]<9-]>13[<14+>14-]<14[>[-]+<-]>[<+>13,<4[-]>4[<4+<7+>11-]<11[>11+<11-]>10[-]+32<3[<6+>6-]->3[<9-<+>10-]<10[>10+<10-]>[>6+<6[-]]<->7[<7->7-]<7[>7+<7-]>7[>6+<15->9[-]]<8-]<[>[-]+<-]>[<+>9[-]>2[<2+<7+>9-]<9[>9+<9-]>7+>2[-]<2[>2+<2-]>7+<16->-]>14[<15+>15-]<15[>[-]+<-]>[<+>9[-]>[<+<7+>8-]<8[>8+<8-]>7+>[-]<[>+<-]<8-]>15[<16+>16-]<16[>[-]+<-]>[<+>9[-]>4[<4+<7+>11-]<11[>11+<11-]>10[-]<3[<6+>6-]>3[<9-<+>10-]<
16:36:10 <b_jonas> oh, so that's what ^str is for?
16:36:51 <b_jonas> kspalaiologos: you could also run bf on HackEso when it comes back of course
16:42:40 <int-e> `learn kspalaiologos is addicted to brainfuck, but otherwise completely unknown.
16:42:43 <HackEso> Learned 'kspalaiologo': kspalaiologos is addicted to brainfuck, but otherwise completely unknown.
16:43:07 <fizzie> No, it's just the plural.
16:43:10 <int-e> `` mv wisdom/kspalaiologo{,s}
16:43:10 <b_jonas> I think it should say something about secretly reverse engineering legacy brainfuck and malbolge code for a casino
16:43:11 <HackEso> mv: cannot stat 'wisdom/kspalaiologo': No such file or directory
16:43:12 <HackEso> mv: cannot stat 'wisdom/kspalaiologo': No such file or directory
16:43:40 <fizzie> I'm pretty sure I fixed 'whoops' for that.
16:43:44 <int-e> `` mv ../wisdom/kspalaiologo{,s}
16:43:55 -!- imode has joined.
16:44:01 <int-e> kspalaiologos: it thinks it's a plural
16:45:19 <int-e> Hmm, maybe we could have shortcuts $WISDOM and $BIN
16:45:37 <int-e> (those are the two most common directories we manipulate, I think)
16:45:58 <b_jonas> fizzie: whoops gets the filename from lastfiles, and lastfiles prints gets it from hg, so it's relative to repository root
16:46:04 <int-e> or... we could make symbolic links
16:46:06 <HackEso> wisdom/kspalaiologo \ wisdom/kspalaiologos
16:46:27 <int-e> `` ln -s ../wisdom ../bin ../quotes .
16:46:58 <b_jonas> don't do that, that will result in some silent problems
16:47:17 <fizzie> (The repository browser seems to have broken, for the file view portion.)
16:47:19 <b_jonas> things that appear to work but don't
16:47:36 <HackEso> https://hack.esolangs.org/repo/
16:47:53 <HackEso> https://hack.esolangs.org/tmp/quotes
16:48:14 <HackEso> https://hack.esolangs.org/tmp/paste/paste.17325
16:48:46 <fizzie> File listing works, but the contents view doesn't.
16:49:13 <int-e> `` rm wisdom bin quotes # fine. maybe later.
16:49:36 <esowiki> [[User:Fizzie]] M https://esolangs.org/w/index.php?diff=67187&oldid=53471 * Fizzie * (+0) Post-upgrade edit test for 1.33.1.
16:49:58 <fizzie> Well, that side seems to be working.
16:50:12 <fizzie> There were a lot of new bundled extensions, which I didn't enable but could think of.
16:50:36 <fizzie> Right now the list is: CategoryTree CiteThisPage CodeEditor Gadgets ImageMap InputBox Interwiki LocalisationUpdate MultimediaViewer OATHAuth PdfHandler Poem ReplaceText SpamBlacklist SyntaxHighlight_GeSHi TitleBlacklist
16:50:47 <fizzie> All extensions bundled in the MediaWiki distribution that we don't enable.
16:52:01 <kspalaiologos> ,[-------------------------------->[-]+>[-]<<[>>>>+<<<-]>[>>+<<->]<<,]>>>>[[>>+>+<<<-]>>>[<<<+>>>-]<<+>[<->[>++++++++++<[->-[>+>>]>[+[-<+>]>+>>]<<<<<]>[-]++++++++[<++++++>-]>[<<+>>-]>[<<+>>-]<<]>]<[->>++++++++[<++++++>-]]<[.[-]<]<[-]++++[>++++++++<-]>.[-]<<]
16:52:23 <kspalaiologos> ^def wc bf ,[-------------------------------->[-]+>[-]<<[>>>>+<<<-]>[>>+<<->]<<,]>>>>[[>>+>+<<<-]>>>[<<<+>>>-]<<+>[<->[>++++++++++<[->-[>+>>]>[+[-<+>]>+>>]<<<<<]>[-]++++++++[<++++++>-]>[<<+>>-]>[<<+>>-]<<]>]<[->>++++++++[<++++++>-]]<[.[-]<]<[-]++++[>++++++++<-]>.[-]<<]
16:53:59 <kspalaiologos> ^def wc bf ,[-------------------------------->[-]+>[-]<<[>>>>+<<<-]>[>>+>+<<<->]<<,]>>>>[[>>+>+<<<-]>>>[<<<+>>>-]<<+>[<->[>++++++++++<[->-[>+>>]>[+[-<+>]>+>>]<<<<<]>[-]++++++++[<++++++>-]>[<<+>>-]>[<<+>>-]<<]>]<[->>++++++++[<++++++>-]]<[.[-]<]<[-]++++[>++++++++<-]>.[-]<<]
16:54:48 <fizzie> I wonder where the repo browser's error output ends up in.
16:54:53 <b_jonas> kspalaiologos: or you could use the http://www.ioccc.org/years.html#2019_burton entry for word counting. it's shorter.
16:55:44 <fungot> kspalaiologos: they're getting disgusting". quite distinctive. please take it to orkut? sounds kinky.
16:57:06 <fizzie> Oh, there. "AttributeError: 'module' object has no attribute 'importmod'"
16:59:27 <fungot> 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
16:59:35 <fungot> http://esolangs.org/wiki/
16:59:39 <fungot> +15[>+4>+7>+7>+8<4-]>3-.>-4..<2+7.<-2.-11..>2-3.<+3.>2-5.-3.<-4.>+2.<+6.<.<-.>3+.+3.<.<2+.>+4.>+2.+2.-2.<2.,[.,]
16:59:50 <fungot> http://esolangs.org/wiki/Something
17:00:09 <fizzie> Hmm, it should probably use https://, that's the canonical scheme now.
17:01:45 <fizzie> FWIW, I strongly suspect that string output is from bf_txtgen.
17:02:08 <fungot> +15[>+4>+7>+7>+8<4-]>3-.>-4..<2+7.<-2.-11..>2-3.<+3.>2-5.-3.<-4.>+2.<+6.<.<-.>3+.+3.<.<2+.>+4.>+2.+2.-2.<2.,[.,]
17:02:17 <HackEso> brainfuck is an esoteric programming language created to make the smallest possible compiler for a Turing-complete language. It is what introduces many people to esolangs, spawning a vast number of derivatives that we pretty much all despise. http://esolangs.org/wiki/Brainfuck
17:02:21 <b_jonas> apparently I didn't fix that one
17:03:20 <kspalaiologos> ^def wiki bf +[----->+++<]>+.++++++++++++..----.[-->+<]>++.-----------..[--->+<]>.[--->+<]>----.----.---.-----------.+++++++++++++.-------.++++++++++++.+[++>---<]>.---[----->+<]>.+++.-----------.--[->+++<]>.++[--->++<]>+.+[->+++<]>+.++.--.----[->+++<]>.,[.,]
17:04:08 <kspalaiologos> what I need is basically a brainfuck intepreter in befunge
17:04:14 <b_jonas> kspalaiologos: you could define it in unlambda. it's good for printing constant strings in which parenthesis are balanced.
17:04:15 <fungot> kspalaiologos: why does that make the program do?" " fubar is an acronym.
17:04:36 <fungot> kspalaiologos: scary. a girl with a mac and on bsd
17:04:58 <HackEso> brainfuck is an esoteric programming language created to make the smallest possible compiler for a Turing-complete language. It is what introduces many people to esolangs, spawning a vast number of derivatives that we pretty much all despise. https://esolangs.org/wiki/Brainfuck
17:05:22 <b_jonas> ^ul (fungot doesnt support unlambda?)S
17:05:22 <fungot> fungot doesnt support unlambda?
17:05:27 <fizzie> Well, that's Underload.
17:05:32 <fungot> it sure does. it sure does.
17:05:50 <b_jonas> that's the one that's good at printing constant strings
17:06:26 <fizzie> kspalaiologos: I think I made a standalone copy of the brainfuck interp in fungot for testing, but I can't find it.
17:06:26 <fungot> fizzie: come now, i settled with the knowledge that foo corresponds to the c library
17:07:39 <fungot> 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
17:07:49 <fungot> ,.>,.<.>2,[.<.<.>3,]<.<.>.
17:08:01 <fungot> abacbadcbedcfedgfehgfhgh
17:08:39 <fungot> 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 8388608 16777216 33554432 67108864 134217728 268435456 536870912 1073741824 2147483648 42949672 ...
17:08:49 <HackEso> /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: show: not found
17:08:53 <fungot> +2[[<+7[-<+7>]>[-<+<+>>]<[->+<]<-2.[-]<]+4[->+8<]>.[-]>>[-[>+2<-[>+2<-[>+2<-[>+2<-[>-8>+>[->+>+<2]+>>[<2->>[-]]<2[>+<-]>[-<+>]<4-[>+2<-[>+2<-[>+2<-[>+2<[-]]]]]]]]]]<[->+<]>+>[-<+>]>>]<3]
17:09:26 <fizzie> Oh, that's still unfixed. :/
17:09:36 <fizzie> It's not supposed to allow CTCP.
17:09:48 <fizzie> Just never gotten around to fixing it.
17:11:23 <fizzie> I'm guessing ^eval is nonsense. It's defined in Underload, but it doesn't look useful.
17:11:36 <fizzie> Also I don't understand how the repo browser is configured, the setup is referring to a path that doesn't exist.
17:14:18 * arseniiv thinks the second law of thermodynamics is foreboding and is maybe the root of all evil
17:14:36 <b_jonas> kspalaiologos: no, the brainfuck eval command is ^bf
17:15:04 <fizzie> And the code's just from the standard "mercurial-common" package, so it should be compatible with the version of Python installed.
17:15:09 <fizzie> Maybe it needs something to be restarted.
17:16:21 <b_jonas> fizzie: have you started upgrading debian yet?
17:16:32 <fizzie> I've upgraded the outer shell, and MediaWiki, but not the container.
17:16:54 <b_jonas> fizzie: where does the repo browser run?
17:17:03 <b_jonas> it may need some restarts or something after an upgrade
17:17:10 <fizzie> Yes, that's what I said.
17:17:32 -!- kspalaiologos has quit (Read error: Connection reset by peer).
17:17:54 <fizzie> But the weird thing is, it's configured to start /etc/uwsgi/apps-available/hackeso-hgweb.yml and there's no /etc/uwsgi directory at all.
17:18:06 -!- kspalaiologos has joined.
17:18:30 <b_jonas> isn't that an optional config file?
17:19:07 <fizzie> I mean, it's the only thing that tells uwsgi what to actually run.
17:19:19 <fizzie> ExecStart=/usr/bin/uwsgi --yml /etc/uwsgi/apps-available/hackeso-hgweb.yml --socket /var/run/uwsgi/hackeso-hgweb.socket
17:20:06 <fizzie> I did upgrade the uwsgi package, but I don't think it would have removed user-written config files.
17:20:28 <fizzie> "Read error: Connection reset by peer" is what it looked to us.
17:20:49 <b_jonas> kspalaiologos: sometimes the freenode irc servers just throw away connections when they feel like
17:21:12 <fizzie> Oh, the file is there.
17:21:19 <fizzie> I must've been looking for it on a wrong machine or something.
17:22:00 <b_jonas> that's just a client message
17:22:11 <b_jonas> that it uses the heuristic to connect to a different server after a disconnect
17:22:21 <fizzie> b_jonas: Yeah, killing the running uwsgi instance made it start working again.
17:26:31 -!- LKoen has quit (Remote host closed the connection).
17:29:51 <fizzie> I should probably also restart the whole server one of these days.
17:29:53 <fizzie> 17:29:14 up 679 days, 18:51, 5 users, load average: 0.99, 0.41, 0.21
17:30:23 <b_jonas> fizzie: yes, you should have upgraded debian while it was in single user mode
17:31:33 <fizzie> That seems a little much. They don't recommend that in the upgrade instructions.
17:32:07 <fizzie> Well, they don't not recommend it either.
17:33:12 <HackEso> 17:33:11 up 0 min, 0 users, load average: 0.00, 0.00, 0.00
17:34:13 <fizzie> Looks like there's no "uptime namespace", the container has the same uptime as the system itself. (The UML is obviously a different matter.)
17:35:46 -!- LKoen has joined.
17:36:20 <b_jonas> I could make a fake uptime command though that claims that HackEso is up since lots of years ago
17:37:04 <b_jonas> though it's tricky because I'd have to modify
17:37:13 <HackEso> top - 17:37:06 up 0 min, 0 users, load average: 0.00, 0.00, 0.00 \ Tasks: 25 total, 1 running, 24 sleeping, 0 stopped, 0 zombie \ %Cpu(s): 0.0 us, 21.1 sy, 0.0 ni, 78.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st \ MiB Mem : 246.7 total, 240.7 free, 3.3 used, 2.7 buff/cache \ MiB Swap: 0.0 total, 0.0 free, 0.0 used. 239.1 avail Mem \ \ PID USER PR NI VIRT RES SHR S %CPU %MEM
17:37:24 <b_jonas> and top has lot more command options than uptime
17:38:11 <b_jonas> if we fake uptime, we should fake it to show that HackEgo is a reincarnation of HackEso and inherited its uptime
17:38:24 <HackEso> uptime: uptime \ 2019-11-17 17:38:23.519 +0000 UTC November 17 Sunday 2019-W46-7
17:38:50 <HackEso> 2019-11-17 17:38:50.590 +0000 UTC November 17 Sunday 2019-W46-7
17:39:52 <HackEso> Description:Debian GNU/Linux 10 (buster)
17:40:09 <b_jonas> ``` cat /etc/debian_version
17:40:14 <HackEso> cat: /etc/debian_version: No such file or directory
17:40:48 <fizzie> Actually, I wonder where lsb_release pulls that from. Clearly not from /etc, which isn't mounted.
17:40:51 <b_jonas> yeah, we don't have a proper et
17:42:46 <fizzie> Apparently it reads /usr/lib/os-release
17:43:09 -!- LKoen has quit (Remote host closed the connection).
17:43:11 <HackEso> cat: /etc/issue: No such file or directory
17:43:32 <HackEso> 17:43:31 up 0 min, 0 users, load average: 0.00, 0.00, 0.00
17:44:00 <HackEso> /hackenv/bin/`: line 5: /proc/uptime: Permission denied
17:44:19 <kspalaiologos> fizzie, if you want to change uptime this is probably the way to go
17:44:34 <b_jonas> kspalaiologos: I don't think it works even as root
17:45:21 <fizzie> Doesn't look very promising: https://github.com/torvalds/linux/blob/master/fs/proc/uptime.c
17:46:06 <b_jonas> the time when the computer booted up is in the sysconf header of every ELF process on linux
17:46:15 <b_jonas> if you changed uptime, it would be really hard to change that everywhere
17:46:21 <b_jonas> as processes may have read it already
17:46:33 <b_jonas> if you want to really fake uptime, you'd have to fake it from boot
17:46:40 <b_jonas> but I don't recommend really faking uptime
17:46:52 <b_jonas> just changing the output of uptime and top and a few such high-level commands cosmetically
17:47:47 <b_jonas> could even fix uptime -s as a side effect
17:48:10 <fizzie> I do wonder what's up with that. It works outside the UML.
17:48:34 <b_jonas> fizzie: but the outside is running a different version of debian
17:48:42 <b_jonas> any program could be working there and broken inside
17:49:01 <fizzie> Well, not really, because the userland of the UML is the userland of the container.
17:49:04 <kspalaiologos> UPTIME="18738072.28 74817307.16"; mkfifo uptime_fifo; while true; do cat <<<$UPTIME > uptime_fifo; done & mount -obind uptime_fifo /proc/uptim
17:49:24 <fizzie> (It's a different *kernel* version, of course.)
17:49:42 <b_jonas> kspalaiologos: but that may confuse programs. that's not the only place where linux tells about the uptime
17:50:06 <kspalaiologos> but this one probably is only one available from userland
17:51:29 <fizzie> b_jonas: FWIW, strace shows "uptime -s" reads /etc/localtime (probably to decide how to format the "since" date), that bit at least would fail.
17:52:01 <fizzie> (Other than that, it looks into /proc/sys/kernel/osrelease, /sys/devices/system/cpu/online, /proc/self/auxv and /proc/uptime.
17:52:09 -!- LKoen has joined.
18:06:00 <fizzie> b_jonas: Heh, it's very amusing. This is why uptime -s fails: https://github.com/mmalecki/procps/blob/master/proc/sysinfo.c#L90
18:07:04 <fizzie> (I couldn't find a line-linkable better source quickly.)
18:07:52 <fizzie> Oh, here's a better link.
18:07:55 <fizzie> https://gitlab.com/procps-ng/procps/blob/master/proc/sysinfo.c#L123
18:08:14 <fizzie> So it's that combined with this:
18:08:16 <fizzie> https://gitlab.com/procps-ng/procps/blob/master/uptime.c#L47
18:09:39 <fizzie> Or tl;dr the sysinfo uptime() function returns the uptime cast to int /* assume never be zero seconds in practice */ and the uptime -s command fails if uptime(...) == 0.
18:10:24 <int-e> who makes 0 the error return value for functions like this
18:11:23 <int-e> Hmm, or maybe I don't care about errno being set all that much.
18:11:34 <b_jonas> ``` sleep 2; uptime -s; sleep 2; uptime -s
18:11:39 <HackEso> 2019-11-17 18:11:34 \ 2019-11-17 18:11:34
18:11:46 <int-e> But returning -1 for errors seems to be far more appropriate than 0 here.
18:12:30 <b_jonas> int-e: even -1 should be a normal output. it should return an error code separately from the time.
18:12:48 <fizzie> I don't know if any calls actually use the return value for time.
18:12:55 <int-e> But of course it's nearly impossible to change.
18:13:06 <fizzie> It returns the time with better resolution through the uptime_secs, idle_secs parameters.
18:13:23 <b_jonas> kspalaiologos: does that mean that it will fail if the machine has been up for more than 69 years too? that will
18:13:33 <int-e> b_jonas: Maybe, but at least uptime >= 0 is a far more reasonable assumption than uptime > 0.
18:13:44 <int-e> b_jonas: we don't time travel much
18:14:04 <b_jonas> int-e: of course not. we just use incorrect or jumpy time sources
18:14:12 <b_jonas> heck, -1 could be just a rounding error
18:15:53 <fizzie> Looks like there's one use of the return value as a time in the procps sources (`seconds_since_boot = uptime(0,0);`).
18:19:56 <int-e> oh 0 is "good" for code that doesn't care about errors
18:23:42 <HackEso> HackEso is almost but not quite unlike HackEgo.
18:24:08 <fungot> 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
18:24:15 <fungot> kspalaiologos: hard rock fnord :d
18:24:17 <esowiki> [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=67188&oldid=66579 * PaniniTheDeveloper * (-145)
18:24:45 <b_jonas> kspalaiologos: I wanted to install a 7z decompressor at one point. I failed.
18:24:59 <b_jonas> but we can decompress zip, tar.gz, tar.xz
18:25:00 <fungot> kspalaiologos: it is usually better to ask such questions are the way to define the recursions better, too,
18:25:27 <b_jonas> I don't add commands to fungot
18:25:27 <fungot> b_jonas: it could mean that without an intermediate sql translation phase, since that's what all fnord/ 1 f(a) b if b then greet else undefined
18:25:32 <fungot> kspalaiologos: just write a chef implementation in bf? if so, then yes. ( define ( p x))? :p ( heh, guess not.
18:26:02 <fungot> kspalaiologos: maybe a combination of 2 and 5
18:26:27 <b_jonas> a magic 8-ball command might be useful
18:26:37 <fizzie> `slwd HackEso//s/almost/&,/;s/quite/&,/;s/unlike/entirely &/
18:26:54 <b_jonas> print one of the 20 standard replies of the magic 8-ball at random
18:27:03 <b_jonas> and accept a question as an argument
18:27:12 <b_jonas> `8-ball should fungot have an 8-ball command?
18:27:12 <fungot> b_jonas: a module system in mit scheme, but not esoteric. malbolge is included too. :p
18:27:26 <b_jonas> see Wikipedia for the 20 responses
18:27:47 <b_jonas> it helps you make decisions
18:27:49 <fizzie> `slwd hackeso//s/almost/&,/;s/quite/&,/;s/unlike/entirely &/
18:27:51 <HackEso> hackeso//HackEso is almost, but not quite, entirely unlike HackEgo.
18:27:59 <b_jonas> you shake it, it has a dice that tells you yes or no or maybe
18:28:03 <b_jonas> but more often yes than no
18:28:21 <fizzie> There's a coin-flip command already, by the way.
18:28:55 <fungot> 0.1.1.2.3.5.8.13.21.34.55.89.144.233.377.610.987.1597.2584.4181.6765.10946.17711.28657.46368.75025.121393.196418.317811.514229.832040.1346269.2178309.3524578.5702887.9227465.14930352.24157817.39088169.632459 ...
18:28:57 <fungot> kspalaiologos: do you work? :)
18:29:06 <int-e> b_jonas: HackBot was HackEso
18:29:20 <HackEso> `! emulates the ! command of our former bot EgoBot. You write `! then the name of the language then a program, and it runs the program you give and returns the result. We used to use it to test out esoprograms in-channel all the time, but the set of included esolangs is fairly old now and so it's rarely used.
18:29:32 <b_jonas> and HackEgo's predecessor is EgoBot according to that
18:29:40 <fizzie> Well, spiritual predecessor in that case.
18:29:55 <fizzie> "HackBot" is the name of the code, however.
18:30:02 <int-e> Isn't EgoBot is the IRC bot framework that HackEgo used.
18:30:05 <fizzie> So both HackEgo and HackEso were instances of HackBot.
18:30:14 <b_jonas> so that's like how jevalbot is the name of the code for j-bot ?
18:30:20 <HackEso> Sources for HackEso can be found at https://github.com/fis/hackbot + https://github.com/fis/multibot + https://github.com/fis/umlbox .
18:30:25 <j-bot> b_jonas, jevalbot source is https://github.com/FireyFly/jevalbot (originally http://www.math.bme.hu/~ambrus/pu/jevalbot.tgz)
18:30:29 <int-e> Okay, I'm obviously confused about this.
18:31:09 <fizzie> int-e: HackEso and HackEgo are both instances of HackBot, which is the glue tying together multibot and UMLBox.
18:31:09 <int-e> Ah "multibot" is another ingredient of the confusion.
18:31:39 <fizzie> EgoBot, on the other hand, was a different bot, I think also running on top of multibot but not involving umlbox or custom Linux commands at all.
18:31:43 <int-e> Is multibot the generic IRC thing, and hackbot the specific variant that wraps umlbox?
18:31:51 <fizzie> Yes, multibot is a generic IRC thing.
18:32:06 <fizzie> I can't be 100% sure if EgoBot also used it as a base, but I think it did.
18:32:28 -!- kritixilithos has quit (Quit: 1).
18:32:51 <int-e> Ugh, I really know how to ask questions that have just been answered.
18:33:26 <fizzie> EgoBot and HackEgo were both GregorR's, HackEso is my replacement when the HackEgo machine finally went away.
18:33:43 <b_jonas> fizzie: is GregorR the same as Gregor ?
18:34:15 <int-e> Hah, I have not checked whether CaC is still around in quite some time.
18:34:19 <HackEso> Gregor took forty cakes. He took 40 cakes. That's as many as four tens. And that's terrible.
18:34:31 <fizzie> Yes, they're the same.
18:35:21 <fizzie> "GregorR" is the bitbucket/github username, I don't remember which of the IRC nicks was first.
18:35:47 <int-e> And they still run the scam where they advertise a one-time payment without mentioning the annual service fee.
18:36:01 <fizzie> "Pay One Time! Never again."
18:36:57 <int-e> Of course the real scam is that they just reduce the QoS over time until everybody leaves.
18:37:15 <b_jonas> did you get your money back?
18:37:26 <int-e> I didn't ask for any money back.
18:38:16 <zzo38> Why did you remove the skins again?
18:38:31 <int-e> (But maybe the question was for fizzie? Personally, I got a CaC server to see how bad it would be. I wasn't disappointed.)
18:38:36 <b_jonas> zzo38: MediaWiki stopped supporting them in the newer version
18:38:59 <int-e> (So I felt, in the end, that I got my money's worth of entertainment out of the whole (or)deal.)
18:40:05 <zzo38> b_jonas: But Wikipedia still has the Cologne Blue skin
18:41:22 <int-e> fizzie: Actually I'm disappointed... where's the permanent 80% off deal?
18:43:01 <int-e> Without that they are not even cheap anymore.
18:44:47 <fungot> kspalaiologos: is there a complement function :) that parses an expresion like this ' otstatd' of mine than anything visual.
18:45:19 <b_jonas> wait... how do you get random numbers in brainfuck?
18:45:55 <fungot> kspalaiologos: number42, jivera? iterative macros?' token is also used before the corresponding structures are defined in sets from within a function,
18:46:42 <kspalaiologos> feel free to check the source tho: https://pastebin.com/raw/1jf09niH
18:47:16 <b_jonas> kspalaiologos: I hope you didn't add extra answers besides the 20 standard ones. someone did that to HackEso at one point. I reverted it at least once.
18:47:33 <b_jonas> there's also an 8-ball macro in perlbot
18:47:43 <fizzie> zzo38: They stopped bundling them in the distribution, so I need to install it separately if you still want it back.
18:47:58 <kspalaiologos> fizzie, what is the execution time limit for fungot?
18:47:58 <fungot> kspalaiologos: cannot remove ' /proc/ irq/ 9': operation not permitted, although the arguments may be arbitrary.
18:48:16 <b_jonas> rather trivial, since it can evaluate perl, which has a built-in pseudo-random source
18:48:42 <zzo38> fizzie: Well, I do want back any skins that anyone has configured. (I don't know if anyone other than myself does, but you should check.)
18:49:15 <fizzie> kspalaiologos: It's not really in terms of time, it's something like 1M cycles, where one cycle is one operation.
18:49:30 <b_jonas> zzo38: fizzie gave numbers about how many users set up each removed theme earlier in the channel
18:49:47 <esowiki> [[EsoPost]] https://esolangs.org/w/index.php?diff=67189&oldid=67138 * Zzo38 * (+2)
18:50:45 <fizzie> Only if a tiny bit would be helpful.
18:51:00 <zzo38> b_jonas: OK, I found that. I think you should reinstall Cologne Blue and Modern
18:53:45 <b_jonas> kspalaiologos: is that with multiple adjacent + or - commands counting as one cycle? because I think that's how the interpreter counts
18:57:00 <kspalaiologos> in 1M of cycles, you can clear a cell just 1300 times
19:02:34 <int-e> I'd say brainfuck-in-befunge is more of a toy than a "serious" brainfuck implementation.
19:06:35 <fizzie> fungot's brainfuck interpreter is certainly in Befunge.
19:06:35 <fungot> fizzie: think about the data
19:06:46 <fizzie> zzo38: CologneBlue should be back, if you want to check.
19:07:04 <kspalaiologos> but extending the limit to 20M isn't that much isn't it
19:07:39 <fizzie> It's approximately lines 298-310 and 355-376 of https://github.com/fis/fungot/blob/master/fungot.b98
19:07:39 <fungot> fizzie: oh it's posix 2001 and the channel) to beat him to welcoming me. we've battled over it since forever
19:08:37 <fizzie> And it'd be a 20x increase. I'd need to check how slow that is.
19:08:44 <fizzie> Right now fiddling with MediaWiki instead.
19:14:08 <fizzie> Aaand Modern is back as well. Hopefully.
19:15:50 -!- ArthurStrong has joined.
19:16:09 <b_jonas> `fetch bin/uptime https://hack.esolangs.org/get/bin/uptime
19:16:10 <HackEso> /hackenv/tmp/bin/uptime: No such file or directory
19:16:17 <zzo38> fizzie: Yes, thank you it is fixed
19:16:19 <b_jonas> `fetch /hackenv/bin/uptime https://hack.esolangs.org/get/bin/uptime
19:16:20 <HackEso> 2019-11-17 19:16:20 URL:https://hack.esolangs.org/get/bin/uptime [1551/1551] -> "/hackenv/bin/uptime" [1]
19:16:31 <b_jonas> fizzie: I think the `edit webpage prints the wrong fetch command now
19:16:35 <HackEso> 19:16:34 up 0 min, 0 users, load average: 0.00, 0.00, 0.00
19:16:47 <b_jonas> ``` chmod a+x /hackenv/bin/uptime
19:16:50 <HackEso> /srv/hackeso-code/multibot_cmds/lib/limits: /hackenv/bin/uptime: python3: bad interpreter: No such file or directory \ /srv/hackeso-code/multibot_cmds/lib/limits: line 5: /hackenv/bin/uptime: Success
19:17:11 <zzo38> I found now they have some "mystery" cards with some similar ideas than what I had, including that non-card objects on the stack that enter the battlefield become tokens.
19:17:14 <b_jonas> `fetch /hackenv/bin/uptime https://hack.esolangs.org/get/bin/uptime
19:17:14 <HackEso> 2019-11-17 19:17:14 URL:https://hack.esolangs.org/get/bin/uptime [1560/1560] -> "/hackenv/bin/uptime" [1]
19:17:15 <b_jonas> ``` chmod a+x /hackenv/bin/uptime
19:17:19 <HackEso> 19:17:18 up 3802 day, 3:46, 0 users, load average: 0.00, 0.00, 0.00
19:17:23 <HackEso> up 3802 day, 3 hours, 47 minutes
19:18:12 <fizzie> `` date --date=@1245511822
19:18:13 <HackEso> Sat Jun 20 15:30:22 UTC 2009
19:18:25 <HackEso> 2009-06-20 15:30:22.000 +0000 UTC June 20 Saturday 2009-W25-6
19:18:26 <fizzie> Oh, I guess you already printed -s.
19:18:38 -!- xunil has joined.
19:18:46 <b_jonas> fizzie: there could be a bug in the code, so it's reasonable to check
19:19:05 <xunil> do you use gut feeling when coding?
19:19:10 <b_jonas> fizzie: that's the earliest I figured HackEgo existed
19:19:17 <b_jonas> it's probably not its birthday, but a reasonable bound
19:19:17 <xunil> like intuitive code
19:20:31 <esowiki> [[Bitwise Cyclic Tag]] https://esolangs.org/w/index.php?diff=67190&oldid=55514 * Ais523 * (-7) add see also to [[cyclic tag]]; change the Wikipedia link to our usual (non-potholed) notation for Wikipedia interwikis
19:21:00 <fizzie> The initial import to the hackbot repo is 19 Jun 2009, though of course the code might have existed before that.
19:21:25 <fizzie> Oh, I guess that's where it's from.
19:21:48 <fizzie> Yeah, I think that's a reasonable value.
19:24:00 <xunil> the code is a collection of mental rays
19:24:12 <xunil> sent to compiler :)
19:24:54 <xunil> mental rays that force computer mind to produce code
19:25:37 <kingoffrance> whenever i have a problem i just rub magic 8 ball and wait for genius
19:25:58 <fungot> kspalaiologos: isn't that somehow the idea of starting with fnord, but that has its lifeblood still in it
19:30:08 <fizzie> Incidentally, there *was* an '8ball' command in fungot already, though one that answers just "Yes." or "No.".
19:30:08 <fungot> fizzie: i'll keep that in mind.
19:30:15 <xunil> we can program mind to produce raw binary code
19:30:21 <fizzie> (Deterministically, based on the parity of the question.)
19:32:40 <xunil> https://reverseengineering.stackexchange.com/questions/4642/automatically-convert-x86-assembly-to-c
19:35:53 <esowiki> [[Special:Log/newusers]] create * PGZSmarki * New user account
19:38:18 <xunil> i once waited a billion years
19:41:40 <zzo38> Spellmorph is also same idea I had. The rules they have about it are same as mine, too.
19:42:42 <fungot> kspalaiologos: i plan ircot to be a
19:42:59 <b_jonas> kspalaiologos: it's a keyword from the new pseudo-silver-bordered cards that M:tG is about to release
19:43:27 <b_jonas> not an Un-set this time, a different set of 121 cards that aren't legal in vintage or any other serious format
19:43:35 <zzo38> You can cast it face down, and while in the battlefield you can cast it from there face-up for its spellmorph cost.
19:44:20 <xunil> you are painted on a card
19:50:09 <zzo38> They don't describe what happens when a card is both a instant and a creature, but I have thought of what it will do before: it is a creature card, but is cast and resolves as an instant, and cannot enter the battlefield.
19:50:37 <b_jonas> zzo38: there's a release notes that describes it I think
19:52:59 <zzo38> I read the release notes. It doesn't seems to say.
19:53:50 <fungot> kspalaiologos: right, but there was no replacement to the dictionary, say ' fnord'.
19:54:14 <fungot> 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
19:55:09 -!- Sgeo__ has quit (Read error: Connection reset by peer).
19:55:15 <kspalaiologos> ^bf ++++++++[>++++++++<-]>[<++++>-]+<[>-<[>++++<-]>[<++++++++>-]<[>++++++++<-]+>[>++++++++++[>+++++<-]>+.-.[-]<<[-]<->]<[>>+++++++[>+++++++<-]>.+++++.[-]<<<-]] >[>++++++++[>+++++++<-]>.[-]<<-]<+++++++++++[>+++>+++++++++>+++++++++>+<<<<-]>-.>-.+++++++.+++++++++++.<.>>.++.+++++++..<-.>>-[[-]<]
19:55:35 -!- Sgeo__ has joined.
19:55:50 <kspalaiologos> if I wanted to use my asmbf for it instead of the other compiler
19:55:59 <kspalaiologos> I'd need to take on the account the fact that I need to store all the strings
19:56:09 <kspalaiologos> and their length eventualy exceeds 255 bytes total
19:56:39 <kspalaiologos> I may use bconv from the toolchain to overcome that
19:56:49 <kspalaiologos> but, I may run to the problem as above with the program timing out
19:59:11 <b_jonas> do you need to store the strings?
19:59:38 <b_jonas> as opposed to just have a function that prints a particular string, for each string
20:00:00 <b_jonas> inside a bracket conditional
20:00:16 <b_jonas> what? brainfuck isn't bad at branching
20:00:41 <HackEso> +>+[>>>+<<+<<[>>->+<<<-]>>>[<<<+>>>-]<[->+<<[>>>-<<+<-]>[<+>-]>>[<->[-]]<[<<<+>>>-]<]>>[-]<<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>>>+<<<<<<<<<[-]>[-]>>>>>>>>[<<<<<<<<+>+>>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>>>>>>>[-]<<<<<<]<<<[>>+>+<<<-]>>[<<+>>-]>[[-]<<<[-]>[-]>>]<<]
20:01:29 <kspalaiologos> so yeah I think the 8ball will stay as is until fizzie makes up his mind
20:02:01 <b_jonas> underload is deterministic too, no random source
20:03:52 <HackEso> /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: show: not found
20:03:56 <fungot> >+<+[>[>[-]+<-]>[<+>9[-]>2[-]<2[>2+<2-]<8-]>14[<15+>15-]<15[>[-]+<-]>[<+>9,>3[-]<3[>3+<3-][-]>2[<2+<7+>9-]<9[>9+<9-]>8[-]>2[<2+<8+>10-]<10[>10+<10-]>8[<+<7+>8-]<8[>8+<8-]>9[-]<2[>2+<2-][-]>3[<3+<7+>10-]<10[>10+<10-]>8[-]+10<[<6+>6-]->[<7-<+>8-]<8[>8+<8-]>[>6+<6[-]]<->7[<7->7-]<7[>7+<7-]>7[>6+<15->9[-]]<8-]<[>[-]+<-]>[<+>9[-]>2[<2+<7+>9-]<9[>9+<9-]>8[-]-8<[<6+>6-]->[<7-<+>8-]<8[>8+<8-]>[>6+<6[-]]<->7[<7->7-]<7[>7+<7-]>7[>7+<16->
20:04:19 -!- LKoen_ has joined.
20:06:22 <b_jonas> fizzie: tell me when you upgraded debian inside HackEso. I'll have to update the version number of procps that uptime lies itself to be
20:06:26 -!- LKoen has quit (Ping timeout: 240 seconds).
20:06:30 <xunil> i have downloaded tens of thousands of pdfs :D
20:06:33 <b_jonas> I guess I could make it run uptime for that
20:08:37 <kspalaiologos> any doable ideas of programs to implement into fungot?
20:08:37 <fungot> kspalaiologos: quoted lists are a crappy data structure if you intend to join the altparty cruise thing. i think
20:08:47 -!- LKoen has joined.
20:11:17 -!- LKoen_ has quit (Ping timeout: 240 seconds).
20:11:31 <xunil> ;';'p[';;'';;'''';;;;;;;;;;;';';';;';'';''''''''''''''''''''';'''';''';'';';';';''';';'';';';';';';'''''''''''''''';'''''''''''';;'''''''''';'';''''';''''';''''';';';';';;;';';'''';';';'';'''
20:11:39 <b_jonas> `fetch /hackenv/bin/uptime https://hack.esolangs.org/get/bin/uptime
20:11:40 <HackEso> 2019-11-17 20:11:40 URL:https://hack.esolangs.org/get/bin/uptime [1560/1560] -> "/hackenv/bin/uptime" [1]
20:17:50 <b_jonas> `fetch /hackenv/bin/uptime https://hack.esolangs.org/get/bin/uptime
20:17:51 <HackEso> 2019-11-17 20:17:51 URL:https://hack.esolangs.org/get/bin/uptime [1624/1624] -> "/hackenv/bin/uptime" [1]
20:18:14 <b_jonas> ``` chmod -c a+x /hackenv/bin/uptime
20:18:19 <HackEso> bash: /hackenv/bin/uptime: python3: bad interpreter: No such file or directory
20:18:32 <b_jonas> `fetch /hackenv/bin/uptime https://hack.esolangs.org/get/bin/uptime
20:18:33 <HackEso> 2019-11-17 20:18:32 URL:https://hack.esolangs.org/get/bin/uptime [1633/1633] -> "/hackenv/bin/uptime" [1]
20:18:37 <HackEso> 20:18:36 up 3802 day, 4:48, 0 users, load average: 0.00, 0.00, 0.00
20:18:39 <HackEso> uptime from procps-ng 3.3.15
20:18:46 <b_jonas> should work even after upgrade
20:19:15 <kingoffrance> https://archive.org/details/encyclopaediaofo1920spen i didnt see any immediate explanation of magic 8 ball, but close enough for me Salagrama, The
20:19:15 <kingoffrance> black in colour, about the size of a billiard ball, and pierced
20:23:35 <b_jonas> fungot, are potatoes your favourite vegetable?
20:23:35 <fungot> b_jonas: the point is that you trust yourself to play by the old program probably doesn't need any changes. it does
20:29:13 <imode> `` 8ball should I continue with mode.
20:29:30 <imode> probably a wise idea.
20:30:41 <b_jonas> `fetch /hackenv/bin/uptime https://hack.esolangs.org/get/bin/uptime
20:30:42 <HackEso> 2019-11-17 20:30:42 URL:https://hack.esolangs.org/get/bin/uptime [1696/1696] -> "/hackenv/bin/uptime" [1]
20:30:45 <HackEso> 20:30:44 up 3802 day, 5:00, 0 users, load average: 0.00, 0.00, 0.00
20:30:58 <b_jonas> I added a head comment just to confuse people if they run into this in the future
20:36:50 <b_jonas> nope, it's a development command, you need to know about it only if you read the implementation and wonder why I did it that way
20:37:05 <b_jonas> s/development command/developer comment/
20:37:44 <b_jonas> though I should add a command to edit the whatis database, to make that easy
20:44:57 <esowiki> [[BIX Queue Subset]] N https://esolangs.org/w/index.php?oldid=67191 * Ais523 * (+13224) new languages
20:45:11 -!- kspalaiologos has quit (Quit: Leaving).
20:45:36 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=67192&oldid=67141 * Ais523 * (+23) /* B */ +[[BIX Queue Subset]]
20:45:50 -!- laerling has quit (Quit: ZNC 1.7.3 - https://znc.in).
20:45:59 <esowiki> [[User:Ais523]] https://esolangs.org/w/index.php?diff=67193&oldid=66956 * Ais523 * (+22) + [[BIX Queue Subset]]
20:49:37 -!- laerling has joined.
20:51:26 -!- ArthurStrong has quit (Quit: leaving).
20:51:42 <esowiki> [[I/D machine]] M https://esolangs.org/w/index.php?diff=67194&oldid=55703 * Ais523 * (+8) /* Two-command view */ typo fix
20:56:45 <esowiki> [[Flow of Holes]] M https://esolangs.org/w/index.php?diff=67195&oldid=57552 * Ais523 * (+0) /* Data storage */ grammar
20:57:07 -!- ais523 has joined.
21:00:07 <b_jonas> hello ais523. fizzie went on a rampange with HackEso, changed the default working directory to /hackenv/tmp , edited many programs to not assume that the wd is /hackenv
21:00:36 <b_jonas> although now there are also some symlinks in tmp that may make some programs appear to work at first but then silently fail
21:01:00 <b_jonas> I'm still confused many times when I type a command
21:02:13 <shachaf> fizzie: I'd be tempted to set $HACKENV to a path with a space in it, just to break all the new scripts.
21:02:27 <b_jonas> shachaf: I put double quotes in many of them
21:02:47 <b_jonas> shachaf: mind you, if you manage to make a version of HackEso that runs on native windows, that might confuse everyone
21:02:49 -!- kspalaiologos has joined.
21:03:02 <b_jonas> I'd probably be able to mostly deal with it, because I use windows at work
21:03:10 <ais523> HackEso isn't really the focus of my #esoteric experience, I'm more interested in the esolangs (with HackEso mostly being interesting for the implementation of them)
21:03:19 <HackEso> /hackenv/ibin/brachylog: 2: /hackenv/ibin/brachylog: cannot create tmp/input.brachylog: Directory nonexistent \ /hackenv/ibin/brachylog: 3: cd: can't cd to interps/brachylog/brachylog/Brachylog-master/src \ ERROR: Prolog initialisation failed: \ ERROR: source_sink `'brachylog.pl'' does not exist
21:03:28 <b_jonas> yeah, ibin is not fixed yet
21:03:36 <ais523> ibin is the only important part :-(
21:03:59 <b_jonas> we'll fix it, this is just a temporary hickup
21:06:00 <ais523> anyway, I recently discovered a set of languages that contains multiple different languages that have unclear Turing-completeness for different reasons, so I added it to the wiki
21:06:02 <b_jonas> fizzie changed hackeso recently, we didn't have time to fix everything yet
21:06:57 <b_jonas> ais523: I had discovered one of those as well. Amycus (my buggy version) with some of the builtins removed
21:07:30 <b_jonas> but I didn't write everything that I found about it down
21:07:47 <b_jonas> I also haven't written down a proper proof for Blindfolded Arithmetic with 3 variables
21:07:55 <b_jonas> which is clearly turing-complete
21:08:11 <b_jonas> yes, I know you have a proof for 2 variables
21:08:18 -!- ais523 has quit (Quit: sorry for my connection).
21:08:31 -!- ais523 has joined.
21:08:33 <b_jonas> fizzie: have you figured what we should do with the ibin interpreters?
21:08:42 <ais523> anyway, now I have an additional 120 esolangs with procedurally generated names; "a c fd td" is probably the most interesting, being closer to the TC line than most of them (none are proven TC yet but there are many better candidates for TC than that one)
21:11:29 -!- imode has quit (Ping timeout: 276 seconds).
21:11:30 <arseniiv> ais523: how do you call a language only powerful enough to represent functions from finite sets to finite sets? Seems like a weakest class I met, but that’s the case when a generalized Minsky Machine is not TC
21:12:05 <b_jonas> arseniiv: a finite function?
21:12:18 <ais523> that's basically just a lookup table, right?
21:12:30 <int-e> arseniiv: well it's isomorphic to total functions from natural numbers to natural numbers?
21:12:32 <arseniiv> b_jonas: it doesn’t look like a good name for a class
21:12:35 <ais523> for batch processes, lookup table vs. finite-state machine vs. bounded-storage machine is all a matter of opinion, really
21:12:41 -!- LKoen has quit (Remote host closed the connection).
21:13:01 <ais523> the differences only arise when you add I/O
21:13:33 <ais523> (even then, a bounded-storage machine is just "a finite-state machine with an obvious generalisation to larger finite numbers of states, which is TC in the limit")
21:13:38 <int-e> arseniiv: oh, finite sets of what...
21:14:49 -!- LKoen has joined.
21:14:52 <arseniiv> int-e: I meant a function has elements of a finite set as arguments and (from another one) as values, not sets themselves, that would be too good!
21:15:32 <int-e> arseniiv: Oh. Not a type of finite sets, but finite sets as types.
21:15:57 -!- xunil has quit (Ping timeout: 240 seconds).
21:17:09 <int-e> arseniiv: So basically the same as boolean circuits.
21:18:38 <int-e> So I guess that's the name I'd use, with a footnote that we also consider circuits which disallow certain inputs and outputs.
21:19:27 <b_jonas> int-e: what's wrong with finite functions, or functions with a finite domain if you prefer
21:19:54 <int-e> b_jonas: boolean circuits come with established theory
21:20:02 <int-e> b_jonas: other than that, no reason
21:20:07 <b_jonas> finite sets come with establish theory too
21:20:34 <int-e> b_jonas: and by theory I mean complexity theory.
21:23:59 <b_jonas> ``` cat /hackenv/ibin/brachylog # this one doesn't use that lib/interp framework, so we can fix it in a custom way without worrying about how we fix the old stuff
21:24:00 <HackEso> #!/bin/sh \ echo "$1" > tmp/input.brachylog \ (cd interps/brachylog/brachylog/Brachylog-master/src; swipl -g 'run_from_file("../../../../../tmp/input.brachylog", _, _), write(" \ true."), !, halt; write(" \ false."), !, halt' brachylog.pl)
21:24:24 <fizzie> b_jonas: You don't need to; I've included it in my out-of-band fix commit, which I'm building.
21:25:06 <b_jonas> ais523: ! brachylog will be fixed
21:25:25 <HackEso> /hackenv/ibin/brachylog: 2: /hackenv/ibin/brachylog: cannot create tmp/input.brachylog: Directory nonexistent \ /hackenv/ibin/brachylog: 3: cd: can't cd to interps/brachylog/brachylog/Brachylog-master/src \ ERROR: Prolog initialisation failed: \ ERROR: source_sink `'brachylog.pl'' does not exist
21:25:38 <ais523> ah right, not fixed yet
21:25:47 <b_jonas> and there'll be little lemon-soaked napkins too
21:26:01 <ais523> please don't delay the fix until the napkins are available ;-)
21:27:26 <HackEso> The Enrichment Center is required to remind you that you will be baked, and then there will be cake.
21:28:12 <int-e> I replayed Portal recently. Still good :)
21:28:59 <b_jonas> int-e: how about Portal 2 single-player?
21:31:44 <arseniiv> oh, is there a big story behind lemons on the wiki logo?
21:31:49 <int-e> b_jonas: Good story, missed the puzzles.
21:32:03 <b_jonas> int-e: what story or puzzles?
21:32:27 <b_jonas> arseniiv: there was some story I think, probably not very relevant, but I don't remember what it was
21:32:30 <int-e> Portal 2 tells a story of the history of Aperture Science.
21:33:04 <esowiki> [[User:PythonshellDebugwindow]] N https://esolangs.org/w/index.php?oldid=67196 * PythonshellDebugwindow * (+99) Created page with "I am currently working on BrainStack, a stack-based esolang with some influence from [[Brainfuck]]."
21:33:05 <b_jonas> sorry, I forgot the context even though it was just a few lines before
21:33:10 <int-e> Portal 1 has less of a story, but more satisfying puzzles.
21:33:31 <arseniiv> b_jonas: lemon-soaked napkins unhibernated me
21:33:38 <int-e> (Portal 2 has multiplayer puzzles but since I don't do multiplayer I'm missing out on those.)
21:35:54 <ais523> arseniiv: they're limes, not lemons; IIRC it was originally just a stock image but we kept it for the mystery, there probably isn't a deeper meaning behind it but who knows?
21:35:58 <HackEso> A complement of small lemon-soaked paper napkins is essential for the comfort, refreshment, and hygiene of the passengers during the journey.
21:36:30 <ais523> int-e: IIRC there are some people who play Portal 2 multiplayer by controlling both players themselves
21:36:43 <ais523> but you're not missing out on much story content by missing out the multiplayer, only puzzles really
21:36:45 <b_jonas> ais523: yes, but those are crazy speedrunners
21:36:56 <b_jonas> and int-e complained about puzzles
21:36:58 <int-e> ais523: Yeah but I like puzzles.
21:37:12 <b_jonas> if you wanted the story, you could just watch someone else's multiplayer playthrough
21:37:23 <ais523> but that would spoil the puzzles
21:39:47 <b_jonas> sure, but if you won't play it anyway, then does the spoiler matter?
21:40:29 <shachaf> Why don't you do multiplayer?
21:41:03 <int-e> b_jonas: It's funny though... even though the first Portal game has less of a story, it seems to be richer on memorable quotes.
21:41:09 <shachaf> It's so odd that you can't `doag f where f is directly in hackenv anymore.
21:41:20 <shachaf> I guess dowg and dobg and so on are finally useful?
21:41:25 <arseniiv> and I did know they are limes but for some reason I wrote about lemons, maybe because of those napkins mentioned…
21:41:28 <b_jonas> int-e: I don't think so. I think Portal 2 has memorable quotes too
21:41:48 <fizzie> shachaf: Yes, and maybe "dorg" could be relative to /hackenv (r for root).
21:43:03 <arseniiv> hopefully HackEso gets well soon! :D
21:43:06 <fizzie> Well, logical root. Alternatively, "h", but that's probably just as confusing.
21:43:53 <b_jonas> well, I don't really care, because I don't use cbt or slbd or [dh]oag
21:44:21 <b_jonas> I just use cat, /bin/sed or perl, hg directly
21:45:19 <fizzie> `! befunge 0"gnitset tsuj">:#,_@
21:45:34 <fizzie> (It's likely some things are still broken.)
21:46:36 <b_jonas> `! c int main(void) { printf("oFQOtCD75OCP"); return 0; }
21:47:06 <fizzie> OTOH, I think it's highly likely some of the ibin commands were already broken, due to missing bits and pieces.
21:47:12 <HackEso> 72 +++++++++++++[>+++++++++>++++++++>><<<<-]>-.>---.<-.+.>++++.<------.>--. [356]
21:47:14 <b_jonas> `! perl for ("a".."dz") { print "$_ "; }
21:47:15 <HackEso> a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw bx by bz ca cb cc cd ce cf cg ch ci cj ck cl cm cn co cp cq cr cs ct cu cv cw cx cy cz da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz
21:50:37 <b_jonas> ``` swipl -g 'T is 7**8 + 1, display(T), halt.'
21:51:58 <b_jonas> `! cxx #include<iostream> \ int main() { std::cout << "cwnRPfoBPzhY"; return 0; }
21:52:16 <b_jonas> `! cxx int main() { std::cout << "cwnRPfoBPzhY"; return 0; }
21:52:26 <b_jonas> `! cxx #include<iostream> \n int main() { std::cout << "cwnRPfoBPzhY"; return 0; }
21:54:25 <fizzie> Hmm, the middle one should have worked, there's one of those implicit wrappers with a try-both-ways logic.
21:54:59 <fizzie> Well, actually -- the wrapper includes the main as well.
21:55:01 <b_jonas> fizzie: how do I explicitly add an include?
21:55:09 <fizzie> `! cxx std::cout << "cwnRPfoBPzhY"; return 0;
21:55:53 <fizzie> Not sure. Can't quite figure out how to express a newline.
21:56:40 <b_jonas> would be useful for defines and includes
21:57:13 <fizzie> Yes, it would. It auto-includes <iostream> <cstdio> <cstring> and 'using namespace std;'.
21:58:11 <arseniiv> I heard a suspicious claim every endo bijection is a composition of two endo involutions. I think I almost got why this should be wrong
22:03:05 <b_jonas> kingoffrance: no, but geordi, which used to be a bot that evaluated C++, used backslash to represent newlines in code you give in irc
22:03:06 <arseniiv> ah, I was wrong myself, it works even for infinite orbits
22:03:11 <b_jonas> so we can follow that convention
22:03:23 <b_jonas> of course they only represent a newline when it's outside of a string/character literal
22:15:50 -!- arseniiv has quit (Ping timeout: 276 seconds).
22:33:56 <ais523> backslash-space makes a good way to represent newlines without worrying about parsing
22:34:02 <ais523> as it won't appear in a string or character literal
22:34:10 <ais523> (or even space-backslash-space, which is what I normally use to represent them on IRC)
22:34:29 <ais523> kingoffrance: Java supports the hexagraph \u000A for a newline
22:34:34 <ais523> but C doesn't have one
22:35:10 <ais523> it should, really, it'd be more useful than most of the trigraphs (and not all character encodings have a newline)
22:37:55 <b_jonas> ais523: yes, but you have to be able to tokenize for that
22:38:29 <b_jonas> ais523: and mind that you have to know about C++ numeric literals with new style digit separators to do enough of the tokenization to recognize character literals correctly
22:39:14 <kingoffrance> well, the easiest solution IMO is #include <stdio.h>; /* <----- magical semicolon */ int main(void) { ... }
22:39:32 <b_jonas> kingoffrance: how does that work if you want to allow macros?
22:39:38 <ais523> null declarations aren't legal anyway
22:39:49 <b_jonas> ais523: they are legal in C++ now
22:40:10 <zzo38> I think null declaration should be legal, since sometimes a macro might expand to make such thing
22:40:42 <kingoffrance> well, i wasnt concerned about macros or anything practical, except chatting to HackEso via one-lined IRC
22:41:46 <kingoffrance> i guess my someday esoteric lang the 8 pictograph will, in reverence, return a random integer
22:44:24 <b_jonas> let me see that thing then
22:44:38 <HackEso> ! is a syntax used in Haskell and Prolog for solving evaluation order problems.
22:44:43 <HackEso> `! emulates the ! command of our former bot EgoBot. You write `! then the name of the language then a program, and it runs the program you give and returns the result. We used to use it to test out esoprograms in-channel all the time, but the set of included esolangs is fairly old now and so it's rarely used.
22:45:04 <b_jonas> is the interface for ibin documented anywhere? that is, what does a new script in ibin have to do to work with ! ?
22:46:22 <b_jonas> I mean I could make a script that calls gcc or g++ with the appropriate options to compile a program and then run, interpreting backslash escapes and even command line options starting with hyphe at the start
22:46:28 <b_jonas> but I don't know how to put it in ibin
22:58:38 <fizzie> You might look into improving the existing system.
22:58:56 <fizzie> https://hack.esolangs.org/repo/file/tip/interps/gcccomp/gcccomp is what `! c and `! cxx feed into.
23:00:16 <fizzie> The whole thing isn't documented, though. But the tl;dr is you put a wrapper in ibin like https://hack.esolangs.org/repo/file/tip/ibin/c which typically uses one of interp_stdin / interp_file from https://hack.esolangs.org/repo/file/tip/lib/interp depending on what the called program expects.
23:01:37 <fizzie> (interp_stdin passes the contents of the `! x ... command line to the program as stdin, interp_file as a path to temporary file.)
23:02:14 <fizzie> All in all, it may be overly complicated. It did have a nice benefit that it made all `! programs capable of reading source from the web, but that part's now commented out because there's no networking.
23:04:19 <esowiki> [[Daft]] https://esolangs.org/w/index.php?diff=67197&oldid=39053 * B jonas * (+118) link "da f t"
23:06:59 <esowiki> [[Da f t]] N https://esolangs.org/w/index.php?oldid=67198 * B jonas * (+30) Redirected page to [[BIX Queue Subset]]
23:08:24 -!- ais523 has quit (Quit: quit).
23:08:29 <fizzie> I don't think ibin scripts necessarily need to use the lib/interp functions; as we saw, branchylog doesn't, and 7 doesn't either. Or k, but that doesn't actually do anything.
23:09:58 <fizzie> OTOH, if you're not using lib/interp, maybe it should be just a regular `command instead of a `!-wrapped command. On the third hand, it makes some sense for all (especially eso)language things be in the same thing. On the fourth hand, there's a number of non-! language tools, like `forth, `js.
23:10:23 <fizzie> And `perl-e. These tend to be smaller-scale wrappers.
23:12:31 <b_jonas> ok, so I just make a script in interps that reads code from stdin, and put a wrapper in ibin that uses interp_stdin
23:14:18 <b_jonas> https://esolangs.org/logs/2012-03-19.html talks about the lime slices a bit
23:14:35 <b_jonas> https://esolangs.org/logs/2012-03-19.html#lId
23:16:01 <fizzie> It's called the trilime.
23:20:51 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:52:02 -!- kspalaiologos has quit (Ping timeout: 240 seconds).
23:54:13 -!- heroux has quit (Ping timeout: 265 seconds).
23:54:54 -!- heroux has joined.
23:57:14 -!- hppavilion[1] has joined.