2023-07-20 09:08:47 Guys, I'm going to put in a plug this morning for the area of math called "geometric algebra." It's not something that's taught in most traditional programs, but I think it should be. It brings a "unity" of sorts to a lot of things we are taught, which we have presented to us as separate stand-alone subjects. That unity just gets entirely swept under the rug by traditional education. 2023-07-20 09:08:55 A good introductory playlist for it is here: 2023-07-20 09:08:57 https://www.youtube.com/playlist?list=PLpzmRsG7u_gqaTo_vEseQ7U8KFvtiJY4K 2023-07-20 09:13:40 sounds interesting 2023-07-20 09:14:01 It's FASCINATING, and so so elegant. 2023-07-20 09:14:17 I think it's how those topics should be taught right from the start, because it's not like it's really "hard." 2023-07-20 09:14:44 It's not super advanced stuff or anything - it would be within reach of someone by the time they're normally exposed to vectors and so on. 2023-07-20 09:17:45 sorry, the word vectors have overloaded meaning for me 2023-07-20 09:18:43 vector as in an array of numbers or vector as in mathematics? like those used in 3d graphics? 2023-07-20 09:19:24 n dimensional directional 'stick' so to speak 2023-07-20 09:21:40 Well, here we're talking about vectors as in mathematics. In the sense that if you want to talk about points in a 2D plane, you need two "unit vectors" for that - call 'em xHat and yHat. Then any point in the plane can be indicated by A*xHat + B*yHat. 2023-07-20 09:21:59 Once you've chosen an origin. 2023-07-20 09:22:44 In two dimensions, geometric algebra would deal with objects which in full generality could be written as 2023-07-20 09:22:55 A + B*xHat + C*yHat + D*xHat*yHat. 2023-07-20 09:24:22 And it turns out that in 2D, xHat*yHat behaves precisely like i in complex arithmetic does. (xHat*yHat)^2 = -1. 2023-07-20 09:24:35 So complex number theory is *contained* in 2D geometric algebra. 2023-07-20 09:25:04 That just works out because of how the general product is defined in geometric algebra. 2023-07-20 09:26:12 If I give you a whole bunch of those general objects, but such that B = C = 0 for all of them, you can't combine them via arithmetic to get anything with non-zero B or C. You're "stuck" in the B=0, C=0 plane. 2023-07-20 09:26:25 They say it's the "even order sub-algebra of 2D geometric algebra." 2023-07-20 09:26:35 And that's exactly complex number theory. 2023-07-20 09:30:59 So in 2D you actually have four types of quantity: scalar, two dimensions of vector, and "bivector." 2023-07-20 09:31:42 In 3D, you have scalar, three dimensions of vector, three dimensions of bivector (xHat*yhat, yHat*zHat, zHat*xHat), and one dimension of "trivector" (xHat*yHat*zHat). 2023-07-20 09:31:49 So six kinds of quantity. 2023-07-20 09:33:41 In 3D only you have three vector components and three bivector components, so you can put vectors and bivectors into one-to-one correspondence. You say they're "duals" of one another. Turns out that what we learn as the cross product isn't the geometric product of the two original vectors - it's the DUAL of the geometric product. 2023-07-20 09:33:51 And consequently the idea of "cross product" only works in 3D. 2023-07-20 09:34:19 That fact is just swept under the rug when we're taught about the cross product. 2023-07-20 09:35:09 So we're taught about complex numbers, and we're taught about vectors, and we're taught about the cross product and so on, but we're not taught how all of these things actually "fit together." 2023-07-20 09:41:58 I guess it could be debated, but in my opinion learning the general geometric algebra would be no harder than learning the "pieces" we're taught, and would then give us a platform for understanding all of those things we're taught, plus more things that we're usually not taught. 2023-07-20 09:46:57 Geometric algebra also "encompasses" quaternions, and as you go up in dimension it covers all of tensor algebra too. 2023-07-20 09:47:06 Same general operations - just applied to more dimensions. 2023-07-20 09:53:25 So you could teach this in 2D to high school students - no problem. And then you've got the basis of complex numbers and vectors, which are the usually covered topics, and you've equipped the kids with a framework that can take them into all those other areas if that'w where they choose to go. 2023-07-20 09:59:29 but is it on the core curriculum and the tests they have to pass? 2023-07-20 09:59:31 You get the (xHat*yHat)^2 = -1 from two simple rules. A unit vector squares to 1: xHat^2 = yHat^2 = 1, and vector multiplication is anti-commutative: xHat*yHat = - yHat*xHat. 2023-07-20 09:59:57 So, (xHat*yHat)^2 = xHat*yHat*xHat*yHat = - xHat*yHat*yHat*xHat. 2023-07-20 10:00:15 Now the yHat^2 in the middle goes to 1, and the remaining xHat^2 goes to 1. So final result is -1. 2023-07-20 10:00:35 No, because they don't teach it. If they taught it it obviously would be. 2023-07-20 10:00:51 But education is not done to produce test scores - it should be done to convey understanding. 2023-07-20 10:01:14 an idealist, huh 2023-07-20 10:01:17 Obviously you test over what you teach - the teaching is the dog and the testing is the tail. 2023-07-20 10:01:58 Focusing on test scores is one of the problems of modern education. 2023-07-20 10:05:16 I've actually thought about how I would introduce the topic to a classroom of high schoolers. It's pretty simple - you just start by saying "let's talk about the points in a plane." And set up a structure for doing that. It's not really that different from how vectors are introduced in the existing curriculum. 2023-07-20 10:06:13 So you've already talked in earlier years about numbers (scalars). And now you have two new things - x vectors and y vectors. Then you discuss how you might add and multiply those. 2023-07-20 10:06:25 And the rest of it just pretty much falls right out. 2023-07-20 10:08:05 The product of two vectors is the area of the parallelagram they form, and that's a signed thing - if you think of rotating the first vector into the second one, then counter-clockwise is positive and clockwise is negative. 2023-07-20 10:08:17 That gets the xHat*yHat = - yHat*xHat rule. 2023-07-20 10:09:03 And that area is just a number, so that gets the xHat^2 = 1 rule. 2023-07-20 10:09:20 And from there it's all just ARITHMETIC. 2023-07-20 10:10:07 Two little rules, and all that fancy stuff no one learns until later just "appears" as consequences. 2023-07-20 10:25:54 I'm thinking of adding a "conditional leave cell" instruction to this F18A-like model. Basically would just abandon the remaining content of that cell and move to the next one. It's a lot like a conditional return, if you think of executing each cell as a small subroutine. 2023-07-20 10:26:12 So it fits in with my general conditional stuff conceptually. 2023-07-20 10:27:21 You could consider just conditionally skipping the next slot instead, but that would be a good bit harder to implement. 2023-07-20 10:32:15 I still haven't figured out a clean way to support the fully general conditional coverage I have now. 2023-07-20 10:33:02 Chuck supported two. T=0 and T not negative. 2023-07-20 11:01:29 This is so annoying. Is there any way to mark ALL (as in every single blessed one) of my unread Gmail messages as read? 2023-07-20 11:01:43 For the life of me I can't get it to do more than a hundred at a time. 2023-07-20 11:01:53 It's just RIDICULOUS that they don't make this easier. 2023-07-20 11:03:43 pretty sure there was some "no, really, select all hidden something somewhere 2023-07-20 11:03:55 That's what I'm looking for. 2023-07-20 11:04:03 but then I figured out how to wire up mutt to gmail and ... 2023-07-20 11:04:07 But there's just article after article out there that are just WRONG. 2023-07-20 11:04:19 I did that once upon a time. 2023-07-20 11:04:24 They don't make that particularly easy either. 2023-07-20 11:04:32 these days though, I just use the web interface. 2023-07-20 11:08:38 Ok, I figured it out. IF you type "is:unread" in the search bar, THEN when you select "All" it displays an extra link at the top of the page that lets you expand the selection to everything. 2023-07-20 11:08:47 But how the hell is someone supposed to "just know that"? 2023-07-20 11:09:07 You have to work the secret decoder ring to get that option to even show up. 2023-07-20 11:09:24 That makes me think that for whatever reason they don't WANT you to know about it. 2023-07-20 11:09:46 Maybe there's some advantage to them to have people process their emails individually, so they don't want to make it too easy. 2023-07-20 11:10:04 Maybe there's less information content in you just sledge hammering the whole collection at once. 2023-07-20 11:10:08 or that the ux/ui designer of current gmail webview is a moron 2023-07-20 11:10:19 Because they're all about what they can learn about you. 2023-07-20 17:01:49 been debating with myself if I should byte the bullet of writing an x86_64 SIMD implementation of fcpu16 multi instance emulator 2023-07-20 17:03:35 brb 2023-07-20 21:56:41 hello guys 2023-07-20 21:57:30 is there a forth word that removes other words 2023-07-20 22:01:53 I FORGET 2023-07-20 22:02:46 hahaha 2023-07-20 22:02:55 thanks 2023-07-20 22:03:56 what happens if i redefine a word? 2023-07-20 22:05:09 will the new word overiddes the other? 2023-07-20 22:05:47 what happen if i remove the new word? can i call the old word again? 2023-07-20 22:06:18 https://thrig.me/tmp/redefine.png 2023-07-20 22:08:52 wow bar calls the old foo 2023-07-20 22:09:36 how can i call the old foo in repl if there is no bar 2023-07-20 22:10:39 bar searches backwards in the dictionary, so finds the old foo 2023-07-20 22:11:24 bar has the address of old foo? 2023-07-20 22:12:54 bar jmps to addr of old foo 2023-07-20 22:14:54 what is it like in memory : bar ; 2023-07-20 22:15:32 hmm 2023-07-20 22:18:40 siesta: yes. A word can see the state of the dictionary at the time it's defined; later uses of a name prevent easy access to the earlier versions, but words using the original name don't change. 2023-07-20 22:19:11 (though with DEFER/IS you can create a placeholder that can be altered later if necessary) 2023-07-20 22:22:30 thanks guys