2024-03-25 00:02:47 I guess I can treat the adds as unsigned ints 2024-03-25 00:02:54 I think the sha256 description doesnt care 2024-03-25 00:03:01 bitwise add I guess it means 2024-03-25 00:17:06 thrig: Very nice code 2024-03-25 00:20:29 This might be the hardest part of the whole thing 2024-03-25 00:20:43 32+ 2024-03-25 00:27:30 That pattern of using R@ for some base address is quite useful 2024-03-25 00:27:56 I forget where I learned it from 2024-03-25 00:28:00 I use it for structs but it's also good as in that example 2024-03-25 00:28:20 You probably arrived at it independently, I think I did 2024-03-25 00:28:29 But maybe I'm walking on shoulders of giants 2024-03-25 00:28:38 "how the hell do I port this C to forth" 2024-03-25 00:29:59 Ultimately I think "the right way" to do something like that is with globals 2024-03-25 00:30:18 I have this weird inexplicable urge to make stuff reentrant 2024-03-25 00:30:43 you may need multiple RNG in a program 2024-03-25 00:31:17 Save and restore the globals then 2024-03-25 00:31:27 Or load the code twice in different wordlists 2024-03-25 00:31:49 as in the combat system and level gen are pulling from their state at more or less the same time 2024-03-25 00:32:48 If I think in machine code then the correct answer is clearly to do what you did in forth, with some dynamic address rather than a global 2024-03-25 00:33:20 But if I write Forth then I don't think like the machine, I think in Forth. And this is one of the big problems I run into with Forth 2024-03-25 00:41:47 lf94: D+ 2024-03-25 00:43:26 https://forth-standard.org/standard/double 2024-03-25 00:45:56 Re this "thinking Forth vs thinking machine", it's what makes 'machine forth' interesting 2024-03-25 01:19:50 veltas: I cant tell if what you just said is "youre doing it wrong" or "this is a neat example of this vs that" 2024-03-25 01:20:55 veltas: lol @ double 2024-03-25 01:21:04 I basically just did that but like for any length number 2024-03-25 01:21:12 I basically just wrote a big num library 2024-03-25 01:24:06 Cool 2024-03-25 02:08:47 like 2024-03-25 02:08:50 with my method 2024-03-25 02:09:05 you could reimplement 32+, 32xor, 32and, etc, as assembly routines easily 2024-03-25 02:09:08 basically it's 2024-03-25 02:09:16 "do you want native computation or not?" 2024-03-25 02:09:25 "yes? ok, youll have to implement it" 2024-03-25 02:09:31 I think that's dope 2024-03-25 02:14:31 Ugh. I'm trying to learn more about zero-knowledge proofs. I just watched my third video on the topic that went through the same few notions of "what they are" without saying a damn thing about how they actually WORK. 2024-03-25 02:14:57 They must be mathematically complicated and these video folk don't actually KNOW how they work. 2024-03-25 02:15:52 you could say they have zero-knowledge 2024-03-25 02:16:41 Heh. Yes - you could say that. 2024-03-25 02:51:06 lol. 2024-03-25 03:22:59 KipIngram: zero knowledge proofs are basically you have some information you can derive without *fully* revealing other information 2024-03-25 03:23:20 I'm guessing you're looking into Ethereum related stuff or close to it 2024-03-25 03:52:35 or some cloud folks are dabbling with it so you can run stuff on other peoples (probably insecure) systems without leaking whatever 2024-03-25 04:01:41 No, not specifically. I did see that some of the newer cryptocurrencies used the ideas. I just thought it sounded interesting in general and wanted to know a bit about the mechanics. 2024-03-25 04:02:02 But most of the videos I found just used some very simple-minded examples, I assume to just "evoke the idea." 2024-03-25 04:02:30 Two of them had to do with "proving" two otherwise identical objects were different colors without actually revealing the colors. 2024-03-25 04:03:10 Just involved hidin them, having the verifier swap or not swap them while you had your back turned, and then while theirs was turned you looked into the containers and told them whether they swapped them or not. 2024-03-25 04:03:18 In other words, trivial and not very informative. 2024-03-25 04:03:31 And the first thing I thought was "what if you wanted to prove they WERE the same color?" 2024-03-25 04:03:48 I have a feeling the example has nothing to do with the math of the method. 2024-03-25 04:05:22 I've long had an interest in digital voting systems, and wondered if it brought any new possibilities there. 2024-03-25 04:05:56 What I've always stumbled on on digital voting, though, is that I'd like a system that would let me verify after the fact that my own vote had be counted the way I'd intended (without anyone else knowing my vote). 2024-03-25 04:06:31 But the problem there is that it opens the possibility of people being coerced into voting the way someone else wants. Because the other party could force them to reveal their vote after the fact, and punish them if they voted wrong. 2024-03-25 04:06:41 Haven't figured out a good way to have that one both ways. 2024-03-25 04:08:15 I'd also like a system that would allow the election authority to publish a database after the fact that people could run counts on themselves (again, without any names attached). But you could verify that the number of votes cast wasn't excessive. And if any person out there could verify their own vote, you wouldn't be able to cheat by changing a lot of votes. 2024-03-25 04:08:37 Kind of an "open source" type thing. Change someone's vote and you run the risk of them catching you out. 2024-03-25 04:13:38 The real problem I see with fancy digital voting systems, though, is that they'd have to heavily rely on crypto tech, and it takes some knowledge to understand that stuff and people don't easily trust systems they can't understand. 2024-03-25 04:13:51 And we're talking about something you'd need for "almost everyone" to be able to have faith in. 2024-03-25 05:14:47 how about use a random id as the key for a vote, you can verify when you have the key, and forget it for safety. if most voters forget, then it's not possible to know specificly who vote for what. 2024-03-25 14:28:57 the fundamental problem with voting systems that the crypto digital cyber guys always neglect is that the average public has to be able to understand it in order to trust it. 2024-03-25 14:30:24 for hundreds of years voting was done in person with paper ballots and counted in one night. why has this regressed? 2024-03-25 14:47:30 KipIngram: https://www.win.tue.nl/~berry/CryptographicProtocols/LectureNotes.pdf chapter five :) 2024-03-25 16:17:40 I was looking at My4th last night 2024-03-25 16:17:44 Extremely tempting to build 2024-03-25 19:24:02 gorobbert well, that explains it to any voter! 2024-03-25 19:24:29 Chapter 7? 2024-03-25 22:24:20 Anyone know any bad unreadable forth code examples? 2024-03-25 22:27:04 github.com/ForthHub/cmFORTH 2024-03-25 23:18:17 Well, I just went there and randomly looked, and I'll tell you what - THIS is much more clever than what I did: 2024-03-25 23:18:20 : DIGIT ( n - n) DUP 9 > 7 AND + 48 + ; 2024-03-25 23:19:05 Of course, I was going for digits all the way through 0-9, A-Z, and a-z (up to base 62), but the same idea would work. That's nicely clever. 2024-03-25 23:19:29 That handles up through base 36. 2024-03-25 23:19:52 oddly enough Common LISP also caps out at base 36 2024-03-25 23:28:30 the " and +" trickery is how i was trying to implement 0branch as a high level word at one point 2024-03-25 23:56:27 Damn yeah that is nice 2024-03-25 23:58:03 thrig: That's just because that's where Z is. 2024-03-25 23:58:25 You have a gap between Z and a the same as between 9 and A, but you could deal with it with a second iteration of that same trick ^^. 2024-03-25 23:58:50 I'm going to have to re-write my NUMBER soon, then - that's too nice not to install. 2024-03-25 23:59:24 I started at that for a minute, and then just had this "Oh, you devious fellow..." moment.