←2019-11-18 2019-11-19 2019-11-20→ ↑2019 ↑all
00:01:50 <esowiki> [[Talk:ESON]] N https://esolangs.org/w/index.php?oldid=67242 * IFcoltransG * (+185) Created page with "The hex regex looks ambiguous with the quaternary. Are you sure it isn't meant to be 'x'? ~~~~"
00:04:10 -!- LKoen has quit (Remote host closed the connection).
00:06:43 -!- LKoen has joined.
00:08:33 <esowiki> [[XS]] M https://esolangs.org/w/index.php?diff=67243&oldid=46834 * IFcoltransG * (+24) Added 'see also' to XSM
00:08:46 -!- FreeFull has quit.
00:48:26 -!- oerjan has joined.
00:53:14 -!- ArthurStrong has joined.
00:53:20 <oerjan> @messages-gold
00:53:20 <lambdabot> fizzie said 14h 51m 15s ago: Updated things, maybe it's a newer version of Mercurial/hgweb. There's a notion of changeset "phases", from secret -> draft -> public. It's maybe showing those, and
00:53:20 <lambdabot> counting everything as draft (the default for new changesets) as they're technically never been pushed to a remote repo (the browser shows the real thing).
00:53:48 <oerjan> mhm
00:58:15 <oerjan> `` ls -ld .hg
00:58:16 <HackEso> ls: cannot access '.hg': No such file or directory
00:58:19 <oerjan> hm
00:58:31 <oerjan> `` cat bin/hlnp
00:58:32 <HackEso> cat: bin/hlnp: No such file or directory
00:58:39 <oerjan> `` cat ../bin/hlnp
00:58:40 <HackEso> scowrevs="$(/usr/bin/paste -sd'|' /hackenv/share/scowrevs)"; hg log -r "tip:0 & ! ($scowrevs)" "$@" | sed 's/\(\(^\| \)[<Itb][^ ]*\)\([^ ][^ ]\)/\1̈\3/'
00:59:17 <oerjan> curious. does hg recurse into parent directories to find .hg by default?
00:59:28 <ais523> I'd assume most VCSes do
00:59:33 <oerjan> i suppose
00:59:41 <ais523> as it's common to want to VCS from a subdirectory
00:59:46 <ais523> git won't recurse across filesystems, though
01:00:00 <oerjan> well that explains why that didn't break
01:00:26 <oerjan> heh so git might have broken, since tmp is mounted separately
01:00:33 <oerjan> (or wait, is it)
01:00:44 <oerjan> i suppose it isn't
01:00:59 <oerjan> it was introduced with the .hgignore hack, after all
01:01:16 <oerjan> `` ls -ld .hg*
01:01:17 <HackEso> ls: cannot access '.hg*': No such file or directory
01:01:39 <oerjan> `` ls -ld ../.hg*
01:01:39 <HackEso> drwxr-xr-x 5 1000 1000 4096 Nov 19 01:01 ../.hg \ -rw-r--r-- 1 1000 1000 150 Jul 8 2017 ../.hg_archival.txt \ -rw-r--r-- 1 1000 1000 6 Jul 8 2017 ../.hgignore
01:02:26 <ais523> hah, I didn't even realise that we created /tmp from inside HackEso, I assumed it was hardcoded
01:03:27 <oerjan> it wasn't, although now there's a hardcoded restore of .hgignore to ensure it doesn't break
01:03:54 <ais523> hmm, is HackEso technically a codenomic?
01:04:17 <ais523> I guess not, because of the hardcoded `rever
01:04:19 <ais523> * `revert
01:04:38 <ais523> meaning that nothing can ever become permanently disallowed
01:05:06 -!- mniip has quit (Ping timeout: 615 seconds).
01:05:07 <oerjan> that's not really possible anyway since you can run global commands.
01:05:31 <oerjan> except for that evil canary bug that someone once found, but that's been fixed
01:05:44 <fizzie> I'm sure there are permissions bugs left.
01:06:22 <ais523> it was probably me, I liked doing weird things with the canary just to see what would happen
01:07:01 <ais523> that said, if we're gradually moving more and more important things to /tmp, the canary probably won't help much
01:07:04 <oerjan> i think maybe it was actually chmod 000 . , but that broke everything because of side effects with the canary
01:07:06 <ais523> as it won't stop a deletion from there
01:07:32 <oerjan> we're not supposed to move important things to tmp/
01:07:33 <fizzie> /tmp is a bad name; it's either tmp or /hackenv/tmp.
01:07:55 <oerjan> everything there is in principle ephemeral
01:08:04 <ais523> `touch /tmp/test
01:08:06 <HackEso> No output.
01:08:13 <fizzie> That's writable too, it's just not persistent.
01:08:13 <ais523> `ls -l /tmp/test
01:08:14 <HackEso> ls: invalid option -- ' ' \ Try 'ls --help' for more information.
01:08:20 <oerjan> which creates some trouble for le/ which now can be broken
01:08:21 <ais523> `` ls -l /tmp/test
01:08:21 <HackEso> ls: cannot access '/tmp/test': No such file or directory
01:08:31 <ais523> ah, I see, it disappears every command
01:08:35 <fizzie> It's a tmpfs inside the per-command kernel, yes.
01:08:49 <ais523> that means it's probably the best place for files that are genuinely temporary
01:08:55 <ais523> like ibin/brachylog uses
01:09:29 <fizzie> I switched it to /tmp when fixing the $HACKENV thing.
01:10:16 <fizzie> oerjan: Incidentally, I didn't include misle in tmp yet.
01:10:42 <fizzie> (There's misle/rn and misle/rn_append, the counterparts of the same commands in le/ but for tmflry instead of wisdom.)
01:10:57 <shachaf> whoa
01:11:12 <fizzie> It's really only `foo/bar commands that, in the /hackenv/tmp cwd setup, unfortunately have to have some part inside tmp.
01:11:16 <shachaf> `` doag /hackenv/misle
01:11:17 <HackEso> 6804:2016-02-10 <oerjän> undo c58a6174e051 \ 6800:2016-02-10 <oerjän> ` sed -i \'s/| lowercase//\' misle/* \ 6786:2016-02-10 <oerjän> ` sed -i \'s/Learned/Was lied to about/\' misle/* \ 6783:2016-02-10 <oerjän> ` mkdir misle; cp le/* misle; sed -i \'s/wisdom/tmflry/g\' misle/*
01:11:41 <shachaf> i've been misled
01:12:37 <fizzie> I've never really understood the concept of tmflry, TBH.
01:12:49 <ais523> why doesn't `foo/bar look in /hackenv/bin/foo/bar?
01:13:13 <fizzie> Because it uses a shell to execute the command.
01:13:21 <fizzie> And "foo/bar" is not looked up in $PATH.
01:13:37 <fizzie> I mean, it doesn't need to do that, but that's the immediate reason.
01:13:42 <ais523> fizzie: well, an actual learndb full of useful information is something many channels benefit from, probably this one would as well; however, nobody seemed inclined to make it and the naming was silly
01:13:49 <ais523> `? INTERCAL
01:13:50 <HackEso> INTERCAL has excellent features for modular program for the enterprise market.
01:13:55 <ais523> `? Brachylog
01:13:56 <HackEso> Brachylog? ¯\(°​_o)/¯
01:13:59 <ais523> `? Jelly
01:14:00 <HackEso> Jelly? ¯\(°​_o)/¯
01:14:08 <ais523> imagine if that give actual summaries of the esolangs
01:14:13 <ais523> it'd be better for conversation
01:14:24 <ais523> as it is, though, people just give esowiki links
01:14:28 <ais523> https://esolangs.org/wiki/INTERCAL etc.
01:14:33 <fizzie> I think the problem is, not all the wisdom entries are foolishness either.
01:14:34 <kingoffrance> `? COME FROM
01:14:35 <HackEso> COME FROM? ¯\(°​_o)/¯
01:15:02 <kingoffrance> `? ¯\(°​_o)/¯
01:15:04 <HackEso> ​¯\(°​_o)/¯ is a misspelling of ¯\(°_o)/¯
01:15:14 <kingoffrance> well that was interesting
01:15:38 <fizzie> I was vaguely considering I might have `!wiki INTERCAL` or some-such make esowiki print out the link plus the first paragraph.
01:16:41 <fizzie> (The convention of using `backtick quoting` for code text doesn't really work for talking about HackEso commands.)
01:16:54 <ais523> do we at least have a command for linking to the wiki?
01:16:56 <ais523> `wiki INTERCAL
01:16:57 <HackEso> https://esolangs.org/wiki/tmp/INTERCAL
01:17:08 <fizzie> Whoops, that looks like a bug.
01:17:10 <ais523> beautiful :-D
01:17:19 <ais523> `cat bin/wiki
01:17:20 <HackEso> cat: bin/wiki: No such file or directory
01:17:24 <ais523> `cat /hackenv/bin/wiki
01:17:24 <HackEso> ​#!/usr/bin/env python \ import sys, os.path, urllib \ if len(sys.argv) <= 1: \ print "https://esolangs.org/" \ else: \ f = os.path.abspath(sys.argv[1]) \ if f.startswith('/hackenv/'): f = f[9:] \ print ("https://esolangs.org/wiki/" + \ urllib.quote(f))
01:17:46 <fizzie> I'm not sure why exactly it treats the argument as a path.
01:18:09 <ais523> nor am I
01:18:25 <fizzie> ^wiki INTERCAL
01:18:25 <fungot> https://esolangs.org/wiki/INTERCAL
01:18:33 <fizzie> We also have the befunge equivalent.
01:18:58 <fizzie> Er, brainfuck equivalent. Kind of.
01:19:01 <ais523> ^wiki ///
01:19:01 <fungot> https://esolangs.org/wiki////
01:19:13 <ais523> ^wiki ;#
01:19:13 <fungot> https://esolangs.org/wiki/;#
01:19:21 <ais523> hmm, I don't think it's doing any sort of escaping
01:19:27 <fizzie> No, it's just a ,[.,]
01:20:06 <ais523> (;# is an esolang, technically, but a really terrible one; it's basically a sub-TC minimalisation of BF to just the + and . commands)
01:20:25 <ais523> (so in a way I'm glad we dont't have an article on it)
01:21:11 <oerjan> `dobg wiki
01:21:12 <HackEso> 11334:2018-01-20 <fizzïe> fetch bin/wiki https://hackego.esolangs.org/get/bin/wiki \ 10393:2017-03-11 <oerjän> ` chmod +x bin/wiki \ 10392:2017-03-11 <oerjän> fetch bin/wiki https://hackego.esolangs.org/get/bin/wiki \ 7080:2016-03-05 <hppavilion[1̈]> rm bin/wiki \ 7079:2016-03-05 <hppavilion[1̈]> ` echo "echo \\"http://esolangs.org/wiki/Main_Page\\"" > bin/wiki
01:21:33 <oerjan> `hurl ../bin/wiki
01:21:34 <HackEso> https://hack.esolangs.org/repo/log/tip/bin/wiki
01:22:22 <fizzie> `slbd wiki//6,7d;s/quote(f)/quote(sys.argv[1])/
01:22:24 <HackEso> wiki//#!/usr/bin/env python \ import sys, os.path, urllib \ if len(sys.argv) <= 1: \ print "https://esolangs.org/" \ else: \ print ("https://esolangs.org/wiki/" + \ urllib.quote(sys.argv[1]))
01:22:26 <ais523> there is something very weird about a 1 with an umlaut on it :-D
01:22:27 <fizzie> Let's give that a try.
01:22:35 <fizzie> `wiki INTERCAL
01:22:35 <HackEso> https://esolangs.org/wiki/INTERCAL
01:22:36 <ais523> accented digits isn't something I'd even considered
01:22:54 <ais523> `wiki ;#
01:22:55 <HackEso> https://esolangs.org/wiki/%3B%23
01:24:43 <oerjan> `hurl ../bin/url
01:24:44 <HackEso> https://hack.esolangs.org/repo/log/tip/bin/url
01:25:33 <fizzie> Right, maybe it was adapted from url and/or suchlike.
01:26:14 <shachaf> Wasn't clearing tmp/ supposed to be supported?
01:26:17 <ais523> `unicode COMBINING CEDILLA
01:26:18 <HackEso> ​̧
01:26:30 <ais523> 5
01:26:51 <oerjan> fizzie: i must have done it by i don't remember
01:26:54 <ais523> I meant ​5̧
01:27:04 <shachaf> Is the state in tmp/ now required for le/rn operation?
01:27:12 <fizzie> Yes. It is a shame.
01:27:27 <ais523> hmm my client renders that 5-cedilla pretty well
01:27:36 <ais523> s/hmm/hmm,/
01:29:25 <oerjan> <shachaf> Wasn't clearing tmp/ supposed to be supported? <-- yes, but now we have a choice between that and keeping le/rn working.
01:30:57 <oerjan> or fizzie could add a hack to catch /-containing commands
01:32:20 <fizzie> I could make ` in general just do a custom lookup, it's already kind of a non-standard parsing.
01:32:45 <fizzie> In that it splits on first space to form the command and its full argument.
01:38:21 <ais523> hmm, I assume you can't just hardcode it to run /hackenv/bin/command because you need to be able to run commands like ls too
01:38:23 -!- kspalaiologos has quit (Ping timeout: 250 seconds).
01:46:01 <oerjan> was HackEgo on CaC from the start? i vaguely think otherwise.
01:46:45 <oerjan> hm no it wasn't, there was at least one move that changed stuff
01:46:54 <oerjan> when it colocated with the wiki
01:47:23 <fizzie> The very first join is from codu.xen.prgmr.com.
01:47:54 <esowiki> [[HackEso]] https://esolangs.org/w/index.php?diff=67244&oldid=67233 * Oerjan * (+71) Fix a few errors and mention hurl
01:50:55 <fizzie> The hosts my logs have seen are HackEgo!~HackEgo@162.248.166.242 (CaC, 57k lines), HackEgo!codu@codu.org (who knows where, 12k lines), HackEgo!dlopen@libdl.so (ditto, 5.8k lines) and a few less common ones, including HackEgo!n=HackEgo@codu.xen.prgmr.com, HackEgo!dlopen@64.62.173.65.
01:51:13 <fizzie> Also, the way the command and arguments flow through all the levels is pretty awkward.
01:53:04 * oerjan remembers libdl.so
01:55:04 <oerjan> <b_jonas> do you suppose this change is ok? <-- i don't see a rule that it is violating, which is sort of not in the spirit
01:59:05 <fizzie> First, in PRIVMSG/tr_60.cmd (called by multibot for trigger character `) it's split into the command and an optional argument on the first space. Then it calls lib/sandbox with Python subprocess.Popen. That next uses Python subprocess.call to form the umlbox command line: 'nice', '-n10', '/usr/bin/umlbox', ..., '.../limits', 'cmd', 'argument stuff'. Then umlbox shell-escapes all the arguments and
01:59:11 <fizzie> concatenates the results into a 'run' command in the umlbox config file. The umlbox init reads that, and invokes the result using system() -- so passing through a shell at that point. Finally, that triggers the lib/limits script, which sets a few ulimit values and uses bash exec to run the actual command.
02:00:16 <fizzie> `` cat /proc/$PPID/cmdline
02:00:19 <HackEso> sh.-c.'/srv/hackeso-code/multibot_cmds/lib/limits' '`' 'cat /proc/$PPID/cmdline' | cat.
02:00:40 <fizzie> Such a house of cards.
02:01:47 <shachaf> oerjan: Well, maybe subdirectories of tmp/ can be version-controlled.
02:02:05 <shachaf> Or maybe there can be some thing that detects when tmp/ is cleared and puts the things back.
02:05:50 -!- LKoen has quit (Remote host closed the connection).
02:10:33 * oerjan thinks today's schlock mercenary looks a bit inconsistent with the previous claim that most AIs aren't easily copyable
02:50:43 -!- imode has joined.
02:52:49 <shachaf> I think maybe I'm still missing something about non-chronological backjumping.
03:10:27 -!- ais523 has quit (Quit: quit).
03:13:56 <oerjan> `url ../bin/addquote
03:13:57 <HackEso> https://hack.esolangs.org/repo/file/tip/bin/addquote
03:14:29 <oerjan> `url ../bin/delquote
03:14:29 <shachaf> ../hello/oerjan
03:14:30 <HackEso> https://hack.esolangs.org/repo/file/tip/bin/delquote
03:14:53 <oerjan> hi/chaf
03:15:09 <oerjan> thought so
03:15:24 <oerjan> `` ls -l ../share/quotes
03:15:25 <HackEso> lrwxrwxrwx 1 1000 1000 9 Nov 18 10:40 ../share/quotes -> ../quotes
03:15:35 <oerjan> `` rm ../share/quotes
03:15:37 <HackEso> No output.
03:15:59 <oerjan> delquote works in a way that will break if it's a symbolic link
03:17:07 <shachaf> oerjan: ENOENT
03:17:18 <shachaf> did you mean /hackenv/hi/chaf
03:18:37 <oerjan> ENO
03:19:02 <shachaf> You know how it's megaconfusing when executing a file yields ENOENT even though it exists?
03:20:20 <oerjan> b_jonas: ^
03:20:31 <oerjan> EYESENT
03:20:46 <oerjan> (not really)
03:21:24 <shachaf> `` ls -l program
03:21:25 <HackEso> ​-rwxr-xr-x 1 1000 1000 1576 Nov 19 03:20 program
03:21:28 <shachaf> `` ./program
03:21:28 <HackEso> ​/hackenv/bin/`: line 5: ./program: No such file or directory
03:21:50 <shachaf> `` strace ./program
03:21:51 <HackEso> execve("./program", ["./program"], 0x7fbf90dce0 /* 15 vars */) = -1 ENOENT (No such file or directory) \ strace: exec: No such file or directory \ +++ exited with 1 +++
03:21:53 * oerjan instantly wanted to `doag that
03:21:57 <oerjan> then remembered
03:22:06 <shachaf> sorry
03:22:11 <shachaf> `` ../tmp/program # hth
03:22:12 <HackEso> ​/hackenv/bin/`: line 5: ../tmp/program: No such file or directory
03:23:40 <shachaf> kmc: puzzle hth
03:23:49 <oerjan> this is a conceptual problem: since files in tmp/ have no repo history, it can be hard to know why they were put there, and therefore whether they're worth saving
03:24:10 <shachaf> I guess it's not a very good puzzle because we've already talked about it.
03:24:22 <shachaf> oerjan: Wasn't the hg repository supposed to solve this problem in the first place?
03:24:26 <oerjan> and the change of pwd encourages people to put things there by accident
03:24:36 <shachaf> The idea was just that no one would care about hg history and it would describe everything.
03:24:36 <oerjan> shachaf: EFULLCIRCLE
03:24:48 <shachaf> So the solution is obvious: Add a second hg repository for tmp/.
03:25:05 <oerjan> EBRILLIANT
03:26:06 <shachaf> As an alternative, I propose something like automatic deletion of tmp/ every day.
03:26:09 <shachaf> Or every hour.
03:26:13 <shachaf> Or maybe just deleting old files automatically.
03:26:28 <shachaf> `` ls
03:26:29 <HackEso> a.c \ a.out \ as-encoding \ asmbf-1.1.1 \ banana.txt \ bfi \ compiled_brachylog.pl \ hexdump.hex \ input.brachylog \ jeval.whatis \ just \ karma \ le \ out \ OUT \ out.a \ out.a.hd \ out.a.xxd \ paste \ program \ single-word-character-names \ spline \ spout \ spout.raw \ temp.b \ test.sh \ tmp-interp \ tmp.txt \ uptime.out
03:28:45 <oerjan> maybe we should warn kspalaiologos before doing it. i think his asmbf workflow isn't quite compatible at the moment.
03:30:02 <shachaf> Also, you can apparently hg add things inside hgignored directories.
03:30:05 <shachaf> fizzie: ☝
03:30:14 <oerjan> oh that's true
03:30:25 <shachaf> Though that requires superpowers which isn't in the spirit of le/rn
03:30:58 <oerjan> hm
03:31:35 <fizzie> I'm a little worried about the complexity of tmp handling to add version-controlled stuff inside it. I think I'll rather adjust `foo/bar to look for /hackenv/bin/foo/bar (in some shape or form, we'll see), which'll also mean you no longer need even the /hackenv/le, all the binaries can be in bin.
03:32:36 <shachaf> Or maybe we can just get rid of le/rn etc. which are silly commands anyway?
03:32:46 <shachaf> It could be called slashlearn, for instance.
03:32:58 <shachaf> Or lern or lrn or lesrn or le\rn
03:34:00 <oerjan> `` sort -t | tac
03:34:00 <HackEso> sort: option requires an argument -- 't' \ Try 'sort --help' for more information.
03:34:26 <oerjan> `` ls -t | tac
03:34:27 <HackEso> jeval.whatis \ tmp.txt \ out \ out.a \ OUT \ out.a.xxd \ out.a.hd \ a.c \ as-encoding \ single-word-character-names \ a.out \ hexdump.hex \ test.sh \ asmbf-1.1.1 \ just \ banana.txt \ le \ karma \ tmp-interp \ uptime.out \ spout.raw \ spout \ spline \ input.brachylog \ compiled_brachylog.pl \ paste \ temp.b \ bfi \ program
03:34:42 <fizzie> In related news, I would like a config option that can disable .hgignore. Then I could set up .hg/hgrc to point at a read-only ignore file.
03:35:20 <shachaf> Why shouldn't .hgignore belong to the people?
03:35:32 <fizzie> Because it's too hard to make things work sanely.
03:35:42 <fizzie> It doesn't belong to the people any more anyway.
03:35:43 <oerjan> `` ls -t | tac | head -n 12 | xargs rm -v
03:35:44 <HackEso> removed 'jeval.whatis' \ removed 'tmp.txt' \ removed 'out' \ removed 'out.a' \ removed 'OUT' \ removed 'out.a.xxd' \ removed 'out.a.hd' \ removed 'a.c' \ removed 'as-encoding' \ removed 'single-word-character-names' \ removed 'a.out' \ removed 'hexdump.hex'
03:35:46 <shachaf> Is that a goal?
03:35:59 <shachaf> I know it doesn't, but maybe it oughtta.
03:36:02 <oerjan> (compromise)
03:36:03 <fizzie> It's my goal, since I have to pretend to administer that thing.
03:36:17 <shachaf> Hey, you deleted out.a!
03:36:26 <oerjan> what was that for?
03:36:30 <fizzie> get.out.a.here
03:36:43 <shachaf> It was a variant of ./program
03:36:46 <shachaf> `` ./program
03:36:47 <HackEso> ​/hackenv/bin/`: line 5: ./program: No such file or directory
03:36:51 <shachaf> Oh no, ./program is gone too?!
03:36:52 <oerjan> shachaf: well it was OLD
03:37:30 <fizzie> (Incidentally, one way to "disable" .hgignore would be to only mount a subdirectory of the repository as /hackenv.)
03:37:34 <oerjan> (maybe not _that_ old, but i deleted the 12 oldest files)
03:37:48 <fizzie> (But moving every file into a subdirectory would be the mother of all scowrevs.)
03:37:52 <fizzie> (Anyway, sleep mode.)
03:38:20 <fizzie> (Well, I could always rewrite history so that it looked like it always had been like that.)
03:40:44 <oerjan> `` ls -t | tac
03:40:45 <HackEso> test.sh \ asmbf-1.1.1 \ just \ banana.txt \ le \ karma \ tmp-interp \ uptime.out \ spout.raw \ spout \ spline \ input.brachylog \ compiled_brachylog.pl \ paste \ temp.b \ bfi \ program
03:40:57 <oerjan> shachaf: program is still there
03:42:46 <oerjan> (wait that's the joke isn't it)
03:43:16 <oerjan> `cbt sport
03:43:17 <HackEso> cat "${2:-/dev/stdin}" >$HACKENV/tmp/spout.raw; distort $HACKENV/tmp/spout.raw | spore "${1-1}"
03:43:20 <oerjan> `cbt spore
03:43:21 <HackEso> cat "${2:-/dev/stdin}" > $HACKENV/tmp/spout; spam "${1-1}"
03:43:50 <oerjan> hm
03:43:59 -!- hppavilion[1] has quit (Ping timeout: 246 seconds).
03:44:22 <oerjan> `slbd sport s,$HACKENV,,g
03:44:22 <HackEso> usage: sled file//script
03:44:30 <oerjan> `slbd sport//s,$HACKENV,,g
03:44:32 <HackEso> sport//cat "${2:-/dev/stdin}" >/tmp/spout.raw; distort /tmp/spout.raw | spore "${1-1}"
03:44:51 <oerjan> i don't think there's any reason to have that file persistent
03:45:13 <oerjan> `rm spout.raw
03:45:14 <HackEso> No output.
03:45:40 <oerjan> `` rm -v *brachylog*
03:45:40 <HackEso> removed 'compiled_brachylog.pl' \ removed 'input.brachylog'
03:45:55 <oerjan> and fizzie moved those to /tmp as well afaiu
03:46:37 <oerjan> `url ../bin/uptime
03:46:38 <HackEso> https://hack.esolangs.org/repo/file/tip/bin/uptime
03:47:33 <oerjan> `url uptime.out
03:47:34 <HackEso> https://hack.esolangs.org/tmp/uptime.out
03:48:17 <oerjan> seems like debugging output
03:52:17 -!- MDude has quit (Ping timeout: 240 seconds).
03:52:18 <oerjan> ^show
03:52:18 <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
03:52:39 <oerjan> ^show bf
03:52:39 <fungot> (^bf -- evaluates brainfuck)S
03:53:27 <oerjan> ^show def
03:53:27 <fungot> (hai)S
03:53:42 <oerjan> ^def
03:53:42 <fungot> hai
03:54:45 <oerjan> ^str
04:20:06 <shachaf> oerjan: That was a sort of joke, yep.
04:26:16 <oerjan> OKAY
04:50:56 -!- imode has quit (Ping timeout: 240 seconds).
05:07:59 <kmc> helo
05:08:02 <kmc> what's puzzle
05:08:07 <kmc> shachaf^
05:08:32 <kmc> I had some EtOH
05:08:39 <kmc> I'm sauzzled
05:54:32 <esowiki> [[User:Zemeckis]] https://esolangs.org/w/index.php?diff=67245&oldid=50152 * Zemeckis * (-98)
05:59:19 <shachaf> `` ls -l program
05:59:20 <HackEso> ​-rwxr-xr-x 1 1000 1000 1576 Nov 19 03:20 program
05:59:23 <shachaf> `` ./program
05:59:24 <HackEso> ​/hackenv/bin/`: line 5: ./program: No such file or directory
05:59:27 <shachaf> `` strace ./program
05:59:28 <HackEso> execve("./program", ["./program"], 0x7fbfc5dce0 /* 15 vars */) = -1 ENOENT (No such file or directory) \ strace: exec: No such file or directory \ +++ exited with 1 +++
05:59:58 <shachaf> kmc: that hth
06:17:13 <esowiki> [[Zemeckis]] N https://esolangs.org/w/index.php?oldid=67246 * Zemeckis * (+28) Redirected page to [[User:Zemeckis]]
06:25:10 <esowiki> [[JUSTIF]] https://esolangs.org/w/index.php?diff=67247&oldid=62061 * Voltage2007 * (+5)
06:46:43 <esowiki> [[Zemeckis]] https://esolangs.org/w/index.php?diff=67248&oldid=67246 * Zemeckis * (-28) Blanked the page
06:58:02 -!- arseniiv has joined.
07:00:53 -!- ineiros has quit (Remote host closed the connection).
07:03:27 <esowiki> [[4DChess]] N https://esolangs.org/w/index.php?oldid=67249 * Zemeckis * (+3027) Page created.
07:03:55 <esowiki> [[4DChess]] M https://esolangs.org/w/index.php?diff=67250&oldid=67249 * Zemeckis * (-1)
07:06:02 <esowiki> [[Talk:4DChess]] N https://esolangs.org/w/index.php?oldid=67251 * Zemeckis * (+140) Created page with "Feel free to improve anything in any way you see fit. ~~~~"
07:06:52 <esowiki> [[User:Zemeckis]] M https://esolangs.org/w/index.php?diff=67252&oldid=67245 * Zemeckis * (+14) /* Projects */
07:07:48 <esowiki> [[BurgerFlipper]] https://esolangs.org/w/index.php?diff=67253&oldid=50159 * Zemeckis * (+23)
07:09:02 <esowiki> [[BurgerFlipper]] https://esolangs.org/w/index.php?diff=67254&oldid=67253 * Zemeckis * (-23) Undo revision 67253 by [[Special:Contributions/Zemeckis|Zemeckis]] ([[User talk:Zemeckis|talk]])
07:18:08 <esowiki> [[4DChess]] M https://esolangs.org/w/index.php?diff=67255&oldid=67250 * Zemeckis * (+60)
07:22:45 <int-e> It seems Schlock got himself a kind of shoulder angel.
07:22:47 <kmc> EtOH
07:25:27 <esowiki> [[Special:Log/delete]] delete * Oerjan * deleted "[[Zemeckis]]": Author request: content before blanking was: "#REDIRECT [[User: Zemeckis]]"
07:27:08 <esowiki> [[BurgerFlipper]] M https://esolangs.org/w/index.php?diff=67256&oldid=67254 * Zemeckis * (+0)
07:27:09 <oerjan> int-e: just watch out for the shoulder devil
07:27:27 <esowiki> [[BurgerFlipper]] https://esolangs.org/w/index.php?diff=67257&oldid=67256 * Zemeckis * (+0) Undo revision 67256 by [[Special:Contributions/Zemeckis|Zemeckis]] ([[User talk:Zemeckis|talk]])
07:27:42 <esowiki> [[BurgerFlipper]] https://esolangs.org/w/index.php?diff=67258&oldid=67257 * Zemeckis * (+0)
07:29:15 <int-e> oerjan: I'm sure she has the capacity to be both./
07:31:51 <oerjan> given the neighborhood, i was imagining something more tentacly
07:32:51 <int-e> we'll see
07:33:18 <esowiki> [[4DChess]] M https://esolangs.org/w/index.php?diff=67259&oldid=67255 * Zemeckis * (+6)
07:35:01 -!- mniip has joined.
07:39:58 <kmc> 9
07:43:50 -!- kspalaiologos has joined.
07:44:03 <kspalaiologos> Greetings
07:44:21 <kspalaiologos> `asmbfx out n.A
07:44:21 <HackEso> No output.
07:44:29 <kspalaiologos> `asmbfx out .A
07:44:30 <HackEso> A
07:44:37 <kspalaiologos> Yeah it works
07:46:22 <int-e> . o O ( Что EtOH? )
07:46:59 <int-e> (Not a real question; I duckduckwent.)
07:48:00 <kspalaiologos> ??
07:51:37 <kspalaiologos> `asmbfx lbl 1/out .A/jmp 1
07:51:52 <kspalaiologos> I'm curious what happens
07:51:58 <kspalaiologos> It seems like it hanged
07:52:07 <kspalaiologos> Yeah
07:52:13 <kspalaiologos> It's dead
07:52:27 <kspalaiologos> `asmbf
07:52:35 <kspalaiologos> ``` ls
07:52:36 <HackEso> asmbf-1.1.1 \ banana.txt \ bfi \ just \ karma \ le \ paste \ program \ spline \ spout \ temp.b \ test.sh \ tmp-interp \ uptime.out
07:52:57 <HackEso> No output.
07:54:07 <int-e> `` du -s paste
07:54:09 <HackEso> 816paste
08:04:42 <oerjan> kspalaiologos: i cleaned up the tmp directory a bit (mostly older stuff)
08:05:19 <int-e> `stat le
08:05:20 <HackEso> ​ File: le -> /hackenv/le \ Size: 11 Blocks: 0 IO Block: 1024 symbolic link \ Device: 12h/18dInode: 1206924 Links: 1 \ Access: (0777/lrwxrwxrwx) Uid: ( 1000/ UNKNOWN) Gid: ( 1000/ UNKNOWN) \ Access: 2019-11-16 21:29:43.000000000 +0000 \ Modify: 2019-11-16 21:29:43.000000000 +0000 \ Change: 2019-11-16 21:29:43.000000000 +0000 \ Birth: -
08:05:42 <int-e> (hmm, perhaps the most spammy way to figure out that's a symlink)
08:06:26 <oerjan> tried to stop before your recent additions, though
08:06:55 <oerjan> (although everything in tmp _is_ in principle temporary)
08:07:50 <oerjan> `1 stat le
08:07:51 <HackEso> 1/1: File: le -> /hackenv/le \ Size: 11 Blocks: 0 IO Block: 1024 symbolic link \ Device: 12h/18dInode: 1206924 Links: 1 \ Access: (0777/lrwxrwxrwx) Uid: ( 1000/ UNKNOWN) Gid: ( 1000/ UNKNOWN) \ Access: 2019-11-16 21:29:43.000000000 +0000 \ Modify: 2019-11-16 21:29:43.000000000 +0000 \ Change: 2019-11-16 21:29:43.000000000 +0000 \ Birth: -
08:08:10 <oerjan> hm it wasn't cut off, so you _could_ get longer
08:08:35 <int-e> yeah, it wasn't really meant as a challenge
08:08:42 <oerjan> (come to think of it, i should have used `2)
08:09:06 <oerjan> anyway
08:09:15 -!- oerjan has quit (Quit: Nite).
08:40:21 <b_jonas> "<ais523> hah, I didn't even realise that we created /tmp from inside HackEso, I assumed it was hardcoded" => it is also hardcoded, since you can access tmp through the web interface directly like https://hack.esolangs.org/tmp/banana.txt
08:43:33 <kspalaiologos> ``` asmbf mov r1, 3
08:43:34 <HackEso> ​+>+[<[>>+>+<<<-]>>[<<+>>-]>[[-]>>[-]+++<<]<<<[>>+>+<<<-]>>[<<+>>-]>[[-]<<<[-]>[-]>>]<<]
08:43:37 <kspalaiologos> ?
08:43:50 <kspalaiologos> `asmbf mov r1,2
08:43:51 <HackEso> ​+>+[<[>>+>+<<<-]>>[<<+>>-]>[[-]>>[-]++<<]<<<[>>+>+<<<-]>>[<<+>>-]>[[-]<<<[-]>[-]>>]<<]
08:44:13 <kspalaiologos> `asmbfx lbl 1/out 48/jmp 1
08:44:14 <HackEso> 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
08:44:18 <kspalaiologos> Works
08:47:32 <kspalaiologos> ``` ./labels.pl <<<"@x1y1/%x1y1"
08:47:33 <HackEso> bash: ./labels.pl: No such file or directory
08:47:50 <kspalaiologos> ``` labels.pl <<<"@x1y1/%x1y1
08:47:51 <HackEso> bash: -c: line 0: unexpected EOF while looking for matching `"' \ bash: -c: line 1: syntax error: unexpected end of file
08:48:01 -!- kspalaiologos has quit (Remote host closed the connection).
08:48:09 -!- kspalaiologos has joined.
08:48:16 <kspalaiologos> My client crashed
08:48:42 <kspalaiologos> ``` labels.pl <<<"@x1y1/%x1y1"
08:48:43 <HackEso> lbl 1
08:48:51 <kspalaiologos> It's bricked
08:49:00 <kspalaiologos> For some bizzare reason
08:49:20 <kspalaiologos> ``` labels.pl <<<"@x1y1/%x1y1" > tmp.s
08:49:21 <HackEso> No output.
08:49:29 <kspalaiologos> ``` cat tmp.b
08:49:30 <HackEso> cat: tmp.b: No such file or directory
08:49:41 <kspalaiologos> ``` cat tmp.s
08:49:42 <HackEso> lbl 1
08:49:53 <kspalaiologos> ``` rm tmp.s
08:49:54 <HackEso> No output.
08:52:54 <b_jonas> oerjan: re share/quotes , yeah, I even mentioned that a symlink to the writable file is a bit tricky because something could overwrite it with a regular file. I should have realized that that implies the whole symlink thing is a bad idea and shouldn't exist, because you can't safely change commands over without desyncing it.
08:53:08 <b_jonas> so we're better with no symlink, and changing over in an incompatible way if we want
08:53:41 <b_jonas> (or change over in a more complex way, but still without a symlink)
08:56:10 <b_jonas> oerjan: re tmp history, I just suggested that we could solve that for paste only going forward, by making paste log the filename and the IRC_* environment variables somewhere under tmp
08:58:31 <b_jonas> that would let people like me search and clean up their own pastes
09:07:36 -!- b_jonas has quit (Quit: leaving).
09:10:25 -!- tromp_ has joined.
09:12:17 -!- tromp has quit (Ping timeout: 246 seconds).
09:50:01 -!- sprocklem has quit (Ping timeout: 265 seconds).
09:55:32 -!- sprocklem has joined.
10:01:08 -!- wib_jonas has joined.
10:05:58 -!- sprocklem has quit (Ping timeout: 265 seconds).
10:21:33 -!- sprocklem has joined.
10:23:40 -!- Sgeo__ has quit (Read error: Connection reset by peer).
10:24:07 -!- Sgeo__ has joined.
10:27:08 -!- ArthurStrong has quit (Quit: leaving).
10:36:19 <wib_jonas> ``` echo $$
10:36:21 <HackEso> 55
10:36:22 <wib_jonas> ``` echo $$
10:36:23 <HackEso> 55
10:36:24 <wib_jonas> ``` echo $$
10:36:25 <HackEso> 55
10:38:13 <wib_jonas> I recall when people saved a few bytes in some golf programs on anagol by repeatedly submtiting until the pid became just what they want
10:38:27 <wib_jonas> that doesn't work easily in HackEso because you always get the same pid
10:39:59 <wib_jonas> apparently the first process of the command always gets the pid 53, but the triple backtick spawns a few more
10:44:47 <wib_jonas> the anagol server even has a tool for that
11:03:01 <fizzie> Realized I could make /hackenv/tmp more easily un-mess-uppable and stop playing around with .hgignore by just moving it outside the repository completely, and mounting it separately into the umlbox. Not sure if hg would cross a filesystem boundary when looking up the .hg directory. (Git has that special GIT_DISCOVERY_ACROSS_FILESYSTEM option.)
11:04:19 <wib_jonas> fizzie: you could make it a symlink to a directory outside /hackenv, then hg surely won't follow it
11:07:00 <fizzie> I meant more that it would be desirable for 'hg' commands inside umlbox to ascend from /hackenv/tmp to /hackenv to find /hackenv/.hg, so that the read-only version control commands work without changing the working directory.
11:07:36 <fizzie> (When executing the actions outside the sandbox, there would be no tmp, so nothing to follow.)
11:09:29 <wib_jonas> ah
11:09:35 <wib_jonas> yes, that would make sense
11:10:33 <wib_jonas> ``` cat /hackenv/bin/lastfiles
11:10:34 <HackEso> hg log --removed -l 1 --template "$HACKENV/{join(files,'\n$HACKENV/')}\n" -- "$@"
11:10:39 <wib_jonas> ``` lastfiles
11:10:40 <HackEso> ​/hackenv/bin/sport
11:10:44 <wib_jonas> ``` set -e; cd /; lastfiles
11:10:45 <HackEso> abort: no repository found in '/' (.hg not found)!
11:10:57 <wib_jonas> we'd have to change those scripts too for robustness
11:11:45 <kspalaiologos> `;`
11:11:45 <HackEso> ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ;`: not found
11:11:49 <int-e> @metar lowi
11:11:50 <kspalaiologos> Oops
11:11:51 <lambdabot> LOWI 191050Z 27003KT 230V320 9999 SCT012 BKN080 03/01 Q1015 NOSIG
11:11:52 <fizzie> Well, it might work across a mount point. I couldn't (quickly) find anything saying it doesn't.
11:11:57 <kspalaiologos> @help
11:11:57 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
11:12:04 <kspalaiologos> @list
11:12:04 <lambdabot> What module? Try @listmodules for some ideas.
11:12:09 <kspalaiologos> ...?
11:12:14 <kspalaiologos> @listmodules
11:12:15 <lambdabot> activity base bf check compose dice dict djinn dummy elite eval filter free fresh haddock help hoogle instances irc karma localtime metar more oeis offlineRC pl pointful poll pretty quote search
11:12:15 <lambdabot> slap source spell system tell ticker todo topic type undo unlambda unmtl version where
11:12:30 <wib_jonas> which commands do something like lastfiles, as in, accessing the whole repository rather than just the working dir?
11:12:45 <kspalaiologos> @bf ,[.,]!stuff
11:12:45 <lambdabot> Done.
11:12:59 <kspalaiologos> @dice
11:12:59 <lambdabot> unexpected end of input: expecting number, "d" or "("
11:13:03 <kspalaiologos> ?
11:13:07 <kspalaiologos> @karma
11:13:07 <lambdabot> You have a karma of 0
11:13:10 <wib_jonas> @dice d6
11:13:11 <lambdabot> wib_jonas: 5
11:13:26 <kspalaiologos> @pl print "perl?";
11:13:26 <lambdabot> (line 1, column 14):
11:13:26 <lambdabot> unexpected ';'
11:13:26 <lambdabot> expecting variable, "(", operator or end of input
11:13:30 <fizzie> I would imagine everything to do with history would have issues with it, if it's a problem in the first place.
11:13:39 <kspalaiologos> ^8ball
11:13:40 <fungot> ...out of time!
11:14:01 <fizzie> Even if they pass a path to a specific file, I imagine the working directory needs to be inside the repository?
11:14:05 <kspalaiologos> Fungot is still broken
11:14:11 <wib_jonas> ``` set -e; cd /; hg log -T "{date|shortdate}\n" hackenv/wisdom/b_jonas
11:14:14 <HackEso> 2019-06-09 \ 2016-01-18 \ 2016-01-17
11:14:18 <kspalaiologos> I'll get my bot sorted out today
11:14:32 <wib_jonas> fizzie: no, that's how git works. hg and svn work the sane way, searching for the repo starting from the file that you target
11:14:41 <fizzie> Hmm, interesting.
11:15:39 <wib_jonas> fizzie: for git you need a stupid workaround like specifying the git repository in an env-var directly. mind you, it's a good thing that that's _permitted_, since sometimes you want the repo to be in a place other than the working copy without creating even the workspace .git file that gives just the name of the repo
11:25:57 -!- kspalaiologos has quit (Read error: Connection reset by peer).
11:39:04 <fizzie> Hm, I guess one problem with a /hackenv/tmp without .hgignore is that 'hg' commands inside the box would still think they're new files, so something like "hg status" would contain misleading entries. Don't think that would necessarily break any scripts, but it's still unfortunate.
11:39:48 <fizzie> OTOH moving it out of the tree even inside to something like /hacktmp *would* break `lastfiles and similar, as well as the "../bin" paths people seem to use interactively.
12:04:00 <wib_jonas> fizzie: um what? why would you have it without .hgignore if it's inside /hackenv/tmp ?
12:04:56 <wib_jonas> 'the "../bin" paths people seem to use interactively' => I use /hackenv interactively, but sure
12:10:06 <fizzie> If the real path is outside /hackenv and I just mount it into /hackenv/tmp in umlbox, I don't need a .hgignore for the commits to ignore it, because it won't even be there.
12:11:01 <wib_jonas> fizzie: but the .hgignore is used inside the sandbox too, and in there, /hackenv/tmp is there, so I think the .hgignore should mention it
12:11:21 <wib_jonas> I don't see why you wouldn't put it there. even outside the sandbox, where the directory is not present, it's not a problem to have it in .hgignore
12:12:03 <wib_jonas> it is a feature that the files listed in .hgignore need not exist, because they're often used for things like compiler output files, which you can clean
12:12:36 <fizzie> Well, the whole reason I was contemplating moving it to a separate mount was to avoid having to rely on .hgignore.
12:13:36 <wib_jonas> fizzie: would hg even notice that it's on a separate mount if it's bind-mounted? it's quite nontrivial to ask from linux which directories are mount points, so programs use the quick heuristics of just checking the st_dev field of stat, which may fail for a bind mount
12:14:07 <fizzie> It wouldn't be actually bind-mounted.
12:14:28 <fizzie> It would be a separate hostfs mount.
12:14:33 <wib_jonas> there are better ways, apparently the best is to try to rename the directory to inside itself and checking what error it fails with or some such crazy shit that I don't recall
12:14:54 <wib_jonas> ok
12:15:03 <wib_jonas> then maybe the st_dev will differ, let me check
12:16:49 <fizzie> Aaanyway, I might not bother doing it, doesn't seem like it's really all that beneficial. I guess it would stop people from removing the directory completely.
12:17:40 <wib_jonas> ``` stat -c "%d %n" /lib /usr /hackenv /hackenv/tmp /hackenv/wisdom
12:17:41 <HackEso> 15 /lib \ 13 /usr \ 18 /hackenv \ 18 /hackenv/tmp \ 18 /hackenv/wisdom
12:17:59 <wib_jonas> you're right, the st_dev seems to differ
14:10:56 -!- imode has joined.
15:09:17 -!- imode has quit (Ping timeout: 252 seconds).
15:19:57 -!- kspalaiologos has joined.
15:21:06 <kspalaiologos> Just a couple of minutes and my bot will be hopefully finished
15:21:21 <kspalaiologos> I need someone to help me out testing it
15:37:03 <wib_jonas> kspalaiologos: I think you should know better than to say things like "just a few minutes ... finished"
15:38:07 <kspalaiologos> I don't seem to understand
15:38:25 <kspalaiologos> can you simplify, what do you mean?
15:38:43 <wib_jonas> kspalaiologos: when you think it's just a few minutes to finish, it always takes longer than taht
15:38:51 <wib_jonas> so you shouldn't announce that it's just a few minutes
15:39:02 <kspalaiologos> It's pretty much done now
15:39:17 <kspalaiologos> 36-19=17 minutes
15:39:55 <wib_jonas> bfbot echo gCI_oyKp2bE-
15:40:52 <kspalaiologos> it's not there
15:40:55 <kspalaiologos> it's in the other channel
15:40:57 <kspalaiologos> but I'm testing it now
15:41:01 <kspalaiologos> and I have undefined the echo command
16:10:11 -!- moony has quit (Ping timeout: 246 seconds).
16:13:12 -!- moony has joined.
16:22:26 -!- moony has quit (Ping timeout: 240 seconds).
16:24:03 -!- iczero has quit (Ping timeout: 264 seconds).
16:25:48 -!- lldd_ has joined.
16:27:48 -!- moony has joined.
16:27:55 -!- iczero has joined.
16:54:18 -!- wib_jonas has quit (Remote host closed the connection).
17:01:20 -!- bfbot has joined.
17:01:26 <kspalaiologos> so
17:01:28 <kspalaiologos> bfbot is now live
17:01:35 <kspalaiologos> =help
17:01:36 <bfbot> bfbot is a bot executing brainfuck natively. You may add your very own commands to the bot.
17:01:36 <bfbot> Commands: =str =def =undef =list =plist =doc
17:04:11 <esowiki> [[User talk:Palaiologos]] https://esolangs.org/w/index.php?diff=67260&oldid=66649 * Palaiologos * (+199)
17:18:05 <kspalaiologos> =str 0s Hello
17:18:06 <bfbot> ok
17:28:27 <kspalaiologos> =str 0s ,[.,]
17:28:28 <bfbot> ok
17:28:31 <kspalaiologos> =def 0echo
17:28:31 <bfbot> ok, defined 'echo'
17:28:36 <kspalaiologos> =echo greetings
17:28:37 <bfbot> greetings
17:46:37 -!- sprocklem has quit (Ping timeout: 240 seconds).
17:51:38 -!- b_jonas has joined.
17:53:58 -!- lldd_ has quit (Quit: Leaving).
17:54:51 <b_jonas> =msg1
17:54:52 <bfbot> ABCDEFGH
17:55:38 <kspalaiologos> note it's temporarily served from my PC
17:55:47 <kspalaiologos> I'll move it to my VPS soon
17:56:20 <b_jonas> =echo foo
17:57:24 <kspalaiologos> =echo foo
17:58:13 <kspalaiologos> what is happening
17:58:14 <kspalaiologos> =help
17:58:23 <kspalaiologos> lol?
17:58:45 <b_jonas> `olist 1187
17:58:46 <HackEso> olist 1187: shachaf oerjan Sgeo FireFly boily nortti b_jonas
17:58:53 <kspalaiologos> what is olist
17:58:59 <b_jonas> `? olist
17:59:00 <HackEso> olist is update notification for the webcomic Order of the Stick. http://www.giantitp.com/comics/ootslatest.html
17:59:04 <b_jonas> `? o
17:59:06 <HackEso> o is a popular comedy fantasy webcomic. It's about a group called the Order of the Stick, as they go about their adventures with minimal competence, and eventually stumble into a plan by an undead sorcerer to conquer the world, and they're out to stop him and conquer their personal problems at the same time. Hopefully not in that order.
17:59:07 <kspalaiologos> fine
17:59:32 <b_jonas> I sent the bot some commands in private message, since it's not on the -blah channel, and now it doesn't react
17:59:35 <b_jonas> =help
17:59:46 <kspalaiologos> hm
17:59:49 <kspalaiologos> something is screwed
18:00:07 -!- bfbot has quit (Ping timeout: 265 seconds).
18:00:40 -!- bfbot has joined.
18:00:42 <kspalaiologos> =help
18:00:43 <bfbot> bfbot is a bot executing brainfuck natively. You may add your very own commands to the bot.
18:00:43 <bfbot> Commands: =str =def =undef =list =plist =doc. More help at https://esolangs.org/wiki/bfbot
18:00:46 <kspalaiologos> can you reproduce it here?
18:01:15 <kspalaiologos> =list
18:01:16 <bfbot> echo msg1
18:01:20 <kspalaiologos> =msg1
18:01:23 <kspalaiologos> =help
18:01:29 <kspalaiologos> nvm figured it out
18:02:18 -!- Panini has joined.
18:02:19 <kspalaiologos> no idea what's up
18:03:32 -!- bfbot has quit (Remote host closed the connection).
18:03:36 <kspalaiologos> very weird
18:03:48 -!- bfbot has joined.
18:03:52 <kspalaiologos> =msg1
18:03:53 <bfbot> ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
18:04:04 <kspalaiologos> the unprintable characters clogged it up
18:04:43 <kspalaiologos> now it kinda works
18:05:47 <kspalaiologos> .
18:05:51 <b_jonas> that doesn't look right. why does the loop end early?
18:05:54 <b_jonas> =str 1s++++++++++++++++[->++++<]>[+.]
18:05:55 <bfbot> ok
18:05:56 <b_jonas> =def 1msg1
18:05:57 <bfbot> ok, defined 'msg1'
18:05:58 <b_jonas> =msg1
18:05:59 <bfbot> ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
18:06:12 <kspalaiologos> non-printables are filtered
18:06:14 <kspalaiologos> from the output
18:06:17 <kspalaiologos> because they clog the bot
18:06:42 <b_jonas> what do you mean by "non-printables"?
18:06:51 <kspalaiologos> everything that is non-printable
18:07:09 <b_jonas> there are only non-printable bytes on irc, they're \0 \r \n
18:07:15 <b_jonas> =str 1s++++++++++++++++[->++++<]>[.+]
18:07:15 <bfbot> ok
18:07:17 <b_jonas> =def 1msg1
18:07:18 <bfbot> ok, defined 'msg1'
18:07:19 <b_jonas> =msg1
18:07:20 <bfbot> @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
18:07:20 <lambdabot> Unknown command, try @list
18:07:29 <b_jonas> now it's not trying to print any of those
18:07:32 <kspalaiologos> you could have started a chain lol
18:07:37 <kspalaiologos> I filtered it out
18:07:40 <kspalaiologos> this solved the issue
18:07:46 <kspalaiologos> no idea why but it did
18:07:55 <kspalaiologos> I'll look into that later
18:08:07 <b_jonas> but how now how to ask the bot to print more characters?
18:08:21 <kspalaiologos> you're doing incorrect brainfuck
18:08:30 <kspalaiologos> the variable is overflowing
18:08:31 <kspalaiologos> so its set to 0
18:08:34 <kspalaiologos> so the loop is ending
18:08:49 <b_jonas> yes, it should end, but only after printing more bytes
18:09:06 <kspalaiologos> how many of them do you expect?
18:09:16 <kspalaiologos> those non-printable are filtered so it doesnt show them
18:09:29 <b_jonas> I expect 192 bytes
18:09:32 <kspalaiologos> tr -dc '[[:print:]]'
18:09:35 <b_jonas> after which it would overflow and the loop stops
18:09:40 <kspalaiologos> is removing other garbage
18:10:02 <kspalaiologos> or
18:10:08 <kspalaiologos> I could replace a nonprintable char with a dot
18:10:11 <kspalaiologos> this seems more like it
18:10:25 <kspalaiologos> =msg1
18:10:26 <bfbot> @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.............................................................................................................................................................................................................................................
18:10:26 <lambdabot> Unknown command, try @list
18:10:29 <kspalaiologos> yeah
18:10:30 <kspalaiologos> here you go
18:13:33 <kspalaiologos> =list
18:13:33 <bfbot> echo msg1
18:13:37 -!- FreeFull has joined.
18:13:40 <b_jonas> =str 1s++++++++++++++++[->++++>++++++>++++++++++++++<<<]>+.>+.>+.
18:13:41 <bfbot> ok
18:13:48 <b_jonas> =def 1msg1
18:13:49 <bfbot> ok, defined 'msg1'
18:13:50 <b_jonas> =msg1
18:13:51 <bfbot> Aa..
18:14:33 <kspalaiologos> =list ????
18:14:34 <bfbot> echo msg1
18:14:41 <kspalaiologos> you can use wildcard
18:14:45 <b_jonas> =str 1s++++++++++++++++[->++++>++++++>++++++++++>++++++++++<<<<]>+.>+.>>+++.<+.
18:14:45 <bfbot> ok
18:14:48 <b_jonas> =def 1msg1
18:14:48 <bfbot> ok, defined 'msg1'
18:14:49 <b_jonas> =msg1
18:14:49 <bfbot> Aa....
18:15:16 <b_jonas> is this thing only willing to output ascii characters now?
18:15:21 <b_jonas> nothing else\
18:15:27 <kspalaiologos> I may change it
18:15:31 <kspalaiologos> but now it seems like yes
18:16:40 <b_jonas> that's sad
18:16:52 <kspalaiologos> what else would you like to print
18:18:15 <b_jonas> ideally any byte other than the three that can't occur in a message \0\r\n
18:18:26 <b_jonas> you can restrict it more, but just ascii printable is quite sever
18:18:33 <kspalaiologos> printing bell may annoy other users
18:18:38 <b_jonas> plus I think it should join the -blah channel so that I don't spam this channel
18:18:48 <b_jonas> only one of them
18:19:05 <kspalaiologos> well you can experiment with it on p,
18:19:08 <kspalaiologos> *pm
18:19:24 <b_jonas> yes, but then you ask "can you reproduce it here" and such
18:19:30 <kspalaiologos> well
18:19:34 <kspalaiologos> I'll get that sorted out
18:19:53 -!- bfbot has quit (Remote host closed the connection).
18:19:59 <kspalaiologos> reload
18:20:08 -!- bfbot has joined.
18:20:12 <kspalaiologos> fine
18:21:18 -!- LKoen has joined.
18:26:39 <Panini> hello
18:26:40 <esowiki> [[Bfbot]] N https://esolangs.org/w/index.php?oldid=67261 * Palaiologos * (+3375) Created page with "'''bfbot''' is an IRC bot written by [[User:Palaiologos]]. bfbot is capable of executing brainfuck (asm2bf, gisa and tiny-c support will be added later on). It's possible to..."
18:26:55 <esowiki> [[Bfbot]] M https://esolangs.org/w/index.php?diff=67262&oldid=67261 * Palaiologos * (-6) Formatting bricked
18:28:11 -!- Panini has quit (Quit: Leaving).
18:28:40 -!- Panini has joined.
18:28:40 -!- Panini has quit (Client Quit).
18:29:05 -!- Panini has joined.
18:29:18 -!- bfbot has quit (Remote host closed the connection).
18:41:59 -!- FreeFull has quit.
18:43:50 <esowiki> [[Bfbot]] M https://esolangs.org/w/index.php?diff=67263&oldid=67262 * Palaiologos * (-18) Code blocks
18:44:43 -!- bfbot has joined.
18:46:50 -!- FreeFull has joined.
18:52:22 -!- Panini has quit (Quit: Leaving).
19:10:24 -!- bfbot has quit (Remote host closed the connection).
19:27:11 -!- bfbot has joined.
19:27:15 <kspalaiologos> It's alive!
19:27:19 <kspalaiologos> it's running from my vps
19:27:23 <kspalaiologos> =help
19:27:28 <kspalaiologos> crap
19:28:31 -!- bfbot has quit (Remote host closed the connection).
19:28:42 -!- bfbot has joined.
19:28:45 <kspalaiologos> =help
19:28:51 <kspalaiologos> ...
19:28:53 -!- bfbot has quit (Remote host closed the connection).
19:29:53 -!- bfbot has joined.
19:29:54 <kspalaiologos> =help
19:29:55 <bfbot> bfbot is a bot executing brainfuck natively. You may add your very own commands to the bot.
19:29:55 <bfbot> Commands: =str =def =undef =list =plist =doc. More help at https://esolangs.org/wiki/bfbot
19:29:58 <kspalaiologos> =list
19:29:58 <bfbot> echo msg1
19:29:59 <kspalaiologos> =doc
19:29:59 <bfbot> Incorrect usage! Refer to =help doc
19:30:01 <kspalaiologos> it
19:30:04 <kspalaiologos> 's instant
19:30:08 <kspalaiologos> perfect
19:30:14 -!- bfbot has quit (Remote host closed the connection).
19:30:23 -!- bfbot has joined.
19:30:25 <kspalaiologos> =help
19:30:26 <bfbot> bfbot is a bot executing brainfuck natively. You may add your very own commands to the bot.
19:30:26 <bfbot> Commands: =str =def =undef =list =plist =doc. More help at https://esolangs.org/wiki/bfbot
19:30:28 <kspalaiologos> yeah it's up and running
19:49:17 <esowiki> [[User:Dtuser1337/Sandbox]] https://esolangs.org/w/index.php?diff=67264&oldid=66594 * Dtuser1337 * (-4369) cleaning up because no longer maintained
19:53:31 -!- bfbot has quit (Remote host closed the connection).
19:53:46 -!- bfbot has joined.
19:53:53 -!- bfbot has quit (Remote host closed the connection).
19:54:21 -!- bfbot has joined.
19:59:45 -!- bfbot has quit (Remote host closed the connection).
20:00:14 -!- bfbot has joined.
20:02:05 -!- bfbot has quit (Remote host closed the connection).
20:02:17 -!- bfbot has joined.
20:02:49 <kspalaiologos> a lot of time later
20:02:54 <kspalaiologos> =8ball will you finally work?
20:02:54 <bfbot> It is certain.
20:03:17 -!- bfbot has quit (Remote host closed the connection).
20:03:41 -!- bfbot has joined.
20:04:35 <kspalaiologos> =set 0d
20:04:36 <bfbot> No such command. Try =help.
20:04:44 <kspalaiologos> =set 0d
20:04:44 <bfbot> No such command. Try =help.
20:05:48 <kspalaiologos> =set 0d
20:05:48 <bfbot> No such command. Try =help.
20:05:55 <kspalaiologos> =str 0d
20:05:55 <bfbot> ok
20:07:07 <esowiki> [[Bfbot]] https://esolangs.org/w/index.php?diff=67265&oldid=67263 * Palaiologos * (+106) Repository link
20:29:07 -!- kspalaiologos has quit (Quit: Leaving).
20:30:14 -!- kspalaiologos has joined.
20:35:37 <kspalaiologos> =8ball works
20:35:37 <bfbot> My reply is no.
20:35:41 <kspalaiologos> Pff
21:00:04 -!- sftp has quit (Excess Flood).
21:00:27 -!- sftp has joined.
21:12:40 -!- LKoen has quit (Remote host closed the connection).
21:14:01 -!- LKoen has joined.
21:16:01 <arseniiv> kspalaiologos: oh a new bot!
21:16:10 <kspalaiologos> Yup
21:16:16 <kspalaiologos> =help
21:16:16 <bfbot> bfbot is a bot executing brainfuck natively. You may add your very own commands to the bot.
21:16:16 <bfbot> Commands: =str =def =undef =list =plist =doc. More help at https://esolangs.org/wiki/bfbot
21:18:24 <kspalaiologos> It's very generic
21:18:37 <kspalaiologos> But I hacked it together in ~3h
21:18:42 <arseniiv> maybe there is a need for yet another bot? and I could write mine? (but I’m lazy and I don’t know what for)
21:18:57 <kspalaiologos> Depends
21:19:08 <kspalaiologos> You may extend existing bots
21:19:11 <arseniiv> leave your suggestions :D
21:19:14 <kspalaiologos> And it's simpler task
21:19:26 <arseniiv> yeah I don’t want to read code, I want to write code
21:19:40 <kspalaiologos> You dont need to
21:19:46 <arseniiv> I know
21:19:52 <arseniiv> better code is no code at all
21:20:10 <kspalaiologos> =str 0s ,[.,]
21:20:10 <bfbot> ok
21:20:18 <kspalaiologos> =def simple
21:20:18 <bfbot> Error: Expected a number.
21:20:26 <kspalaiologos> =def 0simple
21:20:27 <bfbot> ok, defined 'simple'
21:20:38 <kspalaiologos> =simple hello arseniiv
21:20:38 <bfbot> hello arseniiv
21:20:40 <arseniiv> though I better finish my constructor analysing thing
21:20:45 <arseniiv> haha :D
21:20:51 <kspalaiologos> =undef simple
21:20:51 <bfbot> ok
21:21:26 <kspalaiologos> I'll be preparing wiki page for one of my languages
21:21:39 <kspalaiologos> And I'm seeking for someone willing to help a bit out
21:21:48 <arseniiv> kspalaiologos: oh, have you tested the bot so it wouldn’t accidentally call a command of itself?
21:21:58 <kspalaiologos> ^thats the fun part
21:22:03 <kspalaiologos> So you can chain commands
21:22:21 <kspalaiologos> And possibly induce a disaster
21:22:34 <arseniiv> <kspalaiologos> And I'm seeking for someone willing to help a bit out => with which tasks?
21:22:47 -!- ArthurStrong has joined.
21:22:47 <kspalaiologos> Proofreading
21:22:49 <arseniiv> =simple =simple =help
21:22:50 <bfbot> No such command. Try =help.
21:22:57 <kspalaiologos> I undefined simple
21:22:59 <kspalaiologos> Lol
21:23:04 <arseniiv> oops
21:23:06 <kspalaiologos> =def 0simple
21:23:06 <bfbot> ok, defined 'simple'
21:23:08 <kspalaiologos> Try again
21:23:13 <arseniiv> as I said I don’t read :P
21:23:19 <arseniiv> =simple =simple =help
21:23:19 <bfbot> =simple =help
21:23:29 <arseniiv> nno
21:23:40 <kspalaiologos> Well so you can write some sketches now
21:23:47 <kspalaiologos> And I'll glue it tomorrow
21:23:56 <kspalaiologos> There is official documentation about the language
21:24:27 <kspalaiologos> We may try chaining it with fungot
21:24:27 <fungot> kspalaiologos: when i " compile/ load time anyway, eg.
21:24:37 <arseniiv> wait wait I’m confused, sketches?
21:24:44 <kspalaiologos> You know
21:24:46 <kspalaiologos> Umm
21:24:48 <arseniiv> I better go sleeping as I don’t parse
21:24:52 <arseniiv> :D
21:24:57 <kspalaiologos> The
21:25:10 <kspalaiologos> First version bits?
21:25:10 <arseniiv> anyway I could proofread maybe!
21:25:17 <kspalaiologos> That's nice
21:25:30 <kspalaiologos> I'll get it written and ping you when it's done tomorrow
21:25:46 <arseniiv> in a basic manner, can’t say I’ll find serious errors if they would occur
21:26:14 <kspalaiologos> Nah I mean comprehensibility of article
21:26:21 <kspalaiologos> Proposed wording changes
21:26:24 <arseniiv> kspalaiologos: okay. Also you could @tell me too if you wouldn’t be here
21:26:31 <kspalaiologos> Alright
21:26:38 <arseniiv> ah hm comprehensibility
21:26:49 <arseniiv> int-e fixed it in my article once
21:27:07 <arseniiv> though why not anyway
21:27:21 <kspalaiologos> Hm
21:27:47 <arseniiv> I swear I won’t make your article less comprehensible though. I think
21:28:30 <kspalaiologos> =str 0s+[--->++<]>++++++++.+++++++.--.+++++.+++++++.[--->+<]>-----.---[->++++<]>-.-----------.-------.+++++++++++..[++>---<]>--.--[->++++<]>-.[->+++<]>.--[--->+<]>-.++[--->++<]>.+++.------------.++++++++.-[++>---<]>+.+++++++.-[--->+<]>+++.++++++++.---[->+++<]>+.+[-->+<]>.
21:28:30 <bfbot> ok
21:28:52 <kspalaiologos> =def 0f
21:28:52 <bfbot> ok, defined 'f'
21:28:54 <kspalaiologos> =f
21:29:01 <kspalaiologos> Hmm?
21:29:06 <kspalaiologos> What just happened
21:30:39 -!- arseniiv has quit (Quit: gone completely :o).
21:31:58 <b_jonas> arseniiv: yes, another bot is always welcome if they behave well
21:33:08 <kspalaiologos> b_jonas: would you like to check the article
21:33:21 <kspalaiologos> I did it a few times but I might have lost a few typos
21:33:26 <kspalaiologos> =help
21:33:27 <bfbot> bfbot is a bot executing brainfuck natively. You may add your very own commands to the bot.
21:33:27 <bfbot> Commands: =str =def =undef =list =plist =doc. More help at https://esolangs.org/wiki/bfbot
21:48:19 <shachaf> b_jonas: Maybe this should also be `smlist?
21:50:20 <b_jonas> shachaf: dunno. you decide.
21:51:37 -!- ArthurStrong has left.
21:51:45 <shachaf> I decide not.
22:04:02 -!- kspalaiologos has quit (Ping timeout: 240 seconds).
22:06:31 <esowiki> [[Treesolang]] N https://esolangs.org/w/index.php?oldid=67266 * Baidicoot * (+2793) created
22:07:00 <esowiki> [[Treesolang]] https://esolangs.org/w/index.php?diff=67267&oldid=67266 * Baidicoot * (-15)
22:11:05 <esowiki> [[Treesolang]] M https://esolangs.org/w/index.php?diff=67268&oldid=67267 * Baidicoot * (+207)
22:11:55 <esowiki> [[Treesolang]] M https://esolangs.org/w/index.php?diff=67269&oldid=67268 * Baidicoot * (+10)
22:12:08 <esowiki> [[Treesolang]] M https://esolangs.org/w/index.php?diff=67270&oldid=67269 * Baidicoot * (+2)
22:14:16 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=67271&oldid=67192 * Baidicoot * (+17) Added treesolang
22:22:46 <esowiki> [[Treesolang]] M https://esolangs.org/w/index.php?diff=67272&oldid=67270 * Baidicoot * (-42) /* Program Structure */
22:28:11 -!- 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.”).
22:43:45 <esowiki> [[Treesolang]] M https://esolangs.org/w/index.php?diff=67273&oldid=67272 * Baidicoot * (+219)
22:51:52 -!- hkgit03 has joined.
22:52:28 -!- laerling has quit (Quit: ZNC 1.7.3 - https://znc.in).
22:54:25 -!- laerling has joined.
22:55:31 <esowiki> [[Treesolang]] M https://esolangs.org/w/index.php?diff=67274&oldid=67273 * Baidicoot * (+106) /* Program Execution */
22:55:31 -!- laerling has quit (Client Quit).
22:56:09 -!- laerling has joined.
23:04:50 <fizzie> Weird, I switched umlbox interpreter from Python 2 to 3 (since 2's eventually going to EOL), and even though the part where it does subprocess.call of the UML kernel is reached with exactly the same arguments and config file content, and while the kernel runs exactly the same steps, for some reason the stdout of the executed command is not visible.
23:05:30 <fizzie> Maybe some subtle change in subprocess library's fd handling or something.
23:05:43 -!- laerling has quit (Quit: ZNC 1.7.3 - https://znc.in).
23:06:14 <b_jonas> or maybe the Briticolan anthem
23:06:34 <b_jonas> sorry, wrong channel
23:06:35 <fizzie> The code's pretty low-level for Python, doing os.open / os.dup, because some of the UML kernel arguments are file descriptor numbers like "fd:4".
23:07:04 -!- laerling has joined.
23:08:14 <b_jonas> `python3 -copen(2,"w").write("hello") # explicit file descriptor numbers? yes, surely you need low level calls for that
23:08:15 <HackEso> hello
23:08:23 <b_jonas> open does fdopen if you pass a number to it
23:08:48 <b_jonas> there's even a parameter to tell whether to close the underlying file description when you close the file handle
23:09:46 <fizzie> Well, that's not really relevant for what this does, since it doesn't write into any of the file descriptors it opens.
23:10:04 <b_jonas> fizzie: the same works for reading or other file descriptor operations
23:10:15 <b_jonas> open just gives you a file handle
23:10:26 <fizzie> I don't doubt there's a way to use open() and get the file descriptor out of it, but it's not what it does.
23:10:34 <fizzie> And I don't see how it would be any better to, really.
23:10:44 <b_jonas> sure, maybe it does something for which that's useful
23:11:02 <fizzie> It's more that it doesn't do anything for which that's not useful.
23:12:27 <fizzie> Oh, I see what the issue is.
23:12:36 <fizzie> "Since Python 3.4, file descriptors created by Python are non-inheritable by default."
23:13:41 <b_jonas> ah
23:14:34 <fizzie> (It uses the close_fds=False option to subprocess to pass a file descriptor into UML, but it's apparently a close-on-exec by default, and I need to os.set_inheritable(fd, True) it. Or maybe use the new pass_fds attribute to subprocess, which is probably a better idea.
23:17:29 -!- hkgit03 has left ("Leaving").
23:20:30 <fizzie> Yep, that did the trick.
23:21:07 <fizzie> Should probably check that mudem works as well.
23:23:57 <fizzie> umlbox has this weird thing where if you want networking, you specify particular Unix domain sockets and TCP ports to forward, and it runs a separate "umlbox-mudem" program that multiplexes it all over a single stream, where that single stream is just pipes that are hooked up to /dev/tty2 inside the UML. It runs one copy of mudem outside, and another inside.
23:25:04 <b_jonas> fizzie: can't you use the ethernet tunnel devices instead?
23:25:11 <b_jonas> the ones built into linux
23:25:24 <fizzie> I could, though the umlbox wrapper script doesn't support those out of the box.
23:25:34 <b_jonas> the ones that you use to connect network namespaces on linux
23:25:36 <b_jonas> ok
23:26:14 <fizzie> UML itself has a pretty similar networking scheme (for when you're running it without any special privileges on the host), except it uses Slirp.
23:26:33 <fizzie> I think I actually used to use Slirp for real at one point for internetworking.
23:27:50 <b_jonas> what is Slirp?
23:27:53 <fizzie> Definitely had a SLIP connection for my first real ISP, and a PPP one for all the dialup ones after that, but there was also Slirp on some system somewhere.
23:28:53 <fizzie> It's a thing where, if you don't have a real Internet connection, but you do have a shell account you can dial into, you can turn that into an internet connection by running a (regular user) program on the machine you have a shell account on, which talks the SLIP protocol (with extensions, I think) to your computer so that you can use regular Internet programs on it.
23:29:37 <fizzie> You basically just set up the dialer settings for your SLIP connection (which normally provide a username/password login) to log in and execute the slirp command.
23:29:58 <b_jonas> a kind of tunnel then. ok.
23:31:17 -!- sprocklem has joined.
23:31:55 <fizzie> Fun fact: EUnet (a Finnish ISP) had two kinds of Internet connections, you either paid 22p/min for the full global Internet, but you could also pay 17p/min if you just needed a connection that allowed connecting to Finnish systems.
23:32:13 <b_jonas> ... what
23:32:20 <fizzie> Kind of like the local call / long-distance call distinction, except for the Internet.
23:32:55 <fizzie> Don't think that'd be very convenient these days.
23:33:37 <fizzie> I may be misremembering the prices, it's been a while.
23:35:06 <b_jonas> sure
←2019-11-18 2019-11-19 2019-11-20→ ↑2019 ↑all