sritchie
Joined 15 years ago
Joined 15 years ago
> Given a 3-liter container and a 5-liter container, both initially empty, and access to tap water, how can you measure exactly 4 liters of water without using any additional containers
I've offered and received some convoluted metaphors recently, love leaning hard into this one.
Imagine you could perfectly recover with some intervention. Then weight lifting no longer works!
For examples like the ones you listed, peak performances where you’re not concerned about gainz and maybe even have to perform again soon after, it makes a lot of sense to do anything to recover quickly.
Also the MIT scheme install was historically quite hairy and not supported on M1 Macs, for example.
I’ll update the docs here. Thanks!
Point well taken from tonyarkles that on-boarding and docs need work. My big goals for this project were:
1. finish a 100% port of Gerald Sussman's scmutils algebra system into the browser via ClojureScript (I'm at ~98% or so?)
2. attach a 2D and 3D visualization system, and use the very-high-level physics abstractions to generate fast, interactive animations
3. make this all editable in the browser
4. write a ton of physics lessons and essays using the system
1-3 are all done, 4 is going to happen, but job + young twins are slowing me down now.
The easiest way to play with 1-3 is via the demos I shared at Strange Loop this past year, all of which run in the browser.
The first two live in Maria.cloud, which has all of Emmy available on any page. So fork these, play and share:
- First-Class Visualizations: https://2.maria.cloud/gist/30dbb25a2d2eb7324e0aad1097c459ae
- MathBox + Emmy at Strange Loop: https://2.maria.cloud/gist/0405c3427c88326a181b307371f939bc
These live in an editable version of a Clerk notebook with a less-polished UI:
- Taylor Series: https://sritchie.github.io/strange-loop-2023/notebooks/stl/t...
- Dual Number Visualization: https://sritchie.github.io/strange-loop-2023/notebooks/stl/d...
- (p, q) torus knot: https://sritchie.github.io/strange-loop-2023/notebooks/stl/p...
- Phase Portrait of the Pendulum: https://sritchie.github.io/strange-loop-2023/notebooks/stl/p...
- Geodesics of a Torus: https://sritchie.github.io/strange-loop-2023/notebooks/stl/t...
- Geodesics Klein bottles: https://sritchie.github.io/strange-loop-2023/notebooks/stl/k...
- Animated Particle on an Ellipsoid: https://sritchie.github.io/strange-loop-2023/notebooks/stl/e...
See https://sritchie.github.io/emmy/src/emmy/differential.html for detail!
There's still not a great map of the project (from primitives to general relativity), but many of the namespaces are written as literate programming explorations: https://emmy.mentat.org/#explore-the-project
Here's the automatic differentiation implementation/essay, for example: https://sritchie.github.io/emmy/src/emmy/differential.html
A rough sketch of the tower is:
- `emmy.value` and `emmy.generic` implement the extensible generic operations
- `emmy.ratio`, `emmy.complex` and `emmy.numbers` fleshes out the numeric tower
- `emmy.expression` and `emmy.abstract.number` add support for symbolic literals
Next we need an algebraic simplifier...
- `emmy.pattern.{match,rule,syntax} give us a pattern matching language
- `emmy.simplify.rules` adds a ton of simplification rules, out of which
- `emmy.simplify` builds a simplification engine
Actually the simplifier has three parts... the first two start in `emmy.rational-function` and `emmy.polynomial` and involve converting an expression into either a polynomial or a rational function and then back out, putting them into "canonical form" in the process. That will send you down the rabbit hole of polynomial GCD etc...
And on and on! I'm happy to facilitate any code reading journey you go on or chat about Emmy or the original scmutils, feel free to write at sam [at] mentat.org, or else visit the Discord I run for the project at https://discord.gg/hsRBqGEeQ4.
Blog: https://samritchie.io
[ my public key: https://keybase.io/sritchie; my proof: https://keybase.io/sritchie/sigs/_TS462cmjfImFbiWim_Fn5sGsIBqvrf20BpHEYUnNt0 ]