< 1563494473 691514 :Sgeo!~Sgeo@ool-18b98455.dyn.optonline.net QUIT :Ping timeout: 268 seconds < 1563498193 934030 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :fizzie: Huh, now that I'm looking at this ABI, %rdx contains a function pointer that the program is supposed to call atexit. < 1563498207 986090 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I wonder what that's for. < 1563498225 763938 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :`quote < 1563498226 389279 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :62) Where's the link to the log? THERE'S NO LOG. YOUR REQUEST IS SUSPICIOUS AND HAS BEEN LOGGED. < 1563499578 291854 :MDude!~MDude@76.5.108.106 QUIT :Ping timeout: 245 seconds < 1563499941 271757 :xkapastel!uid17782@gateway/web/irccloud.com/x-orfqolrvkxyhaggx QUIT :Quit: Connection closed for inactivity < 1563499969 148132 :int-e!~noone@int-e.eu PRIVMSG #esoteric :oh. good quote. < 1563500363 601711 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: hmm, could it be for __attribute__((destructor)) cleanup? < 1563500545 725352 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :int-e: Why would the kernel pass that to _start? < 1563500553 855248 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It seems like strictly a userspace thing. < 1563501055 585741 :int-e!~noone@int-e.eu PRIVMSG #esoteric :true. < 1563501083 506622 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :is it for that wacky robust futex thing < 1563501149 140364 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, I didn't know about that thing. < 1563501171 217144 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :the userspace maintains a linked list of futices and tells the kernel where it is < 1563501172 102268 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But presumably if a program crashes it won't run its atexit handlers. < 1563501180 516504 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :right < 1563501184 467469 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :it was not a very good guess < 1563501440 754133 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: have a look at https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/x86_64/start.S;h=24d59159a9b46e3edd548bfd2f1b1924c6c2eb29;hb=HEAD#l41 < 1563501488 380726 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :OK, it's for the dynamic linker. I was vaguely thinking about that but it looks like it's part of the ABI even for statically linked programs. < 1563501493 424646 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I guess it's just the same ABI? < 1563501521 938881 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :what's the purpose though < 1563501530 920004 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I'm not sure whether the part where the kernel passes control to the dynamic linker is actually part of the ABI. < 1563501564 811378 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :isn't the dynamic linker the ELF interpreter < 1563501573 989156 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :and it just passes control to the entry point of said interpreter < 1563501578 152909 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I didn't even know the kernel mapped in any executable memory other than the program text and VDSO. < 1563501785 140115 :MDude!~MDude@76.5.108.106 JOIN :#esoteric < 1563502905 186037 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I was looking in the Linux repository to see what it sets rdx to. < 1563502921 376430 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I haven't found it, but I did find https://github.com/torvalds/linux/blob/master/tools/include/nolibc/nolibc.h#L430 which just ignores rdx, so presumably it's not that important/ < 1563503727 249112 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: the interpreter entry point seems to make no attempt to look at or preserve %rdx: https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/x86_64/dl-machine.h;h=95a13b35b5d27d8619422d3c5cc896f0ff1663c4;hb=HEAD#l141 < 1563503767 608327 :int-e!~noone@int-e.eu PRIVMSG #esoteric :So basically, the same conclusion, but this time from the glibc side. < 1563503906 651376 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(the function that is called takes only one argument) < 1563503992 845783 :int-e!~noone@int-e.eu PRIVMSG #esoteric :OTOH, the stack layout corresponds to reality even for rtdl. < 1563504100 782449 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Is that the code for ld-linux? < 1563504129 327587 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I'm pretty sure it is (well, as small part of it) < 1563504210 185066 :int-e!~noone@int-e.eu PRIVMSG #esoteric :most of it is in https://sourceware.org/git/?p=glibc.git;a=blob;f=elf/rtld.c < 1563504230 751452 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(and other files in the elf/ subdirectory) < 1563504251 341712 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(but rtld is the "main program".) < 1563504264 637822 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :OK, https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/x86_64/start.S#l79 says it's the "shared library termination function". < 1563504355 984062 :int-e!~noone@int-e.eu PRIVMSG #esoteric :yeah I linked to line 41 of that particular file earlier. < 1563504372 853363 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, so you did. < 1563504388 396323 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I looked at that file earlier but didn't see that comment. < 1563504393 784422 :int-e!~noone@int-e.eu PRIVMSG #esoteric :it's okay... I do this all the time (figuring things out myself) < 1563504424 638754 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I'm still curious, though. What does the kernel put in that register? Is it an address I can jump to? < 1563504456 379555 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I guess I can find out easily enough. < 1563504477 186865 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I suspect the kernel doesn't put anything in that register. < 1563504483 521157 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :i love this kind of wild goose chase < 1563504523 459043 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It is 0. < 1563504560 59652 :int-e!~noone@int-e.eu PRIVMSG #esoteric :okay, the kernel should put safe values into the registers that don't leak any information. 0 if fine :) < 1563504565 775341 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: i want to write a compiler so i gotta know these things < 1563504566 947651 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1563504666 385704 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :why are you writing a compiler < 1563504680 866754 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :how else do i program computers < 1563504755 205854 :Sgeo__!~Sgeo@ool-18b98455.dyn.optonline.net JOIN :#esoteric < 1563504944 825367 :Sgeo_!~Sgeo@ool-18b98455.dyn.optonline.net QUIT :Ping timeout: 258 seconds < 1563505482 752587 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: https://github.com/torvalds/linux/blob/master/arch/x86/include/asm/elf.h#L172-L186 < 1563505529 257842 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :int-e: Aha. I was searching for "rdx". < 1563505552 844767 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ACTION started from binfmt_elf.c < 1563505569 215123 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(irritatingly under fs/) < 1563505660 727369 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :/* ax gets execve's return value. */ < 1563505684 910393 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The Linux conspiracy doesn't want you to know what execve returns on success. < 1563505757 551733 :FreeFull!~freefull@defocus/sausage-lover QUIT : < 1563505786 563289 :int-e!~noone@int-e.eu PRIVMSG #esoteric :oh wait... I was wondering why the kernel doesn't just load the interpreter... but the process may not have the right to open&mmap the executable file... < 1563505806 805779 :int-e!~noone@int-e.eu PRIVMSG #esoteric :So that's one less mystery... < 1563506069 440699 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :shachaf: did you see geofft's userspace exec thing < 1563506079 646943 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :actually i'm not sure if I'm remembering it right < 1563506096 568305 :int-e!~noone@int-e.eu PRIVMSG #esoteric :one funny thing is https://github.com/torvalds/linux/blob/master/fs/binfmt_elf.c#L1165-L1177 < 1563506107 600033 :xkapastel!uid17782@gateway/web/irccloud.com/x-zdylfwmvpiktsafh JOIN :#esoteric < 1563506115 227499 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: Simulating exec from userspace? < 1563506119 429958 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :yeah < 1563506130 759248 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I looked for and found a thing like that a while ago. I don't remember geofft being involved. < 1563506166 270676 :int-e!~noone@int-e.eu PRIVMSG #esoteric :because the comment is specifically about the i386 ABI, it says something about populating %edx, but if you look at https://github.com/torvalds/linux/blob/master/arch/x86/include/asm/elf.h#L109-L114 then there's no effort to set dx :) < 1563506207 856566 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :maybe i'm confused < 1563506215 320872 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :i'm usually confused about something or another < 1563506220 719780 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :i,i maybe they're setting the lower 16 bits of dx to 0 but the upper 16 bits make it a valid function pointer < 1563506227 749970 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :dazed and confused but trying to continue < 1563506228 537002 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I mean of edx. < 1563506259 30642 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: I'm pretty sure the dx field covers all of edx. < 1563506282 453445 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: just like on x86_64 the dx field covers all of rdx. < 1563506401 125615 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes. Hence "i,i". < 1563506435 807361 :int-e!~noone@int-e.eu PRIVMSG #esoteric :oh... #define ELF_PLAT_INIT(_r, load_addr) elf_common_init(¤t->thread, _r, 0) ... what a nice local name space we have here. < 1563506463 35253 :int-e!~noone@int-e.eu PRIVMSG #esoteric :but that's enough (useless, mostly) code reading. < 1563506477 819249 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(though interesting) < 1563506507 20568 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :that's not enough underscores < 1563506511 920553 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :it should be _______r at least > 1563506702 378483 PRIVMSG #esoteric :14[[07Doug14]]4 N10 02https://esolangs.org/w/index.php?oldid=64552 5* 03Areallycoolusername 5* (+4080) 10Created page with "'''Doug''' is an [[Arch]]-based [[esoteric programming language]] made by [[User: Areallycoolusername|Areallycoolusername]]. All commands are meant to be a quote by Fairly Odd..." > 1563507713 625768 PRIVMSG #esoteric :14[[07Doug14]]4 M10 02https://esolangs.org/w/index.php?diff=64553&oldid=64552 5* 03JonoCode9374 5* (-3) 10 < 1563508710 19521 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`cat ibin/brachylog < 1563508710 596961 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​#!/bin/sh \ echo "$1" > tmp/input.brachylog \ (cd interps/brachylog/brachylog/Brachylog-master/src; swipl -g 'run_from_file("../../../../../tmp/input.brachylog", _, _), write(" \ true."), !, halt; write(" \ false."), !, halt' brachylog.pl) < 1563509279 785075 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`` ls -l bin/\! bin/interp < 1563509280 692284 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​-rwxr-xr-x 1 1000 1000 109 Jul 17 22:26 bin/! \ -rwxr-xr-x 1 1000 1000 101 Jan 13 2019 bin/interp < 1563509293 738339 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hum < 1563509305 670698 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`hurl bin/\! < 1563509306 439519 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :https://hack.esolangs.org/repo/log/tip/bin/%5C%21 < 1563509370 219944 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :*sigh* it was a symbolic link < 1563509385 189238 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :what is swipl < 1563509393 708123 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :prolog interpreter < 1563509437 109073 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`` mv bin/{\!,interp} < 1563509438 737882 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :No output. < 1563509450 577176 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`` ln -s interp bin/\! < 1563509452 337737 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :No output. < 1563509469 87023 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`` ls -l bin/\! bin/interp < 1563509469 850770 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :lrwxrwxrwx 1 1000 1000 6 Jul 19 04:10 bin/! -> interp \ -rwxr-xr-x 1 1000 1000 109 Jul 19 04:10 bin/interp < 1563509564 742367 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :is prolog good < 1563509574 526999 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :should i use prolog < 1563509641 777499 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :did you know prolog is almost the same thing as index notation < 1563509910 90439 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :no < 1563509915 598485 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :because i don't remember what index notation is < 1563510675 175679 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I don't believe in Prolog. < 1563510983 577717 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(There may be a discrepancy between how Prolog is taught... or at least taught to me... as a language for solving propositions ("logic programming")... and how it can realistically be used to good effect... namely a DSL for working with unification and very disciplined backtracking.) < 1563511057 808384 :\oren\!~oren@ec2-35-175-217-128.compute-1.amazonaws.com PRIVMSG #esoteric :I don't understand what problem Prolog was designed to solve < 1563511101 789508 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :https://en.wikipedia.org/wiki/Boolean_Pythagorean_triples_problem < 1563511112 878595 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Golly. < 1563511176 651578 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: that made mainstream news a few years back, as "the largest mathematical proof". < 1563511239 406274 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I'm actually not 100% sure whether they managed to certify the whole thing. < 1563511357 441507 :\oren\!~oren@ec2-35-175-217-128.compute-1.amazonaws.com PRIVMSG #esoteric :I guess that is a pretty legitimate need for something like prolog < 1563511369 34485 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Eh, I should clarify. There's a certification format for SAT problems (called DRAT). There's a C tool (complicated, but far simpler than a SAT solver) that can certify (and prune) such proofs. There have been recent efforts to have formally verified certifiers. < 1563511384 511941 :int-e!~noone@int-e.eu PRIVMSG #esoteric :\oren\: Prolog doesn't scale to that size. < 1563511405 126694 :\oren\!~oren@ec2-35-175-217-128.compute-1.amazonaws.com PRIVMSG #esoteric :hmm? why not < 1563511409 76574 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: wait are you saying that this is what Prolog was invented for? < 1563511527 418963 :int-e!~noone@int-e.eu PRIVMSG #esoteric :\oren\: Prolog makes for an awful SAT solver because it doesn't do any of the stuff that makes DPLL fast -- variable selection heuristics, restarts, and, most importantly, conflict-driven clause learning. The latter is so important in fact, that parts of the community is talking about CDCL solvers rather than DPLL solvers. < 1563511550 596055 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :int-e: No. < 1563511555 455673 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I just learned about it. < 1563511570 396372 :\oren\!~oren@ec2-35-175-217-128.compute-1.amazonaws.com PRIVMSG #esoteric :Hmm. < 1563511586 947561 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :int-e: Do you know whether DPLL solvers actually do pure literal elimination? < 1563511649 871909 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :int-e: By the way, it's interesting that this proof was parallelized on many machines. < 1563511661 679673 :int-e!~noone@int-e.eu PRIVMSG #esoteric :\oren\: Prolog fails by not being declarative; it has side effects and a fixed order of evaluation. So such optimizations are completely ruled out. A more modern approach is https://en.wikipedia.org/wiki/Answer_set_programming which seems to be declarative. < 1563511673 371085 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Apparently they used a lookahead solver first to decide which variables to split the problem on, and then ran a CDCL solver on each subinstance. < 1563511690 570005 :\oren\!~oren@ec2-35-175-217-128.compute-1.amazonaws.com PRIVMSG #esoteric :" its original intended field of use, natural language processing." < 1563511694 972177 :\oren\!~oren@ec2-35-175-217-128.compute-1.amazonaws.com PRIVMSG #esoteric :wat < 1563511718 185369 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: Not as part of DPLL. They may do cross-resolution (resolve each clause that contains P with each clause that contains -P, then drop all clauses referring to P) of which pure literal is a special case. < 1563511719 264335 :\oren\!~oren@ec2-35-175-217-128.compute-1.amazonaws.com PRIVMSG #esoteric :oh, the unbounded optimism of the 1970's < 1563511746 168135 :int-e!~noone@int-e.eu PRIVMSG #esoteric :\oren\: yeah, and expert systems. < 1563511814 500953 :int-e!~noone@int-e.eu PRIVMSG #esoteric :SAT solvers are awful in that nobody really wants to write clauses (or even circuits to feed into a Tseitin transformation) > 1563512231 218504 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=64554&oldid=64551 5* 03A 5* (-2842) 10 > 1563512280 830954 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=64555&oldid=64554 5* 03A 5* (+145) 10/* An arch is simply a curve. */ > 1563512300 342458 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=64556&oldid=64555 5* 03A 5* (+2779) 10 > 1563512320 832356 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=64557&oldid=64556 5* 03A 5* (-2779) 10/* Hey stack! */ Huh < 1563512356 26945 :\oren\!~oren@ec2-35-175-217-128.compute-1.amazonaws.com PRIVMSG #esoteric :http://orenwatson.be/dups.htm < 1563512401 964073 :\oren\!~oren@ec2-35-175-217-128.compute-1.amazonaws.com PRIVMSG #esoteric :I've sucessfully created a program to automatically list all characters in my font that have identical glyphs < 1563512463 841324 :int-e!~noone@int-e.eu PRIVMSG #esoteric :tbh that doesn't sound very impressive < 1563512529 798142 :\oren\!~oren@ec2-35-175-217-128.compute-1.amazonaws.com PRIVMSG #esoteric :it took not much effort except actually bothering to write the damn program < 1563512584 206482 :\oren\!~oren@ec2-35-175-217-128.compute-1.amazonaws.com PRIVMSG #esoteric :http://orenwatson.be/bdf_dups_test.htm < 1563512795 562058 :int-e!~noone@int-e.eu PRIVMSG #esoteric :needs more spaces and line breaks < 1563513137 275173 :\oren\!~oren@ec2-35-175-217-128.compute-1.amazonaws.com PRIVMSG #esoteric :It's just the "dumb" algorithm of loading the entire font into memory like my editor does, then sorting it on the bitmaps < 1563513193 377695 :\oren\!~oren@ec2-35-175-217-128.compute-1.amazonaws.com PRIVMSG #esoteric :and then listing the ones that compare equal < 1563513388 464752 :\oren\!~oren@ec2-35-175-217-128.compute-1.amazonaws.com PRIVMSG #esoteric :I also came up with a stupid way to efficiently show the names < 1563513439 185606 :\oren\!~oren@ec2-35-175-217-128.compute-1.amazonaws.com PRIVMSG #esoteric :by mmapping the unicode database text and getting a list of pointers to where the names are < 1563513490 346096 :\oren\!~oren@ec2-35-175-217-128.compute-1.amazonaws.com PRIVMSG #esoteric :(... why do I have to open a file first before I can mmap it?) < 1563513524 952107 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I would probably have done something more stupid. Like, extract each character as a separate bitmap (surely there must be a tool for that), then hash and sort in the shell. :P < 1563513541 798194 :int-e!~noone@int-e.eu PRIVMSG #esoteric :because mmap doesn't check permissions < 1563513546 850125 :\oren\!~oren@ec2-35-175-217-128.compute-1.amazonaws.com PRIVMSG #esoteric :oh < 1563513722 828858 :\oren\!~oren@ec2-35-175-217-128.compute-1.amazonaws.com PRIVMSG #esoteric :I should make my *editor* show the unicode character names... < 1563513882 34306 :xkapastel!uid17782@gateway/web/irccloud.com/x-zdylfwmvpiktsafh QUIT :Quit: Connection closed for inactivity < 1563515194 559403 :Sgeo_!~Sgeo@ool-18b98455.dyn.optonline.net JOIN :#esoteric < 1563515327 139187 :john_metcalf!~digital_w@host86-174-123-42.range86-174.btcentralplus.com QUIT :Ping timeout: 245 seconds < 1563515377 200742 :Sgeo__!~Sgeo@ool-18b98455.dyn.optonline.net QUIT :Ping timeout: 245 seconds < 1563515377 483569 :heroux!sandroco@gateway/shell/insomnia247/x-twgisdsqhmrpnbxw QUIT :Ping timeout: 245 seconds < 1563515385 766216 :heroux!sandroco@gateway/shell/insomnia247/x-lucpuwztduslvvov JOIN :#esoteric < 1563518388 103864 :nfd!~nfd9001@c-67-183-33-240.hsd1.wa.comcast.net QUIT :Read error: Connection reset by peer < 1563519502 599852 :moei!~moei@softbank221078042071.bbtec.net JOIN :#esoteric < 1563520627 855964 :Sgeo__!~Sgeo@ool-18b98455.dyn.optonline.net JOIN :#esoteric < 1563520802 224627 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 248 seconds < 1563520884 582734 :Sgeo_!~Sgeo@ool-18b98455.dyn.optonline.net QUIT :Ping timeout: 272 seconds < 1563521020 616153 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1563521526 140524 :Sgeo_!~Sgeo@ool-18b98455.dyn.optonline.net JOIN :#esoteric < 1563521757 921193 :Sgeo__!~Sgeo@ool-18b98455.dyn.optonline.net QUIT :Ping timeout: 258 seconds < 1563522165 810073 :b_jonas!~x@catv-176-63-24-86.catv.broadband.hu PRIVMSG #esoteric :\oren\: nice. although you might also want to try to find double-width characters of which both the left and right half looks identical to some single-width character, such as " " which looks like " " < 1563522385 222816 :b_jonas!~x@catv-176-63-24-86.catv.broadband.hu PRIVMSG #esoteric :and, technically, you would also have to find longer chains of characters where a sequence of double-width characters looks identical to a one shorter sequence of doublewidth characters flanked between two single-width characters. < 1563522732 213686 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : no, they are no longer bent to use puzzles: http://www.irregularwebcomic.net/draakslair/viewtopic.php?p=173108#173108 <-- i was going to follow that link and then realized that would trigger the BB's stupid "forget all about what i haven't read in a few hours" feature, unless i then go on to read it all immediately, which i wasn't planning to. < 1563522827 866593 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :well, might. i'm not entirely sure what circumstance triggers it. < 1563523031 754029 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ACTION checks out cpressey's link instead, but thinks he's seen that before < 1563523190 657588 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`5 w < 1563523192 740201 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :1/1:broily//broily is like boily, but more broiling. \ marriage//Marriage was made legal in the United States on 2015-06-26. \ glass//I can eat glass and it doesn't hurt me. -- http://www.savagechickens.com/2016/05/new-diet.html \ otoh//OTOH means "On the omnipotent hand". \ ü//ü is the ridiculously happy second derivative of the letter ‘u’ with respect to time. < 1563523841 26815 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :<\oren\> if oiseau is "wazo" then is oieau "wao"? <-- wiktionary refuses to confirm tdnh < 1563524364 752083 :b_jonas!~x@catv-176-63-24-86.catv.broadband.hu PRIVMSG #esoteric :oerjan: uh, check it from a different browser profile so the forum doesn't recognize you? or should I just quote it for you? < 1563524426 636420 :b_jonas!~x@catv-176-63-24-86.catv.broadband.hu PRIVMSG #esoteric :it's a message by DMM from 2019-04: "We'd love to, but honestly our interests seem to have moved on somewhat from the intense puzzle creation necessary to organise an entire competition. We have some ideas and some completed puzzles in the bank, but the motivation for making more puzzles pulling it all together is at a bit of a low ebb right now. I'm hoping we'll return to it. Can't promise anything < 1563524432 642364 :b_jonas!~x@catv-176-63-24-86.catv.broadband.hu PRIVMSG #esoteric :though." < 1563524457 588045 :b_jonas!~x@catv-176-63-24-86.catv.broadband.hu PRIVMSG #esoteric :replying to someone asking when there'll be a next mezacotta puzzle hunt < 1563524463 326207 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i remember that. < 1563524476 774960 :b_jonas!~x@catv-176-63-24-86.catv.broadband.hu PRIVMSG #esoteric :so it doesn't specifically say no to all puzzles, just that format < 1563524496 701441 :b_jonas!~x@catv-176-63-24-86.catv.broadband.hu PRIVMSG #esoteric :they could have a droidikar second set crossword puzzle < 1563524513 181696 :b_jonas!~x@catv-176-63-24-86.catv.broadband.hu PRIVMSG #esoteric :or, technically, more Eavesdropper puzzles < 1563524543 113834 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ACTION decided not to follow Eavesdropper after a few posts < 1563524549 393529 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :didn't feel like my thing < 1563524582 400270 :b_jonas!~x@catv-176-63-24-86.catv.broadband.hu PRIVMSG #esoteric :or more single puzzles like http://www.irregularwebcomic.net/3976.html annot < 1563524586 595125 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :anyway, i'm forgetting to eat _and_ to shave, so -> < 1563524596 323607 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: Later < 1563524631 327483 :b_jonas!~x@catv-176-63-24-86.catv.broadband.hu PRIVMSG #esoteric :oerjan: it took me longer to decide I don't like the eavesdropper story, but I'm glad DMM seems to have given up working on it < 1563524659 10763 :b_jonas!~x@catv-176-63-24-86.catv.broadband.hu PRIVMSG #esoteric :the puzzles are hit and miss, but there were a few especially giid ones: < 1563524692 300254 :b_jonas!~x@catv-176-63-24-86.catv.broadband.hu PRIVMSG #esoteric :https://alcohol.stackexchange.com/q/7036 < 1563524712 372224 :b_jonas!~x@catv-176-63-24-86.catv.broadband.hu PRIVMSG #esoteric :do you also have an excuse to not visit pages on SE? < 1563525091 947327 :AnotherTest!~turingcom@ptr-82l26zcdc6imrwoapg3.18120a2.ip6.access.telenet.be JOIN :#esoteric < 1563525499 50996 :b_jonas!~x@catv-176-63-24-86.catv.broadband.hu QUIT :Quit: leaving < 1563527095 339467 :arseniiv!~arseniiv@136.169.234.37 JOIN :#esoteric < 1563529631 262840 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 JOIN :#esoteric < 1563531178 523852 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 QUIT :Remote host closed the connection < 1563531572 764397 :atslash!~atslash@static.231.107.9.5.clients.your-server.de QUIT :Read error: Connection reset by peer < 1563531596 190436 :atslash!~atslash@static.231.107.9.5.clients.your-server.de JOIN :#esoteric < 1563532362 858723 :unlimiter!~unlimiter@160.177.22.229 JOIN :#esoteric < 1563533287 574325 :unlimiter!~unlimiter@160.177.22.229 QUIT :Quit: still confused < 1563534733 211503 :atslash!~atslash@static.231.107.9.5.clients.your-server.de QUIT :Ping timeout: 246 seconds < 1563534894 734893 :atslash!~atslash@46.188.0.82 JOIN :#esoteric < 1563535552 566029 :atslash!~atslash@46.188.0.82 QUIT :Ping timeout: 272 seconds < 1563535607 907317 :atslash!~atslash@static.231.107.9.5.clients.your-server.de JOIN :#esoteric < 1563536814 978385 :cpressey!~cpressey@5.133.242.4 JOIN :#esoteric < 1563537773 108710 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :int-e: I agree about Prolog; I mean, I like logic and all, but I'm not convinced that it's very good for *programming* in. < 1563537821 870121 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Its biggest contribution imo was to show that it's possible. < 1563537968 963480 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Relatedly, I would love to know what this programming language actually looks like: https://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence#Sequent_calculus < 1563538020 970397 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :but I can't find a reference on that page, and I haven't had time to hunt for it. < 1563538298 194411 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 JOIN :#esoteric > 1563538327 947275 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=64558&oldid=64557 5* 03A 5* (+70) 10 < 1563538350 585489 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :cpressey: right, that's more or less what I thought when I made the esoteric language Olvasható, which lets me program prolog as if it were an ordinary functional language, without its special logic programming and unification parts. < 1563539084 364736 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :wob_jonas: reading the esowiki entry for it, I shudder to imagine what the instructor thought of this answer for their homework assignment :) < 1563539137 131166 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :cpressey: well, the instructor who scored the prolog code said that he found it easier to read the produced prolog code of the program than the olvashato input, but yeah, both were ugly < 1563539154 532235 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :another instructor scored the sml code output, and I don't know what he said < 1563539233 95791 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I wrote a Scheme interpreter in Prolog as homework once, but I can't remember what the task specification was. It may even have been something like writing an interpreter for something, although that does sound maybe slightly odd for a Prolog assignment. < 1563539237 629061 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :the same instructor who taught prolog for that course later held a more advanced course for us about constraint logic programming (clp) in prolog. < 1563539290 155736 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :for that, I reused the closure representation from olvashato > 1563539293 607942 PRIVMSG #esoteric :14[[07Doug14]]4 10 02https://esolangs.org/w/index.php?diff=64559&oldid=64553 5* 03Areallycoolusername 5* (+1644) 10Revamped the page < 1563539312 176125 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :fizzie: yes, that might actually be saner, an interpreter plus code < 1563539338 692757 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :prolog handles that sort of thing quite naturally because it keeps messing with tree-like data all the time > 1563539342 311074 PRIVMSG #esoteric :14[[07User:Areallycoolusername14]]4 10 02https://esolangs.org/w/index.php?diff=64560&oldid=64499 5* 03Areallycoolusername 5* (+11) 10 > 1563539444 319211 PRIVMSG #esoteric :14[[07Joke language list14]]4 10 02https://esolangs.org/w/index.php?diff=64561&oldid=63686 5* 03Areallycoolusername 5* (+11) 10/* General languages */ < 1563539446 927682 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :the exam for that latter course was memorable to me: it had a task where I had to write prolog code on paper, and I managed to write a correct answer that the instructor thought was buggy, so I had to trace the execution on paper to prove that it worked < 1563539517 173912 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :that one came up on https://esolangs.org/logs/2019-03-26.html last < 1563539621 870385 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Looks like the only Prolog-special thing about this Scheme interpreter is that it implements (amb ...). < 1563539762 719281 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(Modeled after the SICP chapter, https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-28.html ) < 1563539778 127628 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :fizzie: what method do you use to represent the scheme mutable state in prolog? < 1563539788 574725 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :there's like ten different ways for that, most of them awkward or nonportable < 1563539821 50589 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I'm not sure I can decipher it out from the code, to be honest. < 1563539822 952369 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :there's assert-based ones, extensions for global variables, extensions for mutable terms, and making the whole thing functional < 1563539852 434877 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I think it's the third option on your list. < 1563539857 188204 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :https://www.swi-prolog.org/pldoc/man?predicate=setarg/3 < 1563539877 205500 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :the first two has the drawback that you somehow have to gensym atoms (symbols) or something, the second and third are based on nonportable extensions, the third really works badly with the rest of the prolog language, etc < 1563539881 585883 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I think I didn't want to spend too much effort on it. < 1563539904 348232 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :fizzie: sure. how many obscure bugs did you have to debug that turned out to come from setarg? < 1563539922 7639 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Well, I mean, it didn't have to run a thorough Scheme check suite. :p < 1563539928 116281 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I think it did run non-trivial programs though. < 1563539949 261140 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :call/cc this does via something CPS-ish. < 1563539996 384281 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :At least judging from ps_apply_builtin(callcc, Args, K, E, SE) :- ... ps_apply(k(apply, E, SE, Proc, [cont(K)], K), void). < 1563540089 782500 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :ok < 1563540145 612610 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :fizzie: can it run this? (((lambda (fact) (set! fact (lambda (n) (if (< n 1) 1 (* n (fact (- n 1)))))) fact) 0) 5) < 1563540202 934262 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I'll test if I can figure out how to actually get to the REPL. < 1563540227 549413 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I've never written a Scheme interpreter in Prolog, but I did write a (nano) Prolog interpreter in Scheme once. < 1563540260 825840 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :This is also from 2005, so it may well have bitrotted away when it comes to current SWI-Prolog version. < 1563540263 614510 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Actually, that was just last year. Wanted to refresh/confirm to myself that I knew basically how a Prolog interpreter works. < 1563540300 455586 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :In the Scheme world, everyone seems to prefer miniKanren though. < 1563540316 78967 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :(To implement, I mean. Dunno about actually using.) < 1563540340 528643 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :wob_jonas: Sorry, it's not looking good w.r.t. running anything: http://ix.io/1OTN < 1563540419 577941 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Slightly odd, though. I would've expected some error from the Prolog side, not a syntax error from the interpreter itself. < 1563540484 340905 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(It's failing while attempting to load the bit of Scheme syntax that has been implemented via macros.) < 1563540490 125678 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Oh well. < 1563540515 736915 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :bitrot :( < 1563540537 493724 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :programs always do that > 1563541268 919179 PRIVMSG #esoteric :14[[07Arch14]]4 10 02https://esolangs.org/w/index.php?diff=64562&oldid=64534 5* 03Areallycoolusername 5* (+21) 10 < 1563541653 948225 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I had some hopeful thoughts that Docker might help bitrot. Like imagine there was a Docker container that had SWI-Prolog circa 2005 installed on it, you could just run it from that. It's never that simple though. < 1563541733 52065 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I guess I should say, it's rarely that simple. I refuse to give up all my hopeful thoughts on that. < 1563541805 42325 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :The source code for early versions of xpuyopuyo is still available, but it uses GTK+ 1.2, so what are my chances of building it? Almost zero. > 1563541994 872302 PRIVMSG #esoteric :14[[07Arch14]]4 10 02https://esolangs.org/w/index.php?diff=64563&oldid=64562 5* 03Areallycoolusername 5* (+79) 10/* Languages */ > 1563542041 778531 PRIVMSG #esoteric :14[[07Arch14]]4 10 02https://esolangs.org/w/index.php?diff=64564&oldid=64563 5* 03Areallycoolusername 5* (+0) 10 > 1563542471 972273 PRIVMSG #esoteric :14[[07Doug14]]4 10 02https://esolangs.org/w/index.php?diff=64565&oldid=64559 5* 03Areallycoolusername 5* (-11) 10/* Hello World Program */ > 1563542611 811585 PRIVMSG #esoteric :14[[07Doug14]]4 10 02https://esolangs.org/w/index.php?diff=64566&oldid=64565 5* 03Areallycoolusername 5* (+188) 10/* Variables, Ifs, and for */ > 1563542638 589873 PRIVMSG #esoteric :14[[07Doug14]]4 10 02https://esolangs.org/w/index.php?diff=64567&oldid=64566 5* 03Areallycoolusername 5* (+0) 10/* Variables, Ifs, and for */ > 1563545256 966502 PRIVMSG #esoteric :14[[07Language list14]]4 M10 02https://esolangs.org/w/index.php?diff=64568&oldid=64535 5* 03ThisIsTheFoxe 5* (+20) 10added my language :) < 1563545370 483535 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :According to https://esolangs.org/wiki/Deadfish there is not yet an implementation of Deadfish in Prolog! < 1563546548 111388 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Heh, thought I'd check if there are any odd local changes in that code. "The working copy -- is too old (format 4) to work with client version '1.10.4 (r1850624)' (expects format 31). You need to upgrade the working copy first." < 1563546716 235185 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :fizzie: even without upgrading, you can diff it to the repository copy > 1563546757 169578 PRIVMSG #esoteric :14[[07Esolang talk:Categorization14]]4 10 02https://esolangs.org/w/index.php?diff=64569&oldid=62563 5* 03Areallycoolusername 5* (+228) 10Proposing new category > 1563547289 164828 PRIVMSG #esoteric :14[[07Esolang talk:Categorization14]]4 10 02https://esolangs.org/w/index.php?diff=64570&oldid=64569 5* 03Areallycoolusername 5* (+390) 10 > 1563547304 502320 PRIVMSG #esoteric :14[[07Esolang talk:Categorization14]]4 10 02https://esolangs.org/w/index.php?diff=64571&oldid=64570 5* 03Areallycoolusername 5* (+1) 10/* Proposed Categories: Arch-based and Bootstraped */ < 1563551943 658495 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 QUIT :Remote host closed the connection < 1563551980 829988 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :À la prochaine. < 1563551984 438930 :cpressey!~cpressey@5.133.242.4 QUIT :Quit: WeeChat 1.4 > 1563553749 748151 PRIVMSG #esoteric :14[[07Dbondb14]]4 N10 02https://esolangs.org/w/index.php?oldid=64572 5* 03Sideshowbob 5* (+2116) 10Created page with "DBonDB is an esoteric programming language created by [[User:Sideshowbob]]. DBonDB is derived from Dartmouth BASIC, the first BASIC, which was introduced in 1964. Hence the n..." > 1563553951 819075 PRIVMSG #esoteric :14[[07Language list14]]4 10 02https://esolangs.org/w/index.php?diff=64573&oldid=64568 5* 03Sideshowbob 5* (+13) 10/* D */ > 1563554350 694003 PRIVMSG #esoteric :14[[07User:Sideshowbob14]]4 N10 02https://esolangs.org/w/index.php?oldid=64574 5* 03Sideshowbob 5* (+19) 10Created page with "Created [[Dbondb]]." < 1563554553 83940 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric > 1563554572 176484 PRIVMSG #esoteric :14[[07Dbondb14]]4 10 02https://esolangs.org/w/index.php?diff=64575&oldid=64572 5* 03Sideshowbob 5* (+0) 10 > 1563555709 507832 PRIVMSG #esoteric :14[[07Dbondb14]]4 10 02https://esolangs.org/w/index.php?diff=64576&oldid=64575 5* 03Sideshowbob 5* (+4) 10/* Factorial */ > 1563555720 826532 PRIVMSG #esoteric :14[[07Dbondb14]]4 10 02https://esolangs.org/w/index.php?diff=64577&oldid=64576 5* 03Sideshowbob 5* (+1) 10/* [Factorial]] */ > 1563555762 214686 PRIVMSG #esoteric :14[[07Dbondb14]]4 10 02https://esolangs.org/w/index.php?diff=64578&oldid=64577 5* 03Sideshowbob 5* (+7) 10/* Fibonacci series */ > 1563555905 265422 PRIVMSG #esoteric :14[[07Dbondb14]]4 10 02https://esolangs.org/w/index.php?diff=64579&oldid=64578 5* 03Sideshowbob 5* (+7) 10/* Hello World */ > 1563555924 449539 PRIVMSG #esoteric :14[[07Union14]]4 10 02https://esolangs.org/w/index.php?diff=64580&oldid=63748 5* 03Sideshowbob 5* (+1) 10/* Hello, world! program doing no output */ > 1563556019 789885 PRIVMSG #esoteric :14[[07Dbondb14]]4 10 02https://esolangs.org/w/index.php?diff=64581&oldid=64579 5* 03Sideshowbob 5* (+4) 10/* 99 Bottles of beer */ > 1563557077 187788 PRIVMSG #esoteric :14[[07Special:Log/newusers14]]4 create10 02 5* 03Shuber 5* 10New user account > 1563557232 484004 PRIVMSG #esoteric :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=64582&oldid=64507 5* 03Shuber 5* (+160) 10/* Introductions */ > 1563557337 409265 PRIVMSG #esoteric :14[[07Brainfuck implementations14]]4 10 02https://esolangs.org/w/index.php?diff=64583&oldid=62313 5* 03Shuber 5* (+117) 10/* Normal implementations */ < 1563557717 239098 :FreeFull!~freefull@defocus/sausage-lover JOIN :#esoteric < 1563559237 761056 :Sgeo__!~Sgeo@ool-18b98455.dyn.optonline.net JOIN :#esoteric < 1563559426 141053 :Sgeo_!~Sgeo@ool-18b98455.dyn.optonline.net QUIT :Ping timeout: 248 seconds < 1563562444 218868 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu JOIN :#esoteric < 1563562698 644606 :int-e!~noone@int-e.eu PRIVMSG #esoteric :. o O ( The Gigaminx is not very ergonomic :) ) < 1563564070 625731 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1563564166 646003 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 272 seconds < 1563564225 600988 :xkapastel!uid17782@gateway/web/irccloud.com/x-evyltpqisgltqrst JOIN :#esoteric < 1563564237 130416 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 NICK :Lord_of_Life < 1563566067 190166 :zzo38!~zzo38@24-207-15-213.eastlink.ca JOIN :#esoteric < 1563567691 628554 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :int-e: is that some rubik's cube style permutation puzzle? or a mutant animal companion? < 1563569245 321960 :int-e!~noone@int-e.eu QUIT :Remote host closed the connection < 1563569898 219012 :int-e!~noone@int-e.eu JOIN :#esoteric < 1563570782 566482 :int-e!~noone@int-e.eu QUIT :Remote host closed the connection < 1563570851 760434 :int-e!~noone@int-e.eu JOIN :#esoteric < 1563571917 242735 :int-e!~noone@int-e.eu QUIT :Remote host closed the connection < 1563571959 203382 :int-e!~noone@int-e.eu JOIN :#esoteric < 1563572106 193034 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1563572179 780976 :jalumar!~user6022@2a00:801:20c:7c1::1 JOIN :#esoteric < 1563572196 724286 :xkapastel!uid17782@gateway/web/irccloud.com/x-evyltpqisgltqrst QUIT :Quit: Connection closed for inactivity < 1563572207 678021 :joast!~rick@cpe-98-145-132-215.natnow.res.rr.com QUIT :Quit: Leaving. < 1563572357 602124 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :@messages? < 1563572357 663889 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :Sorry, no messages today. < 1563572437 691419 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :b_jonas: email actually often takes more than three hops in practice, there are plenty of setups that use a number of different mailservers on the receiving end that relay to each other < 1563572448 799030 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but they're all owned by the same company so they're willing to let them freely relay to each other < 1563572464 10957 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :sometimes this happens at the sending end too < 1563572491 950519 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :makes sense < 1563572538 76375 :joast!~rick@cpe-98-145-132-215.natnow.res.rr.com JOIN :#esoteric < 1563572550 735489 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ls < 1563572563 301152 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Oh right. That doesn't work. < 1563572567 22331 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`ls < 1563572567 686932 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​- \ :#,_@ \ bin \ canary \ emoticons \ esobible \ etc \ evil \ f \ factor \ good \ hw \ ibin \ interps \ izash.c \ karma \ le \ lib \ misle \ paste \ ply-3.8 \ quines \ quinor \ quotes \ share \ src \ test2 \ testfile \ tmflry \ tmp \ wisdom < 1563572592 150367 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`file - < 1563572597 621865 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ais523: I wanted to type that into the window to the right of this one ;-) < 1563572603 585945 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :int-e: ah, OK < 1563572612 130285 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :yeah, some of those might be files I created accidentally < 1563572616 167553 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :we have a shell in-channel too but it's probably attached to the wrong filesystem < 1563572617 571221 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :you can hg log them if you want < 1563572617 650532 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`file ./- < 1563572618 234458 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​./-: empty < 1563572622 887451 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :No output. < 1563572630 962701 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`culprits ./- < 1563572632 526979 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :ais52̈3 oerjän shachäf < 1563572645 202422 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, interesting < 1563572772 91625 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that :#,_@ looks like a Befunge program < 1563572843 919457 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but I'm not sure it's meaningful < 1563572876 35372 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :>:#,_@ is the standard print loop. < 1563572886 992043 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, aha < 1563572887 440749 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :For printing a 0gnirts. < 1563572893 590964 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I was assuming a wrap from left to right < 1563572910 442035 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :seeing it as a program /fragment/ makes more sense < 1563572914 41369 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I guess maybe the '>' was someone's shell redirection symbol. < 1563572918 741964 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`cat :#,_@ < 1563572919 338483 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :Error: couldn't open 'olleh.bf' for input. < 1563572936 873555 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :maybe that was the string they were trying to print < 1563572949 341962 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`` od -t x1z ':#,_@' < 1563572950 163227 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :0000000 45 72 72 6f 72 3a 20 63 6f 75 6c 64 6e 27 74 20 >Error: couldn't < \ 0000020 6f 70 65 6e 20 27 6f 6c 6c 65 68 2e 62 66 27 20 >open 'olleh.bf' < \ 0000040 66 6f 72 20 69 6e 70 75 74 2e 0a >for input..< \ 0000053 < 1563572955 350393 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yep < 1563572960 431712 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`rm ./- ./':#,_@' < 1563572961 6729 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :rm: cannot remove './- ./'\'':#,_@'\''': No such file or directory < 1563572964 766511 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`` rm ./- ./':#,_@' < 1563572966 345565 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :No output. < 1563572974 849312 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :`url f < 1563572975 570665 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :https://hack.esolangs.org/repo/file/tip/f < 1563572980 159787 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :also, I'm amused that rm escaped that correctly < 1563572999 546466 :int-e!~noone@int-e.eu PRIVMSG #esoteric :cat canary < 1563573001 958827 :int-e!~noone@int-e.eu PRIVMSG #esoteric :`cat canary < 1563573005 759896 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :No output. < 1563573006 772556 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`` od -t x1z f < 1563573032 930021 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I'm being confused by the f. It doesn't show up in the repo browser. < 1563573040 107961 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :int-e: I managed to permanently break HackEso's filesystem by screwing with the canary < 1563573044 932911 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, maybe f isn't a regular file < 1563573046 558899 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`file f < 1563573047 170254 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :f: fifo (named pipe) < 1563573051 443726 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yep < 1563573061 628498 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :press f to pay respects < 1563573101 380291 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, the meme is "press F to pay respects" but the original source was referring to the physical key on the keyboard four spaces right of Caps Lock < 1563573113 671969 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :is the key called "f" or "F", and do you quote it when writing it in text? < 1563573130 421782 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it inserts "f" when pressed, under most circumstances, but is labelled with a capital F on most keyboards < 1563573144 963981 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I think you'd call it F < 1563573145 133075 :int-e!~noone@int-e.eu PRIVMSG #esoteric :`` echo "Why are you taking Polly down into the mine? Polly's a parrot, not a canary! And where's my cracker?" > canary < 1563573147 345843 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :and not quote it < 1563573153 910051 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :in the context of a game instrution anyway < 1563573173 772515 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well it probably used keycaps font in the game < 1563573176 816432 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :https://i.kym-cdn.com/photos/images/original/000/858/776/f2e.jpg_large < 1563573180 317097 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :on the console version it's X < 1563573193 852738 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :No output. < 1563573194 770041 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :No output. < 1563573212 757593 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`cat f < 1563573217 426458 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`` echo test1234 > f < 1563573238 515900 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :`` ls -la f < 1563573238 534146 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I was wondering if one HackEso command could communicate with another via the named pipe < 1563573239 440578 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :prw-r--r-- 1 1000 1000 0 May 4 19:34 f < 1563573244 375197 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :No output. < 1563573244 421447 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :apparently not though < 1563573248 786725 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :No output. < 1563573334 874528 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`! brachylog "test"ẉ < 1563573336 149013 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :test \ \ true. < 1563573346 552161 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`` '!' brachylog "test"ẉ < 1563573347 786868 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :ERROR: Prolog initialisation failed: \ ERROR: brachylog_main/4: Undefined procedure: default/0 < 1563573351 366985 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`` '!' brachylog '"test"ẉ' < 1563573352 647251 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :ERROR: Prolog initialisation failed: \ ERROR: brachylog_main/4: Undefined procedure: default/0 < 1563573359 123092 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`` interp brachylog '"test"ẉ' < 1563573360 286888 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :ERROR: Prolog initialisation failed: \ ERROR: brachylog_main/4: Undefined procedure: default/0 < 1563573378 98963 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oerjan: possibly wasn't the best idea to merge those before the merged version actually worked < 1563573405 74373 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ais523: I wasn't going to turn canary into a pipe special file or all the other things that we know causes trouble, I just don't like it being empty :) < 1563573509 523307 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :fair enough < 1563573532 405422 :int-e!~noone@int-e.eu PRIVMSG #esoteric :`? - < 1563573533 530370 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​-? ¯\(°​_o)/¯ < 1563573555 443935 :int-e!~noone@int-e.eu PRIVMSG #esoteric :. o O ( - is setting the bar rather low. ) < 1563573784 549466 :Sgeo_!~Sgeo@ool-18b98455.dyn.optonline.net JOIN :#esoteric < 1563574023 647526 :Sgeo__!~Sgeo@ool-18b98455.dyn.optonline.net QUIT :Ping timeout: 268 seconds < 1563574026 92013 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what computational class is parsing indentation-sensitive languages like Python? < 1563574096 100769 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :my sample task is parsing " 1 +\n 2 +\n 3 +\n4" into a data structure of shape (1+(2+3))+4 < 1563574116 853452 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :given the characters of the input in order (i.e. space, space, 1, space, plus, newline, space, space, space, space, 2…) < 1563574175 827808 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I have a suspicion that a PDA is not enough and an LBA is too much < 1563574186 695475 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :ais523: well, it can't be context-free, because it has to be able to recognize three identically indented lines < 1563574211 354928 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :as in "if 1:\n 1\n 1\n 1\n" < 1563574222 177179 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :and notice if any of the three lines is misindented < 1563574222 651889 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ais523: do people study things like stack (PDA) plus logarithmic space? < 1563574233 143486 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :int-e: probably, but I don't know of any < 1563574243 46136 :int-e!~noone@int-e.eu PRIVMSG #esoteric :because that would be my guess here < 1563574265 42232 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :int-e: yeah, something like that should be enough < 1563574489 969399 :AnotherTest!~turingcom@ptr-82l26zcdc6imrwoapg3.18120a2.ip6.access.telenet.be QUIT :Ping timeout: 252 seconds < 1563574622 88888 :arseniiv!~arseniiv@136.169.234.37 PRIVMSG #esoteric :does HackEso have its own file system? < 1563574935 5181 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :arseniiv: no, I think all but /tmp are just directories bound from the same single file system that the host system uses < 1563574954 17761 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :the host system being a virtual machine, mind you, because it's a double-ply sandbox < 1563574977 882502 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :so it's like parts of the file system of the middle layer mounted on the inner machine < 1563574978 154267 :arseniiv!~arseniiv@136.169.234.37 QUIT :Ping timeout: 248 seconds < 1563574990 708349 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :you can see from df that all the mounts have the same amount of free space < 1563575308 639318 :moei!~moei@softbank221078042071.bbtec.net QUIT :Quit: Leaving... < 1563575504 499171 :nfd9001!~nfd9001@2601:602:8500:2443:d2f:7bc:ba1a:ae79 JOIN :#esoteric < 1563578251 852215 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Well, arguably it's a four-layer cake if you also count the part that's controlled by the service provider. Although the jam between layers 2 and 3 is pretty thin. < 1563578257 679351 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :The outermost part I don't know too much about, but from circumstantial evidence it's a QEMU/KVM virtual machine, which exposes some sort of storage though the virtio block driver. < 1563578269 172283 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Under that, there's a systemd-nspawn container, which sets up a container made out of Linux namespaces: the mount, PID, network and user ones. A few directories (the HackEso code) are shared as read-only bind mounts into the mount namespace, and one (the HackEso data) as a read-write bind mount. < 1563578294 820082 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :That container is the level where the actual multibot binary is running. < 1563578307 260692 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :And then finally there's the last level of sandboxing, where each of the HackEso commands is executed in a separate user-mode Linux instance. That uses the UML hostfs to mount the container system's userspace (well, most of it) into the UML as read-only, and the HackEso repository as read-write. And the UML has its own (mostly empty) root filesystem from an initrd, and /tmp as a tmpfs. < 1563578325 532365 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :fizzie: isn't the outer layer xen-based? < 1563578358 733569 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Not any more. At CloudAtCost I think it might've been, but at Bytemark I think it's KVM. < 1563578378 400009 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :oh, what fizzie is saying makes much more sense than what I said < 1563578399 364821 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Judging from the "QEMU Virtual CPU version 2.1.3" /proc/cpuinfo model name. < 1563578580 173010 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :`fetch ../MGYi.txt http://dpaste.com/3CVV3FH.txt < 1563578581 71319 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :In another world: ../MGYi.txt < 1563578587 449882 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :`fetch /MGYi.txt http://dpaste.com/3CVV3FH.txt < 1563578588 302000 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :In another world: /MGYi.txt < 1563578608 278202 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Fetch will only accept /hackenv paths, I think. < 1563578620 117986 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :it should only, yes. I had to test it though. < 1563578706 398029 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :on the subject of recognising indentation-sensitive languages: indexed grammars are strong enough but it's probably possible to go weaker < 1563578719 453420 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I don't think linearly indexed grammars are enough, though < 1563578737 213844 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :because they can't do a^nb^nc^nd^ne^n (just like a context-free grammar can only manage two, a LIG can only manage four) < 1563578771 958524 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I think there might've been a symlink-based escape at some point, which was terrible. Not that the hackeso user is able to write much anywhere else, but it could've probably messed up the repository by writing directly into /hackenv/.hg/. < 1563578821 486580 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :mmm, cake < 1563578831 809193 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Now it does os.path.realpath to canonicalize the output, and then verifies it's inside .../hackenv/ but outside .../hackenv/.hg/, which is hopefully enough. < 1563578871 825896 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :indexed grammars can't be parsed in polytime in general, whereas this clearly can be, which is why I'm looking for an appropriate class in between < 1563578929 517974 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :fizzie: doesn't that make it technically possible to deduce the existence of directories and symlinks outside hackenv? by traversing out of hackenv and then back into it < 1563578986 711187 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that might not be a useful breach of security properties, of course < 1563578995 670255 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :you could just move the file to the right place from inside the inner context, as with a normal command < 1563579147 195050 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :ais523: That's probably true, at least if os.path.realpath disallows "xxx/nonexistentdirectory/../yyy" paths. < 1563579174 314534 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :if it's canonicalizing symlinks it would have to < 1563579186 602912 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :It doesn't seem to disallow that, though. < 1563579207 557448 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what about xxx/symlink/../yyy? < 1563579220 173966 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :is the .. relative to the symlinik target, or is the symlink not even parsed? < 1563579232 738014 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :ais523: the former < 1563579258 851469 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :`` python -c $'import os.path\nprint(os.path.realpath("fsadfsafsdaf/.."))' < 1563579259 570250 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​/hackenv < 1563579288 796227 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I guess it does follow the symlink, so you would definitely be able to detect names of symlinks that lead to a separate depth. < 1563579308 961989 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Read error: Connection reset by peer < 1563579338 964463 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :By testing whether you can fetch to ../aaaaaa/../hackenv/tmp. < 1563579441 962357 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :`fetch ../../../notasymlink/../srv/hackeso-data/env/tmp/tmp.txt http://zem.fi/tmp/tmp.txt < 1563579442 938903 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :2019-07-19 23:37:22 URL:http://zem.fi/tmp/tmp.txt [4/4] -> "tmp/tmp.txt" [1] < 1563579461 749144 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :`fetch ../../../proc/net/../../srv/hackeso-data/env/tmp/tmp.txt http://zem.fi/tmp/tmp.txt < 1563579462 562748 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :In another world: ../../../proc/net/../../srv/hackeso-data/env/tmp/tmp.txt < 1563579466 548645 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Yep. < 1563579502 824514 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :That reveals that /proc/net is a symlink (to /proc/self/net). < 1563579595 723533 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :ooh, I forgot about $'...' < 1563579597 409617 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :too good < 1563579651 343339 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :You could also have used that trick to discover the external location /hackenv as /srv/hackeso-data/env, by fetch-probing ../a, ../b and so on. Though I'm pretty sure there's also something that already leaks that into the UML; don't remember what, though. < 1563579790 207943 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Oh, right, the fact that the host filesystem path shows up as the "device" of the hostfs mount. < 1563579793 212251 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :`` grep ' /hackenv ' /proc/mounts < 1563579794 53206 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :none /hackenv hostfs rw,nosuid,relatime,/srv/hackeso-data/env/ 0 0 < 1563580010 138044 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :shachaf: I found a USB-C brick that will chrge my phone or laptop and is not much bigger than a normal phone charger < 1563580022 669061 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :it's maybe 2x as long, but not wider, so it can still fit in a single outlet on a power strip < 1563580067 482280 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :But will it charge your Raspberry Pi 4 with the incompatible USB-C port? < 1563580086 5898 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :the laptop is taking about 1.5-2.0 A @ 20V < 1563580097 113775 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :fizzie: what exactly did they fuck up? < 1563580127 563139 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :so that's not nearly the 65W of the dedicated charger, but it should still be good enough < 1563580146 984605 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :AIUI, they had one resistor where the spec called for two separate ones, which involves connecting together two pins that shouldn't. < 1563580152 5346 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :and now I have one fewer thing to carry in my bag < 1563580170 804506 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :fizzie: dang < 1563580175 74551 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :did they fix it? < 1563580179 270654 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :what is the consequence of this < 1563580187 466648 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :presumably it does work sometimes or they wouldn't have shipped it < 1563580220 140729 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Yes, it works if you have the dumbest kind of "charging-only" USB 2.0 A-to-C cable, without the e-Marker thing. < 1563580227 317949 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :sigh < 1563580240 201721 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :so it doesn't work with actual USB-C-PD ? < 1563580259 899540 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :That's my impression, yes. I think they promised the next revision will. < 1563580267 860401 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :ah, the eMarker is the cable quality information that I was talking about without knowing anything about < 1563580311 754254 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I don't know if my cables have that < 1563580328 406246 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :this little USB-C inline power meter is great < 1563580347 314575 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :kmc: is it something actually useful, or is it just another evil proprietary extension so that you have to buy their expensive cable to charge their device or else it will barely work, even though there's no real technological reason for that restriction? < 1563580362 532383 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :All I know about this is from a post by that Googler who talks about cables. < 1563580381 805899 :atslash!~atslash@static.231.107.9.5.clients.your-server.de QUIT :Quit: This computer has gone to sleep < 1563580393 734960 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :b_jonas: beats me < 1563580420 97189 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :b_jonas: I think there is a valid concern about cables not being up to spec to deliver 5A, which is kind of a lot of current < 1563580420 732022 :int-e!~noone@int-e.eu PRIVMSG #esoteric :. o O ( it'll be like web browser cookies... well meant, but soon to be abused for nefarious purposes ) < 1563580428 348407 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :https://medium.com/@leung.benson <- that one < 1563580450 249639 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :b_jonas: and I don't know if there's anything proprietary about it, such as a licensing fee < 1563580474 993700 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :5 amps at what sort of voltage? < 1563580485 899707 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :ais523: up to 20 volts < 1563580495 462503 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the main issues with overloading cables are based on resistance, both directly and in terms of heat dissipation < 1563580497 792772 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :current is what determines heating in a wire, though < 1563580530 841556 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, if the voltage is too low you don't have enough power to heat the wire < 1563580546 864501 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :as long as the insulation is up to snuff, it doesn't matter if you have 5 amps at 20 volts or 5 amps at 20,000 volts, the heat dissipation is calculated as I^2 R < 1563580554 318644 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ais523: the voltage hardly matters < 1563580554 950651 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but what actually happens is that the current drops below the value you thought you had because the wire has too high a resistance to force that much current through at that voltage < 1563580559 65816 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: My friend showed me such a brick two days ago < 1563580578 359388 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :ais523: if you don't have enough power to heat the wire then the current has decreased, yes < 1563580579 184687 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(though 20k may be pushing it, insulators break down at some point) < 1563580579 291695 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so I guess that if you know that your voltage is sufficient to send 5A through the cable, the actual voltage doesn't matter < 1563580583 129783 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :P = I^2 * R < 1563580588 59098 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :right < 1563580597 627016 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(however, the cable's resistance will determine how much voltage you need to be able to get that 5A of current) < 1563580602 492722 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :P = I^2 * R = V^2 / R < 1563580614 953906 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :ais523: yeah < 1563580627 173311 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that P = I^2 * R = V^2 / R equation is so misleading :-) < 1563580631 44772 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :is it? < 1563580638 752518 :int-e!~noone@int-e.eu PRIVMSG #esoteric :kmc: different Rs < 1563580639 435016 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I is the current along the cable, which is fair enough and what people expect < 1563580653 102860 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :V is the voltage difference from one end of the cable and the other, which is /not/ what people expect < 1563580656 840331 :int-e!~noone@int-e.eu PRIVMSG #esoteric :yeah < 1563580667 531113 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :*shrug* it's a general equation for resistors, not only for cables < 1563580669 39836 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(they're normally thinking of the difference between positive and negative/ground, not between one end and the other) < 1563580674 111414 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :sure < 1563580692 572586 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :anyway, the reason long distance power distribution uses such high voltages is that it allows you to use lower current for the same amount of power delivered, which means less power lost as heat < 1563580706 34159 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yep < 1563580707 708899 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :and that in turn is the advantage of an AC grid < 1563580708 532443 :int-e!~noone@int-e.eu PRIVMSG #esoteric :if the voltage difference between the ends of the cables is 20kV you almost definitely have a problem. < 1563580730 198145 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :because with AC you can convert the voltage up or down using simple, passive devices < 1563580730 656293 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :does the resistance at the contacts matter? < 1563580742 974068 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :b_jonas: sure, it is part of the overall resistance of the wire < 1563580743 435026 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :at sufficiently high voltage differences the cable hardly matters, you can just send electricity along the air around them < 1563580748 32470 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :hehe < 1563580759 686441 :b_jonas!~x@catv-176-63-24-206.catv.broadband.hu PRIVMSG #esoteric :kmc: sure, but how localized is the heat from that going to be? < 1563580759 747762 :int-e!~noone@int-e.eu PRIVMSG #esoteric :b_jonas: yes, it does. that's why contacts are usually the point where things get overheated and potentially melt down < 1563580766 576072 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :b_jonas: that's a complicated question < 1563580776 454673 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(this happens at high frequencies too, the electricity sometimes ends up going through the air around the wire rather than the wire itself < 1563580777 860630 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :) < 1563580793 557760 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :there's no simple answer to "how much current can this bit of wire/contact handle" because it depends on the environment it dissipates heat to