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 <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:58:16 <HackEso> ls: cannot access '.hg': No such file or directory
00:58:32 <HackEso> cat: bin/hlnp: No such file or directory
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: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:59 <oerjan> it was introduced with the .hgignore hack, after all
01:01:17 <HackEso> ls: cannot access '.hg*': No such file or directory
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: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:13 <fizzie> That's writable too, it's just not persistent.
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 <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: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: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: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:50 <HackEso> INTERCAL has excellent features for modular program for the enterprise market.
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:15:04 <HackEso> ¯\(°_o)/¯ is a misspelling of ¯\(°_o)/¯
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:57 <HackEso> https://esolangs.org/wiki/tmp/INTERCAL
01:17:08 <fizzie> Whoops, that looks like a bug.
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: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 <fungot> https://esolangs.org/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: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: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: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 <HackEso> https://esolangs.org/wiki/INTERCAL
01:22:36 <ais523> accented digits isn't something I'd even considered
01:22:55 <HackEso> https://esolangs.org/wiki/%3B%23
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:51 <oerjan> fizzie: i must have done it by i don't remember
01:27:04 <shachaf> Is the state in tmp/ now required for le/rn operation?
01:27:27 <ais523> hmm my client renders that 5-cedilla pretty well
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: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:57 <HackEso> https://hack.esolangs.org/repo/file/tip/bin/addquote
03:14:30 <HackEso> https://hack.esolangs.org/repo/file/tip/bin/delquote
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:59 <oerjan> delquote works in a way that will break if it's a symbolic link
03:17:18 <shachaf> did you mean /hackenv/hi/chaf
03:19:02 <shachaf> You know how it's megaconfusing when executing a file yields ENOENT even though it exists?
03:21:25 <HackEso> -rwxr-xr-x 1 1000 1000 1576 Nov 19 03:20 program
03:21:28 <HackEso> /hackenv/bin/`: line 5: ./program: No such file or directory
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:22:12 <HackEso> /hackenv/bin/`: line 5: ../tmp/program: No such file or directory
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:48 <shachaf> So the solution is obvious: Add a second hg repository for tmp/.
03:26:06 <shachaf> As an alternative, I propose something like automatic deletion of tmp/ every day.
03:26:13 <shachaf> Or maybe just deleting old files automatically.
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:25 <shachaf> Though that requires superpowers which isn't in the spirit of le/rn
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 <HackEso> sort: option requires an argument -- 't' \ Try 'sort --help' for more information.
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:59 <shachaf> I know it doesn't, but maybe it oughtta.
03:36:03 <fizzie> It's my goal, since I have to pretend to administer that thing.
03:36:43 <shachaf> It was a variant of ./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:38:20 <fizzie> (Well, I could always rewrite history so that it looked like it always had been like that.)
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:17 <HackEso> cat "${2:-/dev/stdin}" >$HACKENV/tmp/spout.raw; distort $HACKENV/tmp/spout.raw | spore "${1-1}"
03:43:21 <HackEso> cat "${2:-/dev/stdin}" > $HACKENV/tmp/spout; spam "${1-1}"
03:43:59 -!- hppavilion[1] has quit (Ping timeout: 246 seconds).
03:44:22 <oerjan> `slbd sport s,$HACKENV,,g
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:40 <HackEso> removed 'compiled_brachylog.pl' \ removed 'input.brachylog'
03:45:55 <oerjan> and fizzie moved those to /tmp as well afaiu
03:46:38 <HackEso> https://hack.esolangs.org/repo/file/tip/bin/uptime
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 <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 <fungot> (^bf -- evaluates brainfuck)S
04:20:06 <shachaf> oerjan: That was a sort of joke, yep.
04:50:56 -!- imode has quit (Ping timeout: 240 seconds).
05:08:02 <kmc> what's puzzle
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:20 <HackEso> -rwxr-xr-x 1 1000 1000 1576 Nov 19 03:20 program
05:59:24 <HackEso> /hackenv/bin/`: line 5: ./program: No such file or directory
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 +++
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: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:33:18 <esowiki> [[4DChess]] M https://esolangs.org/w/index.php?diff=67259&oldid=67255 * Zemeckis * (+6)
07:35:01 -!- mniip has joined.
07:43:50 -!- kspalaiologos has joined.
07:46:22 <int-e> . o O ( Что EtOH? )
07:46:59 <int-e> (Not a real question; I duckduckwent.)
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
08:04:42 <oerjan> kspalaiologos: i cleaned up the tmp directory a bit (mostly older stuff)
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: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: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:34 <HackEso> +>+[<[>>+>+<<<-]>>[<<+>>-]>[[-]>>[-]+++<<]<<<[>>+>+<<<-]>>[<<+>>-]>[[-]<<<[-]>[-]>>]<<]
08:43:51 <HackEso> +>+[<[>>+>+<<<-]>>[<<+>>-]>[[-]>>[-]++<<]<<<[>>+>+<<<-]>>[<<+>>-]>[[-]<<<[-]>[-]>>]<<]
08:44:14 <HackEso> 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
08:47:33 <HackEso> bash: ./labels.pl: No such file or directory
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:49:30 <HackEso> cat: tmp.b: No such file or directory
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: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:10:34 <HackEso> hg log --removed -l 1 --template "$HACKENV/{join(files,'\n$HACKENV/')}\n" -- "$@"
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 <HackEso> /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ;`: not found
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 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
11:12:04 <lambdabot> What module? Try @listmodules for some ideas.
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:59 <lambdabot> unexpected end of input: expecting number, "d" or "("
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: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: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: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: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: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:37:03 <wib_jonas> kspalaiologos: I think you should know better than to say things like "just a few minutes ... finished"
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
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: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:28:31 <bfbot> ok, defined 'echo'
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:58:46 <HackEso> olist 1187: shachaf oerjan Sgeo FireFly boily nortti b_jonas
17:59:00 <HackEso> olist is update notification for the webcomic Order of the Stick. http://www.giantitp.com/comics/ootslatest.html
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: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
18:00:07 -!- bfbot has quit (Ping timeout: 265 seconds).
18:00:40 -!- bfbot has joined.
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:02:18 -!- Panini has joined.
18:03:32 -!- bfbot has quit (Remote host closed the connection).
18:03:48 -!- bfbot has joined.
18:03:53 <bfbot> ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
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:57 <bfbot> ok, defined 'msg1'
18:05:59 <bfbot> ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
18:06:42 <b_jonas> what do you mean by "non-printables"?
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:18 <bfbot> ok, defined 'msg1'
18:07:20 <bfbot> @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
18:07:29 <b_jonas> now it's not trying to print any of those
18:08:07 <b_jonas> but how now how to ask the bot to print more characters?
18:08:49 <b_jonas> yes, it should end, but only after printing more bytes
18:09:16 <kspalaiologos> those non-printable are filtered so it doesnt show them
18:09:35 <b_jonas> after which it would overflow and the loop stops
18:10:26 <bfbot> @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.............................................................................................................................................................................................................................................
18:13:37 -!- FreeFull has joined.
18:13:40 <b_jonas> =str 1s++++++++++++++++[->++++>++++++>++++++++++++++<<<]>+.>+.>+.
18:13:49 <bfbot> ok, defined 'msg1'
18:14:45 <b_jonas> =str 1s++++++++++++++++[->++++>++++++>++++++++++>++++++++++<<<<]>+.>+.>>+++.<+.
18:14:48 <bfbot> ok, defined 'msg1'
18:15:16 <b_jonas> is this thing only willing to output ascii characters now?
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:38 <b_jonas> plus I think it should join the -blah channel so that I don't spam this channel
18:19:24 <b_jonas> yes, but then you ask "can you reproduce it here" and such
18:19:53 -!- bfbot has quit (Remote host closed the connection).
18:20:08 -!- bfbot has joined.
18:21:18 -!- LKoen has joined.
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:28:31 -!- bfbot has quit (Remote host closed the connection).
19:28:42 -!- bfbot has joined.
19:28:53 -!- bfbot has quit (Remote host closed the connection).
19:29:53 -!- bfbot has joined.
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:59 <bfbot> Incorrect usage! Refer to =help doc
19:30:14 -!- bfbot has quit (Remote host closed the connection).
19:30:23 -!- bfbot has joined.
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: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:03:17 -!- bfbot has quit (Remote host closed the connection).
20:03:41 -!- bfbot has joined.
20:04:36 <bfbot> No such command. Try =help.
20:04:44 <bfbot> No such command. Try =help.
20:05:48 <bfbot> No such command. Try =help.
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.
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: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: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:19:26 <arseniiv> yeah I don’t want to read code, I want to write code
21:20:18 <bfbot> Error: Expected a number.
21:20:27 <bfbot> ok, defined 'simple'
21:20:40 <arseniiv> though I better finish my constructor analysing thing
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: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:50 <bfbot> No such command. Try =help.
21:23:06 <bfbot> ok, defined 'simple'
21:23:56 <kspalaiologos> There is official documentation about the language
21:24:27 <fungot> kspalaiologos: when i " compile/ load time anyway, eg.
21:24:37 <arseniiv> wait wait I’m confused, sketches?
21:24:48 <arseniiv> I better go sleeping as I don’t parse
21:25:10 <arseniiv> anyway I could proofread maybe!
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:24 <arseniiv> kspalaiologos: okay. Also you could @tell me too if you wouldn’t be here
21:26:49 <arseniiv> int-e fixed it in my article once
21:27:47 <arseniiv> I swear I won’t make your article less comprehensible though. I think
21:28:30 <kspalaiologos> =str 0s+[--->++<]>++++++++.+++++++.--.+++++.+++++++.[--->+<]>-----.---[->++++<]>-.-----------.-------.+++++++++++..[++>---<]>--.--[->++++<]>-.[->+++<]>.--[--->+<]>-.++[--->++<]>.+++.------------.++++++++.-[++>---<]>+.+++++++.-[--->+<]>+++.++++++++.---[->+++<]>+.+[-->+<]>.
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:21 <kspalaiologos> I did it a few times but I might have lost a few typos
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.
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: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: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: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: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: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: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: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.