--- Log opened Mon Dec 06 00:00:53 2021 00:34 -!- Guyver2 [~Guyver@guyver2.xs4all.nl] has joined #bitcoin-wizards 00:59 -!- dllud [~dllud@136.138.62.94.rev.vodafone.pt] has quit [Read error: Connection reset by peer] 01:01 -!- dllud [~dllud@136.138.62.94.rev.vodafone.pt] has joined #bitcoin-wizards 01:40 -!- hendi [sid489601@id-489601.lymington.irccloud.com] has quit [Ping timeout: 240 seconds] 01:42 -!- hendi [sid489601@id-489601.lymington.irccloud.com] has joined #bitcoin-wizards 01:46 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has joined #bitcoin-wizards 02:04 -!- kexkey [~kexkey@static-198-54-132-84.cust.tzulo.com] has quit [Ping timeout: 252 seconds] 02:04 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has quit [Remote host closed the connection] 02:05 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has joined #bitcoin-wizards 02:05 -!- kexkey [~kexkey@static-198-54-132-100.cust.tzulo.com] has joined #bitcoin-wizards 02:10 -!- solocshaw [~Thunderbi@gateway/vpn/pia/solocshaw] has quit [Ping timeout: 240 seconds] 03:46 -!- plankster [~plankster@user/plankers] has joined #bitcoin-wizards 03:46 -!- plank [~plankster@user/plankers] has quit [Ping timeout: 252 seconds] 04:42 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has quit [Quit: = ""] 04:53 -!- CryptoDavid [uid14990@id-14990.uxbridge.irccloud.com] has joined #bitcoin-wizards 06:34 -!- roconnor [~roconnor@coq/roconnor] has joined #bitcoin-wizards 06:36 < roconnor> So my "research" suggests that Mac's Preview.app doesn't use ghostscript and instead is a half-implemented postscript intepreter. 06:37 < roconnor> Which is probably why it fails to open the file in my font branch. 06:38 < roconnor> Unfortunately, it is probably worthwhile to put in the effort to try to accomodate whatever Preview.app is doing. 06:38 < roconnor> I'm going to have to sit down with a Mac to figure out what exactly it is happy and unhappy with. 06:45 -!- S3RK [~S3RK@user/s3rk] has quit [Ping timeout: 265 seconds] 06:53 -!- S3RK [~S3RK@user/s3rk] has joined #bitcoin-wizards 07:22 -!- CryptoDavid [uid14990@id-14990.uxbridge.irccloud.com] has quit [Quit: Connection closed for inactivity] 07:47 -!- plankster [~plankster@user/plankers] has quit [Ping timeout: 252 seconds] 07:53 < andytoshi> ok, thank you for your service :P 07:53 < andytoshi> i don't have any macs easily available unfortunately to help you out 08:02 < roconnor> I think the main branch now opens faster in Preview, though it is still very slow. 08:03 < roconnor> I expect the slowness is unavoidable based on this speculation that Preview contains a crappy half-implemented postscript interpreter. 08:14 < andytoshi> i wonder if we could find an expert on apple postscript support somewhere 08:15 < andytoshi> this is a little surprising, given that apple and adobe are targeting the same market and have complementary products to each other 08:18 < sipa> convert it to pdf, and then back to ps? *ducks* 08:25 < roconnor> sipa: let me introduce you to ps2ps. 08:25 < roconnor> which I did try. 08:27 < sipa> and the output does not work on Preview.app either? 08:28 < roconnor> oh, well I didn't try it on Preview.app. It probably would work. I mean, at 833KB, it better do something. 08:31 < sipa> Ok, that's what I would assume: that it gives working postscript, but not postscript you'd want to publish (which you probably do because it's supposed to be readable?) 08:32 < roconnor> Right, the resulting postscript is "compiled" not source. 08:33 < sipa> i guess the fallback solution is publishing both the "source" ps, and a "compiled" psd 08:33 < sipa> pdf 08:33 < roconnor> Right. But I think there are things we can do. 08:34 < roconnor> Preview probably doensn't like me assembling my own type 1 font from two type 1 fonts. 08:34 < roconnor> But maybe it is okay with me assembling my own type 3 font from two type 1 fonts. 08:34 < roconnor> A type 3 font is a font described by postscript commands. 08:34 < roconnor> A type 1 font is like whatever adobe was doing in the 80s. 08:38 < roconnor> so instead of copying various opaque representations of type 1 glyphs, to make my own type 1 font. I can make a type 3 font whose commands are: draw a glyph using such and such type 1 font. 09:02 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has quit [Ping timeout: 276 seconds] 09:14 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has joined #bitcoin-wizards 09:17 < andytoshi> i have a draft of a mathematical document describing the scheme https://github.com/apoelstra/SSS32/blob/2021-12--math-intro/volvelles/main.tex 09:26 -!- Guyver2_ [~Guyver@guyver2.xs4all.nl] has joined #bitcoin-wizards 09:27 -!- Guyver2 [~Guyver@guyver2.xs4all.nl] has quit [Read error: Connection reset by peer] 09:27 -!- Guyver2_ is now known as Guyver2 09:44 < andytoshi> pushed a bunch of typo fixes/cleanups, i'll stop messing with it for now 09:49 < roconnor> andytoshi: https://www.dictionary.com/browse/volvelle *vol*-vel 09:52 < andytoshi> lol! ok, i gotta get used to that 10:28 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has quit [Remote host closed the connection] 10:28 -!- yanmaani1 [~yanmaani@gateway/tor-sasl/yanmaani] has joined #bitcoin-wizards 10:51 -!- t-bast [~t-bast@user/t-bast] has joined #bitcoin-wizards 10:55 -!- vtnerd [~weechat@50.82.248.114] has quit [Ping timeout: 268 seconds] 11:13 -!- belcher [~belcher@user/belcher] has quit [Quit: Leaving] 11:18 -!- belcher [~belcher@user/belcher] has joined #bitcoin-wizards 11:38 < roconnor> andytoshi: multiplication is just addtion mod *31* in the exponent 11:39 < sipa> φ(32) if you want to sound smart. 11:40 < roconnor> φ(32) = 16 11:40 < sipa> uhhh you're right 11:41 < sipa> i guess you should only write φ(32) if you want to sound dumb. 11:41 < sipa> GF(32) != Z_32 11:44 < roconnor> ah of course. 11:44 < roconnor> I was confused because you seemed both right and obviously wrong. 11:45 < sipa> the order of the multiplicative group of GF(p^n) is p^n-1; the order of the multiplicative group of Z_m is φ(m) 11:46 < roconnor> andytoshi: regarding algebraic structures: I have an entire rant about how we have 3 structures that are seemingly isomorphic at play: 11:46 < roconnor> (a) We have our Finite Field of GF_32. 11:46 < roconnor> (b) We have a 1-dimentional vector space over GF_32. 11:47 < sipa> You need to be a particularly nitpicky type of mathematician to distinguish (a) and (b). 11:48 < roconnor> (c) We have a Affine Space over that 1-dimentional vector space. 11:48 < roconnor> These diffent structures are related to each other by forgetful functors (IIUC) 11:49 < roconnor> from (a) to (b) we forget about multiplication (or at least half forget about it) 11:49 < sipa> In my pychar2.py code, I represent all field elements, vectors of field elements, and polynomials over field elements by integers. 11:49 < roconnor> from (b) to (c) we forget about the orgin. 11:50 < roconnor> In our volvelle construction, symbols denote values from (a) our finite field 11:50 < roconnor> Latin characters denote values form both (b) and (c). 11:50 < roconnor> shares consist of letters drawn from our affine space. 11:51 < roconnor> despite all the difficulting in distinguishing these algebraic structurs (since they have basically identical carrier sets), none the less the "typing" rule hold on all our operations. 11:52 < roconnor> Points from the affine space can only be subtracted from other points to yield vectors, or affine combinations of points (with scalar weights) can make new points, or you can add a vector to a point to get another point. 2 vectors cannot be multiplied, etc. 11:54 < sipa> of course 2 vectors can be multiplied; that's called the scalar product, and for 1-dimensional vectors the result type is conveniently the vector type again ;) 11:54 * sipa hides 11:56 < roconnor> sipa: I don't know how you can do that without choosing a basis. 11:57 < sipa> hmm 11:58 < roconnor> you can take the ratio of two parallel vectors to get a scalar. 11:58 < roconnor> but that is division. 11:58 < sipa> ok, you've convinced me that a 1-dimensional vectorspace is not the same as the underlying field. 12:07 -!- t-bast [~t-bast@user/t-bast] has quit [Quit: Leaving] 12:12 < andytoshi> 19:38 < roconnor> andytoshi: multiplication is just addtion mod *31* in the exponent 12:12 < andytoshi> thanks! will fix 12:14 < andytoshi> as for your observations about different mathematical structures, this is very interesting 12:14 < andytoshi> though i'm not sure how/if i can cleanly fit it into my doc 13:31 -!- mode/#bitcoin-wizards [-o split] by split 13:33 < roconnor> andytoshi: I'm not realy sure if it should be in your doc or not. I mean, probably not, but OTOH I think it is a somewhat better explaination as to why we use different symbols in different places. 13:36 -!- dllud [~dllud@136.138.62.94.rev.vodafone.pt] has quit [Read error: Connection reset by peer] 13:39 -!- dllud [~dllud@136.138.62.94.rev.vodafone.pt] has joined #bitcoin-wizards 13:45 -!- Guyver2 [~Guyver@guyver2.xs4all.nl] has quit [Quit: Going offline, see ya! (www.adiirc.com)] 13:51 < roconnor> andytoshi: I don't if the letters *have* to be sorted alphabetically. 13:53 < roconnor> your 180 degree argument intruges me. 13:57 < roconnor> andytoshi: "we refer to this reduced polynomial as the *residue* of the codeword 14:00 < roconnor> andytoshi: another important property of BCH / linear codes is its length, which is ummm the (maximum) degree polynomial that the distance property hold for? 14:12 < andytoshi> roconnor: i think the 180 degree argument extends further to a 90 degree argument (and maybe further?) though i haven't worked out the details 14:12 < andytoshi> if it goes all the way to 11.25 degrees i guess we'd have a slide chart, which would be pretty surprising .. let me spend some time on that 14:12 < andytoshi> but my argument for "the letters have to be in alphabetical order" is that you can only see a few of them at the top of the volvelle 14:13 < andytoshi> so if they're in a random-looking order you don't know which way to rotate it to get tot he next letter 14:13 < andytoshi> which is frustrating 14:13 < andytoshi> good point about the length being important! i will add that 14:16 < sipa> roconnor: if the generator g(x) of a code over field F is such that an element alpha with order n exists in an extension field of F, such that d-1 consecutive powers of alpha are roots of g(x), then the code has distance d and length n 14:16 < sipa> order refers to multiplicative order 14:18 < sipa> arguably you could take multiple BCH codes, one with higher length but lower distance, and another the other way around, and multiply their generators 14:18 < sipa> that'd give you a code with both properties 14:20 < sipa> so i guess you need to qualify it has "code has distance X at length Y", as it can have multiple such properties 14:30 < andytoshi> ah no, the 90-degree argument doesn't work. but i continue to think that the 180-degree thing does 14:30 < andytoshi> because a 180 degree turn has order 2, and every element has order 2 in the additive group 14:45 -!- plankster [~plankster@user/plankers] has joined #bitcoin-wizards 15:08 < andytoshi> roconnor: so .. if you order by cosets of U, you'd have to have the ordering 023456789ACHJLQSNKDFGXZMEPYTWRUV around the volvelle. which i got by trying all the coset partitions and minimizing the sum of (char position - "expected position")**4. this order also wins by a couple other metrics i tried 15:09 < roconnor> Oh this just applies to the addition wheel right? 15:10 < andytoshi> yeah :/ 15:10 < andytoshi> i think there are similar tricks for the translation wheel (but i haven't thought about it at all yet) and i *don't* think there are any tricks for the recovery wheel 15:10 < roconnor> I mean, the wheel could be half the size which is nice. 15:10 < roconnor> and/or the font increased. 15:11 < andytoshi> for addition, cosets of 8 has the order 023456789CFHMPRTGDKJNAEQZLWSUXYV which beats out the U-ordering on "square distance of each character from its neighbor" 15:12 < andytoshi> roconnor: yeah, i think it's a dramatic difference, though i only got so far before i realized that i had to reorder things to make it make sense 15:12 < andytoshi> even if you didn't increase font sizes at all, you can increase the window size and eliminate any overlap 15:13 < roconnor> The other two wheels are 31 sided so we can spread those out a bit more.... but it would adjust the top disc a little bit and ruin the artwork :( 15:14 < andytoshi> i think that the artwork (except for the four-hands one) is pretty resilient to rearrangements of the top disc 15:15 < andytoshi> hmm, on further thought i'm pretty sure the translation wheel could be a slide rule, if you used the power-of-alpha ordering 15:15 < andytoshi> it's literally just a relabelling of the multiplication wheel 15:15 < roconnor> yes 15:15 < roconnor> it's complicated because it changes character sets 15:16 < andytoshi> complicated to implement in postscript you mean? 15:16 < roconnor> so you need one of the wheels with two labels. 15:16 < roconnor> no 15:16 < roconnor> maybe the recover share wheel has some structure too. 15:17 < andytoshi> ah i see the translation wheel goes (symbol, char) -> char, so user-readable labelling would be messy 15:18 < roconnor> oh mabye it isn't bad. 15:18 < roconnor> you change out the bottom disc with letters 15:18 < roconnor> align aleph to the input char 15:18 < roconnor> read the output char at symbol position 15:18 < andytoshi> i think the recover share wheel has some combinatorial structure at least, by iterating through it i was able to get a bunch of 31-cycles. but i couldn't find a good algebraic reason for the cycles to be there, it just seemed "lucky" 15:19 < andytoshi> roconnor: oh, neat, that would work .. though it then requires rotating the translation wheel during translation, which kinda sucks 15:19 < andytoshi> with the volvelle layout, you turn it to your symbol and then leave it there 15:20 < andytoshi> also "turn it to your input char" is a sidechannel ;) 15:20 < roconnor> indeed 15:21 -!- AaronvanW [~AaronvanW@12.246.51.130] has joined #bitcoin-wizards 15:21 < roconnor> I don't know, maybe you put the letters on the top wheel 15:21 < roconnor> turn Q to the symbol. 15:21 < roconnor> er turn P to the symbol 15:22 < roconnor> no that doesn't work. 15:22 < andytoshi> yeah, you'd need both symbols and letters on the bottom wheel 15:22 < andytoshi> and you could maybe make the window hide one of the m 15:22 < andytoshi> but it'd be messy no matter what 15:24 < roconnor> let me know if you find structure in the recover share disc. 15:24 < andytoshi> yeah .. i think, if we can improve the recover share disc then it may be worth pursuing this 15:25 < andytoshi> but if we can't, then it's probably not worth the added comlpexity 15:28 < roconnor> In either case I'm tempted by the compact addition disc. 15:28 < roconnor> I like your x^4 error metric. 15:49 < andytoshi> https://gist.github.com/apoelstra/7bb98cb0411f238c64b10b8ab6f00fbd python code for doing comparisons 15:50 < andytoshi> modify the last line, cosets_fitness / cosets_fitness2 / cosets_fitness3 to try the different metrics. it doesn't sort by metric, you've gotta eyeball it, but there are only 32 cases 15:50 < andytoshi> 31 ... there are no cosets for xor by Q :) 15:52 < roconnor> I might be interested in an error based on how far away they are from what should be their neighbors. 15:53 < andytoshi> ah, that's a cool idea, one sec 15:59 < andytoshi> then I think N wins, with 02345679ACGHJLNRUEZX8FDKWTMYPVQS 16:00 < andytoshi> btw, i realize that i am biasing these by first sorting them ... it could be that there is a reordering of cosets that would improve these metrics 16:04 < andytoshi> i'll spend some time searching random shuffles, searching intelligently seems too hard 16:05 -!- AaronvanW [~AaronvanW@12.246.51.130] has quit [Remote host closed the connection] 16:07 < andytoshi> oh, with the sorted ordering D beats N actually, 02345679ADFJKPRTZ8UCEHNGSQYLMVWX 16:23 -!- Jackielove4u [uid43977@user/jackielove4u] has quit [Quit: Connection closed for inactivity] 16:46 -!- achow101 [~achow101@user/achow101] has quit [Quit: Bye] 16:47 -!- achow101 [~achow101@user/achow101] has joined #bitcoin-wizards 16:48 < roconnor> okay ... I'm a little less impressed with my metric. 17:59 < roconnor> andytoshi: "we want to encode it as a polynomial p(x) = ... x^*i* 18:17 < andytoshi> ah thanks 19:10 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has joined #bitcoin-wizards 19:57 < andytoshi> i'm heading to bed but i have some rust code grinding for nice xor orderings .. so far i have CEFAJH8LDGMKNRUVPQSYTW7X53Z02694 xoring with E .. it looks like a mess but actually consecutive letters are not too far from each other. will start grinding on my big computer tomorrow 20:59 -!- solocshaw [~Thunderbi@gateway/vpn/pia/solocshaw] has joined #bitcoin-wizards 22:26 -!- lukedashjr [~luke-jr@user/luke-jr] has joined #bitcoin-wizards 22:27 -!- luke-jr [~luke-jr@user/luke-jr] has quit [Ping timeout: 256 seconds] 22:27 -!- lukedashjr is now known as luke-jr 22:29 -!- CryptoDavid [uid14990@id-14990.uxbridge.irccloud.com] has joined #bitcoin-wizards --- Log closed Tue Dec 07 00:00:54 2021