00:02:45 <esowiki> [[User:ResU]] https://esolangs.org/w/index.php?diff=83877&oldid=83825 * ResU * (+49)
00:35:22 <esowiki> [[Truth Machine (language)]] https://esolangs.org/w/index.php?diff=83878&oldid=83875 * ResU * (+133)
00:38:49 <esowiki> <nakilon> resizing glitches you say... https://files.gitter.im/5773fad8c2f0db084a20979b/YUho/image.png
00:51:18 <esowiki> <fizzie> Not that I remember, no. But any sort of confusion/bug in the init could presumably do it. The timeout isn't external, as I recall, but handled with signals in init.
00:53:42 <esowiki> <fizzie> Though the only problems with init and its configuration that I remember are the ubd padding issues, which have been sorted all the way back in ceb910f.
00:57:27 <esowiki> <nakilon> damn clever thing the guy made https://github.com/kojix2/YouPlot
00:58:03 <esowiki> <nakilon> I've been using the unicode_plot library for a while, but he made a gem with ./bin making all sorts of STDIN parsers he would want to
00:58:37 <esowiki> <nakilon> so you don't need to write ruby code to use unicode_plot lib now
01:00:26 <esowiki> [[Special:Log/newusers]] create * Clpb * New user account
01:00:58 <esowiki> <nakilon> he could ask to add the binary to unicode_plot gem but it would need him to make test, debate on style and the unicode_plot's maintainer idea to have API "same as in julia" for idk why
01:01:18 <esowiki> <nakilon> instead he's making the binary independently
01:02:58 <esowiki> <nakilon> btw I don't like that the common directly and name for these is ./bin because they are not necessary binary files -- would be better to have them in ./exe I guess but I didn't see such standard
01:06:47 <esowiki> <fizzie> That's what "bin" means: executables.
01:08:56 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=83879&oldid=83841 * Clpb * (+161) Just added a short text about me so I can use the rest of the wiki
01:11:05 <esowiki> <fizzie> https://0x0.st/-_-p.txt <- a lot of non-"binary" files too. Also, a great filename, got lucky there.
01:13:12 <esowiki> <nakilon> what does that sed do?
01:13:46 <esowiki> <fizzie> Just an ad-hoc filter to get rid of all the boring cruft in "..., dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d146dbe9a8ea08382b6c63ee7d0ebeb151f2ced3, for GNU/Linux 3.2.0, stripped".
01:14:04 <esowiki> <fizzie> Especially the BuildID, of course.
01:14:28 <esowiki> <nakilon> hm, for some files the file prints me too much
01:14:55 <esowiki> <fizzie> Probably a slightly different output format then. I just picked something that worked for me.
01:14:56 <esowiki> <nakilon> https://dpaste.org/RjJc/slim
01:15:18 <esowiki> <nakilon> I guess this file just has three versions in it
01:15:36 <esowiki> <fizzie> Yeah, don't have to worry about "fat" binaries on this system.
01:15:37 <esowiki> <nakilon> damn I thought this thing is gone when macOS removed the power9 support
01:16:58 <esowiki> <fizzie> In retrospect, `file --mime-type --brief` would've been an easier way to sanitize: https://0x0.st/-_-f.txt
01:17:51 <esowiki> <fizzie> (Besides, aren't you going to start getting all these x86-64/AArch64 multi-binaries next?)
01:19:44 <esowiki> <keegan> man, they really screwed up by not calling the 64-bit arm architecture "leg"
01:19:48 <esowiki> <nakilon> cd yeah I may confuse them -- didn't work with them either
01:20:09 <esowiki> <fizzie> I think "leg" was being used for something though?
01:21:34 <esowiki> <fizzie> Not exactly easy to search for with everyone writing these "cost you an ARM and a leg" pun titles.
01:22:52 <esowiki> <fizzie> Maybe there wasn't anything, or at least anything too relevant, and I just imagined it.
01:24:36 <esowiki> <fizzie> Oh, right, I think I'm thinking of that LLVM toy example that was just like an ARM subset, https://llvm.org/devmtg/2014-10/Slides/Cormack-BuildingAnLLVMBackend.pdf
01:25:11 <esowiki> <fizzie> https://github.com/frasercrmck/llvm-leg
01:25:36 <esowiki> <fizzie> Doesn't exactly fit the "a bigger ARM" context though.
01:25:59 <esowiki> <fizzie> StrongARM was an actual thing though.
01:27:14 <esowiki> <keegan> and "thumb" of course
01:27:35 <esowiki> <fizzie> Something something middle finger pun.
01:30:30 -!- LdDIyJhJowY has joined.
01:30:30 <LdDIyJhJowY> This is exaActly the siutuationq DXisEcFIerreit hasG found itselfq ins.t Wge HwerRe bridginYg ltoZ guarkantee a smooyth transition..d.C wigthiEn hGoursP ofr cShkangDinng the topicr tQo point Sto the neOwR chat, theyg toPok Dover oXur channekls.j
01:30:30 -!- LdDIyJhJowY has left.
01:31:10 <esowiki> <fizzie> Heh, been a while since the last piece of forwarded spam.
01:32:01 <esowiki> <fizzie> Clearly a bad siutuationq.
01:33:59 <esowiki> <pikhq> <CTCP>ACTION scratches her head<CTCP>
01:34:31 <esowiki> <Corbin> Looks like SCP-3125.
01:35:05 <esowiki> <fizzie> I can get something intelligible out of all the other words by only deleting letters, with the exception of "DXisEcFIerreit".
01:35:28 -!- xKkPIopn has joined.
01:35:28 <xKkPIopn> Andrew ULee likeKs wsuckingF hot asiarn Zguy's diAcks and has haH jcchkode hiumeseDlf.
01:35:28 -!- xKkPIopn has left.
01:36:12 -!- KMNhVsyh has joined.
01:36:12 -!- KMNhVsyh has left.
01:36:34 <esowiki> <fizzie> Feel free to do "brctl: ignore freenode/*" if you want to stop that from doing anything in that direction.
01:37:51 -!- QJumDgxQzK has joined.
01:37:51 -!- QJumDgxQzK has left.
01:38:13 <esowiki> <fizzie> As for "DXisEcFIerreit", maybe that's "Disc..." something. "DiscFerret"? netsplit.de says #discferret was a channel over on the other network.
01:38:53 <esowiki> <nakilon> 1 /usr/bin/ex (for architecture x86_64):Mach-O 64-bit executable x86_64
01:38:53 <esowiki> <nakilon> 1 /usr/bin/ex (for architecture arm64e):Mach-O 64-bit executable arm64e
01:39:13 <esowiki> <nakilon> this is how arm looks like
01:41:38 <esowiki> <fizzie> There's been two other similarly jumbled-up nicknames joining and subsequently parting, but they've not said anything.
01:41:59 <esowiki> <fizzie> I might +q $~a over on the other side maybe.
01:42:07 <esowiki> <fizzie> Hard to say if it's likely to get any worse or not.
01:44:56 <esowiki> <nakilon> https://dpaste.org/fCzA/slim
01:49:32 <esowiki> <nakilon> you have 10 times more ruby executables than I do lol
01:50:36 <esowiki> <nakilon> maybe they are hidden by rbenv shims
02:29:12 <esowiki> <nakilon> fungot are you going to update your esoteric language?
02:29:12 <esowiki> <fungot> nakilon: but, we are far outnumbered! that frog made the epoch, your wings! now this is a way to the ocean palace! and if you wish! we shall hold this position to the last man! big fire where lavos fall from sky! we no can call that the chrono trigger. it is r66-y? cool? who knows what would become of my mystics? i must win!
04:32:48 <esowiki> <iovoid21> ⧸!\ TΗIᏚ СНᎪNNᎬᒪ ΗAS ϺOVЕᎠ TO IᎡC․LIBΕᎡA.CHAΤ #HAΜᖇADІO /︕⧵
04:32:49 <esowiki> <iovoid21> /!\ THE JΕWS ᕼΑVЕ TAKEΝ OᏙЕR FᖇEᎬNODΕ, CHATS HАVE MОᏙΕᎠ ТO ⅠRⲤ․ᒪІВЕᎡA.CᕼAT ⧸!\
04:32:50 <esowiki> <iovoid21> /!﹨ JOIⲚ #НᎪΜRADΙO TODΑY. TΗІS CዘАΝNΕⅬ ᕼAS ΜⲞVED ΤO IᎡС.LΙBΕᎡA.ᏟᎻΑT #HᎪMRΑDΙО /!\
04:32:55 <esowiki> <iovoid21> TዘΙЅ OFFIᏟІᎪLᏞⲨ EⲚᗪORSEⅮ MΕSSAᏀᎬ ᎳᎪS ⲂᖇⲞUԌΗТ ᎢO YⲞU BY ᏞIBEᖇᎪ․ϹᕼAᎢ STAᖴᖴ
04:33:48 <esowiki> <dioxide> ∕!\ TⲎΙЅ CHΑNNΕL ΗAS ϺОVEᗪ ᎢO IRC.LΙBEᏒA.CHAΤ #HAᎷᎡΑDΙO /!⧹
04:45:13 <esowiki> [[Nevermind]] https://esolangs.org/w/index.php?diff=83880&oldid=83869 * Bangyen * (+103)
04:45:26 <esowiki> [[Nevermind]] M https://esolangs.org/w/index.php?diff=83881&oldid=83880 * Bangyen * (-2)
04:56:24 <esowiki> <nakilon> just noticed, Chrome added features to "autodelete cookies after you close specific website" and "fully disallow cookies on specific websites [including third-party cookies]"
04:56:51 <esowiki> <nakilon> added FB and IG there instantly
05:29:37 <esowiki> <zzo38> In C, can I prevent global variables that I am not using from taking up memory?
05:30:12 <esowiki> <keegan> the linker should remove unused stuff
05:30:18 <esowiki> <keegan> not sure if that requries -fdata-sections
05:30:19 <esowiki> <zzo38> (without dynamic allocation)
05:30:45 <esowiki> [[User:Salpynx/Braneflage]] N https://esolangs.org/w/index.php?oldid=83882 * Salpynx * (+4173) document lofty goals for a fungeoid playing with dimensionality
05:30:45 <esowiki> <ais523> zzo38: global variables in C are statically allocated, so the memory for them will be reserved right from the start of the program
05:30:49 <esowiki> <zzo38> Actually I mean it might not be known until run time, and sometimes the variables might be used only for part of the execution and then it is finished with it, or it doesn't need it at the start but does use it later
05:31:20 <esowiki> <ais523> however, if they're on a page that's all zeroes, most OSes won't actually allocate the page until you assign to one of them, so only the address space is allocated, not the physical memory
05:31:33 <esowiki> <keegan> if you are on a system with virtual memory, yes
05:31:55 <esowiki> <zzo38> Well, I am using Linux so I think that it does have virtual memory
05:31:58 <esowiki> <keegan> if you're programming a microcontroller then that doesn't help
05:31:59 <esowiki> <ais523> I think most systems that have an OS also have virtual memory nowadays, although of course that wasn't historically always the case
05:32:15 <esowiki> <keegan> that depends how you define an "OS"
05:32:27 <esowiki> <ais523> on a microcontroller you normally care more about peak memory usage than anything, so it's usual to statically allocate everything so that you know how much is available
05:32:40 <esowiki> <zzo38> Is it possible to specify what page to use for each group of variables, and then to cancel a page once it is no longer in use?
05:32:45 <esowiki> <ais523> and if it's too much, figure out which variables aren't being used simultaneously and union them
05:32:49 <esowiki> <keegan> i'm not sure I've *ever* used malloc in all my microcontroller programming
05:33:08 <esowiki> <ais523> zzo38: not in a standard or portable way, both are possible in Linux (and probably other OSes) via system-specific mechanisms
05:34:08 <esowiki> <keegan> in GCC you can specify the section for each variable, and then you can use a linker script to put all those variables together and align them to a page
05:34:15 <esowiki> <keegan> and then use madvise(MADV_DONTNEED)
05:34:15 <esowiki> <ais523> I guess putting them all in a big structure that's alignas() the page size would be one way to approximate it in (modern) standard C, although you would have to know what the page size was
05:34:30 <esowiki> <ais523> but using a linker script would be the more normal way
05:34:43 <esowiki> <keegan> on a symbol derived from the section load address (which the linker script can also give you)
05:35:52 <esowiki> <ais523> MADV_FREE is possibly better than MADV_DONTNEED for this, it's a kind of "lazy" MADV_DONTNEED that delays the free until memory pressure occurs (or you unfree the pages by writing to them again)
05:36:40 <esowiki> <ais523> although, this seems like the sort of thing that if you were heavily using it for performance, ideally the kernel API wouldn't require system calls
05:37:44 <esowiki> <ais523> if there's no need to do something synchronously, you can imagine having a userspace buffer of "unimportant system calls" that the kernel reads when the process's timeslice starts/ends (not sure which timing would be better)
05:37:50 <esowiki> <ais523> and runs them then, to save on context switches
05:38:01 <esowiki> <ais523> I don't think anything like that exists yet, but it should
05:38:35 <esowiki> <zzo38> For example, the hash tables are only needed during class loading, and the variables dealing with sounds are only needed if sounds are enabled
05:39:13 <esowiki> <ais523> zzo38: if you're looking for a more standard mechanism, you can make the global variables pointers to dynamically allocated memory, allowing you to allocate the memory only when needed and free it after you're done
05:39:59 <esowiki> <zzo38> Yes, I know, but I wanted to know if there is a way to do without dynamic memory, too
05:40:02 <esowiki> <ais523> although, in practice, most mallocs will never return memory to the OS (until the program ends), rather recycling it for use in future allocations, except when dealing with very large allocations
05:41:15 <esowiki> <keegan> I've heard proposals to make all system calls asynchronous based on request / completion queues
05:41:21 <esowiki> <keegan> not sure if that was ever implemented in linux
05:41:38 <esowiki> <ais523> I think that in order to make a general-purpose malloc that did habitually return almost all the memory, you'd need some sort of GC that could move objects around and update the pointers to them, otherwise memory fragmentation would become too large an issue
05:41:40 <esowiki> <ais523> keegan: I like that
05:42:21 <esowiki> <keegan> except I guess you still want something like a synchronous system call that's just "wait for the next event"
05:42:23 <esowiki> <ais523> I've actually been wondering about how far you could go in terms of implementing system calls in userspace
05:42:32 <esowiki> <keegan> (which could be a syscall completion or a timer or an I/O event)
05:42:40 <esowiki> <ais523> and yes, you need one blocking call, which would basically be a hyper-general select-alike
05:47:33 <esowiki> <zzo38> You can't move objects around with malloc though; you will need realloc for such a thing, I think. (I don't know what implementations of realloc will do that well enough, though.)
05:47:37 <esowiki> <ais523> when looking into the "world's fastest fizzbuzz" thing I was wondering whether it might be possible to implement pipes using shared memory, so that the kernel normally wouldn't need to be involved
05:48:13 <esowiki> <ais523> zzo38: well, we're assuming that the malloc implementation wants to move them, the problem is that the program that allocated the objects typically won't be able to handle them unexpectedly moving
05:48:36 <esowiki> <ais523> so you'd probably need to use something that was able to trace all the pointers to the objects (even in registers) to be able to update them
05:49:11 <esowiki> <ais523> esoidea: a "conservative" Boehm-GC-like GC, but which actually compacts objects in memory, and just updates anything in the address space that looks like a pointer
05:49:27 <esowiki> <ais523> this would lead to random bits of memory corruption, but the program would probably still run
05:49:41 <esowiki> <ais523> and you could probably work around it by programming defensively
05:51:33 <esowiki> <zzo38> The OASYS text adventure VM will set all references to an object to null when the object is freed, although it doesn't move around objects in memory (but doing so wouldn't be prohibited by the definition of the VM, as long as it looks in local variables and stack also; doing so would require keeping track of the types of values in the stack)
05:52:08 <esowiki> <ais523> I think compilers should generate metadata with programs that allow all the types of values in the stack and heap to be calculated via tracing pointers
05:52:18 <esowiki> <ais523> they're pretty much doing that anyway at the moment, to generate debug info
05:52:27 <esowiki> <ais523> and it would be useful for precise garbage collection and compaction
05:56:07 <esowiki> <keegan> I know there's been a lot of design work on adding GC hooks to Rust
05:56:29 <esowiki> <keegan> because they don't want to add a GC to the language implementation itself, but want to make it possible for third party libraries to implement GCs that integrate nicely
05:56:33 <esowiki> <keegan> it's a fairly tricky problem
05:57:13 <esowiki> <keegan> btw that kind of metadata is also used for another purpose: stack unwinding for exceptions
05:57:26 <esowiki> <ais523> although, I'm not as sure that that's necessary
05:57:46 <esowiki> <ais523> I had a great idea to save executable size, which is to determine the stack unwind rules via static analysis of the executable
05:58:06 <esowiki> <ais523> and to make small adjustments to opcodes in order to ensure that the analysis would produce the right result
05:58:13 <esowiki> <ais523> (and to mark things like catch blocks)
05:58:31 <esowiki> <keegan> well you can definitely implement exception semantics without stack unwinding, by transforming to a sum type. but it loses performance in the non-exceptional case
05:58:33 <esowiki> <ais523> at least in x86, lots of asm instructions have multiple possible encodings, which let you put that sort of metadata there
05:58:36 <esowiki> <keegan> now that's an interesting idea
05:59:04 <esowiki> <keegan> the idea of "constrain your compiler output so it's statically analyzable" also shows up in other places
05:59:15 <esowiki> <keegan> like various sandboxing schemes
05:59:32 <esowiki> <keegan> Google's NaCl and other stuff
05:59:47 <esowiki> <keegan> running untrusted native code by checking that it conforms to a restricted subset that has statically analyzable control flow
05:59:56 <esowiki> <ais523> most notably, mov register, register has a spare bit, and the REX prefix is very common and has a spare bit (rex.x) in the majority of places it's used
06:01:35 <esowiki> <ais523> int-e: in both these locations, the two commands are specced as equivalent, so Intel/AMD couldn't break the equivalence in a future processor revision without breaking existing programs
06:02:20 <esowiki> <ais523> so the only issue would be if you wanted to use the spare bits for two different purposes, and I think it'd be up to the executable format to decide which meaning it wanted
06:02:27 <esowiki> <zzo38> There are VM codes for such statically analyzable with sandboxing too, though
06:03:02 <esowiki> <ais523> shachaf: this seems unlikely to happen in practice, because the spare bits are a consequence of making the encodings orthogonal
06:03:20 <esowiki> <ais523> so the reason they're there in the first place is because it was more performant to do that than to give them a meaning
06:03:44 <esowiki> <ais523> int-e: well, the amount of information you need for unwind, that isn't in the code already, is basically zero
06:04:04 <esowiki> <ais523> oh, with GC it'd be way worse, you probably wouldn't have enough for that
06:04:07 <esowiki> <ais523> I was just thinking about unwinding
06:04:39 <esowiki> <zzo38> Although, some VM codes are not statically analyzable, but that will only mean that JIT is difficult; depending on the specific VM codes, stuff such as moving around objects automatically might still be possible
06:06:19 <esowiki> <ais523> well, a decently accurate algorithm for unwinding on a caller-cleans ABI looks something like "run through the program, executing only unconditional jumps, pushes/pops, returns, and anything that mentions the stack pointer"
06:07:20 <esowiki> <ais523> the only common operation that misses is spills
06:08:10 <esowiki> <zzo38> I don't know if it will work unless the program is written in that way, in which case it will work.
06:08:40 <esowiki> <ais523> and I was thinking about this in combination with an ABI where spills were noticeably different from "regular" local variable access (accessing a different part of memory, so that local variable out-of-bounds wouldn't overwrite spilled data)
06:09:31 <esowiki> <ais523> fwiw, nowadays I think of function calls and returns as a spill of the instruction pointer, it seems to map perfectly into the normal register spilling in the function prolog/epilog
06:10:04 <esowiki> <ais523> the calling function doesn't get to use the instruction pointer because the called function needs to use it, so you have to spill it
06:11:30 <esowiki> <ais523> yes, but you need to spill the register in order to make more than one call
06:12:07 <esowiki> <ais523> actually, modern x86 does that too, but only for userspace→kernelspace `syscall`s
06:12:40 <esowiki> <ais523> (I think the reason is that is that it saves you from needing to figure out which stack you're using and what's allowed to access it)
06:13:25 <esowiki> <ais523> this is why syscalls on Linux clobber two registers, incidentally, it's because those registers were used to spill IP and flags during the syscall process
06:14:01 <esowiki> <ais523> it's call-preserved for obvious reasons, thus it must be technically owned by the caller
06:14:23 <esowiki> <ais523> (although of course the callee can use it for other things temporarily as long as it restores the value)
06:16:34 <esowiki> <ais523> I guess one benefit of using a link register is that it means that the processor doesn't have to understand the stack at the hardware level
06:16:48 <esowiki> <ais523> although, I think hardware-accelerated stacks make a lot of sense for all but the very simplest processors
06:17:55 <esowiki> <ais523> I think both Intel and AMD have a separate predictor in the hardware whose job is to predict the value of %rsp, that runs ahead of the main predictors
06:18:22 <esowiki> <ais523> and they also have an internal stack that stores the addresses of the last few unreturned call instructions to be executed
06:18:30 <esowiki> <ais523> which is used to predict where a return instruction goes
06:18:50 <esowiki> <ais523> (but the value needs to be read from memory anyway, just in case someone modified the stack in between the call and return)
06:19:34 <esowiki> <ais523> IIRC something related to Spectre/Meltdown meant that there was some scenario in which you had to intentionally overflow that stack for security reasons
06:19:59 <esowiki> <ais523> in order to overwrite any value an attacker might have put in there (which might cause speculative execution to something that shouldn't be speculatively executed)
06:22:39 <esowiki> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=83883&oldid=83799 * Otesunki * (+1810) testing tables
06:23:28 <esowiki> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=83884&oldid=83883 * Otesunki * (-2) fix
06:27:22 <esowiki> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=83885&oldid=83884 * Otesunki * (-2)
06:27:42 <esowiki> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=83886&oldid=83885 * Otesunki * (+17)
06:28:20 <esowiki> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=83887&oldid=83886 * Otesunki * (-1823)
06:33:22 <esowiki> [[RAMDISP]] N https://esolangs.org/w/index.php?oldid=83888 * Otesunki * (+2006) Inital Commit
06:37:09 <esowiki> [[RAMDISP]] https://esolangs.org/w/index.php?diff=83889&oldid=83888 * Otesunki * (+513)
07:28:06 -!- xelxebar has quit (Remote host closed the connection).
07:28:23 -!- xelxebar has joined.
07:32:55 <esowiki> <nakilon> that's what unicode is for
07:33:07 <esowiki> <nakilon> to avoid spamfilters
07:38:35 <esowiki> [[RAMDISP]] https://esolangs.org/w/index.php?diff=83890&oldid=83889 * Otesunki * (+9)
07:41:09 <esowiki> <b_jonas> ais523: well those are some scary eso-ideas
07:47:30 <esowiki> <b_jonas> ais523: on the practical side, the big advantage of Linux and C ecosystem is that most of the libraries are compiled in a way that has a fixed ABI and you'll be able to use the same binary without recompiling forever. (the rust guys are trying to work hard to break this, though perhaps that'll change in the future like on MSVC, but even in a rust library you could add a definite C ABI interface that you
07:47:36 <esowiki> <b_jonas> export and then import with another smaller rust "header" library that you do have to recompile.) that makes it hard to try to do something like that garbage collection that requires every piece of code in your executable to adhere to some new ABI convention like that unwinding markings.
07:49:59 <esowiki> [[RAMDISP]] https://esolangs.org/w/index.php?diff=83891&oldid=83890 * Otesunki * (+44)
07:50:50 <esowiki> [[RAMDISP]] https://esolangs.org/w/index.php?diff=83892&oldid=83891 * Otesunki * (-2) /* Instructions */
07:51:24 <esowiki> [[RAMDISP]] https://esolangs.org/w/index.php?diff=83893&oldid=83892 * Otesunki * (-16) /* Instructions */
07:57:01 <esowiki> <b_jonas> I consider this assuming benevolence: let's say that rust doesn't have a stable ABI yet because it's a young language and they don't want to commit themselves to a bad ABI while the language is still evolving, because they might regret that later.
07:57:17 <esowiki> [[User talk:Bangyen]] N https://esolangs.org/w/index.php?oldid=83894 * OfficialCraftCGame * (+83) Created page with "whoa i've only made this wiki today and ppl made interpreters/compilers for it wow."
07:57:47 <esowiki> [[User talk:Bangyen]] https://esolangs.org/w/index.php?diff=83895&oldid=83894 * OfficialCraftCGame * (-83) Blanked the page
07:58:35 <esowiki> <b_jonas> so for now, if you really want a fixed ABI, you have to explicitly define and export a C ABI, and import it from another crate. sort of like what you could do to have a binary that you don't have to recompile for a C++ library in Windows MSVC, back when MSVC broke the C++ ABI more often. though the situation isn't quite analogous to C++, so don't try to take that metaphor too far.
07:59:07 <esowiki> <nakilon> wow that Bangyen dude implemented >30 interpreters
07:59:14 <esowiki> <b_jonas> and yes, I do sometimes say that rust is to C++ as zig is to C, but rust crates which are relevant here are one of the things that really break this analogy
07:59:54 <esowiki> <b_jonas> nakilon: you mean some people in #esoteric do weird and apparently useless things with computers?
08:04:09 <esowiki> <nakilon> I should make one more useless thing
08:04:22 <esowiki> <nakilon> a translator between all the brainfuck derivatives
08:11:19 <esowiki> <nakilon> while downloading maps from davidrumsey.com it's so interesting to explore how town that know had different names during being settled by different people
08:13:29 <esowiki> <nakilon> for example, the first known town names in Crimea were given by Greeks, Evpatoria was known as Kerkinitida, then it was renamed to Gezlev idk by whom, maybe tatars that were owners of it for most of the time
08:14:17 <esowiki> <nakilon> Sebastopol, Simferopol, Melitopol -- the "-opol" is from greek
08:15:23 <esowiki> <nakilon> then Russian names were changing sometimes during the Russian Empire
08:17:14 <esowiki> <nakilon> then seas also have multiple names because they are named by explorers from everywhee
08:19:01 <esowiki> <nakilon> and that German regions that int-e helped me understand the map about -- I didn't know they existed, and some towns there really had German names
08:50:03 -!- aloril has quit (Ping timeout: 258 seconds).
08:56:54 <esowiki> [[User:Salpynx/Braneflage]] M https://esolangs.org/w/index.php?diff=83896&oldid=83882 * Salpynx * (+43) /* Program Commands */ grow / shrink in terms of w
08:56:57 -!- dionys has joined.
09:04:11 -!- aloril has joined.
09:08:59 <esowiki> <fizzie> I could do the usual "add a non-breaking space" thing.
09:09:42 <esowiki> <fizzie> Or make "brctl: ignored" only work via private messages, maybe that'd be better.
09:19:52 -!- esowiki has joined.
09:21:55 <esowiki> <fizzie> Two reasons: I think it's good there's some way of checking it did what you told it to; and I need a way of reading the list before a restart so that I can persist it into the config file.
09:22:19 <esowiki> <fizzie> Maybe we won't have a bridge so long that it's worth doing anything extreme, like having it write a file.
09:31:09 <esowiki> <fizzie> I've been wondering if there's a thing like that; I was going to set it on esowiki on the other network, so that all the bridged things and/or wiki changes stop showing up as activity.
09:46:05 <esowiki> <tepos> /﹗⧹ THIЅ СHΑΝΝᎬL HАS ΜΟVΕᎠ TΟ IᎡϹ.ᏞIBΕRΑ.ⅭᕼAT #HᎪMRАᎠⅠΟ ⁄!\
09:46:05 <esowiki> <tepos> /!⧹ JOIΝ #ዘAΜRAᎠΙΟ ΤOⅮAY. ΤHΙᏚ CⲎAⲚNΕL ΗAS ΜⲞVED ТΟ ΙᎡC․LΙBEᎡA.CHΑT #HAMRΑᎠIO /!⧹
09:46:05 <esowiki> <tepos> TᕼΙS ΟᖴᖴΙCΙAᏞᏞΥ EΝDORSᎬᗪ ⅯΕᏚSAGE WAS BROUGHΤ TO YOU BY ᒪIВERA․СНAT ᏚТАFᖴ
10:04:23 -!- wib_jonas has joined.
10:04:23 -!- wib_jonas has quit (Client Quit).
10:27:30 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=83897&oldid=83873 * Otesunki * (+14) Added RAMDISP
10:28:41 <esowiki> [[RAMDISP]] https://esolangs.org/w/index.php?diff=83898&oldid=83893 * Otesunki * (-2) if Otesunki.stupid: Otesunki.scream()
10:35:36 <esowiki> [[RAMDISP]] https://esolangs.org/w/index.php?diff=83899&oldid=83898 * Otesunki * (+175)
10:39:58 <esowiki> [[RAMDISP]] https://esolangs.org/w/index.php?diff=83900&oldid=83899 * Otesunki * (+22) /* Instructions */
10:46:42 <esowiki> [[PEWWWWW]] N https://esolangs.org/w/index.php?oldid=83901 * Monochromeninja * (+2652) Unfinished. Only contribute if you know what you're doing!
11:05:45 -!- LKoen has joined.
12:06:39 <esowiki> [[Tech Support Scam]] M https://esolangs.org/w/index.php?diff=83902&oldid=83858 * PythonshellDebugwindow * (+0) /* Truth machine */ Fix
12:08:16 <esowiki> [[Stoplight]] M https://esolangs.org/w/index.php?diff=83903&oldid=82416 * Jedgrei * (-29) It's not turing complete
12:09:21 <esowiki> <fizzie> [Re wiki-change:] I agree it's not, but I don't think it's really an OISC either.
12:17:49 -!- LKoen has quit (Ping timeout: 248 seconds).
12:27:12 <esowiki> [[User:CatCatDeluxe]] M https://esolangs.org/w/index.php?diff=83904&oldid=83859 * CatCatDeluxe * (-19)
12:31:24 <esowiki> [[Program Number System]] https://esolangs.org/w/index.php?diff=83905&oldid=83819 * Aspwil * (+821) /* Notes */
12:48:31 <esowiki> <nakilon> as I asid, brctl could respond in private or notice
12:48:39 <esowiki> <nakilon> to avoid highlight
12:56:35 <esowiki> <fizzie> I don't like bots responding in private when the trigger was public. But in any case the listing is now private-only.
13:22:15 <esowiki> [[User:Salpynx/Braneflage]] https://esolangs.org/w/index.php?diff=83906&oldid=83896 * Salpynx * (+129) /* Program Commands */ accumulator deltas
13:24:28 -!- dionys has left.
13:43:42 <esowiki> [[User:Salpynx/Braneflage]] M https://esolangs.org/w/index.php?diff=83907&oldid=83906 * Salpynx * (+43) /* Program Commands */ define x
13:45:25 -!- ArthurStrong has joined.
14:57:06 <esowiki> [[Program Number System]] https://esolangs.org/w/index.php?diff=83908&oldid=83905 * Aspwil * (+309) /* Syntax */
14:59:19 <esowiki> [[Program Number System]] https://esolangs.org/w/index.php?diff=83909&oldid=83908 * Aspwil * (+29) /* Notes */
15:04:36 <esowiki> [[Program Number System]] https://esolangs.org/w/index.php?diff=83910&oldid=83909 * Aspwil * (+426) /* Notes */
15:05:37 <esowiki> <wib_jonas> .oO(if only that occured to Gödel)
15:06:28 <esowiki> [[Program Number System]] https://esolangs.org/w/index.php?diff=83911&oldid=83910 * Aspwil * (+135) /* An Actual Dictionary */
15:07:55 <esowiki> [[Program Number System]] https://esolangs.org/w/index.php?diff=83912&oldid=83911 * Aspwil * (-5) /* Example */
15:08:49 <esowiki> [[Program Number System]] https://esolangs.org/w/index.php?diff=83913&oldid=83912 * Aspwil * (+16) /* Example */
15:09:06 <esowiki> [[Program Number System]] https://esolangs.org/w/index.php?diff=83914&oldid=83913 * Aspwil * (+0) /* Syntax */
15:15:42 <esowiki> [[Trivial brainfuck substitution]] https://esolangs.org/w/index.php?diff=83915&oldid=80702 * Aspwil * (+27)
15:27:39 <esowiki> [[User talk:Salpynx/Braneflage]] N https://esolangs.org/w/index.php?oldid=83916 * Aspwil * (+147) Created page with "this is a really interesting idea, I would love to see it be completed. ~~~~"
15:49:49 <esowiki> [[Stoplight]] M https://esolangs.org/w/index.php?diff=83917&oldid=83903 * PythonshellDebugwindow * (+321) Implement
15:54:31 <esowiki> [[Special:Log/newusers]] create * MathR * New user account
16:01:27 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=83918&oldid=83879 * MathR * (+138) /* Introductions */
16:10:54 -!- LKoen has joined.
16:13:43 <esowiki> [[User:MathR]] N https://esolangs.org/w/index.php?oldid=83919 * MathR * (+40) Created page with "Hi I'm '''MathR''' and ''I like bread''."
16:47:23 <esowiki> <b_jonas> there'll be a fun second wave starting around 2021-07-27 when all the libera nicks grabbed by the gold rush folks start to expire, and #libera will be overloaded by requests by other users to usurp them
16:53:26 <esowiki> <b_jonas> ok, so I have a silly question. suppose I want to render the logs of this channel in HTML, and want to assign a unique class to every nick so that I can assign unique full depth colors to them (and readers can customize those colors easily in browser side). should I use the nicks in the class names as is, which is valid but requires you to escape some characters in CSS, or should I translate the
16:53:32 <esowiki> <b_jonas> brackets and backslashes to letters according to some ISO-646 character set? and if the latter, should it be the finnish or the norwegian? what ISO-646 character set does New Zealand use?
16:54:55 <esowiki> <fizzie> I would say the Finnish, but I'm obviously biased.
16:57:07 <esowiki> <b_jonas> fizzie: what do I do with a "^" then?
16:57:10 <esowiki> <fizzie> Would you also lowercase them with the network's CASEMAPPING=rfc1459 rules, or just distinguish between case?
16:57:24 <esowiki> <b_jonas> ah, apparently you can map that to ü
16:57:59 <esowiki> <b_jonas> fizzie: I would make them case insensitive as in nicks that fold the same get the same class, but probably preserve the latest case that appears in the log in the class name
16:58:16 <esowiki> <b_jonas> if I want to support user style overrides then that won't work
16:58:23 <esowiki> <b_jonas> then I'll just casefold them all to uppercase
16:59:24 <esowiki> <fizzie> I don't think its ü in ISO-646-FI proper, but I think it's all pretty flexible.
16:59:28 <esowiki> <fizzie> `` echo '[\]^{|}~' | iconv -f iso646-fi -t utf-8
17:01:01 <esowiki> <fizzie> I think it's odd that Libera.Chat (the modern network) uses CASEMAPPING=rfc1459, while IRCnet (the agressively non-modern network that doesn't do services, and has half the open TLS-capable servers using expired certificates) uses CASEMAPPING=ascii.
17:01:59 <esowiki> <b_jonas> fizzie: freenode used to do ascii, but they changed it when they changed the irc software
17:02:17 <esowiki> <b_jonas> I don't know what they did to nick/channel registrations that clashed after
17:05:01 <esowiki> <fizzie> I did a survey of ircnet.clue.be, ircnet.hostsailor.com, ssl.irc.atw-inter.net, irc.swepipe.net and openirc.snt.utwente.nl in preparation of maybe switching to an opinionated TLS-only bouncer. The first two have a valid Let's Encrypt cert, but the third has a self-signed (though not expired) certificate, the fourth had a Let's Encrypt certificate for a completely different DNS name that had expired two
17:05:07 <esowiki> <fizzie> days ago, and the fifth had a Digicert-issued certificate that had expired in Sep 2020.
17:05:23 <esowiki> <fizzie> The last one also just closed the connection after TLS negotiation.
17:05:24 <esowiki> <b_jonas> fizzie: are those all ircnet servers?
17:06:08 <esowiki> <fizzie> I picked them from http://irc.tu-ilmenau.de/all_servers/?focus=1&open=1 which is supposedly automagically maintained by a crawler.
17:06:37 <esowiki> <fizzie> Back "home" it used to be the case that you just used your ISP's IRCnet server, and didn't have to worry about these kind of things.
17:07:29 <esowiki> <b_jonas> fizzie: ircnet is terrible. it has a hodge-podge of servers ran to different specifications, even the nicklen and chanlen restrictions are different on them, which is, you know, weird because they apply to nicks and #-channels that are global on the network (for &-channels it would make sense)
17:07:37 <esowiki> <b_jonas> and most of the servers are closed
17:07:47 <esowiki> <b_jonas> and many of the servers are sometimes working sometimes not
17:07:54 <esowiki> <b_jonas> I am connected but I don't like the place
17:07:56 <esowiki> [[Jumping True]] N https://esolangs.org/w/index.php?oldid=83920 * MathR * (+1928) Created page with "'''Jumping True''' is an esolang created by [[User:MathR|MathR]]. Its main particularity is that its conditional statement is based on the [[Truth-machine|truth-machine]]. It..."
17:08:08 <esowiki> <fizzie> I know, but it's still "the" network for me, so I don't want to drop off.
17:08:31 <esowiki> <b_jonas> freenode was "the" network for me.
17:08:48 <esowiki> <fizzie> I'm probably on more channels there than here, anyway. It's just that they're all utterly silent.
17:09:22 <esowiki> [[Jumping True]] https://esolangs.org/w/index.php?diff=83921&oldid=83920 * MathR * (-2)
17:09:34 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=83922&oldid=83897 * MathR * (+19) /* J */
17:10:35 <esowiki> [[Jumping True]] M https://esolangs.org/w/index.php?diff=83923&oldid=83921 * MathR * (+17)
17:11:53 -!- LKoen has quit (Remote host closed the connection).
17:13:20 <esowiki> [[Binary but also Brainfuck but also neither (BBABBAN)]] N https://esolangs.org/w/index.php?oldid=83924 * Batata * (+4651) Created page with "'''Binary but also Brainfuck but also neither''' or '''BBABBAN''' for short (pronounced '''babn''') is an [[Esoteric_programming_language|esolang]] where, as the name..."
17:14:59 <esowiki> <oerjan> b_jonas: in my entirely unbiased opinion you should go with norwegian hth
17:16:43 <esowiki> <oerjan> . o O ( BBABBAN IS YOU )
17:19:12 <esowiki> <fizzie> BBABBAN, is that like one of those rhyme schemes?
17:19:57 <esowiki> <fizzie> I guess usually it'd be written AABAABC though.
17:31:45 -!- orbitaldecay has quit (*.net *.split).
17:33:24 <esowiki> [[User:MathR]] https://esolangs.org/w/index.php?diff=83925&oldid=83919 * MathR * (+28)
17:34:06 <esowiki> [[Jumping True]] M https://esolangs.org/w/index.php?diff=83926&oldid=83923 * MathR * (+4) /* Language overview */
17:34:15 -!- LKoen has joined.
17:34:26 <esowiki> [[User:Batata]] https://esolangs.org/w/index.php?diff=83927&oldid=83848 * Batata * (+65)
17:34:35 <esowiki> [[User:Batata]] https://esolangs.org/w/index.php?diff=83928&oldid=83927 * Batata * (+1)
17:35:23 <esowiki> <river> I feel like this is slightly esoteric
17:36:29 <esowiki> <river> if you take length 10 binary strings (there's 1024 of them), 0000 occurs in 251 of them, 0101 occurs in 357 of them, 0011 occurs in 424 of them
17:36:39 -!- orbitaldecay has joined.
17:37:06 <esowiki> <river> rephrased: flip a coin 10 times, how likely are you to get heads 4 times in a row? (about 25% chance) How likely are you to get heads heads tails tails (about 50% chance)
17:39:15 <esowiki> [[Jumping True]] https://esolangs.org/w/index.php?diff=83929&oldid=83926 * MathR * (+73)
17:39:25 <esowiki> <oerjan> > 424 / 1024 -- sounds a bit high
17:39:47 <esowiki> [[Jumping True]] M https://esolangs.org/w/index.php?diff=83930&oldid=83929 * MathR * (-1) /* Language overview */
17:40:54 <esowiki> <river> the fact these probabilities are different at all is pretty striking to me!
17:41:00 <esowiki> <river> I found this highly unintuitive
17:42:23 <esowiki> [[Jumping True]] M https://esolangs.org/w/index.php?diff=83931&oldid=83930 * MathR * (+6) /* Examples */
17:44:55 <esowiki> <oerjan> river: i think it's related to the fact that some of those allow more simultaneous occurrences. like 0000000000 contains 0000 at 7 different spots
17:45:12 <esowiki> <oerjan> but you cannot have that many at once for 0011 or 0101
17:46:06 <esowiki> <river> yeah I think it is!
17:46:09 <esowiki> <oerjan> if you count the occurrences, i think it gets even
17:46:21 <esowiki> <river> autocorrelation factor of 0000 is full, 0101 is half, 0011 is none
17:46:50 <esowiki> <river> ah let me try that out
17:46:57 <esowiki> [[Typeform]] https://esolangs.org/w/index.php?diff=83932&oldid=83826 * S1(210) * (+18)
17:47:27 <esowiki> [[Typeform]] https://esolangs.org/w/index.php?diff=83933&oldid=83932 * S1(210) * (+9)
17:47:41 <esowiki> <b_jonas> river: yes, also if you flip a coin repeatedly until you first get one of two chosen infixes that you're listening to, and both infixes are the same length, it's possible that you'll more likely to encounter one of them first than the other
17:47:52 <esowiki> <b_jonas> which is also a bit unintuitive
17:49:19 <esowiki> <river> hmm i tweaked the program to count with multiplicity, but i still get different values
17:49:32 <esowiki> <river> they are close to but all higher than the original numbers
17:50:12 <esowiki> <oerjan> hm that's strange, i thought they would be equal by the linearity of expectation value
17:50:31 <esowiki> <oerjan> are you sure you counted all occurrences :P
17:51:20 <esowiki> <oerjan> specifically, my reasoning: you _must_ have the same probability of all the strings occuring in the _first_ position, and in the _second_ position, etc.
17:52:11 <esowiki> <oerjan> s/of all the strings/of any string/
17:54:43 <esowiki> <oerjan> > replicateM 10 "01"
17:54:44 <esowiki> <lambdabot> ["0000000000","0000000001","0000000010","0000000011","0000000100","000000010...
17:56:03 <esowiki> <river> https://bpa.st/B6QA here's an example of looking for aa vs ab in length 5 bitstrings
17:56:19 <esowiki> <river> aa occurs 23 times, ab occurs 32 times
17:56:31 <esowiki> <river> this definitely doesn't make sense to me
17:56:48 <esowiki> <zzo38> How to configure Firefox so that if the current URI is a "file:" URI that points to a EPUB file, to automatically prefix "jar:" and suffix "!/" on the URL?
17:56:56 <esowiki> <oerjan> river: oh i see. i meant occurrences could be _overlapping_ too.
17:57:28 <esowiki> <river> it's a mistake in my code
17:57:35 <esowiki> <river> i meant to count overlapping
17:57:35 <esowiki> <oerjan> (so aaaaa should give 4 aa, not 2)
17:58:06 <esowiki> <river> the python count function is broken
18:01:14 <esowiki> <river> ok! fixed, now I get 32 in both cases!
18:07:53 <esowiki> <river> so what does this tell us... the number of times it occurs *is* equal - it's just that if a word has autocorrelation its going to happen in fewer runs, but more times per run
18:08:00 <esowiki> <river> for reasons?? that are unclear to me
18:14:03 <esowiki> <river> I feel like I just have 2 mysteries now
18:14:19 <esowiki> <river> why its equal when you could with multiplicity is not clear to me
18:23:08 <esowiki> <oerjan> river: counting with multiplicity is the same as counting each occurence of the string at each position.
18:24:02 <esowiki> <oerjan> now this should give the same result if you do it in a different order: for each position, count the number of large strings which have the smaller string at that position.
18:25:13 <esowiki> <oerjan> but that is the same as, number of positions * 2 ^ (number of bits outside the smaller string)
18:28:18 <esowiki> <b_jonas> there are two funny probability problems that we discussed on #esoteric after I brought them up, the chameleon one and a card game
18:28:26 <esowiki> <b_jonas> they're somewhere in the logs
18:30:37 <esowiki> <zzo38> Which ones are they? Do you remember it to copy it?
18:32:18 <esowiki> <b_jonas> I don't have links. I'll have to search for chameleon
18:35:49 <esowiki> <b_jonas> I should download the logs at some point to make searching esaier
18:37:21 <esowiki> <b_jonas> let me see... https://logs.esolangs.org/freenode-esoteric/2016-10.html#lDQc
18:39:47 <esowiki> <b_jonas> which links to https://logs.esolangs.org/freenode-esoteric/2016-07.html#lhhc
18:52:16 <esowiki> <b_jonas> I can tell the problems again later if someone cares, with the cleaners proofs that we know now
19:01:39 <esowiki> <zzo38> I am potentially interested in such things
19:21:10 -!- delta23 has joined.
19:29:40 <esowiki> [[User:Batata]] https://esolangs.org/w/index.php?diff=83934&oldid=83928 * Batata * (+3)
19:30:00 <esowiki> [[User:Batata]] https://esolangs.org/w/index.php?diff=83935&oldid=83934 * Batata * (+1)
19:40:49 <esowiki> <river> https://martingalemeasure.wordpress.com/2014/02/02/monkey-typing-abracadabra-14/
19:40:56 <esowiki> <river> monkey types randomly
19:40:59 <esowiki> <river> >Wow, the average time for the monkey to type  is actually longer than the average time to type .
19:41:12 <esowiki> <river> >Wow, the average time for the monkey to type ABA is actually longer than the average time to type ABC.
19:41:34 <esowiki> <river> does this align with the previous results? or contrast to them
19:43:54 <esowiki> <b_jonas> river: yes, I did mention that variant
19:44:25 <esowiki> <b_jonas> I mentioned something similar
19:44:31 <esowiki> <b_jonas> you're right that it's not the same
19:45:05 <esowiki> <b_jonas> isn't that backwards though?
19:45:17 <esowiki> <b_jonas> ABA should have a shorter average time to first type than ABC
19:52:28 -!- ArthurStrong has quit (Quit: leaving).
19:56:50 <esowiki> <b_jonas> of course that only applies if the monkeys hit keys uniformly. in reality they might have thick fingers so it's difficult for them to press just one button, or they're hammering on the keyboard with their fists or something
19:56:58 <esowiki> <b_jonas> uniformly and independently
20:08:07 <esowiki> <keegan> disappointed that the article does not involve actual experiments with monkeys
20:25:18 <esowiki> [[Talk:Glypho]] https://esolangs.org/w/index.php?diff=83936&oldid=8211 * Monochromeninja * (+1336) /* Python interpreter */ new section
20:33:02 <esowiki> [[Special:Log/newusers]] create * Justiof * New user account
20:41:28 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=83937&oldid=83918 * Justiof * (+218) /* Introductions */
20:45:52 -!- delta23 has quit (Quit: Leaving).
20:55:53 <esowiki> <Corbin> I'm pondering using GNU Lightning. Do folks have anecdotes or opinions? One minor disappointment is that it seems that there's no AOT native-code emitter, so any intermediate/cached representations would have to be ad-hoc.
21:01:40 <esowiki> <zzo38> I read about it before; I had never tried to use it though
21:31:47 <esowiki> [[Counting Calculus]] N https://esolangs.org/w/index.php?oldid=83938 * SoYouWantMeToDoSomethingButIWont * (+1038) Created page with "= Counting Calculus = A programming language of which the primary way of doing mathematical calculation is by counting the amount of -conversions done in a lambda-calculus e..."
21:33:26 <esowiki> [[Counting Calculus]] https://esolangs.org/w/index.php?diff=83939&oldid=83938 * SoYouWantMeToDoSomethingButIWont * (+44)
21:51:50 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:13:35 <esowiki> [[User:Salpynx/Braneflage]] https://esolangs.org/w/index.php?diff=83940&oldid=83907 * Salpynx * (+29) contract 'accumulator' amount
23:24:38 <esowiki> [[User:Salpynx/Braneflage]] M https://esolangs.org/w/index.php?diff=83941&oldid=83940 * Salpynx * (-12) /* Program Commands */ rearrange, not sure that's better
23:54:17 -!- esowiki has joined.