IIRC there's a fairly natural positive definite quadratic form on GA (used as the canonical norm) that takes the scalar part of the geometric product of a multi-vector and its reverse. On the other hand, there's the…
> pull out Hodge Duals every time you want to do something that involves the metric, but I'm also unconvinced that geometric algebra is the answer here. I don't know, I recently tried to work out how the metric on…
If you ever wondered how to write a programming language, this is probably the best resource to get started (and then of course Crafting Interpreters). See also part 2 https://norvig.com/lispy2.html
Gimbal lock?
I was a bit curious to learn what the differences are between this and the actor model, and I found this lobste.rs discussion to be helpful: https://lobste.rs/s/gsjskz/behavior_oriented_concurrency_for > In BoC, the…
Apart from installation problems/crash issues, do you have some feedback about type checking with ty vs. pyrefly? Which is stricter, soundness issues, etc? Both are rust/open-source/new/fast so it's difficult to…
For inextensible cloth there's also "Efficient simulation of inextensible cloth" [0] that is particularly clever and efficient [0] https://dl.acm.org/doi/10.1145/1276377.1276438
Also check out Jean Gallier's notes (available online) https://www.cis.upenn.edu/~jean/gbooks/manif.html
Nice! It would be interesting to visualize the total momentum vector, IIRC Verlet being symplectic should be good at preserving symmetries, whereas RK4 is good at conserving energy.
I've been programming in c++ for 25 years (15 professionally) and I really don't see any reason to keep using it apart from dealing with legacy codebases. Most arguments in the article boil down to "c++ has the…
Thanks, I scanned through all the comments/links but this is the actual resource one wants to read to get familiar with Backpack.
my tl;dr: after reading the article: - two 64-bits words representation - fixed, 32 bits length - short strings (<12 bytes) are stored in-place - long strings store a 4 byte prefix in-place + pointer to the rest - two…
That was a nice read, thanks.
A quick comparison of the two languages would be interesting, in case anyone has experience with both.
The PLDI talk is also available: https://www.youtube.com/watch?v=CJi_Fcs4bak
pandoc has a reveal.js backend which I use it to build my slides from markdown (with a few ad-hoc inline css tweaks)
What I found hard with Nix is the sheer amount of things I had to get familiar with before it started to really click: - nix, the command-line tool - nix, the language - nixpkgs with the general API/idioms (overriding,…
Yes, but from the canonical form of rotation matrices [1] I would expect such matrices to be represented as a sum of bi-vectors/rotors, which should take the same amount of data? [1]…
Geometric Algebra supporters keep advertising that rotors are great since they work in any dimension, which makes me wonder: would an arbitrary n-dimensional SVD-like decomposition benefit from using rotors instead of…
> and also faster than it takes me to verify the answer given by the machine. I always thought there was a kind of NP-flavor to the problems for which LLMs-like AI are helpful in practice, in the sense that solving the…
Not exactly the same: `x` is given a polymorphic type (in F) in Haskell (restricted to values in ML) whereas the unannotated let-over-lambda will give `x`a monomorphic type.
There is a kind of "do notation" in OCaml with binding operators [1] (let*) for monads and (let+) for applicatives that is actually quite pleasant in practice. [1] https://ocaml.org/manual/5.2/bindingops.html
Besides, if you still want to skip learning there are escape hatches like Rc<RefCell> but these hint pretty strongly (e.g. clones everywhere) that something might be wrong somewhere.
> Of course you have to internalise the rules of a borrow checker This is generally a good thing: the more you internalise the logic of borrow checking, the earlier you start thinking about "who owns what" instead of…
I think this is because `mutable` qualifies the call operator of the lambda (like a reverse const qualifier) so by-value captures are effectively const during the call unless the lambda is marked `mutable`. References…
IIRC there's a fairly natural positive definite quadratic form on GA (used as the canonical norm) that takes the scalar part of the geometric product of a multi-vector and its reverse. On the other hand, there's the…
> pull out Hodge Duals every time you want to do something that involves the metric, but I'm also unconvinced that geometric algebra is the answer here. I don't know, I recently tried to work out how the metric on…
If you ever wondered how to write a programming language, this is probably the best resource to get started (and then of course Crafting Interpreters). See also part 2 https://norvig.com/lispy2.html
Gimbal lock?
I was a bit curious to learn what the differences are between this and the actor model, and I found this lobste.rs discussion to be helpful: https://lobste.rs/s/gsjskz/behavior_oriented_concurrency_for > In BoC, the…
Apart from installation problems/crash issues, do you have some feedback about type checking with ty vs. pyrefly? Which is stricter, soundness issues, etc? Both are rust/open-source/new/fast so it's difficult to…
For inextensible cloth there's also "Efficient simulation of inextensible cloth" [0] that is particularly clever and efficient [0] https://dl.acm.org/doi/10.1145/1276377.1276438
Also check out Jean Gallier's notes (available online) https://www.cis.upenn.edu/~jean/gbooks/manif.html
Nice! It would be interesting to visualize the total momentum vector, IIRC Verlet being symplectic should be good at preserving symmetries, whereas RK4 is good at conserving energy.
I've been programming in c++ for 25 years (15 professionally) and I really don't see any reason to keep using it apart from dealing with legacy codebases. Most arguments in the article boil down to "c++ has the…
Thanks, I scanned through all the comments/links but this is the actual resource one wants to read to get familiar with Backpack.
my tl;dr: after reading the article: - two 64-bits words representation - fixed, 32 bits length - short strings (<12 bytes) are stored in-place - long strings store a 4 byte prefix in-place + pointer to the rest - two…
That was a nice read, thanks.
A quick comparison of the two languages would be interesting, in case anyone has experience with both.
The PLDI talk is also available: https://www.youtube.com/watch?v=CJi_Fcs4bak
pandoc has a reveal.js backend which I use it to build my slides from markdown (with a few ad-hoc inline css tweaks)
What I found hard with Nix is the sheer amount of things I had to get familiar with before it started to really click: - nix, the command-line tool - nix, the language - nixpkgs with the general API/idioms (overriding,…
Yes, but from the canonical form of rotation matrices [1] I would expect such matrices to be represented as a sum of bi-vectors/rotors, which should take the same amount of data? [1]…
Geometric Algebra supporters keep advertising that rotors are great since they work in any dimension, which makes me wonder: would an arbitrary n-dimensional SVD-like decomposition benefit from using rotors instead of…
> and also faster than it takes me to verify the answer given by the machine. I always thought there was a kind of NP-flavor to the problems for which LLMs-like AI are helpful in practice, in the sense that solving the…
Not exactly the same: `x` is given a polymorphic type (in F) in Haskell (restricted to values in ML) whereas the unannotated let-over-lambda will give `x`a monomorphic type.
There is a kind of "do notation" in OCaml with binding operators [1] (let*) for monads and (let+) for applicatives that is actually quite pleasant in practice. [1] https://ocaml.org/manual/5.2/bindingops.html
Besides, if you still want to skip learning there are escape hatches like Rc<RefCell> but these hint pretty strongly (e.g. clones everywhere) that something might be wrong somewhere.
> Of course you have to internalise the rules of a borrow checker This is generally a good thing: the more you internalise the logic of borrow checking, the earlier you start thinking about "who owns what" instead of…
I think this is because `mutable` qualifies the call operator of the lambda (like a reverse const qualifier) so by-value captures are effectively const during the call unless the lambda is marked `mutable`. References…