HackerTrans
TopNewTrendsCommentsPastAskShowJobs

sritchie

no profile record

Submissions

Hydra: A system for building 3D Scene Graphs from sensor data in real-time

github.com
3 points·by sritchie·6 mesi fa·0 comments

Road to reality – executable essay

reality.mentat.org
87 points·by sritchie·3 anni fa·15 comments

(Literate) Numerical Differentiation in Clojure

emmy.mentat.org
1 points·by sritchie·3 anni fa·0 comments

MathBox: Presentation Quality WebGL Math Graphing

github.com
27 points·by sritchie·3 anni fa·2 comments

Show HN: JSXGraph.cljs, Interactive Geometry in ClojureScript

jsxgraph.mentat.org
2 points·by sritchie·4 anni fa·0 comments

comments

sritchie
·4 mesi fa·discuss
Hahah, I just have to reply and say I loved the original comment and was happy for the laugh. Obviously this is the answer to the riddle of

> 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.
sritchie
·9 mesi fa·discuss
(Parent was being sarcastic)
sritchie
·anno scorso·discuss
I always remember it with “g” for ground and “c” for ceiling… haha but I do like the mites and tites one too in a neighbor comment :)
sritchie
·2 anni fa·discuss
I think the idea is that you performed the exercise to create stress that you want your body to respond to by getting stronger / more aerobically fit etc in some way. So by icing, yes, you recover better, but by reducing the stress you reduce the adaptations.

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.
sritchie
·2 anni fa·discuss
Thank you for the kind words :)
sritchie
·2 anni fa·discuss
Not MIT scheme, and there are no proper ports of scmutils to other Scheme dialects that I know of.
sritchie
·2 anni fa·discuss
That note in the docs is from a time when Emmy only ran on the JVM. Now Emmy runs in JS in a browser (see my top level comment for demo links) which I would argue is even easier.

Also the MIT scheme install was historically quite hairy and not supported on M1 Macs, for example.

I’ll update the docs here. Thanks!
sritchie
·2 anni fa·discuss
Hey Taylor, thanks for posting these!! I'm still working on the airplane... it's a Vans RV-10, and now out at the hangar and maybe 98% complete, one more full-time month of work that I need to carve out so I can fly it by this summer.
sritchie
·2 anni fa·discuss
Co-author of Emmy here, happy to answer any questions!

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...
sritchie
·2 anni fa·discuss
I used tons of lash splices while building an RV-10 airplane but didn’t know the name until now. Thank you!
sritchie
·3 anni fa·discuss
I have reverse-mode (purely functional reverse mode at that!) sitting in a branch, and will get this going at some point soon. Even more fun will be compilation down to XLA, like JAX does in Python.
sritchie
·3 anni fa·discuss
Yes, if you get to automatic differentiation by overloading your operators to also take a “differential” type, you can further overload them to do symbolic arithmetic and then symbolic differentiation falls out for free.

See https://sritchie.github.io/emmy/src/emmy/differential.html for detail!
sritchie
·3 anni fa·discuss
Of course! And referencing your other comment, during the ~2 year period I've been working on Emmy (on top of work by Colin Smith), I was keen to make the implementation more accessible and well-documented than the original.

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.
sritchie
·3 anni fa·discuss
What would you build / create / write if you had a web-enabled build of SICM (well, scmutils I guess) in hand? I'd love to hear more about your thoughts on how to build a community around these tools and ideas.
sritchie
·3 anni fa·discuss
It's fully rejuvenated in Clojure as "Emmy", with Sussman's support and a bunch of 2D and 3D graphing extensions. See Emmy-Viewers: https://emmy-viewers.mentat.org/ and Emmy: https://emmy.mentat.org/

Thanks to https://2.maria.cloud, everything in SICM and FDG works in the browser as well: https://2.maria.cloud/gist/d3c76ee5e9eaf6b3367949f43873e8b2
sritchie
·3 anni fa·discuss
Thanks for the Emmy shout-out!

Clerk has been fantastic for rendering 2D and 3D... I just finished a 3D graphics API and am frankly blown away at how great Clerk made this experience.

Here are my recent 3D rendering "tester" Clerk notebooks (over MathBox), for fun:

- https://emmy-viewers.mentat.org/dev/examples/manifold/pq_kno...

- https://emmy-viewers.mentat.org/dev/examples/mathbox/functio...

- https://emmy-viewers.mentat.org/dev/examples/manifold/fdg

- https://emmy-viewers.mentat.org/dev/examples/manifold/pq_kno...

And another Clerk notebook with a bunch of calculus etc in 2D scenes, over Mafs.dev:

- https://emmy-viewers.mentat.org/dev/examples/mafs
sritchie
·3 anni fa·discuss
I covered this in a few of the comments above... the project was initially completely aimed at the R2R book, and I expect to get back to it. I'll add more background to the project page soon!
sritchie
·3 anni fa·discuss
Thank you! I had "dependencies between notebooks" and "collaborative mode"... the first one's covered here but I still don't know how to handle some Google Docs-style flow on these.

I would really like to publish essays like this in an environment like Maria: https://2.maria.cloud/curriculum/clojure-with-shapes , with the ability to duck out to my own editor when I'm ready to graduate.

I'm happy to talk more about this if you like!
sritchie
·3 anni fa·discuss
It's not just you! The last thing I want is a WTF from Penrose...

This was just an oversight from me trying to cram in too much writing, and I'll fix it tonight once the kids are down. I explained the intended connection in a different comment — basically I started the newsletter with the goal of reading Penrose's book, doing all the exercises and trying to build out a community reading it together.

But my notes were just as confusing as the book, so I spent 3 years working on a port of Sussman's computer algebra system and sewing it together with this notebook engine, MathBox for 3D rendering, Mafs, Leva, MathLive, and JSXGraph and Reagent for a declarative way of sharing state between everyone.

Then I pieced it all together in this essay, tried to keep it concise, and blew it by not filling in the whole genesis story and GOAL of following Penrose.

I'll add that, and I will cover chapters of the book too!
sritchie
·3 anni fa·discuss
This is great feedback, and of course you're right. I'll flesh out the index and make sure this is clear right away.