←2021-06-02 2021-06-03 2021-06-04→ ↑2021 ↑all
00:02:45 <esolangs> [[User:ResU]] https://esolangs.org/w/index.php?diff=83877&oldid=83825 * ResU * (+49)
00:03:49 -!- cd has quit (Quit: leaving).
00:03:51 -!- Bowserinator has quit (Quit: Blame iczero something happened).
00:03:51 -!- iovoid has quit (Write error: Connection reset by peer).
00:06:21 -!- Bowserinator has joined.
00:10:04 -!- iovoid has joined.
00:17:10 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
00:19:24 -!- Lord_of_Life has joined.
00:34:21 -!- simcop2387 has quit (Changing host).
00:34:21 -!- simcop2387 has joined.
00:35:22 <esolangs> [[Truth Machine (language)]] https://esolangs.org/w/index.php?diff=83878&oldid=83875 * ResU * (+133)
00:38:49 <nakilon> resizing glitches you say... https://files.gitter.im/5773fad8c2f0db084a20979b/YUho/image.png
00:47:31 -!- cd has joined.
00:48:08 <cd> fizzie, have you ever had the umlbox-kernel randomly decide to hang at max CPU usage on one core and disobey the timeout?
00:48:12 <cd> because i am mystified
00:48:26 <cd> i've been trying to reproduce it and it just happened again randomly with my instance
00:51:09 <cd> can't even reproduce it consistently .-.
00:51:18 <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:52:26 <cd> i'll take a look at int
00:52:43 <cd> and also doubly-enforce the timeout using subprocess's timeout option (which was added in Python 3.3)
00:52:50 <cd> *init
00:53:42 <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:54:47 -!- zzo38 has quit (Ping timeout: 272 seconds).
00:55:35 -!- zzo38 has joined.
00:57:27 <nakilon> damn clever thing the guy made https://github.com/kojix2/YouPlot
00:58:03 <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 <nakilon> so you don't need to write ruby code to use unicode_plot lib now
01:00:26 <esolangs> [[Special:Log/newusers]] create * Clpb * New user account
01:00:58 <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 <nakilon> instead he's making the binary independently
01:02:58 <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:02:58 -!- Corbin has joined.
01:06:47 <fizzie> That's what "bin" means: executables.
01:08:56 <esolangs> [[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 <fizzie> https://0x0.st/-_-p.txt <- a lot of non-"binary" files too. Also, a great filename, got lucky there.
01:13:12 <nakilon> what does that sed do?
01:13:46 <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 <fizzie> Especially the BuildID, of course.
01:14:28 <nakilon> hm, for some files the file prints me too much
01:14:55 <fizzie> Probably a slightly different output format then. I just picked something that worked for me.
01:14:56 <nakilon> https://dpaste.org/RjJc/slim
01:15:18 <nakilon> I guess this file just has three versions in it
01:15:36 <fizzie> Yeah, don't have to worry about "fat" binaries on this system.
01:15:37 <nakilon> damn I thought this thing is gone when macOS removed the power9 support
01:16:09 <cd> macos doesn't support power9 at all...
01:16:23 <cd> it supported powerpc though, that's years deprecated but maybe some devs still build for it
01:16:58 <fizzie> In retrospect, `file --mime-type --brief` would've been an easier way to sanitize: https://0x0.st/-_-f.txt
01:17:51 <fizzie> (Besides, aren't you going to start getting all these x86-64/AArch64 multi-binaries next?)
01:19:44 <keegan> man, they really screwed up by not calling the 64-bit arm architecture "leg"
01:19:48 <nakilon> cd yeah I may confuse them -- didn't work with them either
01:20:09 <fizzie> I think "leg" was being used for something though?
01:21:34 <fizzie> Not exactly easy to search for with everyone writing these "cost you an ARM and a leg" pun titles.
01:22:52 <fizzie> Maybe there wasn't anything, or at least anything too relevant, and I just imagined it.
01:24:36 <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 <fizzie> https://github.com/frasercrmck/llvm-leg
01:25:36 <fizzie> Doesn't exactly fit the "a bigger ARM" context though.
01:25:59 <fizzie> StrongARM was an actual thing though.
01:27:14 <keegan> and "thumb" of course
01:27:35 <fizzie> Something something middle finger pun.
01:30:30 <esolangs> <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:31:10 <fizzie> Heh, been a while since the last piece of forwarded spam.
01:31:43 <keegan> lol
01:31:46 <keegan> wut in tarnation
01:32:01 <fizzie> Clearly a bad siutuationq.
01:33:10 <int-e> so that's what it looks like
01:33:59 * pikhq scratches her head
01:34:01 -!- Bowserinator has quit (Quit: Blame iczero something happened).
01:34:01 -!- iovoid has quit (Quit: iovoid has quit!).
01:34:30 <int-e> pikhq: I've seen talk about the spam on ##freenode, but had not seen the actual spam itself
01:34:31 <Corbin> Looks like SCP-3125.
01:35:05 <fizzie> I can get something intelligible out of all the other words by only deleting letters, with the exception of "DXisEcFIerreit".
01:35:28 <esolangs> <xKkPIopn> Andrew ULee likeKs wsuckingF hot asiarn Zguy's diAcks and has haH jcchkode hiumeseDlf.
01:35:59 <fizzie> Hmm.
01:36:34 <fizzie> Feel free to do "brctl: ignore freenode/*" if you want to stop that from doing anything in that direction.
01:38:13 <fizzie> As for "DXisEcFIerreit", maybe that's "Disc..." something. "DiscFerret"? netsplit.de says #discferret was a channel over on the other network.
01:38:30 <int-e> fizzie: https://news.ycombinator.com/item?id=27289620
01:38:53 <nakilon> 1 /usr/bin/ex (for architecture x86_64):Mach-O 64-bit executable x86_64
01:38:53 <nakilon> 1 /usr/bin/ex (for architecture arm64e):Mach-O 64-bit executable arm64e
01:38:59 <fizzie> int-e: Ah.
01:39:13 <nakilon> this is how arm looks like
01:41:14 <int-e> fizzie: kind of independent... I googled the second sentence
01:41:38 <fizzie> There's been two other similarly jumbled-up nicknames joining and subsequently parting, but they've not said anything.
01:41:59 <fizzie> I might +q $~a over on the other side maybe.
01:42:07 <fizzie> Hard to say if it's likely to get any worse or not.
01:44:56 <nakilon> https://dpaste.org/fCzA/slim
01:49:32 <nakilon> you have 10 times more ruby executables than I do lol
01:50:36 <nakilon> maybe they are hidden by rbenv shims
02:29:12 <nakilon> fungot are you going to update your esoteric language?
02:29:12 <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!
02:29:57 <nakilon> positive ending
02:43:18 -!- ais523 has quit (Read error: Connection reset by peer).
03:18:18 -!- dyeplexer has joined.
03:24:43 -!- Lord_of_Life_ has joined.
03:26:11 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
03:26:11 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
03:30:08 -!- Bowserinator has joined.
03:31:42 -!- iovoid has joined.
03:45:43 -!- cd0 has joined.
03:46:04 -!- cd has quit (Quit: Leaving).
03:46:19 -!- cd0 has changed nick to cd.
03:56:38 -!- cd has quit (Remote host closed the connection).
04:00:02 -!- cd has joined.
04:32:48 -!- iovoid21 has joined.
04:33:09 <sknebel> oh ffs
04:33:35 -!- iovoid21 has quit (Remote host closed the connection).
04:33:43 -!- ChanServ has set channel mode: +o int-e.
04:33:48 -!- dioxide has joined.
04:33:49 -!- int-e has set channel mode: +q $~a.
04:34:12 -!- int-e has set channel mode: +z.
04:34:34 -!- dioxide has quit (Remote host closed the connection).
04:45:13 <esolangs> [[Nevermind]] https://esolangs.org/w/index.php?diff=83880&oldid=83869 * Bangyen * (+103)
04:45:26 <esolangs> [[Nevermind]] M https://esolangs.org/w/index.php?diff=83881&oldid=83880 * Bangyen * (-2)
04:46:42 <int-e> hmm, was that all...
04:46:52 -!- int-e has set channel mode: -qzo $~a int-e.
04:56:24 <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 <nakilon> added FB and IG there instantly
05:29:37 <zzo38> In C, can I prevent global variables that I am not using from taking up memory?
05:30:12 <keegan> the linker should remove unused stuff
05:30:18 <keegan> not sure if that requries -fdata-sections
05:30:19 <zzo38> (without dynamic allocation)
05:30:25 -!- ais523 has joined.
05:30:45 <esolangs> [[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 <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 <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:12 <int-e> so... no
05:31:20 <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 <keegan> if you are on a system with virtual memory, yes
05:31:45 <ais523> right
05:31:55 <zzo38> Well, I am using Linux so I think that it does have virtual memory
05:31:58 <keegan> if you're programming a microcontroller then that doesn't help
05:31:59 <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 <keegan> that depends how you define an "OS"
05:32:19 <int-e> keegan: but then you'll typically have a good idea of what you will and won't need
05:32:27 <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:30 <keegan> yep
05:32:40 <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 <ais523> and if it's too much, figure out which variables aren't being used simultaneously and union them
05:32:49 <keegan> i'm not sure I've *ever* used malloc in all my microcontroller programming
05:33:08 <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 <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 <keegan> and then use madvise(MADV_DONTNEED)
05:34:15 <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 <ais523> but using a linker script would be the more normal way
05:34:43 <keegan> on a symbol derived from the section load address (which the linker script can also give you)
05:35:52 <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 <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 <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 <ais523> and runs them then, to save on context switches
05:38:01 <ais523> I don't think anything like that exists yet, but it should
05:38:35 <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 <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 <zzo38> Yes, I know, but I wanted to know if there is a way to do without dynamic memory, too
05:40:02 <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 <keegan> I've heard proposals to make all system calls asynchronous based on request / completion queues
05:41:21 <keegan> not sure if that was ever implemented in linux
05:41:38 <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 <ais523> keegan: I like that
05:42:21 <keegan> except I guess you still want something like a synchronous system call that's just "wait for the next event"
05:42:23 <ais523> I've actually been wondering about how far you could go in terms of implementing system calls in userspace
05:42:32 <keegan> (which could be a syscall completion or a timer or an I/O event)
05:42:40 <ais523> and yes, you need one blocking call, which would basically be a hyper-general select-alike
05:42:48 <keegan> yeah
05:47:33 <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 <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 <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 <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:05 -!- cd has quit (Quit: leaving).
05:49:11 <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 <ais523> this would lead to random bits of memory corruption, but the program would probably still run
05:49:41 <ais523> and you could probably work around it by programming defensively
05:51:33 <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:51:46 <ais523> yes
05:52:08 <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 <ais523> they're pretty much doing that anyway at the moment, to generate debug info
05:52:27 <ais523> and it would be useful for precise garbage collection and compaction
05:55:34 <keegan> yes
05:56:07 <keegan> I know there's been a lot of design work on adding GC hooks to Rust
05:56:29 <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 <keegan> it's a fairly tricky problem
05:57:13 <keegan> btw that kind of metadata is also used for another purpose: stack unwinding for exceptions
05:57:19 <ais523> yes
05:57:26 <ais523> although, I'm not as sure that that's necessary
05:57:46 <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 <ais523> and to make small adjustments to opcodes in order to ensure that the analysis would produce the right result
05:58:13 <ais523> (and to mark things like catch blocks)
05:58:31 <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 <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 <keegan> now that's an interesting idea
05:59:03 <int-e> ...ugh.
05:59:04 <keegan> the idea of "constrain your compiler output so it's statically analyzable" also shows up in other places
05:59:15 <keegan> like various sandboxing schemes
05:59:32 <keegan> Google's NaCl and other stuff
05:59:47 <keegan> running untrusted native code by checking that it conforms to a restricted subset that has statically analyzable control flow
05:59:56 <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:00:54 <int-e> ais523: but do you really want to rely on that freedom?
06:01:34 <shachaf> Is Windows SEH a better system than Unix signal handlers?
06:01:35 <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 <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 <zzo38> There are VM codes for such statically analyzable with sandboxing too, though
06:02:32 <shachaf> They could recommend one encoding, though, and give it better performance.
06:02:44 <int-e> it works for fingerprinting software because there's a lot of code to work with... I don't see it working when you have to cram a fixed amount of information into the code.
06:03:02 <ais523> shachaf: this seems unlikely to happen in practice, because the spare bits are a consequence of making the encodings orthogonal
06:03:03 <int-e> fingerprinting->watermarking
06:03:20 <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:37 <shachaf> What would a really good system be for the things that signal handlers and SEH are used for?
06:03:44 <ais523> int-e: well, the amount of information you need for unwind, that isn't in the code already, is basically zero
06:03:46 <int-e> ais523: I'm really more worried about not having enough degrees of freedom to express the information you'd need for GC.
06:04:04 <ais523> oh, with GC it'd be way worse, you probably wouldn't have enough for that
06:04:07 <ais523> I was just thinking about unwinding
06:04:21 <int-e> And of course there's the question whether you want to have half of a disassembler as part of doing GC.
06:04:39 <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:05:02 <int-e> or stack unwinding for that matter
06:05:22 -!- Sgeo has quit (Read error: Connection reset by peer).
06:06:19 <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 <ais523> the only common operation that misses is spills
06:08:10 <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 <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 <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 <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:10:44 <shachaf> Some architectures put the return address in a register instead of on the stack, right?
06:11:22 <int-e> yeah, link register
06:11:30 <ais523> yes, but you need to spill the register in order to make more than one call
06:11:42 <int-e> (callee-saved)
06:12:07 <ais523> actually, modern x86 does that too, but only for userspace→kernelspace `syscall`s
06:12:11 <shachaf> Right, but then it's even more just like regular register spilling.
06:12:33 <shachaf> Just a caller-save register.
06:12:40 <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 <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:13:26 <int-e> shachaf: Haha, it's not at all clear who owns the value in the link register...
06:13:59 <int-e> I thought since the caller sets it, it belongs to the caller, so it would be callee-saved.
06:14:01 <ais523> it's call-preserved for obvious reasons, thus it must be technically owned by the caller
06:14:23 <ais523> (although of course the callee can use it for other things temporarily as long as it restores the value)
06:15:52 <shachaf> Oh, hmm, right.
06:16:34 <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 <ais523> although, I think hardware-accelerated stacks make a lot of sense for all but the very simplest processors
06:17:12 <shachaf> I guess call stacks specifically have acceleration anyway, right.
06:17:20 <ais523> yes
06:17:32 <shachaf> Though maybe that's entirely separate from the actual memory stack, just matching call and return instructions?
06:17:41 <shachaf> I assume the main reason is to help the branch predictor.
06:17:55 <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:18 <shachaf> Oh, that's not the kind I was thinking about.
06:18:22 <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 <ais523> which is used to predict where a return instruction goes
06:18:50 <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 <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 <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:21:34 -!- Bowserinator has quit (Quit: Blame iczero something happened).
06:21:34 -!- iovoid has quit (Quit: iovoid has quit!).
06:22:39 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=83883&oldid=83799 * Otesunki * (+1810) testing tables
06:23:28 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=83884&oldid=83883 * Otesunki * (-2) fix
06:24:51 -!- ais523 has quit (Quit: quit).
06:27:22 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=83885&oldid=83884 * Otesunki * (-2)
06:27:42 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=83886&oldid=83885 * Otesunki * (+17)
06:28:20 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=83887&oldid=83886 * Otesunki * (-1823)
06:33:22 <esolangs> [[RAMDISP]] N https://esolangs.org/w/index.php?oldid=83888 * Otesunki * (+2006) Inital Commit
06:37:09 <esolangs> [[RAMDISP]] https://esolangs.org/w/index.php?diff=83889&oldid=83888 * Otesunki * (+513)
06:51:30 -!- tromp has joined.
07:26:05 <b_jonas> brctl: ignored
07:26:05 <esolangs> brctl: Ignore list: freenode/V freenode/shachaf libera/Sgeo libera/Soni libera/V libera/cd libera/int-e libera/shachaf
07:26:10 <b_jonas> brctl: help
07:26:10 <esolangs> brctl: see "brctl: help ignore" (filter by nick) and "brctl: help filter" (filter by text content) for the two available commands
07:26:13 <b_jonas> brctl: help filter
07:26:13 <esolangs> brctl: usage: "brctl: filtered" (to list), "brctl: filter regex" (to add) or "brctl: unfilter regex" (to remove)
07:26:19 <b_jonas> brctl: filtered
07:26:19 <esolangs> brctl: Filter expressions: /!\\
07:27:11 -!- Bowserinator has joined.
07:27:26 <b_jonas> brctl: filter regex (/|⧸|/)(!|!|︕)(\\|﹨|⧵)
07:27:26 <esolangs> brctl: no spaces in regexen, it would be too confusing
07:28:37 -!- kluk has quit (Quit: Textual IRC Client: www.textualapp.com).
07:28:47 -!- iovoid has joined.
07:29:15 <b_jonas> brctl: filter (/|⧸|/)(!|!|ⵑ|︕)(\\|﹨|\|⧵)
07:29:15 <esolangs> brctl: filtering
07:29:26 <b_jonas> brctl: filtered
07:29:26 <esolangs> brctl: Filter expressions: (/|⧸|/)(!|!|ⵑ|︕)(\\|﹨|\|⧵) /!\\
07:29:28 -!- kluk has joined.
07:32:55 <nakilon> that's what unicode is for
07:33:07 <nakilon> to avoid spamfilters
07:38:10 -!- kluk has quit (Read error: Connection reset by peer).
07:38:10 -!- imode has quit (Ping timeout: 272 seconds).
07:38:35 <esolangs> [[RAMDISP]] https://esolangs.org/w/index.php?diff=83890&oldid=83889 * Otesunki * (+9)
07:39:40 -!- kluk has joined.
07:41:09 <b_jonas> ais523: well those are some scary eso-ideas
07:47:30 <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 <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 <esolangs> [[RAMDISP]] https://esolangs.org/w/index.php?diff=83891&oldid=83890 * Otesunki * (+44)
07:50:50 <esolangs> [[RAMDISP]] https://esolangs.org/w/index.php?diff=83892&oldid=83891 * Otesunki * (-2) /* Instructions */
07:51:18 -!- kluk has quit (Read error: Connection reset by peer).
07:51:24 <esolangs> [[RAMDISP]] https://esolangs.org/w/index.php?diff=83893&oldid=83892 * Otesunki * (-16) /* Instructions */
07:52:33 -!- kluk has joined.
07:57:01 <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 <esolangs> [[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 <esolangs> [[User talk:Bangyen]] https://esolangs.org/w/index.php?diff=83895&oldid=83894 * OfficialCraftCGame * (-83) Blanked the page
07:58:00 -!- kluk has quit (Read error: Connection reset by peer).
07:58:35 <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:58:43 -!- kluk has joined.
07:59:07 <nakilon> wow that Bangyen dude implemented >30 interpreters
07:59:14 <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:17 <nakilon> what a hobby
07:59:54 <b_jonas> nakilon: you mean some people in #esoteric do weird and apparently useless things with computers?
08:04:09 <nakilon> I should make one more useless thing
08:04:22 <nakilon> a translator between all the brainfuck derivatives
08:04:44 -!- kluk has quit (Read error: Connection reset by peer).
08:06:17 -!- kluk has joined.
08:09:10 -!- hendursa1 has joined.
08:09:55 -!- hendursaga has quit (Ping timeout: 252 seconds).
08:10:52 -!- hendursa1 has quit (Remote host closed the connection).
08:11:15 -!- hendursa1 has joined.
08:11:19 <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 <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 <nakilon> Sebastopol, Simferopol, Melitopol -- the "-opol" is from greek
08:15:23 <nakilon> then Russian names were changing sometimes during the Russian Empire
08:17:14 <nakilon> then seas also have multiple names because they are named by explorers from everywhee
08:19:01 <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:25:01 -!- kluk has quit (Read error: Connection reset by peer).
08:26:02 -!- kluk has joined.
08:31:46 -!- kluk has quit (Read error: Connection reset by peer).
08:32:59 -!- kluk has joined.
08:39:14 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
08:52:05 -!- kluk has quit (Read error: Connection reset by peer).
08:52:54 -!- tromp has joined.
08:52:57 -!- kluk has joined.
08:56:54 <esolangs> [[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:58:36 -!- kluk has quit (Read error: Connection reset by peer).
08:59:52 -!- kluk has joined.
09:05:28 -!- kluk has quit (Read error: Connection reset by peer).
09:06:28 -!- kluk has joined.
09:07:45 <shachaf> Can I get off the "have my name mentioned every time someone asks brctl for the ignored list" list?
09:08:31 <fizzie> Oh, right, that.
09:08:59 <fizzie> I could do the usual "add a non-breaking space" thing.
09:09:24 <shachaf> Well, I'd rather not even have my name show up, ideally.
09:09:38 <shachaf> But that would be an OK compromise, I guess.
09:09:42 <fizzie> Or make "brctl: ignored" only work via private messages, maybe that'd be better.
09:12:01 -!- kluk has quit (Read error: Connection reset by peer).
09:12:52 -!- kluk has joined.
09:18:46 -!- kluk has quit (Read error: Connection reset by peer).
09:19:30 -!- kluk has joined.
09:19:53 -!- esolangs has joined.
09:19:53 -!- ChanServ has set channel mode: +v esolangs.
09:19:59 -!- fungot has quit (Ping timeout: 244 seconds).
09:20:06 <fizzie> brctl: help ignored
09:20:06 <esolangs> brctl: see "brctl: help ignore" (filter by nick) and "brctl: help filter" (filter by text content) for the two available commands
09:20:08 -!- fungot has joined.
09:20:11 <fizzie> brctl: help ignore
09:20:11 <esolangs> brctl: usage: "brctl: ignored" (to list; only in a query), "brctl: ignore [net/]nick" (to add) or "brctl: unignore [net/]nick" (to remove); network defaults to your own; nick = * matches any message
09:20:16 <fizzie> brctl: ignored
09:20:16 <esolangs> brctl: Try doing that in a query, otherwise it pings everyone.
09:20:51 <shachaf> That's good, though why is the list even accessible?
09:20:56 <shachaf> I guess it's fine.
09:21:55 <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 <fizzie> Maybe we won't have a bridge so long that it's worth doing anything extreme, like having it write a file.
09:23:58 <shachaf> Makes sense.
09:25:21 -!- dyeplexer has quit (Remote host closed the connection).
09:25:32 -!- kluk has quit (Read error: Connection reset by peer).
09:26:21 -!- kluk has joined.
09:29:07 <int-e> Ah... I have a NO_ACT ignore on esolangs which also means it doesn't hilight me. Yay for accidental conveniences.
09:30:17 <int-e> (irssi; NO_ACT means the messages get displayed but don't count as activity on the channel)
09:31:09 <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:32:19 -!- kluk has quit (Read error: Connection reset by peer).
09:33:51 -!- kluk has joined.
09:38:55 -!- kluk has quit (Read error: Connection reset by peer).
09:39:53 -!- kluk has joined.
09:46:05 -!- tepos has joined.
09:46:39 -!- tepos has quit (Remote host closed the connection).
09:47:18 -!- ChanServ has set channel mode: +o int-e.
09:47:18 -!- ChanServ has set channel mode: +o int-e.
09:47:32 -!- int-e has set channel mode: +qz $~a.
09:47:50 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
09:48:30 -!- jix_ has joined.
09:48:36 -!- kluk has quit (Read error: Connection reset by peer).
09:49:52 -!- kluk has joined.
09:52:26 -!- kluk has quit (Read error: Connection reset by peer).
09:54:16 -!- kluk has joined.
09:55:48 -!- tromp has joined.
09:59:05 -!- kluk has quit (Read error: Connection reset by peer).
10:00:15 -!- kluk has joined.
10:01:19 -!- nakilon has quit (*.net *.split).
10:01:19 -!- jix has quit (*.net *.split).
10:01:19 -!- integral has quit (*.net *.split).
10:01:20 -!- perlbot has quit (*.net *.split).
10:01:20 -!- fizzie has quit (*.net *.split).
10:01:20 -!- ski has quit (*.net *.split).
10:01:20 -!- pikhq has quit (*.net *.split).
10:01:20 -!- lifthrasiir has quit (*.net *.split).
10:04:56 -!- wib_jonas has joined.
10:11:34 -!- nakilon has joined.
10:11:34 -!- integral has joined.
10:11:34 -!- perlbot has joined.
10:11:34 -!- fizzie has joined.
10:11:34 -!- ski has joined.
10:11:34 -!- pikhq has joined.
10:11:34 -!- lifthrasiir has joined.
10:12:33 -!- kluk has quit (Read error: Connection reset by peer).
10:13:24 -!- kluk has joined.
10:16:45 -!- citrons has quit (Ping timeout: 272 seconds).
10:19:23 -!- kluk has quit (Read error: Connection reset by peer).
10:20:10 -!- kluk has joined.
10:26:05 -!- kluk has quit (Read error: Connection reset by peer).
10:27:12 -!- citrons has joined.
10:27:30 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=83897&oldid=83873 * Otesunki * (+14) Added RAMDISP
10:28:02 -!- kluk has joined.
10:28:41 <esolangs> [[RAMDISP]] https://esolangs.org/w/index.php?diff=83898&oldid=83893 * Otesunki * (-2) if Otesunki.stupid: Otesunki.scream()
10:31:11 -!- dyeplexer has joined.
10:32:31 -!- dutch has quit (Quit: WeeChat 3.1).
10:32:55 -!- kluk has quit (Read error: Connection reset by peer).
10:34:04 -!- kluk has joined.
10:35:36 <esolangs> [[RAMDISP]] https://esolangs.org/w/index.php?diff=83899&oldid=83898 * Otesunki * (+175)
10:39:33 -!- kluk has quit (Read error: Connection reset by peer).
10:39:58 <esolangs> [[RAMDISP]] https://esolangs.org/w/index.php?diff=83900&oldid=83899 * Otesunki * (+22) /* Instructions */
10:40:38 -!- kluk has joined.
10:46:15 -!- kluk has quit (Read error: Connection reset by peer).
10:46:21 -!- dutch has joined.
10:46:42 <esolangs> [[PEWWWWW]] N https://esolangs.org/w/index.php?oldid=83901 * Monochromeninja * (+2652) Unfinished. Only contribute if you know what you're doing!
11:03:03 -!- arseniiv has joined.
11:43:41 -!- dyeplexer has quit (Remote host closed the connection).
11:53:03 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:06:39 <esolangs> [[Tech Support Scam]] M https://esolangs.org/w/index.php?diff=83902&oldid=83858 * PythonshellDebugwindow * (+0) /* Truth machine */ Fix
12:08:16 <esolangs> [[Stoplight]] M https://esolangs.org/w/index.php?diff=83903&oldid=82416 * Jedgrei * (-29) It's not turing complete
12:09:21 <fizzie> [Re wiki-change:] I agree it's not, but I don't think it's really an OISC either.
12:27:03 -!- tromp has joined.
12:27:12 <esolangs> [[User:CatCatDeluxe]] M https://esolangs.org/w/index.php?diff=83904&oldid=83859 * CatCatDeluxe * (-19)
12:27:34 -!- mistbreeze has joined.
12:31:24 <esolangs> [[Program Number System]] https://esolangs.org/w/index.php?diff=83905&oldid=83819 * Aspwil * (+821) /* Notes */
12:48:31 <nakilon> as I asid, brctl could respond in private or notice
12:48:39 <nakilon> to avoid highlight
12:50:16 -!- int-e has set channel mode: -qzo $~a int-e.
12:56:35 <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 <esolangs> [[User:Salpynx/Braneflage]] https://esolangs.org/w/index.php?diff=83906&oldid=83896 * Salpynx * (+129) /* Program Commands */ accumulator deltas
13:24:38 -!- dionys has joined.
13:31:58 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
13:32:25 -!- hendursa1 has quit (Quit: hendursa1).
13:32:51 -!- hendursaga has joined.
13:39:25 -!- imode has joined.
13:43:42 <esolangs> [[User:Salpynx/Braneflage]] M https://esolangs.org/w/index.php?diff=83907&oldid=83906 * Salpynx * (+43) /* Program Commands */ define x
13:45:07 -!- salpynx has quit (Quit: Connection closed).
13:48:43 -!- tromp has joined.
14:29:36 -!- jix_ has changed nick to jix.
14:35:48 -!- Sgeo has joined.
14:50:46 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
14:55:13 -!- cd has joined.
14:57:06 <esolangs> [[Program Number System]] https://esolangs.org/w/index.php?diff=83908&oldid=83905 * Aspwil * (+309) /* Syntax */
14:59:19 <esolangs> [[Program Number System]] https://esolangs.org/w/index.php?diff=83909&oldid=83908 * Aspwil * (+29) /* Notes */
15:04:36 <esolangs> [[Program Number System]] https://esolangs.org/w/index.php?diff=83910&oldid=83909 * Aspwil * (+426) /* Notes */
15:05:37 <wib_jonas> .oO(if only that occured to Gödel)
15:06:28 <esolangs> [[Program Number System]] https://esolangs.org/w/index.php?diff=83911&oldid=83910 * Aspwil * (+135) /* An Actual Dictionary */
15:07:55 <esolangs> [[Program Number System]] https://esolangs.org/w/index.php?diff=83912&oldid=83911 * Aspwil * (-5) /* Example */
15:08:49 <esolangs> [[Program Number System]] https://esolangs.org/w/index.php?diff=83913&oldid=83912 * Aspwil * (+16) /* Example */
15:09:06 <esolangs> [[Program Number System]] https://esolangs.org/w/index.php?diff=83914&oldid=83913 * Aspwil * (+0) /* Syntax */
15:15:42 <esolangs> [[Trivial brainfuck substitution]] https://esolangs.org/w/index.php?diff=83915&oldid=80702 * Aspwil * (+27)
15:18:06 -!- wib_jonas has quit (Quit: Client closed).
15:22:19 -!- tromp has joined.
15:27:39 <esolangs> [[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:32:26 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:35:20 -!- arseniiv has quit (Ping timeout: 245 seconds).
15:37:16 -!- oerjan has joined.
15:49:15 -!- arseniiv has joined.
15:49:49 <esolangs> [[Stoplight]] M https://esolangs.org/w/index.php?diff=83917&oldid=83903 * PythonshellDebugwindow * (+321) Implement
15:54:31 <esolangs> [[Special:Log/newusers]] create * MathR * New user account
16:01:27 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=83918&oldid=83879 * MathR * (+138) /* Introductions */
16:13:04 -!- slavfox has quit (Quit: ZNC 1.8.2 - https://znc.in).
16:13:43 <esolangs> [[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:15:54 -!- slavfox has joined.
16:22:26 -!- tromp has joined.
16:45:13 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
16:47:23 <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 <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 <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 <fizzie> I would say the Finnish, but I'm obviously biased.
16:57:07 <b_jonas> fizzie: what do I do with a "^" then?
16:57:10 <fizzie> Would you also lowercase them with the network's CASEMAPPING=rfc1459 rules, or just distinguish between case?
16:57:24 <b_jonas> ah, apparently you can map that to ü
16:57:59 <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:03 <b_jonas> or... hmm
16:58:16 <b_jonas> if I want to support user style overrides then that won't work
16:58:23 <b_jonas> then I'll just casefold them all to uppercase
16:59:24 <fizzie> I don't think its ü in ISO-646-FI proper, but I think it's all pretty flexible.
16:59:28 <fizzie> `` echo '[\]^{|}~' | iconv -f iso646-fi -t utf-8
16:59:29 <HackEso> ​ÄÖÅ^äöå‾
17:01:01 <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 <b_jonas> fizzie: freenode used to do ascii, but they changed it when they changed the irc software
17:02:17 <b_jonas> I don't know what they did to nick/channel registrations that clashed after
17:05:01 <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 <fizzie> days ago, and the fifth had a Digicert-issued certificate that had expired in Sep 2020.
17:05:23 <fizzie> The last one also just closed the connection after TLS negotiation.
17:05:24 <b_jonas> fizzie: are those all ircnet servers?
17:05:28 <fizzie> Yeah.
17:06:08 <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 <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 <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 <b_jonas> and most of the servers are closed
17:07:47 <b_jonas> and many of the servers are sometimes working sometimes not
17:07:54 <b_jonas> I am connected but I don't like the place
17:07:56 <esolangs> [[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 <fizzie> I know, but it's still "the" network for me, so I don't want to drop off.
17:08:31 <b_jonas> freenode was "the" network for me.
17:08:48 <fizzie> I'm probably on more channels there than here, anyway. It's just that they're all utterly silent.
17:09:22 <esolangs> [[Jumping True]] https://esolangs.org/w/index.php?diff=83921&oldid=83920 * MathR * (-2)
17:09:34 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=83922&oldid=83897 * MathR * (+19) /* J */
17:10:35 <esolangs> [[Jumping True]] M https://esolangs.org/w/index.php?diff=83923&oldid=83921 * MathR * (+17)
17:13:20 <esolangs> [[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 <oerjan> b_jonas: in my entirely unbiased opinion you should go with norwegian hth
17:15:30 -!- sknebel has quit (Quit: sknebel).
17:15:51 -!- sknebel has joined.
17:16:41 -!- tromp has joined.
17:16:43 <oerjan> . o O ( BBABBAN IS YOU )
17:19:12 <fizzie> BBABBAN, is that like one of those rhyme schemes?
17:19:57 <fizzie> I guess usually it'd be written AABAABC though.
17:30:22 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
17:33:24 <esolangs> [[User:MathR]] https://esolangs.org/w/index.php?diff=83925&oldid=83919 * MathR * (+28)
17:34:06 <esolangs> [[Jumping True]] M https://esolangs.org/w/index.php?diff=83926&oldid=83923 * MathR * (+4) /* Language overview */
17:34:26 <esolangs> [[User:Batata]] https://esolangs.org/w/index.php?diff=83927&oldid=83848 * Batata * (+65)
17:34:35 <esolangs> [[User:Batata]] https://esolangs.org/w/index.php?diff=83928&oldid=83927 * Batata * (+1)
17:34:40 <river> B AB A is You
17:35:11 <river> so
17:35:23 <river> I feel like this is slightly esoteric
17:36:29 <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:37:06 <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 <esolangs> [[Jumping True]] https://esolangs.org/w/index.php?diff=83929&oldid=83926 * MathR * (+73)
17:39:25 <oerjan> > 424 / 1024 -- sounds a bit high
17:39:27 <lambdabot> 0.4140625
17:39:47 <esolangs> [[Jumping True]] M https://esolangs.org/w/index.php?diff=83930&oldid=83929 * MathR * (-1) /* Language overview */
17:40:42 <river> roughly :P
17:40:44 <river> but still
17:40:54 <river> the fact these probabilities are different at all is pretty striking to me!
17:41:00 <river> I found this highly unintuitive
17:42:23 <esolangs> [[Jumping True]] M https://esolangs.org/w/index.php?diff=83931&oldid=83930 * MathR * (+6) /* Examples */
17:43:36 <oerjan> hm...
17:44:55 <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 <oerjan> but you cannot have that many at once for 0011 or 0101
17:46:06 <river> yeah I think it is!
17:46:09 <oerjan> if you count the occurrences, i think it gets even
17:46:21 <river> autocorrelation factor of 0000 is full, 0101 is half, 0011 is none
17:46:50 <river> ah let me try that out
17:46:57 <esolangs> [[Typeform]] https://esolangs.org/w/index.php?diff=83932&oldid=83826 * S1(210) * (+18)
17:47:27 <esolangs> [[Typeform]] https://esolangs.org/w/index.php?diff=83933&oldid=83932 * S1(210) * (+9)
17:47:41 <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 <b_jonas> which is also a bit unintuitive
17:49:19 <river> hmm i tweaked the program to count with multiplicity, but i still get different values
17:49:32 <river> they are close to but all higher than the original numbers
17:50:12 <oerjan> hm that's strange, i thought they would be equal by the linearity of expectation value
17:50:31 <oerjan> are you sure you counted all occurrences :P
17:51:20 <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 <oerjan> s/of all the strings/of any string/
17:54:43 <oerjan> > replicateM 10 "01"
17:54:44 <lambdabot> ["0000000000","0000000001","0000000010","0000000011","0000000100","000000010...
17:56:03 <river> https://bpa.st/B6QA here's an example of looking for aa vs ab in length 5 bitstrings
17:56:19 <river> aa occurs 23 times, ab occurs 32 times
17:56:31 <river> this definitely doesn't make sense to me
17:56:48 <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 <oerjan> river: oh i see. i meant occurrences could be _overlapping_ too.
17:57:22 <river> ah
17:57:28 <river> it's a mistake in my code
17:57:35 <river> i meant to count overlapping
17:57:35 <oerjan> (so aaaaa should give 4 aa, not 2)
17:57:37 <river> let me fix that
17:58:06 <river> the python count function is broken
18:01:14 <river> ok! fixed, now I get 32 in both cases!
18:01:42 <oerjan> yay!
18:07:53 <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 <river> for reasons?? that are unclear to me
18:08:23 <b_jonas> river: yes
18:08:42 -!- arseniiv has quit (Ping timeout: 264 seconds).
18:13:58 <river> tbh
18:14:03 <river> I feel like I just have 2 mysteries now
18:14:19 <river> why its equal when you could with multiplicity is not clear to me
18:22:07 -!- arseniiv has joined.
18:23:08 <oerjan> river: counting with multiplicity is the same as counting each occurence of the string at each position.
18:24:02 <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 <oerjan> but that is the same as, number of positions * 2 ^ (number of bits outside the smaller string)
18:25:17 <river> OMG
18:25:21 <river> thats so neat!!
18:26:10 <oerjan> yw
18:28:18 <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 <b_jonas> they're somewhere in the logs
18:30:37 <zzo38> Which ones are they? Do you remember it to copy it?
18:32:18 <b_jonas> I don't have links. I'll have to search for chameleon
18:35:49 <b_jonas> I should download the logs at some point to make searching esaier
18:37:21 <b_jonas> let me see... https://logs.esolangs.org/freenode-esoteric/2016-10.html#lDQc
18:39:47 <b_jonas> which links to https://logs.esolangs.org/freenode-esoteric/2016-07.html#lhhc
18:52:16 <b_jonas> I can tell the problems again later if someone cares, with the cleaners proofs that we know now
18:52:44 -!- tromp has joined.
19:01:39 <zzo38> I am potentially interested in such things
19:07:12 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:14:17 -!- tromp has joined.
19:29:40 <esolangs> [[User:Batata]] https://esolangs.org/w/index.php?diff=83934&oldid=83928 * Batata * (+3)
19:30:00 <esolangs> [[User:Batata]] https://esolangs.org/w/index.php?diff=83935&oldid=83934 * Batata * (+1)
19:31:22 -!- tiggilyboo has joined.
19:40:49 <river> https://martingalemeasure.wordpress.com/2014/02/02/monkey-typing-abracadabra-14/
19:40:56 <river> monkey types randomly
19:40:59 <river> >Wow, the average time for the monkey to type  is actually longer than the average time to type .
19:41:12 <river> >Wow, the average time for the monkey to type ABA is actually longer than the average time to type ABC.
19:41:34 <river> does this align with the previous results? or contrast to them
19:43:54 <b_jonas> river: yes, I did mention that variant
19:44:17 -!- tiggilyboo has quit (Ping timeout: 252 seconds).
19:44:21 <b_jonas> well not quite
19:44:25 <b_jonas> I mentioned something similar
19:44:31 <b_jonas> you're right that it's not the same
19:44:54 -!- tiggilyboo_ has joined.
19:45:05 <b_jonas> isn't that backwards though?
19:45:17 <b_jonas> ABA should have a shorter average time to first type than ABC
19:45:38 <river> hmmm
19:56:50 <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 <b_jonas> uniformly and independently
19:59:05 -!- tiggilyboo_ has changed nick to tiggilyboo.
20:00:00 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
20:03:41 -!- tromp has joined.
20:08:07 <keegan> disappointed that the article does not involve actual experiments with monkeys
20:08:33 <river> hehe
20:14:06 -!- oerjan has quit (Quit: Nite).
20:21:51 -!- tiggilyboo_ has joined.
20:25:18 <esolangs> [[Talk:Glypho]] https://esolangs.org/w/index.php?diff=83936&oldid=8211 * Monochromeninja * (+1336) /* Python interpreter */ new section
20:29:13 -!- tiggilyboo_ has quit (Quit: tiggilyboo_).
20:31:20 -!- kluk has joined.
20:33:02 <esolangs> [[Special:Log/newusers]] create * Justiof * New user account
20:33:48 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
20:38:15 -!- kluk has quit (Read error: Connection reset by peer).
20:39:51 -!- kluk has joined.
20:41:28 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=83937&oldid=83918 * Justiof * (+218) /* Introductions */
20:46:43 -!- tromp has joined.
20:51:34 -!- kluk has quit (Read error: Connection reset by peer).
20:52:45 -!- kluk has joined.
20:55:53 <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.
20:58:18 -!- kluk has quit (Read error: Connection reset by peer).
20:58:18 -!- tiggilyboo_ has joined.
20:59:52 -!- kluk has joined.
21:01:24 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
21:01:40 <zzo38> I read about it before; I had never tried to use it though
21:02:24 -!- tiggilyboo_ has quit (Client Quit).
21:05:02 -!- kluk has quit (Read error: Connection reset by peer).
21:06:47 -!- kluk has joined.
21:11:45 -!- kluk has quit (Read error: Connection reset by peer).
21:12:32 -!- kluk has joined.
21:18:36 -!- kluk has quit (Read error: Connection reset by peer).
21:19:37 -!- kluk has joined.
21:24:09 -!- tiggilyboo_ has joined.
21:25:21 -!- kluk has quit (Read error: Connection reset by peer).
21:27:23 -!- kluk has joined.
21:28:26 -!- tiggilyboo_ has quit (Client Quit).
21:31:47 <esolangs> [[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:31:56 -!- kluk has quit (Read error: Connection reset by peer).
21:33:26 <esolangs> [[Counting Calculus]] https://esolangs.org/w/index.php?diff=83939&oldid=83938 * SoYouWantMeToDoSomethingButIWont * (+44)
21:34:09 -!- kluk has joined.
21:38:38 -!- kluk has quit (Read error: Connection reset by peer).
21:40:11 -!- kluk has joined.
21:45:21 -!- kluk has quit (Read error: Connection reset by peer).
21:47:29 -!- kluk has joined.
21:52:07 -!- kluk has quit (Read error: Connection reset by peer).
21:53:27 -!- kluk has joined.
21:58:51 -!- kluk has quit (Read error: Connection reset by peer).
21:59:33 -!- kluk has joined.
22:01:59 -!- tiggilyboo has quit (Remote host closed the connection).
22:05:32 -!- kluk has quit (Read error: Connection reset by peer).
22:07:08 -!- kluk has joined.
22:07:40 -!- tromp has joined.
22:12:22 -!- kluk has quit (Read error: Connection reset by peer).
22:14:23 -!- kluk has joined.
22:19:02 -!- kluk has quit (Read error: Connection reset by peer).
22:19:37 -!- kluk has joined.
22:21:31 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:25:43 -!- kluk has quit (Read error: Connection reset by peer).
22:26:38 -!- kluk has joined.
22:30:53 -!- tiggilyboo has joined.
22:34:41 -!- tiggilyboo has quit (Client Quit).
22:39:17 -!- kluk has quit (Read error: Connection reset by peer).
22:40:09 -!- kluk has joined.
22:43:46 -!- kluk has quit (Client Quit).
22:47:37 -!- arseniiv_ has joined.
22:49:38 -!- arseniiv has quit (Ping timeout: 252 seconds).
23:13:35 <esolangs> [[User:Salpynx/Braneflage]] https://esolangs.org/w/index.php?diff=83940&oldid=83907 * Salpynx * (+29) contract 'accumulator' amount
23:24:22 -!- arseniiv_ has quit (Ping timeout: 272 seconds).
23:24:38 <esolangs> [[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:16 -!- esolangs has joined.
23:54:17 -!- ChanServ has set channel mode: +v esolangs.
←2021-06-02 2021-06-03 2021-06-04→ ↑2021 ↑all