←2019-09-13 2019-09-14 2019-09-15→ ↑2019 ↑all
00:38:53 <shachaf> Wait, x86-64 has 64-bit push and 16-bit push, but not 32-bit push?
00:38:59 <shachaf> `asm push %rax
00:39:00 <HackEso> 0: 50 push %rax
00:39:02 <shachaf> `asm push %eax
00:39:03 <HackEso> ​/tmp/asm.s: Assembler messages: \ /tmp/asm.s:1: Error: operand type mismatch for `push' \ /tmp/asm.s: Assembler messages: \ /tmp/asm.s:1: Error: operand type mismatch for `push'
00:39:04 <shachaf> `asm push %ax
00:39:05 <HackEso> 0: 66 50 push %ax
00:39:10 <shachaf> `asm push %al
00:39:11 <HackEso> ​/tmp/asm.s: Assembler messages: \ /tmp/asm.s:1: Error: operand type mismatch for `push' \ /tmp/asm.s: Assembler messages: \ /tmp/asm.s:1: Error: operand type mismatch for `push'
00:41:01 <fizzie> Yes.
00:41:42 <fizzie> Back when we were doing the printable code thing here for a while, that was annoying, because on x86-32 you can just push values without leaving any gaps.
00:42:22 <shachaf> I think I knew it didn't have 32-bit push, but I thought that also applied to 16-bit.
00:42:37 <shachaf> What a bizarro situation.
00:42:48 -!- xkapastel has joined.
00:42:54 <shachaf> I mean, I was already surprised by 32-bit operations clearing the upper 32 bits and 16-bit operations not.
00:49:59 <fizzie> According to the manual, you can also push fs and gs in 64-bit mode, but not cs/ds/es/ss. Which I guess makes some sense, since there's the whole thing of cs/ds/es/ss always having a base of 0 while fs/gs are sort of usable in address calculations, but it's not like the registers didn't exist.
00:50:06 <fizzie> `asm push %fs
00:50:10 <HackEso> 0: 0f a0 pushq %fs
00:50:11 <fizzie> `asm push %ds
00:50:13 <HackEso> ​/tmp/asm.s: Assembler messages: \ /tmp/asm.s:1: Error: operand type mismatch for `push' \ /tmp/asm.s: Assembler messages: \ /tmp/asm.s:1: Error: operand type mismatch for `push'
00:50:19 <fizzie> Yet...
00:50:29 <fizzie> `asm mov %fs, %ax; mov %ds, %ax
00:50:30 <HackEso> 0: 66 8c e0 mov %fs,%ax \ 3: 66 8c d8 mov %ds,%ax
00:51:00 <fizzie> Also the manual mentions that 66h prefix is unnecessary, and that most assemblers will let you use...
00:51:04 <fizzie> `asm mov %fs, %eax
00:51:05 <HackEso> 0: 8c e0 mov %fs,%eax
00:51:11 <fizzie> To avoid it.
00:51:17 <fizzie> (The effect is apparently the same.)
00:51:45 <shachaf> What a bizarro world.
00:51:53 <int-e> `asm mov %fs, %rax
00:51:54 <HackEso> 0: 48 8c e0 mov %fs,%rax
00:51:58 <shachaf> Can we scrap x86 and switch to something reasonable?
00:51:59 <int-e> beauty
00:52:13 <int-e> shachaf: sure, once intel goes out of business
00:57:43 <shachaf> I suspect Intel could make pretty good processors for other instruction sets if they tried.
00:58:32 <int-e> I think Intel is looking at their die area for high performance CPUs, sees they're spendin 1-2% of it on instruction decoding, shrugs, and moves on.
00:59:05 <Lykaina> intel made strongarm i think
00:59:10 <shachaf> I mean, instruction decoding specifically isn't the only problem with x86, I think.
00:59:20 <int-e> (I believe, but don't know, that the rest of the CPU would remain largely the same complexity anyway.)
00:59:28 <shachaf> As I understand it they spend quite a bit of die area and power on things that a better instruction set wouldn't require.
00:59:41 <shachaf> Then again they made Itanium so who knows what better instruction set they would make.
01:00:10 <int-e> Itanium was a spectacular failure though.
01:00:15 <int-e> EPIC, even.
01:00:34 <Lykaina> IA-64 was a disaster
01:00:54 <Lykaina> took amd to do it
01:01:21 <Lykaina> and make x86-64
01:02:04 <zzo38> MMIX is better, I think
01:02:09 <int-e> Nobody's made a forward-compatible VLIW instruction set yet. So... you pay with huge bandwidth for a simpler processor, and the next generation will carry all the multiscalar baggage as the processor tries to identify parallel work dynamically, because they need to exploit parallelism simply can't be establish statically anyway.
01:02:45 <int-e> IA-64 was Itanium, no?
01:02:49 <Lykaina> yes
01:03:34 <fizzie> EM64T is the best name.
01:03:52 <Lykaina> that's intel's name
01:04:03 <fizzie> Well, they gave up on it too.
01:04:10 <fizzie> I think it's just Intel 64 now.
01:13:52 -!- imode has quit (Remote host closed the connection).
01:14:14 -!- imode has joined.
01:17:07 <Lykaina> grrr...found a bug in my interpreter i thought i patched
01:23:46 <Lykaina> no, it's a new bug
01:25:31 <Lykaina> or newly-found
01:39:06 <Lykaina> basically, it hits: while(a=='\n') a=putchar(); and acts strangely on the previous value of a
01:39:39 -!- FreeFull has quit.
01:40:05 <Lykaina> it shouldn't even remember the previous value
01:42:02 <Lykaina> it's a proof-of-concept of a switch in echidna
01:43:16 <Lykaina> equivalent of: if(a=='\n') a=putchar(); // behaves normally
01:43:42 <Lykaina> equivalent of: while(a=='\n') a=putchar(); // gives impossible output
01:44:56 <imode> trace it!
01:46:48 <Lykaina> what does that mean? i'm blanking out on it
01:46:54 <fizzie> I can't tell whether that's supposed to be getchar() or not.
01:47:32 <Lykaina> oh shit
01:47:49 <Lykaina> equivalent of: if(a=='\n') a=getchar(); // behaves normally
01:47:57 <Lykaina> equivalent of: while(a=='\n') a=getchar(); // gives impossible output
01:48:21 <fizzie> Well, that's more plausible.
01:49:02 <imode> as in, step the interpreter one instruction at a time.
01:49:06 <Lykaina> imode: what do you mean by "trace it!"
01:49:15 <Lykaina> how?
01:49:17 <imode> print out an instruction trace.
01:49:27 <Lykaina> how?
01:49:30 <imode> i.e what instructions you're executing, along with the content of main memory.
01:49:36 <imode> what do you mean how? presumably you have access to those things.
01:50:07 <Lykaina> um...
01:50:43 <Lykaina> imode: i don't like being called an idiot for not knowing some things
01:51:25 <Lykaina> how do i print out an instruction trace?
01:51:34 <imode> you aren't an idiot, I just assume that you're writing an interpreter that you have access to things like which instruction you're executing, and what the contents of main memory is.
01:51:56 <imode> it's literally just a printout of what instructions you're executing when they're executing.
01:52:07 <Lykaina> okay
01:52:18 <Lykaina> modify the interpreter
01:52:27 <imode> yes.
01:52:28 <Lykaina> to output that
01:53:30 <Lykaina> brb
01:54:09 <Lykaina> oh, by the way, main memory is 64KiB in size
01:54:45 <Lykaina> but i'm only using the lower 4 words in this example
01:54:56 <Lykaina> correction: 128 KiB
01:55:15 * Lykaina goes back to afkland
01:58:02 -!- imode has quit (Ping timeout: 265 seconds).
02:02:03 -!- Phantom_Hoover has joined.
02:09:38 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
02:25:35 <Lykaina> okay, so for some reason it's skipping an earlier "I @0000"
02:26:17 <Lykaina> how do i thank imode?
02:29:03 -!- adu has joined.
02:29:49 <Lykaina> it also misses an -W1
02:30:31 <Lykaina> which is weird
02:30:37 <Lykaina> hi adu
02:31:16 <adu> hi
02:31:46 <adu> what's up
02:40:41 <fizzie> `thanks imode
02:40:42 <HackEso> Thanks, imode. Thimode.
02:40:45 <fizzie> I'm not sure that sort of thanking is particularly useful, but it's the best we have.
02:41:28 <shachaf> `asm .byte 0x48, 0x89, 0x04, 0x64
02:41:29 <HackEso> 0: 48 89 04 64 mov %rax,(%rsp,%riz,2)
02:41:48 <shachaf> Now that I'm doing the whole ModR/M and SIB byte thing properly, I see what you mean about %riz.
02:52:23 <Lykaina> fixed
03:12:29 -!- xkapastel has quit (Quit: Connection closed for inactivity).
03:19:27 -!- hppavilion[1] has joined.
03:19:34 <Lykaina> the echidna-debug program for v0.10a2a outputs 256 bytes per cycle. (64 bytes of argument var and first 96 words of memory (total 65536 words))
03:22:34 <Lykaina> a lot of the key words are between 0000 and 005F anyway.
03:33:14 -!- imode has joined.
03:58:02 -!- b_jonas has quit (Ping timeout: 240 seconds).
03:58:53 -!- b_jonas has joined.
04:59:02 -!- adu has quit (Quit: adu).
05:17:42 <zzo38> The bug in Ghostscript that I reported existed since version 3.33. "9999 string {} forall" doesn't work, but "9999 string {0 add} forall" does work. Commit 8675b40266cbf9771a08f4178a6009cfd17e0ba corrects the bug.
05:28:17 -!- hppavilion[1] has quit (Ping timeout: 265 seconds).
06:13:49 <shachaf> https://raw.githubusercontent.com/espressif/binutils-esp32ulp/master/opcodes/i386-opc.tbl
06:13:55 <shachaf> Why doesn't Intel publish a file like that?
06:20:34 -!- b_jonas has quit (Remote host closed the connection).
07:18:38 -!- hppavilion[1] has joined.
07:26:42 -!- imode has quit (Ping timeout: 265 seconds).
07:56:15 -!- imode has joined.
08:37:49 -!- ArthurStrong has quit (Quit: leaving).
08:56:28 -!- Lord_of_Life has quit (Ping timeout: 264 seconds).
09:00:50 -!- Lord_of_Life has joined.
09:12:59 -!- imode has quit (Ping timeout: 276 seconds).
09:42:44 <esowiki> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=66149&oldid=65092 * YamTokTpaFa * (+157) /* Bug: Why is HQ9F+ shown on no category pages? */ new section
09:43:18 <esowiki> [[HQ9F+]] https://esolangs.org/w/index.php?diff=66150&oldid=64738 * YamTokTpaFa * (+22)
09:45:45 <esowiki> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=66151&oldid=66149 * YamTokTpaFa * (+270) /* Bug: Why is HQ9F+ shown on no category pages? */
09:49:13 <esowiki> [[COBOL]] M https://esolangs.org/w/index.php?diff=66152&oldid=47135 * YamTokTpaFa * (+1) I wanted an indent
09:50:07 <esowiki> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=66153&oldid=66151 * Fizzie * (+649) /* Bug: Why is HQ9F+ shown on no category pages? */ An answer of sorts.
10:08:32 -!- Frater_EST has joined.
10:28:08 -!- hppavilion[1] has quit (Remote host closed the connection).
10:29:11 -!- b_jonas has joined.
10:31:17 <esowiki> [[Chafa]] M https://esolangs.org/w/index.php?diff=66154&oldid=65347 * A * (+526) So just a reference of Zalgo characters
10:32:33 <b_jonas> the PDP-8 cpu has an interesting instruction set. just like all old cpus, it's optimized to allow dense code while being implementable in very little electronics. but the way PDP-8 achieves this is very different from newer cpus that I'm somewhat familiar with, like the 6502.
10:34:32 <b_jonas> in particular, PDP-8 is accumulator-based, but has no straight load instruction: instead it has an instruction that loads a value and adds it to the accumulator with carry, and an instruction that loads and does some bitwise op with it to the accumulator, plus there are multiplex operations that allow you to clear the accumulator, clear the carry flag, plus the store operation also automatically clears
10:34:38 <b_jonas> the accumulator.
10:35:16 <b_jonas> the memory is made of 12-bit bytes, and each instruction takes exactly one 12-bit byte.
10:35:47 <b_jonas> I should look at other popular old cpus from the core memory era to see what other interesting methods they use.
10:37:57 <b_jonas> "how do i thank imode?" => we don't have a widely used system of imaginary internet points and badges for #esoteric yet
10:41:01 <b_jonas> @thanks imode
10:41:01 <lambdabot> you are welcome
10:41:09 <b_jonas> hmm, that doesn't work
10:41:28 -!- xkapastel has joined.
10:41:29 <b_jonas> @karma+ imode
10:41:30 <lambdabot> imode's karma raised to 1.
10:41:34 <b_jonas> ^ ah yes, that's the command
10:41:55 <b_jonas> I don't think we have an equivalent implemented in HackEso, but the bot is very programmable, so you could implement something
10:42:55 <shachaf> lambdabot also listens to all user++ messages and silently increments karma
10:42:58 <shachaf> @karma user
10:42:58 <lambdabot> user has a karma of 0
10:43:07 <shachaf> Hmm. user++
10:43:09 <shachaf> @karma user
10:43:10 <lambdabot> user has a karma of 1
10:43:18 <shachaf> I guess user had negative karma. That makes sense.
10:43:56 <b_jonas> shachaf: ah
10:44:50 <shachaf> Oh, but I didn't see the original question.
10:45:05 <shachaf> You can thank people by typing "thank you", for example.
10:45:17 <shachaf> It's a better system than incrementing a number related to their name.
10:45:33 <b_jonas> shachaf: "Now that I'm doing the whole ModR/M and SIB byte thing properly" => when tom7 made his ABC compiler, I was very surprised that the 386 cpu uses 32-bit modr/m format in 16-bit mode if you use the address-size override prefix, but in retrospect that makes sense
10:46:17 <b_jonas> shachaf: yes, that's a good way to thank someone. but it may still make sense to have a system of giving imaginary internet points and achievement badges
10:46:28 <b_jonas> does lambdabot also listen to "thank you" messages?
10:46:41 <shachaf> How do you mean?
10:46:51 <shachaf> No, but the recipient of the thank you down, which is more important.
10:46:58 <shachaf> @karma
10:46:58 <lambdabot> You have a karma of 99
10:47:05 <b_jonas> like, if you say "thank you, imode" on the channel, does lambdabot increment the karma of imode?
10:47:06 <shachaf> I'm pretty sure most of that is fake oerjan karma.
10:47:22 <shachaf> What's the 32-bit modr/m format?
10:48:07 <shachaf> `` mov %ax, (%bx,si)
10:48:09 <HackEso> ​/hackenv/bin/`: eval: line 5: syntax error near unexpected token `(' \ /hackenv/bin/`: eval: line 5: `mov %ax, (%bx,si)'
10:48:12 <shachaf> `asm mov %ax, (%bx,si)
10:48:13 <HackEso> ​/tmp/asm.s: Assembler messages: \ /tmp/asm.s:1: Error: bad or irreducible absolute expression \ /tmp/asm.s:1: Error: expecting scale factor of 1, 2, 4, or 8: got `si' \ /tmp/asm.s: Assembler messages: \ /tmp/asm.s:1: Error: missing ')' \ /tmp/asm.s:1: Error: junk `)' after expression
10:48:33 <b_jonas> the one that's normally used in x86_32 code in 32-bit protected mode
10:49:42 <shachaf> Oh, this makes no sense of course.
10:49:49 <b_jonas> it lets you select a base register plus 0 or 1 or 4 byte long offset with just a mod/rm byte, or a base register and a scaled index register and a 0 or 1 or 4 byte offset with a modr/m plus sib bytes, and lets you use %ecx or %eax as base registers
10:50:10 <shachaf> Aren't imaginary Internet points and achievement badges a bad incentive?
10:50:58 <b_jonas> as opposed to the 16-bit addressing mode where sib bytes are never used, you can't use %cx or %ax as base or index registers, but you can select %si+%bx or %di+%bx in a modr/m byte
10:51:39 <shachaf> I'm sure glad 64-bit mode is the only one that matters.
10:51:59 <b_jonas> also both the 16-bit and the 32-bit modr/m format has some magical segment choice implications where if you use certain indexing modes, the address is relative to %ss rather than %ds by default, though you can override this in any case
10:52:04 <b_jonas> shachaf: sure
10:52:24 <b_jonas> only this is #esoteric so sometimes we talk about things that don't matter
10:52:32 <b_jonas> things that you don't want to use in production
10:52:43 <shachaf> Sure. But implementing 64-bit mode is enough of a headache for me right now.
10:53:08 <b_jonas> yeah
10:53:36 <shachaf> How can I tell whether my addressing mode implementation is correct?
11:01:10 <shachaf> Does x86 have a nop with immediate? I could use it to mark my output to recognize parts of it easily.
11:02:55 <shachaf> `asm .byte 0x0f, 0x1f, 0x80, 0, 0, 0, 0
11:02:56 <HackEso> 0: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
11:03:11 <shachaf> `asm .byte 0x0f, 0x1f, 0x80, 'A', 'B', 'C', 'D'
11:03:12 <HackEso> 0: 0f 1f 80 41 42 43 44 nopl 0x44434241(%rax)
11:03:15 <shachaf> I guess that works.
11:08:39 <shachaf> `asm .byte 0x0f, 0x1f, 0200, 'A', 'B', 'C', 'D'
11:08:40 <HackEso> 0: 0f 1f 80 41 42 43 44 nopl 0x44434241(%rax)
11:08:43 <shachaf> `asm .byte 0x0f, 0x1f, 0210, 'A', 'B', 'C', 'D'
11:08:44 <HackEso> 0: 0f 1f 88 41 42 43 44 nopl 0x44434241(%rax)
11:08:54 <shachaf> `asm .byte 0x0f, 0x1f, 0270, 'A', 'B', 'C', 'D'
11:08:55 <HackEso> 0: 0f 1f b8 41 42 43 44 nopl 0x44434241(%rax)
11:08:58 <shachaf> So many nops.
11:09:30 <shachaf> https://www.felixcloutier.com/x86/nop only says the /0 variant is a nop, though.
11:24:50 -!- atslash has quit (Ping timeout: 240 seconds).
11:25:38 -!- atslash has joined.
11:36:24 -!- FreeFull has joined.
11:39:27 <esowiki> [[Apple3.14]] M https://esolangs.org/w/index.php?diff=66155&oldid=49628 * A * (+0) /* How high will it go? */
11:41:32 <esowiki> [[PFD]] N https://esolangs.org/w/index.php?oldid=66156 * A * (+1478) Created page with "'''PFD''' is an esolang made by [[User:Cortex|Cortex]] designed to have very small code and many useful commands, but the only way to see what it actually did through the whol..."
11:43:12 <esowiki> [[PFD]] M https://esolangs.org/w/index.php?diff=66157&oldid=66156 * A * (-1417) Redirected page to [[Https://esolangs.org/wiki/Print Function Deluxe]]
11:43:38 -!- Frater_EST has quit (Ping timeout: 240 seconds).
11:43:41 <esowiki> [[PFD]] M https://esolangs.org/w/index.php?diff=66158&oldid=66157 * A * (-26) Redirected page to [[Print Function Deluxe]]
11:56:02 -!- atslash has quit (Ping timeout: 240 seconds).
11:56:42 -!- atslash has joined.
11:57:23 <esowiki> [[Print]] N https://esolangs.org/w/index.php?oldid=66159 * A * (+1345) Created page with "'''Print''' is an esolang made by [[User:Cortex|Cortex]] designed to make [[Print Function Deluxe]] programs (slightly) shorter. == Commands == {| class="wikitable" |- ! Char..."
12:00:33 <Lykaina> who's this A that edits everything?
12:13:07 <esowiki> [[Print]] M https://esolangs.org/w/index.php?diff=66160&oldid=66159 * A * (-11)
12:21:11 <esowiki> [[Print]] M https://esolangs.org/w/index.php?diff=66161&oldid=66160 * A * (+141)
12:22:38 -!- Frater_EST has joined.
12:25:37 <b_jonas> shachaf: the intel manual also says that only the /0 variant of the 0F 1F instruction is a nop
12:27:08 <esowiki> [[User talk:Lesidhetree]] N https://esolangs.org/w/index.php?oldid=66162 * Lykaina * (+156) Discovered an old account of mine from when I used a different name in rl.
12:30:42 <Lykaina> damn, i was crazy in 2015
12:31:07 <b_jonas> shachaf: you can also use the PREFETCHT2 instruction, whose opcode is 0F 18 /3, as a nop to mark your things. it's slightly less efficient than true nops, but still reasonably good.
12:32:16 <Lykaina> but there are possibly remnants of the "fourfuck" code in echidna's interpreter.
12:32:28 <b_jonas> or, of course, you could put markings in parts of the code that are never executed, or an immediate load to a dead register, or a marking into a debug section or some other elf section that isn't loaded to memory
12:35:02 <Lykaina> i know echidna's interpreter was originally based on hydra51's, a failed attempt of mine long ago to make an 8051 clone in C.
12:35:43 <Lykaina> but i forgot if there was any connection between hydra51 and fourfuck
12:36:48 <Lykaina> hydra51 wasn't esoteric
12:37:49 <Lykaina> but it began my trend of naming my language attempts after animals.
12:44:09 <b_jonas> `pbflist https://pbfcomics.com/comics/splash-down/
12:44:10 <HackEso> pbflist https://pbfcomics.com/comics/splash-down/: shachaf Sgeo quintopia ion b_jonas Cale
12:44:34 <Lykaina> preferably ones with mythological connections
13:05:41 -!- Phantom_Hoover has joined.
13:09:30 -!- arseniiv has joined.
13:30:12 <Lykaina> i have to stop and learn to program in Echidna before i edit more.
13:30:46 <Lykaina> b_jonas: what would echidna be best at?
13:32:21 <esowiki> [[Espro]] M https://esolangs.org/w/index.php?diff=66163&oldid=66046 * Timwi * (+5)
14:06:36 -!- Frater_EST has quit (Remote host closed the connection).
14:14:23 -!- FreeFull has quit (Remote host closed the connection).
14:15:55 -!- FreeFull has joined.
14:58:01 <Lykaina> b_jonas: are you ignoring me or just busy?
14:59:18 <Lykaina> am i being passive-agressive again? i hate when i'm like that...
15:00:33 <Lykaina> it's a personality flaw i've really been working on.
15:05:54 -!- imode has joined.
15:06:45 <Lykaina> also, i am incapable of "getting the hint" (whatever that hint is).
15:07:01 <Lykaina> hi imode
15:08:50 <imode> hey Lykaina.
15:09:00 <imode> what's up?
15:10:01 <Lykaina> just a little annoyed at self for possibly reverting to my old passive-aggressive state
15:10:37 <Lykaina> also, i really have to learn how to write in my Echidna language.
15:12:30 <Lykaina> it's one thing to make a language, it's another thing to learn to write in it, especially if it is esoteric.
15:14:06 <imode> yeah, that's why I'm putting my focus on figuring out different algorithms and control flow structures before I decide whether a full-on interpreter is a good idea or not.
15:14:35 <Lykaina> i'm developing the language and interpreter at the same time
15:15:44 <imode> https://repl.it/repls/WetViolentParallelcompiler
15:15:59 <imode> line 161 onward.
15:16:23 <imode> if your language is small, it should be easy to write and rewrite an interpreter for it.
15:17:31 <Lykaina> i'm still changing and improving it
15:17:44 <Lykaina> have you seen it?
15:18:10 <Lykaina> i'm trying to force myself to stop at 0.10a2a
15:18:29 <Lykaina> the most recent modification was a bug fix
15:19:43 <Lykaina> http://sif.lesidhetree.com/sara/echidna/Echidna%20v0_10a2_p2.pdf
15:20:09 <imode> what are you writing the intepreter in?
15:20:20 <Lykaina> C
15:22:36 <imode> maybe start with a higher level language for prototyping?
15:22:55 <Lykaina> c isn't high level?
15:26:11 <Lykaina> of the languages i have learned, c is the only one i remember well.
15:26:14 <imode> it's not got a lot of useful constructs for prototyping.
15:27:02 <Lykaina> i program console mainly
15:27:16 <imode> whenever I work in a project, I usually take two languages: a prototyping language and an implementation language.
15:27:56 <Lykaina> what is prototyping? i'm a little confused
15:28:45 <imode> you work in an environment that's easier to build things in to finalize a design, then you implement that final design in your actual environment.
15:30:24 <Lykaina> c is easy for me
15:30:38 <Lykaina> and i do a lot of command line
15:31:20 <Lykaina> object-orienting gives me a headache
15:31:38 <Lykaina> it's why i don't use c# much
15:33:35 <Lykaina> so, what am i doing wrong?
15:35:52 <imode> dunno, I'm not writing your interpreter.
15:36:32 <Lykaina> i created choose.ech, a proof of concept for a switch in echidna 0.10a2, and encountered a bug i thought i patched a while ago
15:36:59 <Lykaina> fixed it in .10a2a
15:38:23 <Lykaina> same command list, so the pdf still applies
15:40:07 <Lykaina> one of the things i do is use a bunch of c files. remnant from learning java/c#, where every class has it's own file.
15:41:23 <Lykaina> also, i split my interpreter amonst many .c and .h files for versioning reasons
15:43:11 <FreeFull> C's default string manipulation functions suck
15:43:20 <Lykaina> true
15:43:43 <FreeFull> Also strings with length stored are better than nul-terminated ones for a lot of stuff
15:43:57 -!- imode2 has joined.
15:45:57 <Lykaina> i prefer getchar/putchar over scanf/printf
15:46:26 -!- imode has quit (Ping timeout: 240 seconds).
15:49:50 <Lykaina> i do use fprintf for error messages, though.
15:51:40 <Lykaina> does the book tcpl cover the standard library?
15:55:18 <Lykaina> never mind, can't afford it anyway
15:56:36 <Lykaina> "strings" in c are just char arrays.
16:07:34 -!- imode2 has quit (Remote host closed the connection).
16:08:14 -!- imode has joined.
16:12:50 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
17:12:01 -!- imode has quit (Ping timeout: 265 seconds).
17:14:15 -!- imode has joined.
17:20:00 -!- atslash has quit (Quit: This computer has gone to sleep).
17:21:42 <Lykaina> got a hidden debug mode implemented!
17:22:53 <int-e> a backdoor?
17:23:57 -!- atslash has joined.
17:25:09 <Lykaina> just displays the cmd read and the first 96 words of internal ram on stderr whenever a cmd is read
17:25:36 <Lykaina> s/internal ram/program memory/
17:27:29 <Lykaina> addresses 0000 to 005F
17:28:01 <zzo38> Is there a "invisible" X server that does not have any input/output on the display and keyboard and so on, so is only usable to implement drawing functions and to allow programs to exchange data with window properties and selections?
17:32:52 <Lykaina> huh?
17:33:52 <int-e> Xvnc is invisible and still allows drawing.
17:44:16 <b_jonas> zzo38: yes, two of them, and I think we talked about them on the channel
17:44:33 <b_jonas> one vnc-related and one or two others
17:46:24 <b_jonas> I don't recall their names, but it's in the channel logs somewhere... sad
17:46:49 <b_jonas> Xvfb is one of htem
17:48:32 <Lykaina> b_jonas: i need to know: have you been ignoring me? Maybe i missed a hint...
17:50:07 <Lykaina> i'll assume you are just busy
17:50:07 -!- b_jonas has quit (Read error: Connection reset by peer).
17:50:29 <Lykaina> sorry...
17:52:05 <Lykaina> crap...
17:52:19 <Lykaina> i think i chased them away
17:58:33 <imode> turns out you _can_ write recursive functions using a queue, provided you have operators that treat it as a stack. :P
18:00:39 -!- b_jonas has joined.
18:01:00 <b_jonas> no, I parted for an unrelated reason
18:03:10 <Lykaina> oh
18:10:34 <esowiki> [[Special:Log/newusers]] create * Enchant3d * New user account
18:11:42 <Lykaina> i'm so scared
18:12:34 <Lykaina> i don't know why
18:15:56 -!- imode has quit (Remote host closed the connection).
18:21:27 <b_jonas> which fungot style provides gratuitious stock market tips?
18:21:27 <fungot> b_jonas: be less specific. :) but no fnord.
18:22:34 <int-e> ^style
18:22:34 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp ukparl youtube
18:22:57 <b_jonas> less specific? which fungot style provides gratuitious tips on how to get rich quickly?
18:22:57 <fungot> b_jonas: if it matches
18:23:01 <int-e> ^style qwants
18:23:01 <fungot> Not found.
18:23:08 <int-e> ^style qwantz
18:23:08 <fungot> Selected style: qwantz (Dinosaur Comics transcriptions 2003-2011)
18:23:11 <int-e> ah
18:23:23 <int-e> ^style fisher
18:23:23 <fungot> Selected style: fisher (Fisher corpus of transcribed telephone conversations)
18:23:34 <int-e> fungot: blah
18:23:34 <fungot> int-e: yeah so and
18:23:37 -!- Lykaina has quit (Quit: leaving).
18:23:42 <int-e> fungot: how's mom?
18:23:42 <fungot> int-e: was just saying noise no because if they if the class if the students have access to computer twenty four seven
18:24:06 <int-e> ^style enron
18:24:06 <fungot> Selected style: enron (subset of the Enron email dataset)
18:24:13 <int-e> fungot: fraud?
18:24:13 <fungot> int-e: you know of any " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( " position" ( "
18:24:30 <int-e> glad we settled that...
18:24:38 <int-e> fungot: loop?
18:24:38 <fungot> int-e: the bonds. briarpark ln. from the electronic version of the construction of the california legislature. bass" eric.bassenron.com to: " it is the only two: a band of choctaw indians, unable to attend any or any combination of the plan.
18:24:56 <int-e> ^style irc
18:24:56 <fungot> Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams)
18:27:35 <arseniiv> hello
18:27:49 <arseniiv> (λx:μX.X→A.(unfold x)x) (fold λx:μX.X→A.(unfold x)x)
18:28:40 <arseniiv> fungot: lambda mu nu
18:28:41 <fungot> arseniiv: the is metaphorical, so it's the same thing :) i'd guess by alonzo church though
18:29:45 <int-e> arseniiv: I expecte mu X.X -> X
18:30:11 <b_jonas> fungot, do you understand indirect type recursion with the Mu type?
18:30:12 <fungot> b_jonas: but it's a slow daemon :(
18:30:19 <arseniiv> (also shouldn’t I write νX.X→T or is μ okay for these kinds of functors)
18:31:02 <int-e> and neither mu nor nu make so much sense with contravariant functors?
18:31:07 <arseniiv> int-e: I like the version with A as we can inhabit any type we pick, like 0
18:31:39 <arseniiv> (that term overall has type A)
18:31:44 <int-e> meh I don't know this stuff. Sure, you're somewhere in domain theory territory, but I don't know whether they can still support different kinds of fixed points nicely.
18:32:09 <int-e> :t fix id
18:32:11 <arseniiv> though I read Pierce on significance of μX.X→X, yeah (exactly today, even)
18:32:11 <lambdabot> a
18:33:30 <arseniiv> yeah, fix id is simpler when we already have fix typed, but I think typing omega by itself is a bit less long
18:33:53 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=66164&oldid=66041 * Enchant3d * (+279) /* Introductions */
18:36:59 <arseniiv> also I’m dabbling in deep waters here too, I heard about something which has sense only for covariant/contravariant functors but I don’t remember that
18:37:15 -!- b_jonas has quit (Read error: Connection reset by peer).
18:37:29 -!- b_jonas has joined.
18:41:41 <arseniiv> hm now I realize X ↦ (A → X, X → A) is not a functor? Not can it be covariant nor contravariant
18:42:30 <arseniiv> either I’m wrong or it looks strange
18:43:42 <arseniiv> also I realize I don’t remember what the class of contravariant functors is called in Haskell if there is one name somewhere
18:44:58 <int-e> Haskell's -> is very different from -> in Set.
18:49:27 <b_jonas> arseniiv: must be "Cofunctor", everything in Haskell is called co-something
18:49:28 <b_jonas> `? co
18:49:29 <HackEso> co? ¯\(°​_o)/¯
18:50:06 <kmc> cocoa coated co-cones
18:50:25 <kmc> the breakfast cereal for category theorists
18:51:55 <int-e> kmc: hmm what do category theorists do when they can't sleep? (set theorists count to aleph_1)
18:52:47 <arseniiv> oh poor set-theorists
18:52:56 <kmc> lol
18:54:01 <arseniiv> though maybe then they sleep for infinity
18:55:17 <kmc> `` python -c 'import time; time.sleep(float("inf"))'
18:55:18 <HackEso> Traceback (most recent call last): \ File "<string>", line 1, in <module> \ IOError: [Errno 22] Invalid argument
18:56:04 -!- Melvar has quit (Ping timeout: 268 seconds).
18:59:03 <arseniiv> so evidently Python is not a set theorist
19:01:37 <arseniiv> oh! let me try something
19:01:43 <arseniiv> `` python -c 'import time; time.sleep(-1)'
19:01:44 <HackEso> Traceback (most recent call last): \ File "<string>", line 1, in <module> \ IOError: [Errno 22] Invalid argument
19:02:25 <arseniiv> it can’t sleep backwards, too bad
19:02:27 <int-e> . o O ( Negative numbers are a cardinal error. )
19:03:00 <b_jonas> in a non-eso world, I think sleep(-1) should do the same as sleep(0), return very soon
19:03:04 <int-e> Or maybe I should go the whole mile and write "sin" there?
19:03:06 <arseniiv> int-e: (rofl)
19:03:18 <b_jonas> in an eso world, sleep(-1) should use a time machine to go back one second
19:03:54 <arseniiv> int-e: but sin is not a cardinal. At least I think in ZFC it shouldn’t be by any accident
19:04:31 <b_jonas> it can do that by first noting the current time, then sleeping until a reliable software time machine implementation becomes available, installing and dynamically loading it, then using that time machine implementation to go back in time one second before the call
19:04:57 <arseniiv> <b_jonas> in a non-eso world, I think sleep(-1) should do the same as sleep(0), return very soon => IIRC often -1 means “no limit” in that case
19:05:03 <int-e> arseniiv: I suppose as long as you're reasonable about representing the function...
19:05:26 <zzo38> If you write sleep infinity then perhaps it should call pause()
19:05:36 <b_jonas> arseniiv: that's for the c function that takes an unsigned int
19:05:38 <arseniiv> int-e: ah, that could be a loophole
19:05:44 <b_jonas> arseniiv: this one is a python function, which takes a python int
19:05:49 <int-e> arseniiv: You could represent the computable functions using some Gödel numbering :P
19:05:52 <b_jonas> so it's clear that the -1 isn't just a very large integer
19:06:08 <b_jonas> if you want to sleep infinitely with the python interface, you can just write sleep(1<<31)
19:06:17 <b_jonas> no wait
19:06:19 <b_jonas> that's not good enough
19:06:23 <b_jonas> I mean sleep(1<<62)
19:06:40 <b_jonas> 1<<31 is only a few decades
19:07:44 -!- Lord_of_Life_ has joined.
19:07:46 <arseniiv> b_jonas: hm in a hypothetical case Python ints would be encoded in p’s complement, -1 ≡ …11111 > any finite positive value = practically infinite
19:08:03 <arseniiv> (though then any negative value would behave the same)
19:08:35 <arseniiv> unbounded p’s complement*
19:08:41 <b_jonas> arseniiv: but time.sleep doesn't take an integer, it takes a floating point value for sub-second precision, that's documented clearly
19:08:57 <fizzie> I don't think it's uncommon for -1 to mean "no limit" for C functions that take an int as well. Although usually there's some other termination condition too. Like with `poll(struct pollfd *fds, nfds_t nfds, int timeout)`, where -1 (or any other negative value) means there's no timeout.
19:09:01 <arseniiv> b_jonas: you win :P
19:09:05 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:09:12 <zzo38> JavaScript integers are unbounded two's complement; this affects how bitwise operation are work
19:09:24 -!- Melvar has joined.
19:09:29 <b_jonas> ``` python3 -c'import time as t;print([(t.sleep(0.5),t.time()) for k in range(5)])'
19:09:32 <HackEso> ​[(None, 1568488170.3078678), (None, 1568488170.8085804), (None, 1568488171.3093328), (None, 1568488171.8100646), (None, 1568488172.310767)]
19:09:46 <int-e> > -8 .|. 2
19:09:48 <lambdabot> -6
19:09:51 <b_jonas> zzo38: sure, and so are python integers (except in ancient python) and GMP integers
19:09:54 <b_jonas> no wait
19:09:59 <b_jonas> maybe GMP integers are different, I can't recall
19:10:25 <fizzie> I think GMP integers might be sign-and-magnitude.
19:10:32 <b_jonas> fizzie: that's the representation
19:10:40 <arseniiv> <int-e> arseniiv: You could represent the computable functions using some Gödel numbering :P => ah I have just read the second one finally. You clearly win too. Or sin
19:10:41 <b_jonas> but how do the GMP bitwise functions affect them?
19:11:08 <int-e> http://www.computer-go.info/ "These functions behave as if twos complement arithmetic were used (although sign-magnitude is the actual implementation). The least significant bit is number 0. "
19:11:16 <int-e> huh
19:11:30 <zzo38> (JavaScript did not even have an integer type until somewhat recently, though)
19:11:43 <int-e> https://gmplib.org/manual/Integer-Logic-and-Bit-Fiddling.html
19:11:47 <int-e> that was the link
19:12:01 <arseniiv> oh I meant unbounded not in that sense, I wanted something p-adic maybe. For −1’s representation to be unbounded itself
19:12:29 <int-e> (Why can't software respect the X11 selection ownership protocol these days...)
19:13:01 <fizzie> I like languages that represent true and false as -1 and 0, respectively.
19:13:05 <fizzie> `forth true .
19:13:05 <int-e> (Java software is terrible at this.)
19:13:05 <HackEso> ​-1
19:13:14 <zzo38> (You can use bitwise operations with floating numbers, but then it converts them to 32-bit integers, and then converts it back to a floating point afterward. Optimizations may avoid having to perform the conversion every time, though.)
19:13:38 <zzo38> fizzzie: Yes, Forth, and also BASIC, does.
19:14:09 <int-e> > complement 0
19:14:12 <lambdabot> -1
19:16:05 <zzo38> I hope they add a popcount function into JavaScript; implementing it using JavaScript code would be inefficient.
19:16:09 <arseniiv> > iterate complement 0
19:16:11 <lambdabot> [0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,...
19:18:42 <b_jonas> int-e: yes, and very often -1 for true is more convenient than 1 for true. ideally if you go for optimizations, you can choose between those representations, and of different sizes too
19:19:27 <b_jonas> it is true though that representing true with 1 also makes sense, and it wasn't even C that started that, APL already depends on representing true by 1
19:19:30 <arseniiv> I’m glad true integers were added to JS, I hadn’t heard about that earlier. Maybe some day I’ll write something in a future JS
19:20:46 <arseniiv> b_jonas: is it connected with use of Iverson brackets?
19:21:02 <b_jonas> arseniiv: yes
19:21:21 <arseniiv> but then they aren’t needed?
19:21:27 <b_jonas> in fact, often the hybrid solution is the best:
19:21:46 <b_jonas> treat true as if it had the value 1 semantically when you use it as a number, but represent it as -1
19:22:00 <b_jonas> but again, that's not always the best either
19:22:21 <b_jonas> luckily it's not that hard to convert between different representations
19:24:49 <b_jonas> what's the best depends both on how you're generating the integers, what you're doing with them, and even the cpu instruction set extensions
19:25:36 <arseniiv> > let { true = -1; x `and` y = negate ((negate x) * (negate y)) } in true `and` true
19:25:39 <lambdabot> -1
19:31:04 <arseniiv> (hm is there a module to convert an unbounded integer to Knuth’s myriad-myllion system (or another I don’t know of))
19:31:48 <arseniiv> (though practical considerations make some complexity unnecessary)
19:31:58 <b_jonas> I don't know what "Knuth's myriad-myllion system" is. is that when you compute everything modulo various primes?
19:33:27 <arseniiv> b_jonas: it’s a textual representation suitable for unbounded integers, as traditional ones can’t handle values that are too big
19:34:07 <b_jonas> ah
19:34:11 <b_jonas> I hadn't heared of that
19:35:54 <arseniiv> first it declares its own myriad = 1e4, myllion = 1e8 and something for 1e16, 1e32 and so on for some time, and then it allows arbitrarily long names but I always forget in which manner. I’ll look up what the article was called
19:36:14 <b_jonas> I know http://www.madore.org/~david/weblog/d.2010-09-03.1791.html as an alternate system to write large integers, but it's not for unbounded ones, it has a limit of something between 10**21 and 10**100 depending on version
19:39:30 <shachaf> Do you like this? https://twitter.com/AlexKontorovich/status/1172715174786228224
19:39:57 <kmc> shachaf: wow, is this an unpopular opinion that is actually unpopular?
19:42:17 <arseniiv> b_jonas: I didn’t found the original article but there is another: https://en.wikipedia.org/wiki/-yllion
19:43:07 <int-e> . o O ( Fortunately the Collatz conjecture has no practical implications at all. )
19:44:09 <shachaf> kmc: shocking
19:45:13 <shachaf> I'm disappointed that lea r64,r64 is encodable but just an illegal instruction.
19:45:37 <int-e> shachaf: Well, he's not wrong. There's no particular reason why a weird universal machine should not be lurking inside the Collatz sequence. We'll never know.
19:46:44 <b_jonas> shachaf: why? there are several other instructions that are invalid with a register argument
19:46:53 <shachaf> int-e: wow, you're much less motivational than hilbert tdnh
19:48:56 <int-e> Feel my power of negativity.
19:49:01 <shachaf> Wir müssen wissen. Wir werden wissen.
19:49:49 <int-e> Gödel put an end to that attitude.
19:50:02 <int-e> I hear it was a huge blow to Hilbert.
19:50:18 <int-e> (Almost typed "Dilbert" there, how's that?)
19:51:29 <b_jonas> int-e: This reminds me of the time my uncle Bilbert
19:53:32 <int-e> shachaf: If you think about it a bit, by saying that we'll never know I'm also suggesting that no counterexample exists :)
19:53:49 <int-e> Not sure that was entirely intentional.
19:54:13 <shachaf> Are you actually?
19:54:18 <b_jonas> int-e: not really suggesting that
19:54:25 <b_jonas> there could be counterexamples that are hopelessly hard to find
19:54:28 <shachaf> I think we'll never know BB(100) but I think it exists.
19:54:31 <int-e> shachaf: Well presumably if we can /find/ a counterexample that would resolve the question!
19:55:01 <b_jonas> like, you know, there's almost certainly a string whose SHA-512 sum is zero, but we probably won't find one soon, and for a well-designed 1024-bit checksum, we'll probably never find one
19:55:07 <shachaf> Or that.
19:55:08 <int-e> shachaf: True. Hard to believe, but true.
19:55:34 <b_jonas> shachaf: in what sense can you "know" BB(100)? it's so large, surely you don't expect us to write down all digits
19:56:02 <b_jonas> no, I mean, in what sense can you "know BB(100)"?
19:56:17 <b_jonas> do you have a more specific true-false statement about BB(100)?
19:56:27 <shachaf> Your example is better for that reason.
19:56:34 <int-e> shachaf: Oh if https://www.treadwell-stanton.com/services/phaedra has any basis we'll have sha512 preimage attacks in no time ;-)
19:56:43 <shachaf> But I think most interesting predicates about that number are similarly unknowable.
19:56:55 <shachaf> For example: Is it greater than 5? We just don't know.
19:57:19 <int-e> "it"?
19:57:23 <shachaf> BB(100)
19:57:28 <int-e> shachaf: of course it is
19:57:31 <b_jonas> shachaf: it's greater than 5, yes
19:57:37 <shachaf> But is it greater than 8?
19:57:39 <int-e> we can give plenty of lower bounds, unimaginably large
19:57:41 <shachaf> That one's a real stumper.
19:57:51 <int-e> shachaf: you're mixing up something
19:58:10 <shachaf> The joke is that I said that predicates of this number are unknowable, and now I'm giving some knowable predicates.
19:58:14 <shachaf> It's not a very good joke.
19:58:51 <int-e> shachaf: https://en.wikipedia.org/wiki/Graham%27s_number is closer to what you're saying
19:59:05 <shachaf> That one's obviously less than BB(100)
19:59:11 <int-e> (best lower bound: 13. best upper bound... too large to write down)
19:59:14 <b_jonas> shachaf: I don't believe that. they'd be rich if they could break SHA-256 already. that said, I was careful and said SHA-512 deliberately.
19:59:28 <int-e> (without special notation)
19:59:41 <shachaf> Oh, you're not talking about the number but the original problem.
19:59:58 <int-e> b_jonas: yes, there's a lot that is wrong with that page :)
20:00:17 <b_jonas> I think we know that 100 is a lower bound for Collatz
20:00:18 <shachaf> int-e: So that link claims "orders of magnitude faster" than brute force.
20:00:22 <int-e> b_jonas: but, interestingly, the Digital Annealer Units are real technology.
20:00:25 <b_jonas> so 13 can't be the best lower bound
20:00:43 <shachaf> Let's say 3 orders of magnitude, so 10 bits?
20:00:57 <int-e> b_jonas: Uhm, the 13 is for that Ramsey theory problem that Graham's number is an upper bound for.
20:01:03 <shachaf> Oh man. "overlapping into the quantum computing realm"
20:01:18 <int-e> shachaf: I don't believe any of the performance claims in that link.
20:01:23 <shachaf> I'm sold.
20:01:28 <b_jonas> int-e: blockchains, neural nets, and dozens of other trendy jargon words are also real technology, yet marketing people sell so much bullshit with them
20:01:33 <shachaf> It's also good to know that Google has a preimage attack on SHA-1.
20:01:41 <b_jonas> int-e: ah
20:03:08 <int-e> b_jonas: The Digital Annealer Units are used for things like TSP. As far as I understand them, they're basically accelerators for simulated annealing.
20:03:10 <b_jonas> I don't know what graham's number is all about, I think it's another famous hype that's abused for marketing or something
20:04:01 <int-e> b_jonas: I have not seen any claims for plain combinatorial search, in particular satisfiability, and I can't really see how that would work either... there's no locality to exploit at all.
20:04:33 * int-e shrugs
20:05:02 <b_jonas> there's a nice question for which 7 is the best known lower bound so far, and it was improved from 6 to 7 in 2008: https://mathoverflow.net/a/100449/5340
20:05:26 <int-e> shachaf: I thought Google has a SHA 1 collision (shattered)... a proper preimage attack would be news to me.
20:06:16 <b_jonas> then there's also the Hadwiger-Nelson problem
20:06:40 <int-e> b_jonas: hmm, how does this relate to addition chains?
20:06:43 <shachaf> int-e: I'm only saying the obviously false things your link is saying.
20:06:47 <b_jonas> int-e: I don't think so
20:06:48 <arseniiv> ah I found that article now, there Knuth uses parentheses “latin…yllion” to represent n ↦ 10^2^(n+2) where n is named as “…” using the same system
20:06:52 <shachaf> Maybe it's not even saying that. Whatever.
20:07:11 <int-e> b_jonas: I guess addition chains count the + signs rather than the 1s. Hrm.
20:07:31 <int-e> b_jonas: (and allow some additional sharing of subexpressions too... so not the same)
20:07:32 <arseniiv> (then he discusses a series of prefix binary notations, couldn’t he make a prefix one here too)
20:07:41 <b_jonas> int-e: there are like ten thousand different interesting open questions in combinatorics that are easy to ask, I hear a lot about them from the guys at ELTE
20:08:11 <int-e> b_jonas: Ah I'm looking at the wrong entry...
20:09:55 <int-e> b_jonas: It's a bit boring when you have an infinite family of problems, and are just nibbling at the low end (here: 1 point, 2 points, 3 points ... 6 points, now 7... even if you find 8 points, that still leaves 9?)
20:10:48 <b_jonas> and there are a lot of them that, unlike these conjectures about eight points with pairwise rational distances or the Hadwiger-Nelson, sound like they should be easy to prove, but they really aren't
20:11:08 <b_jonas> int-e: sure, that's why I said the best lower bound is 7
20:11:18 <b_jonas> it would be good to know the actual highest value
20:12:39 <int-e> b_jonas: Of course the picture is different if there's a known upper bound. And it becomes fascinating when the upper and lower bounds are close as for the Hadwiger-Nelson problem.
20:13:09 -!- Phantom_Hoover has quit (Ping timeout: 268 seconds).
20:13:35 <int-e> Anyway, I wanted to see what "almost all" means in that Tao paper...
20:14:15 <int-e> (Almost all orbits of the Collatz map attain almost bounded values, https://arxiv.org/abs/1909.03562)
20:20:43 -!- Phantom_Hoover has joined.
20:21:41 <shachaf> How long has it been the olisters got the five-week Sphinx virus?
20:27:12 <int-e> Yeah I think there's still plenty of room in "almost all" for a universal machine to hide in.
20:27:41 <int-e> I mean the complement thereof, of course.
20:29:16 <shachaf> Does "almost all" mean "all but elements of an implied ideal"?
20:30:26 <int-e> No it means the logarithmic density is 1.
20:32:31 -!- tromp_ has joined.
20:36:08 -!- tromp has quit (Ping timeout: 276 seconds).
20:49:39 <b_jonas> shachaf: not long. they still haven't reached the predicted date of Harry's death, and that Sphinx virus was within two weeks I think
20:50:04 <b_jonas> wait, let me get more specific
20:51:16 <b_jonas> http://www.giantitp.com/comics/oots1081.html is when Hel says everyone on the ship is infected with deadly Sphinx Pox, and they got it from Mr. Scruffy back in the desert
20:51:39 <b_jonas> also that it has an incubation period of five weeks
20:54:00 <b_jonas> http://www.giantitp.com/comics/oots0937.html was still during the long day in the desert, and Haleo says that the ship will get them to past the Dwarven lands in eight days if the world is at stake, and the world is indeed at stake
20:54:11 <b_jonas> the fate of the world
20:54:46 <b_jonas> now going to the location of the Godsmoot and attending it was probably a day of delay, and the two fights at the dwarven lands took two or three days
20:55:02 <b_jonas> and the long day was, I think, two days after they arrived to the Empire of Blood
20:55:17 <b_jonas> the question is, how long they've been in the desert before they arrive to the Empire
20:56:21 <b_jonas> and that's hard to tell, because they already spent an unknown amount of time in the desert between #672 and #673,
20:56:54 <b_jonas> and in #673 they're in a large town, though not as large as the one in the Empire of Blood, but probably still large enough for pox to spread
20:57:37 <b_jonas> but Roy says in #673, "Here we are, gang. The town of Sandsedge, first stop on our journey."
20:58:03 <b_jonas> that sounds like they hadn't been to a town in the desert before that, so that's the earliest time that the cat could have gotted the virus
20:58:27 <b_jonas> now how much time did they spend from arriving to Sandsedge to arriving to the Empire of Blood? I've no idea
21:00:07 <b_jonas> https://oots.fandom.com/wiki/Timeline#The_Comics has some calculations
21:01:46 <b_jonas> ah yes, it points out to #692 which shows that they spend six days searching, but they don't spend twenty more pages
21:03:00 <b_jonas> hmm
21:03:16 <b_jonas> it looks like they did actually pass more than half of those five weeks of incubation
21:03:40 <b_jonas> of course, people in the forums already pointed out that now they have clerics who can cure such illnesses easily, and in fact may have already cured them
21:06:54 <shachaf> Oh, that's a good point.
21:07:00 <shachaf> But they may get separated again.
21:08:58 <b_jonas> in fact, Mechane Crewman with Goatee in #951 seems to me like he's the resident cleric of the Mechane, and he may have already cured the mechane crew from the pox too
21:09:15 <b_jonas> Greg had time to cure them as well
21:10:53 <shachaf> Who?
21:11:56 <b_jonas> cure the Mechane crew, before the dwarven lands
21:11:58 <b_jonas> no wait
21:12:01 <b_jonas> before the godsmoot
21:12:09 <b_jonas> since Greg left the Mechane at the godsmoot
21:12:18 <b_jonas> also, the potion factory with advertising deal may have given the Mechan crew potions other than the cure potions
21:12:31 <b_jonas> some of which may be good aginst illnesses
21:17:49 <b_jonas> fungot, have you ever got Sphix Pox?
21:17:49 <fungot> b_jonas: the answer seems pretty obviously ' no.' symbol is used as a normal atom?'.
21:18:07 <b_jonas> fungot: no, it's a virus
21:18:07 <fungot> b_jonas: if i am
21:30:18 <shachaf> Who's Greg?
21:31:05 <b_jonas> shachaf: the vampire that inhabited Durkon's body
21:32:08 <shachaf> Oh.
21:32:19 <shachaf> Why would the high priest of Hel sabotage Hel's plans?
21:33:53 <b_jonas> shachaf: he was disguised as Durkon, so he did some things that Durkon would do to keep the disguise
21:34:01 <b_jonas> he did protect the Mechane in other ways
21:35:54 <shachaf> But they didn't even know about the virus.
21:36:15 <b_jonas> shachaf: I think clerics have a way to detect illnesses
21:36:23 <b_jonas> in fact, maybe even Vaarsuvius or Elan has a way
21:37:34 <b_jonas> but it's more likely that they don't know about the virus, some of them still carry it, but it will be detected and quickly cured when the symptoms become visible
21:40:01 <b_jonas> luckily Remove Disease is available even in potion form (or "cleric in a can" as Tarquin calls it)
21:41:49 -!- Lykaina has joined.
21:42:28 <Lykaina> hi
21:46:10 <shachaf> I bet it'll have some impact on the story.
21:46:32 <b_jonas> shachaf: I already said that I'm sure it won't have an impact on the story
21:46:35 <Lykaina> arf?
21:46:39 <b_jonas> it may come back as a joke, but not as anything serious
21:47:05 <shachaf> Right, that's why I said it would.
21:47:34 <b_jonas> shachaf: I'm saying this mostly because in the Start of Darkness book, there's an entire story arch where a strange virus infection has a large impact on the story
21:47:44 <b_jonas> and I don't think the Giant would repeat such an element in the later storyline
21:50:44 <Lykaina> so, as i am a werewolf, i repeat my question. Arf?
21:52:10 <b_jonas> that out of universe argument convinces me more than any in universe explanation
21:52:48 <Lykaina> huh? i was just being silly
21:57:38 <Lykaina> so, what did i miss?
21:58:14 <Lykaina> did i actually say something profound by accident?
21:59:27 <b_jonas> Lykaina: we were talking about o, a certain webcomic that's popular here
22:00:45 <Lykaina> oh
22:03:42 <Lykaina> werewolf - english dictionary: arf? = huh?, grr... = oh shit..., still working on the rest.
22:05:07 <Lykaina> as Lykaina is greek for she-wolf, i sometimes speak canine due to my lupine nature.
22:05:36 <b_jonas> oh, that's what it means? so you're in the half of the channel whose nick means something?
22:06:11 <Lykaina> huh?
22:06:25 <b_jonas> we have some people whose nicks are entirely meaningless
22:06:40 <b_jonas> or at least they deny any meaning
22:06:44 <Lykaina> you aren't related to nick jonas?
22:07:01 <b_jonas> who is "nick jonas"?
22:07:09 <Lykaina> lol
22:07:18 <Lykaina> sorry
22:07:48 <Lykaina> 2000's teen pop star
22:07:51 <b_jonas> ah
22:08:03 <b_jonas> I don't think anyone asked me that yet
22:08:15 <b_jonas> people asked about some musicians called the Jonas brothers instead
22:08:42 <Lykaina> nick jonas was the front of the jonas brothers
22:08:47 <b_jonas> ah
22:08:53 <b_jonas> well that makes more sense then
22:09:27 <b_jonas> there's like a thousand different people out there who use the nick "jonas", and more who use the nick "Jonas"
22:09:46 <b_jonas> no wonder, because it's also a very popular real name, both as a first name and as a last name
22:10:10 <b_jonas> I too use the nick "jonas" on some places online
22:10:19 <Lykaina> last name?
22:10:24 <b_jonas> in at least one place I'm called "jonas" and another commenter is called "Jonas"
22:13:17 <Lykaina> then there's the Jessicas and Jennifers, and the years where there were three in every class in school
22:13:43 <b_jonas> yes, girls' names are fickle, the fashion changes every few years
22:13:52 <b_jonas> whereas boys' names are much more stable
22:14:19 <Lykaina> Sara's been popular for a while.
22:14:52 <b_jonas> Bence has been the single most popular boys' name for newborns in Hungary for two decades, and it was at least somewhat popular already more than a century ago
22:15:47 <zzo38> I also made up some Magic: the Gathering cards and wrote it on a paper, including: Night Wolf {3G(G/B)} Creature - Wolf (2/2) ;; First strike ;; Bands with other creatures named Night Wolf ;; Menace although maybe some thing should be altered a bit, I am not sure
22:16:16 <Lykaina> the years after twilight came out, Isabella was popular
22:17:00 <zzo38> Make up a name different from someone else's name, so that it is not confuse with other people with the same name.
22:17:24 <b_jonas> zzo38: yes, "b_jonas" is pretty unique, which is lucky given how short it is
22:17:35 <zzo38> OK, that is good, then.
22:18:34 <b_jonas> I guess "lob_jonas" is even more unique
22:19:13 <Lykaina> i snatched SchrodingersCat in 2005 when i first used freenode.
22:19:38 <Lykaina> i hated being asked if i was living or dead
22:19:52 <zzo38> O, so that is why your hostname cloak says schrodingerscat
22:20:02 <Lykaina> i was someone else then.
22:20:05 <Lykaina> yes
22:21:37 <Lykaina> i think i used SchrodingersCat when Sgeo first showed me this channel when i was in college.
22:22:07 <Lykaina> again, different person
22:22:16 <esowiki> [[B automaton]] N https://esolangs.org/w/index.php?oldid=66165 * A * (+158) Created page with "[[B automaton]] is a [[Bully automaton]] designed with problem-solving usefulness in mind. [[Category:2019]] [[Category:Languages]] [[Category:Unimplemented]]"
22:22:42 <b_jonas> yeah, this channel is old. we have logs going back to 2002
22:23:05 <Lykaina> that's around when freenode formed, right?
22:23:15 <b_jonas> no clue
22:24:08 <b_jonas> I think I started using irc in 2005 or so
22:24:26 <b_jonas> basically I started participating in internet communities in 2003
22:24:30 <b_jonas> irc came a bit later
22:24:50 <b_jonas> I came on it first for computer help, like many people do, then eventually got stuck because of communities
22:25:06 <b_jonas> freenode the most, but I've connected to like a dozen different irc networks at different times
22:25:14 <Lykaina> in 2008, when i started activly using irc, i chatted like a noob.
22:25:31 <Lykaina> cause i was one then
22:25:52 <Lykaina> took me a few years to learn how to chat properly
22:26:46 <b_jonas> I even founded three successful channels: #cbstream was active from 2006 to 2017, with some breaks; #jsoftware was active from probably 2009 and still lives;
22:27:26 <b_jonas> and ##Droidikar was an event-related one-time thing that was active for like four days
22:27:49 <zzo38> I sometimes use other IRC servers too but always use the nickname and username "zzo38" on them. On ifMUD I am #20071. On Usenet/Unusenet I am "news@zzo38computer.org.invalid" (in some old articles, it didn't have ".invalid" at the end; I added it at someone else's suggestion). I am also User:Zzo38 on some wikis (including esolang wiki)
22:28:53 <Lykaina> the username i use depends on when i start using it
22:29:00 <zzo38> OK
22:29:24 <Lykaina> i keep the one when i was most embarrassing private
22:29:30 <zzo38> OK
22:30:11 <kmc> it's cool that on the internet you can start over.
22:30:55 <zzo38> Yes, although if you have a static IP address then you would want to change it if you will start over.
22:31:46 <shachaf> A static IP address is indeed most people's main barrier.
22:32:08 <kmc> meh
22:32:13 <kmc> I use IRC from a VPS
22:32:20 -!- arseniiv has quit (Ping timeout: 246 seconds).
22:32:24 <kmc> if I want a new IP i can just ask for one
22:32:27 <zzo38> Yes, that works too
22:32:38 <kmc> also if I'm on my phone wifi then it's a different IP every time
22:33:04 <b_jonas> I don't think a static IP address is the main barrier
22:33:11 <b_jonas> it's more like all the personal information I give out
22:33:37 <b_jonas> almost all my online identities are linked together with lots of links and more implicit statements, it's easy to find me from any of them
22:34:01 <b_jonas> which is deliberate, but it would be much harder to deliberately make one that's not connected to my other identities and still chat in a reasonable way
22:34:07 <esowiki> [[B automaton]] M https://esolangs.org/w/index.php?diff=66166&oldid=66165 * A * (+576)
22:34:17 <b_jonas> secret identities come natural to some people, but it would be much harder for me
22:34:30 <b_jonas> I mean, if I entered here under any other nick, you'd probably recognize me after a few lines
22:34:52 <zzo38> Yes, if you have a RDF file to link them together, for example. Not all such services allow linking to such a RDF profile, but I invented the way to do so with NNTP. (You can easily have multiple RDF profiles too, if you want to keep them separate)
22:35:37 <zzo38> b_jonas: Maybe your hostname too, possibly
22:35:43 <b_jonas> zzo38: the nickserv user cbstream has a nickserv property set to connect it to me, you can see it with `NICKSERV INFO cbstream` with the current software I think
22:36:14 <b_jonas> zzo38: hostname is easier to mask by using a proxy that you don't recognize
22:36:36 <zzo38> Yes, if you deliberately do that, then of course it will be easier to mask
22:36:38 <b_jonas> ah no, you have to do `NICKSERV TAXONOMY cbstream` still
22:37:07 <Lykaina> read that as taxidermy
22:37:07 <zzo38> You can also abbreviate the command "NICKSERV" as "NS"
22:37:22 <Lykaina> and got really confused
22:37:22 <b_jonas> really?
22:37:24 <b_jonas> let me try
22:37:36 <b_jonas> yeah, you're right
22:39:23 <esowiki> [[B automaton]] M https://esolangs.org/w/index.php?diff=66167&oldid=66166 * A * (+352)
22:40:07 <b_jonas> I didn't know that for some reason
22:40:38 <Lykaina> Who is A on the wiki?
22:40:48 <Lykaina> is that code for anonymous?
22:40:58 <b_jonas> no
22:41:51 <Lykaina> i keep seeing updates by A and wonder if they are the wiki's #1 updater
22:42:04 <b_jonas> yes they are, they put a lot of nonsense there
22:42:07 -!- imode has joined.
22:42:40 <b_jonas> which is annoying, but admittedly it aligns with one of the goals of the wiki, which is to attract people's useless creative output away from more dangerous places they could mess up
22:44:15 <b_jonas> which is also why I think we should allow languages on the wiki when they aren't technically esoteric, but they're obscure enough that they don't get documented anywhere else
22:44:43 <b_jonas> so if a programming language doesn't get an en.wikipedia entry, then I think it should be on topic here
22:46:02 <b_jonas> which is why I documented https://esolangs.org/wiki/SIMPLE_(preprocessor) despite that it's technically not esoteric because david originally wrote it to do some preprocessing for html or tex or something and used it a little that way
22:50:14 <zzo38> (My way of using RDF user profiles on NNTP is to add a "From-RDF" header, which includes the URL of the RDF file (the "file:" scheme is not allowed). You still need a "From" header too, though.)
22:53:56 <zzo38> The information provided for Baba Is You is not complete, although from the information provided, and some guesses, it would seem that the example is paradox since the first line allows the second line to be interpreted as denying that it can be interpreted in this way.
22:54:29 <zzo38> Is it? Unfortunately, I don't know.
22:56:19 <zzo38> One nonstandard header I have seen in Usenet messages is "X-Clacks-Overhead". I looked it up, and seems that it was intended for HTTP, although it could also be used on NNTP (as in this case), and also email, and also ifMUD (although nobody can see it unless you set yourself examinable)
22:57:30 <zzo38> (and perhaps also it could be set as a NickServ property on Freenode, too)
23:04:35 <esowiki> [[Trate]] N https://esolangs.org/w/index.php?oldid=66168 * A * (+436) Created page with "[[Trate]] is a tool for bitwise-translating the input. == Instructions == Nx,y Negates the position on (x,y), also affecting the nearby cells to negate. If on the edge, cells..."
23:04:46 <esowiki> [[Trate]] M https://esolangs.org/w/index.php?diff=66169&oldid=66168 * A * (+1)
23:04:51 <Lykaina> not another bug...
23:09:45 <esowiki> [[User talk:A]] M https://esolangs.org/w/index.php?diff=66170&oldid=65854 * A * (+527)
23:11:34 <b_jonas> fungot, which one is the better pop song about a hopeless love between "I will love again" and "White flag"?
23:11:34 <fungot> b_jonas: i was working on a toy interpreter or two. i really want to
23:11:47 <b_jonas> fungot: oh nice, tell me more. what kind of interpreter?
23:13:41 -!- imode has quit (Ping timeout: 258 seconds).
23:18:07 <b_jonas> wait, so not only are ISO 3166-1 alpha-2 two-letter country codes sometimes reassigned to an unrelated country, but IATA two-letter airline codes are sometimes reassigned too? these standards are crazy
23:21:00 -!- imode has joined.
23:33:13 <zzo38> I am glad that PostScript allows integer literals in base four.
23:40:04 <b_jonas> `? linker
23:40:09 <HackEso> The linker (from German "links") is a part of a Turing machine that's responsible for moving all output data to the left of the tape before terminating.
23:41:07 <b_jonas> you know how the protagonist of the Metroid series is not called Metroid, she's called Samus, and the protagonist of the Zelda series is not called Zelda, she's called Link, right?
23:41:24 <b_jonas> well, now that's made more confusing, because there's a Zelda game where Zelda is the best playable character
23:43:07 <b_jonas> and it's not like one of the 3D games where Zelda is a huge glowing white elf princess who tells you the plot while Link is an elf child wearing a green hood and a sword and never speaks, no. it's a 2d game where Zelda is a tiny sprite
23:44:44 -!- adu has joined.
23:46:25 <b_jonas> admittedly there's also been a few Mario games where Princess Peach was a playable character
23:46:31 <b_jonas> s/was/is/
23:47:32 <b_jonas> (even apart from Smash and Mario Kart games)
23:48:17 <b_jonas> Is the baby metroid a playable character in any game?
23:48:32 <adu> I think the only Mario's I've played are gameboy and nintendo64
23:50:10 <b_jonas> adu: consider playing others, there are many good Mario games
23:52:04 <adu> how to play original mario
23:55:22 -!- imode has quit (Remote host closed the connection).
23:55:39 -!- imode has joined.
←2019-09-13 2019-09-14 2019-09-15→ ↑2019 ↑all