←2019-11-16 2019-11-17 2019-11-18→ ↑2019 ↑all
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:19 <b_jonas> `cat /hackenv/ibin/1l
00:37:20 <HackEso> ​#!/bin/sh \ . lib/interp \ interp_file ./interps/1l/1l_a.bin
00:37:21 <b_jonas> `cat /hackenv/ibin/2l
00:37:21 <HackEso> ​#!/bin/sh \ . lib/interp \ interp_file ./interps/2l/2li.bin
00:37:28 <b_jonas> ^ thesse may need editing
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:38:54 <b_jonas> hmm
00:39:40 <b_jonas> `cat /hackenv/bin/karma
00:39:40 <HackEso> ​#!/bin/sh \ echo "$1 has $(lib/karma "$1") karma."
00:39:41 <b_jonas> `cat /hackenv/bin/karma+
00:39:41 <HackEso> ​#!/bin/sh \ echo "$1 now has $(($(lib/karma "$1")+1)) karma." | tee karma
00:39:42 <b_jonas> `cat /hackenv/bin/karma-
00:39:43 <HackEso> ​#!/bin/sh \ touch karma \ echo "$1 now has $(($(lib/karma "$1")-1)) karma."
00:40:10 <b_jonas> ^ these too probably
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:05 <b_jonas> `karma+ fizzie
00:46:16 <HackEso> fizzie now has 1 karma.
00:46:17 <HackEso> karma-//#!/bin/sh \ touch karma \ echo "$1 now has $(($(${HACKENV-/hackenv}/lib/karma "$1")-1)) karma."
00:46:30 <b_jonas> `karma fungot
00:46:30 <fungot> b_jonas: and leave any other messages before that one arrives... fnord??
00:46:33 <HackEso> fungot has 0 karma.
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:53:03 <b_jonas> yeah, the $[$(${ is nice
00:54:11 <b_jonas> HackEso: doesn't the tee target have to be changed as well?
00:54:13 <b_jonas> um
00:54:23 <b_jonas> fizzie: doesn't the tee output file have to be changed as well?
00:54:29 <b_jonas> it's a relative path
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:12 <HackEso> No output.
00:56:45 <fizzie> `` cd /hackenv/bin; rm '!'; ln -s interp '!' # just merging these two identical files
00:56:47 <HackEso> No output.
00:58:03 <b_jonas> `karma+ fizzie
00:58:16 <HackEso> fizzie now has 1 karma.
00:58:35 <b_jonas> yep, still 1, previous one didn't count
01:03:30 <oerjan> `dowg bin/!
01:03:32 <HackEso> No output.
01:03:42 <oerjan> `doag bin/!
01:03:44 <HackEso> No output.
01:03:49 <oerjan> argh
01:03:59 <fizzie> `dobg !
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:04:53 <oerjan> `pwd
01:04:54 <HackEso> ​/hackenv/tmp
01:05:36 <oerjan> `ls
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:38 <oerjan> `ls ..
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:18 <oerjan> `` echo $PATH
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:02 <oerjan> `` ls -dl le
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:08:46 <oerjan> `` chmod a-w le
01:08:47 <HackEso> No output.
01:09:03 <oerjan> this should prevent some accidents
01:09:36 <oerjan> what do you mean, fulle revert-able?
01:09:44 <oerjan> *y
01:09:56 <oerjan> `` ls -dl le
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:01 <oerjan> argh
01:10:09 <oerjan> `` ls -dl ../le
01:10:13 <HackEso> dr-xr-xr-x 2 1000 1000 4096 Apr 7 2018 ../le
01:10:18 <oerjan> darn
01:10:32 <oerjan> `` chmod a+w le
01:10:33 <HackEso> No output.
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:19:04 <kingoffrance> repeat until magic 8 ball blesses you
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:26 <oerjan> you think
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:46 <oerjan> *arms race
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:04 <kingoffrance> how does "tithing" work
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:49:37 <b_jonas> or does that not matter?
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:24 <b_jonas> argh
02:54:25 <b_jonas> oerjan: ^
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:16 <oerjan> like oxygen
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:06 <kmc> dunno
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:35 <kmc> lol
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:02 <kmc> okay
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:19:40 <zzo38> kmc: Yes
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:19 <kmc> yaeh
05:48:20 <kmc> yeah
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:00 <int-e> `5 \'
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:11 <int-e> `n
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:14 <oerjan> `5
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:09 <shachaf> `n
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:10 <b_jonas> sorry
07:40:14 <zzo38> OK
07:40:15 <b_jonas> bochs that is
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 <kspalaiologos> ``asmbf lbl 1/in_ r1/jz_ r1, 0/out r1/jmp 1
09:53:38 <HackEso> ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: `asmbf: not found
09:53:53 <kspalaiologos> `asmbf lbl 1/in_ r1/jz_ r1, 0/out r1/jmp 1
09:53:53 <HackEso> ​+>+[>>>+<<+<<[>>->+<<<-]>>>[<<<+>>>-]<[->+<<[>>>-<<+<-]>[<+>-]>>[<->[-]]<[<<<+>>>-]<]>>[-]<<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>,>>>><<<<<<+>>[<<[-]<+>>>-]<<<[>>>+<<<-]>[<<<[-]>[-]>>>>>>>>[<<<<<<<<+>+>>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>[-]]>>>>>>[-]<<<<<<]<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>.>>>>+<<<<<<<<<[-]>[-]>>>>>>>>[<<<<<<<<+>+>>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>>>>>>>[-]<<<<<<]<<<[>>+>+<<<-]>>[<<+>>-]>[[-]<<<[-]>[-]>>]<<]
10:31:12 -!- kspalaiologos has quit (Quit: Quit).
10:31:37 -!- kspalaiologos has joined.
10:31:53 <kspalaiologos> I wonder
10:32:09 <kspalaiologos> should I create an article about my brainfuck toolchain on the wiki?
10:40:38 -!- LKoen has joined.
10:43:34 <Lykaina> hi
10:48:03 <kspalaiologos> Hi
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:40:04 <kspalaiologos> so it might be practical to use it :p
11:40:16 <kspalaiologos> it's something like Gregor's C2BF
11:40:23 <kspalaiologos> but... kinda better
11:41:02 <myname> wait, what
11:42:35 <kspalaiologos> a small digital jewel safe :p
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:34 <b_jonas> what?
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:45 <kspalaiologos> just google it
12:13:54 <kspalaiologos> i remember the thread popping up on mazonkas' brainfuck computer
12:14:08 <kspalaiologos> on HackerNews obviously
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:20:40 <kspalaiologos> haha
12:21:12 <kspalaiologos> I wish someone paid me for that
12:21:36 <kspalaiologos> writing unit tests in brainfuck
12:21:39 <kspalaiologos> going to love that
12:21:54 <kspalaiologos> I need a memory manager tho
12:22:03 <kspalaiologos> I've been scratching my head for good three days
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:24 <kspalaiologos> and the global storage won't work
12:23:26 <kspalaiologos> obviously
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:24 <kspalaiologos> xored lists?
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:36:05 <kspalaiologos> because my assembler doesn't quite support XOR
12:36:07 <kingoffrance> so i am biased towards "want to use"
12:36:47 <kspalaiologos> it's a cool idea,
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:05 <kspalaiologos> lol
13:05:11 <kspalaiologos> well it
13:05:14 <kspalaiologos> 's tough stuff
13:05:36 <kspalaiologos> to use a subtraction/xor list
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:06:03 <kspalaiologos> it's going to take AGES of execution
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:15:29 <YamTok> Quick help!
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:34 <YamTok> Goodnight.
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:02:48 <kspalaiologos> oh gosh
15:02:49 <kspalaiologos> I
15:03:01 <kspalaiologos> 've been working on the Malbolge interpreter in Brainfuck
15:03:06 <kspalaiologos> using my asm2bf with a few addons
15:03:19 <kspalaiologos> It'
15:03:23 <kspalaiologos> s worse than a painful suicide
15:13:19 <int-e> maybe it's time to move on
15:14:18 <kspalaiologos> yeah
15:14:21 <kspalaiologos> I'll let it be
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:55:29 <kspalaiologos> to be honest
15:55:32 <kspalaiologos> it looks really cool
15:56:39 <b_jonas> upgrades? nice!
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:03 <kspalaiologos> my government's websites run ten years old apache
15:59:17 <kspalaiologos> c'mon even esoteric language wiki's better
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:01:46 <b_jonas> sure
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:19 <b_jonas> um
16:04:23 <b_jonas> inside HackEso I mean
16:04:27 <b_jonas> sorry, fungot
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:04:47 <b_jonas> thanks
16:05:14 <kspalaiologos> this bot in befunge
16:05:17 <kspalaiologos> it's amazing
16:06:31 <kspalaiologos> ^show
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:47 <kspalaiologos> how can one invoke the command
16:06:49 <kspalaiologos> fungot, fib
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 <kspalaiologos> ^fib
16:06:55 <fungot> ...
16:06:59 <kspalaiologos> a ha!
16:07:06 <fizzie> ^show fib
16:07:06 <fungot> >+10>+>+[[+5[>+8<-]>.<+6[>-8<-]+<3]>.>>[[-]<[>+<-]>>[<2+>+>-]<[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>[-]>+>+<3-[>+<-]]]]]]]]]]]+>>>]<3][]
16:07:19 <kspalaiologos> postfix RLE brainfuck?
16:07:31 <fizzie> Yes, with a bug that runs of >s were not RLE'd.
16:07:54 <kspalaiologos> why not prefix tho
16:07:58 <kspalaiologos> postfix notation is confusing
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:08:55 <kspalaiologos> bfjoust?
16:08:58 <kspalaiologos> what is this
16:09:00 <b_jonas> see the wiki
16:09:30 <fizzie> Well, bfjoust also uses operators for the encoding.
16:09:33 <b_jonas> https://esolangs.org/wiki/BF_Joust
16:10:14 <kspalaiologos> this is
16:10:19 <kspalaiologos> actually dank
16:10:22 <kspalaiologos> I like it
16:12:01 <kspalaiologos> `show
16:12:05 <HackEso> ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: show: not found
16:12:05 <kspalaiologos> ^show
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:15 <kspalaiologos> ^ wc blah blah blah
16:12:20 <kspalaiologos> ^wc blah blah blah
16:12:28 <kspalaiologos> ^show wc
16:12:28 <fungot> []
16:12:32 <kspalaiologos> umm
16:12:40 <fizzie> Uh.
16:12:44 <kspalaiologos> Time to fix it!
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:33 <kspalaiologos> gimme a second
16:13:35 <kspalaiologos> I'll fix this command
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:23 <b_jonas> oops
16:14:54 <fizzie> It should be fine. I just wasn't thinking of it.
16:22:00 <kspalaiologos> ^show
16:22:00 <kspalaiologos> fungot, are you alive?
16:22:00 <kspalaiologos> fizzie, he died
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:22:03 <kspalaiologos> oh well
16:22:07 <kspalaiologos> it just took 20 seconds
16:22:27 <kspalaiologos> `show welcome
16:25:40 -!- HackEso has joined.
16:25:49 <arseniiv> ^unscramble 10
16:25:49 <fungot> 10
16:26:10 <arseniiv> ^unscramble noemy
16:26:10 <fungot> nyome
16:26:14 <arseniiv> hm?
16:26:25 <fizzie> ^scramble something
16:26:25 <fungot> smtignheo
16:26:30 <fizzie> ^unscramble smtignheo
16:26:30 <fungot> something
16:26:35 <arseniiv> ^unscramble opittnei
16:26:35 <fungot> oipeintt
16:26:45 <fizzie> It's a letter rearrangement scheme.
16:26:50 <fizzie> ^scramble 12345678
16:26:50 <fungot> 13578642
16:26:57 <arseniiv> ah, it’s a fixed one!
16:27:16 <fizzie> ^unscramble 12345678
16:27:16 <fungot> 18273645
16:27:17 <arseniiv> I thought it tries to find a word in a dictionary
16:27:26 <kspalaiologos> does fungot have RLE compressor builtin?
16:27:26 <fungot> kspalaiologos: this little excursion is going to work
16:27:45 <fizzie> In a sense.
16:27:50 <fizzie> ^def tmp bf +++++
16:27:50 <fungot> Defined.
16:27:52 <fizzie> ^show tmp
16:27:52 <fungot> +5
16:27:56 <kspalaiologos> fine
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:28:40 <kspalaiologos> so how do I program it
16:28:43 <kspalaiologos> when program is large
16:29:46 <kspalaiologos> we use str right?
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:30:33 <kspalaiologos> oops its a bit too long
16:30:49 <arseniiv> hehehe
16:31:00 <fizzie> Yeah. There's a way to put in long programs, it's just very convoluted.
16:31:05 <fizzie> ^help
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:40 <kspalaiologos> I'll move to esoteric blag
16:31:47 <kspalaiologos> because it's going to cause tons of spam
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:32:34 <kspalaiologos> pff
16:34:01 <kspalaiologos> works
16:34:05 <kspalaiologos> ^wc Hello, world.
16:34:05 <fungot> 13 1.
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 <kspalaiologos> ^show wc
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:34:29 <kspalaiologos> it's fine
16:34:36 <kspalaiologos> looks like chinese to me
16:36:10 <b_jonas> oh, so that's what ^str is for?
16:36:17 <b_jonas> good to know
16:36:51 <b_jonas> kspalaiologos: you could also run bf on HackEso when it comes back of course
16:37:06 <kspalaiologos> sure
16:37:09 <kspalaiologos> I can run my asmbf here too
16:39:09 <b_jonas> `? kspalaiologos
16:39:10 <HackEso> kspalaiologos? ¯\(°​_o)/¯
16:39:29 <kspalaiologos> ha! he doesn't know me
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:01 <kspalaiologos> my nick is too long
16:43:01 <kspalaiologos> lol
16:43:07 <fizzie> No, it's just the plural.
16:43:09 <fizzie> `whoops
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:26 <b_jonas> ha! it got you too
16:43:36 <b_jonas> it's $HACKESO/wisdom/ now
16:43:40 <fizzie> I'm pretty sure I fixed 'whoops' for that.
16:43:44 <int-e> `` mv ../wisdom/kspalaiologo{,s}
16:43:46 <HackEso> No output.
16:43:55 -!- imode has joined.
16:44:01 <int-e> kspalaiologos: it thinks it's a plural
16:44:06 <kspalaiologos> ah, fine
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:01 <b_jonas> `lastfiles
16:46:04 <int-e> or... we could make symbolic links
16:46:06 <HackEso> wisdom/kspalaiologo \ wisdom/kspalaiologos
16:46:20 <fizzie> Ah, of course.
16:46:27 <int-e> `` ln -s ../wisdom ../bin ../quotes .
16:46:27 <HackEso> No output.
16:46:47 <b_jonas> NO!
16:46:58 <b_jonas> don't do that, that will result in some silent problems
16:47:07 <b_jonas> silent bugs
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:26 <b_jonas> especially not for quotes
16:47:35 <b_jonas> `url
16:47:36 <HackEso> https://hack.esolangs.org/repo/
16:47:43 <b_jonas> `paste
16:47:50 <b_jonas> hmm
16:47:52 <b_jonas> `paste quotes
16:47:53 <HackEso> https://hack.esolangs.org/tmp/quotes
16:48:14 <HackEso> https://hack.esolangs.org/tmp/paste/paste.17325
16:48:40 <int-e> mm
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:14 <HackEso> No output.
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:39 <int-e> `pwd
16:50:40 <HackEso> ​/hackenv/tmp
16:50:47 <fizzie> All extensions bundled in the MediaWiki distribution that we don't enable.
16:52:00 <kspalaiologos> I've got it sorted out kinda
16:52:01 <kspalaiologos> ,[-------------------------------->[-]+>[-]<<[>>>>+<<<-]>[>>+<<->]<<,]>>>>[[>>+>+<<<-]>>>[<<<+>>>-]<<+>[<->[>++++++++++<[->-[>+>>]>[+[-<+>]>+>>]<<<<<]>[-]++++++++[<++++++>-]>[<<+>>-]>[<<+>>-]<<]>]<[->>++++++++[<++++++>-]]<[.[-]<]<[-]++++[>++++++++<-]>.[-]<<]
16:52:04 <kspalaiologos> this should work
16:52:07 <kspalaiologos> as a smaller version of wc
16:52:23 <kspalaiologos> ^def wc bf ,[-------------------------------->[-]+>[-]<<[>>>>+<<<-]>[>>+<<->]<<,]>>>>[[>>+>+<<<-]>>>[<<<+>>>-]<<+>[<->[>++++++++++<[->-[>+>>]>[+[-<+>]>+>>]<<<<<]>[-]++++++++[<++++++>-]>[<<+>>-]>[<<+>>-]<<]>]<[->>++++++++[<++++++>-]]<[.[-]<]<[-]++++[>++++++++<-]>.[-]<<]
16:52:23 <fungot> Defined.
16:52:35 <kspalaiologos> ^wc being addicted to brainfuck is cool
16:52:35 <fungot> 30 5
16:53:03 <kspalaiologos> wait a second
16:53:59 <kspalaiologos> ^def wc bf ,[-------------------------------->[-]+>[-]<<[>>>>+<<<-]>[>>+>+<<<->]<<,]>>>>[[>>+>+<<<-]>>>[<<<+>>>-]<<+>[<->[>++++++++++<[->-[>+>>]>[+[-<+>]>+>>]<<<<<]>[-]++++++++[<++++++>-]>[<<+>>-]>[<<+>>-]<<]>]<[->>++++++++[<++++++>-]]<[.[-]<]<[-]++++[>++++++++<-]>.[-]<<]
16:53:59 <fungot> Defined.
16:54:10 <kspalaiologos> ^wc it should count spaces as characters now
16:54:10 <fungot> 40 6
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:20 <kspalaiologos> I have to write it in brainfuck
16:55:30 <kspalaiologos> obviously I could compile it to brainfuck
16:55:38 <kspalaiologos> using my glorious ANSI C89->brainfuck
16:55:44 <kspalaiologos> but it would take ages to enter into fungot
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:57:20 <kspalaiologos> ^wc it should count spaces as characters now
16:57:20 <fungot> 40 6
16:57:50 <kspalaiologos> ^wc it should count spaces as characters now
16:57:50 <fungot> 41 6
16:57:54 <kspalaiologos> oh c;mon
16:58:06 <kspalaiologos> ^wc it should count spaces as characters now
16:58:06 <fungot> 40 7
16:58:09 <kspalaiologos> perfect
16:59:27 <kspalaiologos> ^show
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 <kspalaiologos> ^wiki
16:59:35 <fungot> http://esolangs.org/wiki/
16:59:39 <kspalaiologos> ^show 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 <fizzie> ^wiki Something
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:05 <b_jonas> oh
17:01:15 <kspalaiologos> I'll get that sorted out
17:01:17 <kspalaiologos> wait a second
17:01:45 <fizzie> FWIW, I strongly suspect that string output is from bf_txtgen.
17:02:08 <kspalaiologos> ^show wiki
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:12 <kspalaiologos> wait a second though
17:02:17 <b_jonas> `?? brainfuck
17:02:17 <kspalaiologos> why would we use these fancy loop
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:03:20 <fungot> Defined.
17:03:30 <kspalaiologos> I could use my brainfuck cruncher
17:03:39 <kspalaiologos> but it's way more straightforward :p
17:03:55 <kspalaiologos> btw fizzie, would you like to help me a bit
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:14 <kspalaiologos> and fungot possibly has it
17:04:15 <fungot> kspalaiologos: why does that make the program do?" " fubar is an acronym.
17:04:36 <kspalaiologos> fungot doesnt support unlambda I guess
17:04:36 <fungot> kspalaiologos: scary. a girl with a mac and on bsd
17:04:58 <b_jonas> `?? brainfuck
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:02 <b_jonas> better
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 <b_jonas> ^ul (it sure does. ):SS
17:05:32 <fungot> it sure does. it sure does.
17:05:34 <b_jonas> oh yeah
17:05:37 <b_jonas> I mean underload
17:05:38 <b_jonas> that one
17:05:50 <b_jonas> that's the one that's good at printing constant strings
17:06:00 <b_jonas> sorry
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 <kspalaiologos> ^show
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:44 <kspalaiologos> ^rerere
17:07:46 <kspalaiologos> what is this
17:07:49 <kspalaiologos> ^show rerere
17:07:49 <fungot> ,.>,.<.>2,[.<.<.>3,]<.<.>.
17:08:01 <kspalaiologos> ^rerere abcdefgh
17:08:01 <fungot> abacbadcbedcfedgfehgfhgh
17:08:10 <kspalaiologos> ^rerere 123
17:08:10 <fungot> 121321323
17:08:27 <kspalaiologos> what is this
17:08:39 <kspalaiologos> ^pow2
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 <kspalaiologos> `show pow2
17:08:49 <HackEso> ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: show: not found
17:08:53 <kspalaiologos> ^show pow2
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:10 <kspalaiologos> ^ me
17:09:11 <kspalaiologos> ^me
17:09:11 * fungot
17:09:20 <kspalaiologos> ^me test
17:09:20 * fungot test
17:09:26 <fizzie> Oh, that's still unfixed. :/
17:09:33 <kspalaiologos> pff
17:09:36 <fizzie> It's not supposed to allow CTCP.
17:09:48 <fizzie> Just never gotten around to fixing it.
17:10:00 <kspalaiologos> ^eval
17:10:03 <kspalaiologos> ^eval 2 + 2
17:10:06 <kspalaiologos> ^eval + 2 2
17:10:10 <kspalaiologos> ^eval 2 + 2
17:10:15 <kspalaiologos> ^eval 2 2 +
17:10:19 <kspalaiologos> how do you use eval?
17:10:24 <kspalaiologos> it's brainfuck right?
17:10:29 <kspalaiologos> ^show eval
17:10:29 <fungot> ()!
17:10:47 <kspalaiologos> ^rainbow
17:10:51 <kspalaiologos> ^rainbow test
17:10:51 <fungot> test
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:18:53 <fizzie> Not as far as I know.
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:19:33 <b_jonas> huh
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:11 <kspalaiologos> what just happened
17:20:16 <kspalaiologos> why did I get disconnected
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:20:50 <kspalaiologos> alright
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:21:34 <kspalaiologos> a server might have died
17:21:48 <kspalaiologos> " Cycling to next server in freenode..."
17:21:48 <b_jonas> no, they don't often die
17:21:50 <b_jonas> oh
17:21:52 <b_jonas> then maybe it did
17:21:57 <b_jonas> no wait
17:22:00 <b_jonas> that's just a client message
17:22:06 <kspalaiologos> yes
17:22:11 <b_jonas> that it uses the heuristic to connect to a different server after a disconnect
17:22:20 <kspalaiologos> ah, it's fine then
17:22:21 <fizzie> b_jonas: Yeah, killing the running uwsgi instance made it start working again.
17:22:23 <kspalaiologos> no idea what happened
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:31:49 <b_jonas> they don't? ok
17:32:07 <fizzie> Well, they don't not recommend it either.
17:33:01 <kspalaiologos> nooo don't ruin the uptime
17:33:11 <b_jonas> ``` uptime
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:06 <b_jonas> `top b
17:37:06 <b_jonas> too
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:23 <b_jonas> ``` datei; uptime -s
17:38:24 <HackEso> uptime: uptime \ 2019-11-17 17:38:23.519 +0000 UTC November 17 Sunday 2019-W46-7
17:38:30 <b_jonas> what?
17:38:50 <b_jonas> ``` datei
17:38:50 <HackEso> 2019-11-17 17:38:50.590 +0000 UTC November 17 Sunday 2019-W46-7
17:38:52 <b_jonas> ``` uptime -s
17:38:53 <HackEso> uptime: uptime
17:38:55 <b_jonas> that
17:38:56 <b_jonas> makes no sense
17:39:12 <b_jonas> ``` type uptime
17:39:13 <HackEso> uptime is /usr/bin/uptime
17:39:20 <b_jonas> ``` /usr/bin/uptime -s
17:39:21 <HackEso> uptime: uptime
17:39:26 <fizzie> That's pretty weird.
17:39:50 <fizzie> Incidentally:
17:39:51 <fizzie> `lsb_release -d
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:10 <b_jonas> ``` cat /etc/issue
17:43:11 <HackEso> cat: /etc/issue: No such file or directory
17:43:27 <kspalaiologos> `` cat /proc/uptime
17:43:28 <HackEso> 0.26 0.04
17:43:31 <kspalaiologos> `` uptime
17:43:32 <HackEso> ​ 17:43:31 up 0 min, 0 users, load average: 0.00, 0.00, 0.00
17:43:59 <kspalaiologos> `` cat > /proc/uptime <<<"350735.47 234388.90"
17:44:00 <HackEso> ​/hackenv/bin/`: line 5: /proc/uptime: Permission denied
17:44:03 <kspalaiologos> pf :p
17:44:19 <kspalaiologos> fizzie, if you want to change uptime this is probably the way to go
17:44:22 <kspalaiologos> but you need root privs :p
17:44:34 <b_jonas> kspalaiologos: I don't think it works even as root
17:44:41 <kspalaiologos> let's check it
17:44:42 <kspalaiologos> together
17:44:47 <b_jonas> nope
17:44:51 <kspalaiologos> :p
17:44:58 <kspalaiologos> I have a VM to spare
17:45:01 <kspalaiologos> let's find out
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:26 <b_jonas> `uptime -p
17:47:27 <HackEso> up 0 minutes
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:48:43 <b_jonas> or back
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:09 <kspalaiologos> this may do the terick
17:49:15 <kspalaiologos> but needs root privs too
17:49:24 <fizzie> (It's a different *kernel* version, of course.)
17:49:27 <kspalaiologos> and e was cut at the end
17:49:42 <b_jonas> kspalaiologos: but that may confuse programs. that's not the only place where linux tells about the uptime
17:49:58 <kspalaiologos> obviously not
17:50:06 <kspalaiologos> but this one probably is only one available from userland
17:50:33 <kspalaiologos> ok, there is sysinfo()
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:51:48 <b_jonas> hmm
17:51:58 <kspalaiologos> it works
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:01 <kspalaiologos> the bash snippet works
17:52:07 <kspalaiologos> it fakes output of uptime
17:52:09 -!- LKoen has joined.
17:52:16 <kspalaiologos> and of top too
17:52:22 <kspalaiologos> I've just tested it
17:52:26 <kspalaiologos> it sets uptime to around 210 dayas
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:08:52 <int-e> pff
18:09:32 <kspalaiologos> ha!
18:09:38 <kspalaiologos> told you my bash snippet will work
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:09:46 <kspalaiologos> kernel is actually reading a device
18:09:54 <kspalaiologos> to supplement the data to sysinfo()
18:10:24 <int-e> who makes 0 the error return value for functions like this
18:10:46 <kspalaiologos> I think it should set errno or return -1
18:10:55 <int-e> *and*
18:11:00 <b_jonas> oh that's fun
18:11:23 <kspalaiologos> ergo
18:11:23 <int-e> Hmm, or maybe I don't care about errno being set all that much.
18:11:26 <b_jonas> ``` sleep 2; uptime -s
18:11:27 <kspalaiologos> my bash snippet is perfect for this
18:11:29 <HackEso> 2019-11-17 18:11:27
18:11:31 <kspalaiologos> it will fake the uptime
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:11:52 <fizzie> Yes.
18:12:07 <kspalaiologos> yeah
18:12:11 <kspalaiologos> it even returns int
18:12:16 <kspalaiologos> not unsigned int when not using signed ones
18:12:24 <kspalaiologos> quint of foolishness
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:31 <b_jonas> fizzie: time does
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:22:26 <b_jonas> `? HackBot
18:22:27 <HackEso> HackBot? ¯\(°​_o)/¯
18:23:41 <kspalaiologos> `? HackEso
18:23:42 <HackEso> HackEso is almost but not quite unlike HackEgo.
18:24:08 <kspalaiologos> ^show
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 <kspalaiologos> I feel like adding a few commands to fungot
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:23 <kspalaiologos> anything needed?
18:24:45 <b_jonas> kspalaiologos: I wanted to install a 7z decompressor at one point. I failed.
18:24:58 <kspalaiologos> 7z decompressor?
18:24:59 <b_jonas> but we can decompress zip, tar.gz, tar.xz
18:25:00 <kspalaiologos> into fungot?
18:25:00 <fungot> kspalaiologos: it is usually better to ask such questions are the way to define the recursions better, too,
18:25:08 <b_jonas> so it's not a big problem
18:25:16 <kspalaiologos> wait a second
18:25:17 <b_jonas> no
18:25:20 <kspalaiologos> how do you want to use it
18:25:20 <b_jonas> into HackEso
18:25:22 <kspalaiologos> ah, well
18:25:25 <kspalaiologos> it's easy then
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 <kspalaiologos> but I'm aiming at fungot
18:25:32 <fungot> kspalaiologos: just write a chef implementation in bf? if so, then yes. ( define ( p x))? :p ( heh, guess not.
18:25:45 <kspalaiologos> that
18:25:47 <kspalaiologos> 's a nice idea
18:25:54 <kspalaiologos> a chef implementation in bf
18:26:02 <kspalaiologos> thanks, fungot!
18:26:02 <fungot> kspalaiologos: maybe a combination of 2 and 5
18:26:11 <b_jonas> ^8-ball
18:26:13 <b_jonas> ^8ball
18:26:13 <fungot> No.
18:26:27 <b_jonas> a magic 8-ball command might be useful
18:26:34 <kspalaiologos> 8-ball command?
18:26:35 <kspalaiologos> what would it do
18:26:37 <fizzie> `slwd HackEso//s/almost/&,/;s/quite/&,/;s/unlike/entirely &/
18:26:37 <HackEso> Roswbud!
18:26:40 <b_jonas> `8-ball
18:26:41 <HackEso> As I see it, yes.
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:04 <b_jonas> like
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:13 <HackEso> You may rely on it.
18:27:26 <b_jonas> see Wikipedia for the 20 responses
18:27:31 <kspalaiologos> I dont get what is magic 8-ball
18:27:37 <b_jonas> it's a toy
18:27:37 <kspalaiologos> it just shows the billard game
18:27:43 <fizzie> Oh, right, lowercase.
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 <kspalaiologos> ah yeah
18:27:51 <HackEso> hackeso//HackEso is almost, but not quite, entirely unlike HackEgo.
18:27:58 <kspalaiologos> ok I get it
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:26 <fizzie> ^bool Is it any good?
18:28:32 <b_jonas> fizzie: what was HackBot?
18:28:36 <kspalaiologos> ^show bool
18:28:39 <int-e> @dice 1d2
18:28:39 <lambdabot> int-e: 2
18:28:41 <kspalaiologos> ???
18:28:48 <kspalaiologos> ^show bool
18:28:50 <kspalaiologos> what happened
18:28:55 <kspalaiologos> ^fib
18:28:55 <fungot> ...
18:28:57 <kspalaiologos> fungot is working
18:28:57 <fungot> kspalaiologos: do you work? :)
18:29:00 <kspalaiologos> but bool isempty
18:29:02 <kspalaiologos> yes I do
18:29:06 <int-e> b_jonas: HackBot was HackEso
18:29:10 <int-e> 's predecessor
18:29:17 <b_jonas> no, that's HackEgo
18:29:19 <b_jonas> `? `!
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:37 <int-e> Hrm.
18:29:40 <fizzie> Well, spiritual predecessor in that case.
18:29:55 <fizzie> "HackBot" is the name of the code, however.
18:30:00 <b_jonas> oh
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:13 <int-e> Hrm
18:30:14 <b_jonas> so that's like how jevalbot is the name of the code for j-bot ?
18:30:17 <b_jonas> `source 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:24 <b_jonas> j-bot, source:
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:30:55 <b_jonas> int-e: I am too
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:07 <b_jonas> hmm
18:34:10 <b_jonas> maybe there's no Gregor
18:34:15 <int-e> Hah, I have not checked whether CaC is still around in quite some time.
18:34:18 <b_jonas> `? Gregor
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:20 <b_jonas> `? GregorR
18:34:21 <HackEso> GregorR? ¯\(°​_o)/¯
18:34:26 <b_jonas> there is
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:35:56 <fizzie> Yeah.
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 <kspalaiologos> I'm in the process of literally raping fungot
18:44:47 <fungot> kspalaiologos: is there a complement function :) that parses an expresion like this ' otstatd' of mine than anything visual.
18:44:49 <kspalaiologos> sent over around 15 kilobytes of brainfuck
18:44:53 <kspalaiologos> for the 8ball
18:44:55 <kspalaiologos> it works quite nicely tho
18:44:57 <kspalaiologos> 50% transferred
18:44:59 <kspalaiologos> just a couple lines more
18:45:01 <kspalaiologos> it's taking 4 minutes to transfer it
18:45:19 <b_jonas> wait... how do you get random numbers in brainfuck?
18:45:26 <kspalaiologos> magic
18:45:32 <kspalaiologos> my very sophisticated algorithm
18:45:34 <b_jonas> ok
18:45:38 <kspalaiologos> ^8ball crap
18:45:39 <fungot> ...out of time!
18:45:43 <kspalaiologos> pffffffffffffffffffff
18:45:55 <kspalaiologos> you must be kidding me fungot
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:14 <kspalaiologos> fizzie, what is the execution time limit?
18:46:42 <kspalaiologos> feel free to check the source tho: https://pastebin.com/raw/1jf09niH
18:46:48 <kspalaiologos> it has an easter egg too :p
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:23 <kspalaiologos> nope
18:47:28 <kspalaiologos> only 20 standard ones
18:47:33 <kspalaiologos> from wikipedia
18:47:33 <b_jonas> there's also an 8-ball macro in perlbot
18:47:41 <kspalaiologos> but I added my own easter egg
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:51 <kspalaiologos> that fires only when a certain condition is met
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:32 <kspalaiologos> well my algorithm is amazing
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:48:42 <kspalaiologos> :p
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:21 <kspalaiologos> t
18:49:27 <kspalaiologos> that's too small amount :p
18:49:30 <b_jonas> zzo38: fizzie gave numbers about how many users set up each removed theme earlier in the channel
18:49:33 <kspalaiologos> can you increase it a tiny bit?
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:50:55 <kspalaiologos> well it runs instantly on my pc
18:51:00 <zzo38> b_jonas: OK, I found that. I think you should reinstall Cologne Blue and Modern
18:51:02 <kspalaiologos> I'll measure the cycle count in a second
18:52:50 <kspalaiologos> fizzie, well
18:52:57 <kspalaiologos> it takes 40M cycles
18:53:03 <kspalaiologos> i'll need to work on it :p
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:53:53 <kspalaiologos> ^ good point
18:54:02 <kspalaiologos> give me a second
18:54:08 <int-e> 1
18:55:37 <arseniiv> 1 ⟵the second one
18:55:51 <kspalaiologos> 12M cycles
18:55:56 <b_jonas> [ ^0
18:55:57 <j-bot> b_jonas: 1
18:56:25 <kspalaiologos> fizzie, it's not that much tho :p
18:57:00 <kspalaiologos> in 1M of cycles, you can clear a cell just 1300 times
18:57:24 <kspalaiologos> and add two cells only 1000 times
19:02:34 <int-e> I'd say brainfuck-in-befunge is more of a toy than a "serious" brainfuck implementation.
19:03:47 <kspalaiologos> it's not in befunge tho
19:03:50 <kspalaiologos> it's externalk
19:06:12 <fizzie> What?
19:06:35 <fizzie> fungot's brainfuck interpreter is certainly in Befunge.
19:06:35 <fungot> fizzie: think about the data
19:06:40 <kspalaiologos> is it?
19:06:44 <kspalaiologos> well
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:09:07 <kspalaiologos> well it's instant for me
19:09:21 <kspalaiologos> I'll compare that to dbfi\
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:34 <b_jonas> `uptime
19:16:35 <HackEso> ​ 19:16:34 up 0 min, 0 users, load average: 0.00, 0.00, 0.00
19:16:36 <b_jonas> `uptime -s
19:16:36 <fizzie> Yes, I noticed.
19:16:36 <HackEso> uptime: uptime
19:16:37 <b_jonas> `uptime -p
19:16:37 <HackEso> up 0 minutes
19:16:41 <b_jonas> hmm
19:16:47 <b_jonas> ``` chmod a+x /hackenv/bin/uptime
19:16:48 <HackEso> No output.
19:16:49 <b_jonas> `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:16 <HackEso> No output.
19:17:18 <b_jonas> `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:21 <b_jonas> `uptime -s
19:17:22 <HackEso> 2009-06-20 15:30:22
19:17:22 <b_jonas> `uptime -p
19:17:23 <HackEso> up 3802 day, 3 hours, 47 minutes
19:17:25 <b_jonas> there
19:17:35 <b_jonas> but top b gives it away
19:18:12 <fizzie> `` date --date=@1245511822
19:18:13 <HackEso> Sat Jun 20 15:30:22 UTC 2009
19:18:25 <b_jonas> `datei @1245511822
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:21:56 <b_jonas> ok
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:49 <kspalaiologos> you can't rub magic 8 ball
19:25:58 <kspalaiologos> because fungot is constraining me
19:25:58 <fungot> kspalaiologos: isn't that somehow the idea of starting with fnord, but that has its lifeblood still in it
19:27:22 <fizzie> `8ball Or can you?
19:27:23 <HackEso> Signs point to yes.
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:37:06 <kspalaiologos> fizzie, so, what about extending cycles limit?
19:37:17 <b_jonas> be patient
19:37:24 <kspalaiologos> well
19:37:28 <kspalaiologos> my stuff is installed already
19:38:18 <xunil> i once waited a billion years
19:38:24 <xunil> and then said
19:41:40 <zzo38> Spellmorph is also same idea I had. The rules they have about it are same as mine, too.
19:42:35 <kspalaiologos> spellmorph?
19:42:38 <kspalaiologos> what's this?
19:42:42 <kspalaiologos> I may implement it for fungot
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:43:53 <xunil> the cards
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 <kspalaiologos> fungot's interpreter is 8bit, right?
19:53:50 <fungot> kspalaiologos: right, but there was no replacement to the dictionary, say ' fnord'.
19:54:14 <kspalaiologos> ^show
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:15 <fungot> 8 bit cells
19:55:20 <kspalaiologos> duh
19:55:22 <kspalaiologos> I'm screwed
19:55:29 <b_jonas> why?
19:55:35 -!- Sgeo__ has joined.
19:55:41 <kspalaiologos> so well
19:55:42 <kspalaiologos> put simply
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:13 <kspalaiologos> so I can't adress them anymore
19:56:31 <kspalaiologos> but
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:57:09 <kspalaiologos> so essentially I'm screwed
19:58:28 <kspalaiologos> yeah, 447 bytes total
19:59:11 <b_jonas> do you need to store the strings?
19:59:21 <kspalaiologos> in a lookup table
19:59:26 <kspalaiologos> otherwise I run into exact same problem as before
19:59:38 <b_jonas> as opposed to just have a function that prints a particular string, for each string
19:59:52 <kspalaiologos> branches are very expensive
20:00:00 <b_jonas> inside a bracket conditional
20:00:16 <b_jonas> what? brainfuck isn't bad at branching
20:00:23 <kspalaiologos> I'm talking about asmbf
20:00:28 <kspalaiologos> not brainfuck
20:00:32 <kspalaiologos> look:
20:00:40 <kspalaiologos> `asmbf lbl 1/jmp 1
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:01:35 <kspalaiologos> or i could use underload
20:02:01 <b_jonas> underload is deterministic too, no random source
20:03:09 <kspalaiologos> doesn't matter
20:03:12 <kspalaiologos> think out of the box
20:03:52 <kspalaiologos> `show 8ball
20:03:52 <HackEso> ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: show: not found
20:03:56 <kspalaiologos> ^show 8ball
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:01 <kspalaiologos> yeaaah
20:04:05 <kspalaiologos> It's quite large
20:04:19 -!- LKoen_ has joined.
20:05:23 <kspalaiologos> I can get it down to 10M though
20:05:28 <kspalaiologos> and that's it
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:07:16 <b_jonas> the super uptime that is
20:08:24 <kspalaiologos> so
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:17:53 <b_jonas> never mind, I fixed it
20:18:14 <b_jonas> ``` chmod -c a+x /hackenv/bin/uptime
20:18:15 <HackEso> No output.
20:18:18 <b_jonas> ``` uptime
20:18:19 <HackEso> bash: /hackenv/bin/uptime: python3: bad interpreter: No such file or directory
20:18:21 <b_jonas> hmm
20:18:22 <b_jonas> oh
20:18:32 <b_jonas> `fetch /hackenv/bin/uptime https://hack.esolangs.org/get/bin/uptime
20:18:32 <kspalaiologos> `` 8ball
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:34 <HackEso> It is certain.
20:18:35 <b_jonas> sorry
20:18:36 <b_jonas> `uptime
20:18:37 <HackEso> ​ 20:18:36 up 3802 day, 4:48, 0 users, load average: 0.00, 0.00, 0.00
20:18:38 <b_jonas> `uptime -V
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> : An Indian stone, credited with possessing
20:19:15 <kingoffrance> magical properties, and worn as an amulet.
20:19:15 <kingoffrance> This stone is
20:19:15 <kingoffrance> black in colour, about the size of a billiard ball, and pierced
20:19:17 <kingoffrance> with holes.
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:14 <HackEso> My sources say no.
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:44 <b_jonas> `uptime
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:23 <kspalaiologos> `? uptime
20:36:24 <HackEso> uptime? ¯\(°​_o)/¯
20:36:29 <kspalaiologos> you can add it here
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:05 <b_jonas> but still
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:18 <ais523> `! brachylog 2+₂w
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:42 <b_jonas> fizzie: ^
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:10 <ais523> oh, interesting
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:11:58 <arseniiv> machine*
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 <arseniiv> ais523: yeah
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:21 <arseniiv> int-e: hm I don’t see
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:17:53 <arseniiv> int-e: yes
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:13 <arseniiv> maybe I was too strit
21:20:18 <arseniiv> strict*
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:24:32 <b_jonas> ok
21:25:06 <b_jonas> ais523: ! brachylog will be fixed
21:25:24 <ais523> `! brachylog 2+₂w
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:35 <fizzie> "Will be", not "is".
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:24 <b_jonas> `? cake
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:32:39 <b_jonas> oh right, Portal 2
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:57 <b_jonas> `? napkin
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:08 <ais523> right
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:40:35 <fizzie> `! brachylog 2+₂w
21:40:36 <HackEso> 4 \ true.
21:40:47 <arseniiv> ais523: ah! Thanks
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 <b_jonas> or maybe not, I dunno
21:41:48 <fizzie> shachaf: Yes, and maybe "dorg" could be relative to /hackenv (r for root).
21:42:23 <shachaf> And crlprits? And crt?
21:42:41 <b_jonas> why "root"? root is /
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:37 <shachaf> e for env
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:20 <HackEso> just testing
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:46:38 <HackEso> oFQOtCD75OCP
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:09 <fizzie> `! bf_txtgen testing
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:50:38 <HackEso> 5764802
21:50:39 <b_jonas> this still works
21:51:58 <b_jonas> `! cxx #include<iostream> \ int main() { std::cout << "cwnRPfoBPzhY"; return 0; }
21:52:09 <HackEso> No output.
21:52:16 <b_jonas> `! cxx int main() { std::cout << "cwnRPfoBPzhY"; return 0; }
21:52:18 <HackEso> Does not compile.
21:52:26 <b_jonas> `! cxx #include<iostream> \n int main() { std::cout << "cwnRPfoBPzhY"; return 0; }
21:52:29 <HackEso> No output.
21:52:40 <b_jonas> how do I use `! cxx ?
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:12 <HackEso> cwnRPfoBPzhY
21:55:53 <fizzie> Not sure. Can't quite figure out how to express a newline.
21:56:31 <b_jonas> hmm
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:00:30 <kingoffrance> is there digraph/trigraph thingy for newline?
22:00:37 * kingoffrance ducks and covers and rolls
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:38:53 <b_jonas> oh wait
22:38:57 <b_jonas> you said backslash-space
22:38:57 <b_jonas> hmm
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:40 <b_jonas> macro defines too I mean
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:37 <b_jonas> `? !
22:44:38 <HackEso> ​! is a syntax used in Haskell and Prolog for solving evaluation order problems.
22:44:38 <b_jonas> `? ibin
22:44:39 <HackEso> ibin? ¯\(°​_o)/¯
22:44:42 <b_jonas> `? `!
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:44:46 <b_jonas> `? interps
22:44:47 <HackEso> interps? ¯\(°​_o)/¯
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:03 <shachaf> Do you like vpternlog?
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:03:00 <fizzie> Ooh, funky.
23:04:19 <esowiki> [[Daft]] https://esolangs.org/w/index.php?diff=67197&oldid=39053 * B jonas * (+118) link "da f t"
23:05:13 <b_jonas> fizzie: ok
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.
←2019-11-16 2019-11-17 2019-11-18→ ↑2019 ↑all