Just factored out the "linking" code. Its intended to be the simplest possible way to securely get the same AES key onto multiple machines.
This is a demo app for an upcoming blog post
Cute! This reminds me of the kind of app github.com/ccorcos/tuple-database was designed for
I think I saw tuple DB via the local first discord
š Local-First Web Development
A fresh way to think about building web applications.
For those that are intrigued by Glamorous Toolkit, perhaps the following talk can be interesting:
Wednesday, April 24, 8pm CET
UK Smalltalk User Group
What exactly is Glamorous Toolkit?
To some people Glamorous Toolkit is a Pharo environment. To others it's a knowledge management system. Others might see a code analysis platform, a data visualization or an API browsing tool. Yet others see the graphical stack with its interactive editors. Glamorous Toolkit is all of these. But it's really also none of these. These are merely examples of the many forms the environment can be molded to. And there can be many more. Glamorous Toolkit is primarily an environment that makes it possible to create many experiences seamlessly and contextually. This then leads to a new way of programming that we call Moldable Development.
Join remotely here: meetup.com/ukstug/events/300575234
š Home
Glamorous Toolkit is the Moldable Development environment.
š What exactly is Glamorous Toolkit?, Wed, Apr 24, 2024, 7:00 PM | Meetup
To some people Glamorous Toolkit is a Pharo environment. To others itās a knowledge management system. Others might see a code analysis platform, a data visualization or an
Yesterday I taped together a paper torus, built some inputs that wrap around like a torus, and drew some lines on a torus. I wrote a little post about my exploration! vezwork.github.io/polylab/dist/demo/articles/exploring_spaces_1 Would love to hear your feedback, criticism, adjacent thoughts, etc!
Feedbacks:
It threw me off that moving one of the sliders moved the other slider! At first I thought it was some weird bug. Now I see that theyāre both actually 2D sliders. Thatās kinda confusing. Itās interesting! Maybe thereās something there. But: kinda confusing.
It seems like youāre interested here in āparallel representationsā ā seeing the torus as a square (with identified opposite sides), as a 3D object, and as the configuration space of a pair of sliders. Iād really like to see more of that. For instance, in the āInput Spacesā section, could you show a point on a 3D torus alongside the two reps you have already?
Nice!
Molecular simulations are mainly done in hypertorus geometries, meaning a 3D space resulting from the Cartesian product of three circles. Teaching this is quite challenging. I never thought of using a paper torus for illustration, but next time I will!
Thanks so much for the feedback Joshua Horowitz!
I hear you on the slider weirdness, fixed it! The 1D sliders should be actually 1D now.
I'm excited to hear that you'd like to see more parallel representation stuff. I will come back to this (3D torus) once I start getting into 3D space stuff.
Thank you Konrad Hinsen! Its so interesting to hear that molecular simulations are done in S1^3! I have an idea for illustrating this space as well, but I was avoiding getting into 3D rendering for this post.
Why do people do molecular simulations in that space? It would be strange to me if a molecule was connected as a circle across the entire space since I don't know what would correspond to in real life.
The fundamental problem in molecular simulation is that we can simulate only much smaller volumes than a realistic sample should have. Even a drop of water is too large to simulate. Moreover, simulating a complete drop would be of no interest (for reason that I can go into if you want, but that involves quite some details about modelling liquids).
So we simulate a finite volume, and even a rather small one. What shape should it have? And what should be around it? There is no good answer to the shape question as the volume is much too small to be realistic anyway. And if we put walls around it, we make a system much too small to show certain forms of motion, such as slow diffusion. So it's best not to have walls at all.
Conclusion: we use 3D hypersurfaces, i.e. the surfaces of some 4D volume. Finite volume, and yet without boundaries. Both hypertori and hypersheres have been used, but hypertori won because they cause fewer unwanted artifacts.
Wow cool. Since you said you can't simulate large volumes, does that mean that the simulations you are doing are quantum field simulations?
Oh also both sliders have zones off the edge where you can drag the dot and the never get it back.
Some people do quantum simulations (though not quantum field , that's for subatomic particles). Personally I don't. They are interesting mostly for simulating chemical reactions. But even for "classical" simulations, it's not reasonable to aim for realistic volumes. A small drop of water, say 0.05 ml, has 10^{21} water molecules. Most properties of water for which the molecular scale matters can be computed with 1000 molecules on a hypertorus. And if you are interested in the specificities of the droplet, for things like surface tension, a continuum mechanics simulation (fluid dynamics, as used for engineering) is both cheaper and provides more insight.
Thanks again Joshua Horowitz! I originally intentionally added the non-visible zones the dot can go into. I wanted to hide the "jump" when the dot teleports from one side to the other. I don't like that you can get stuck though. I fixed it.
I've been playing around with having a "clone" dot that makes it look like the dot is peeking around from the other side to address the visual jump. You can see the clone in the circular interactive at the bottom of this new post: vezwork.github.io/polylab/dist/demo/articles/exploring_spaces_2
Konrad Hinsen I found this video on youtube visualizing water molecules turning into ice youtube.com/watch?v=zRUFzJrDtq0 (It looks really cool š:ice_cube:). Is this visually representative of the sort of simulation you do? Do your simulations usually have visualizations attached? Or do you get out raw data mostly?
That's a nice one! Not the kind I do because I work on biomolecules. Mine are more like this one: youtube.com/watch?v=7AhQ19m2ok4 (note that there should be water all around the protein, but it's not shown because it would hide the proteins). Visualizatons are crucial to make sense of such simulations, but there's always a second phase of numerical data analysis.
I wrote another little post, "Exploring Spaces 2: Twisted Taping". I made a twisted paper strip this time, and made some more interactive spaces you can try moving around in vezwork.github.io/polylab/dist/demo/articles/exploring_spaces_2.
I really enjoyed the feedback and adjacent thoughts on the last one from Joshua Horowitz and Konrad Hinsen! Once again, I'd love to hear feedback, criticism, and adjacent thoughts š
Clone dot is dope I love it. Itās more durably physical than jump dot ā like it treats the dot as a real object with spatial extent sitting in the space in question. (I would enjoy pulling clone dot into the corner of the torus square and seeing it cut into four quarters!)
And circular RP2 interactive is super interesting! I can drag the dot to a place on the screen and go in little circles in a way which makes the dot circulate around a much bigger circle. This is cuz youāre not mapping from screen space to the circle with a function, but instead youāre mapping a path on the screen to a path in the circle in a path-dependent way. (Lmk if that doesnāt makes sense.)
Edit: This is kinda hysteresis? Kinda? (joshuahhh.com/projects/hysteresis)
I know youāre wary of getting into 3D rendering right now, but I do think that parallel rep would be very valuable for people who havenāt seen this stuff before.
And a wacky suggestion for a puzzle Iād love to see explored interactively: Whatās the configuration space of lines in the plane?
Wow, I love these comments.
re: clone dot comment: I hadn't thought about this torus example! I would need 3 clones, interesting! I like this point you're making.
I was on the fence about the clone dot because it feels kind-of magic-y and less like "there's just a point moving around" from a programming perspective.
re: circular RP2 interactive comment: I also played around with this circulation around the edge of the circle lol. Yea, I kind of know what you mean about the path dependence. If it wasn't path dependent, then I would have a continuous map f: Screen Plane -> Disk, probably such that f(Disk) = Disk, is there a map like that?
And whoa!! This post about hysterisis is super cool. I love how I can see that the space of these points joined by slack is parameterized by a rhombus. Also how the space is like two lines (vertical sides of the rhombus) connected by a line at each corresponding point and how the connecting lines don't connect to eachother.
re: 3D: you're right. I will do it. I'm gonna continue on my 2D journey for a bit more tho, because if I do 3D I will want to add point picking and interaction and I think I want to do raytracing to avoid triangle artifacts.
re: wacky puzzle: had to think about this a bit. Is this space equivalent to an infinitely tall cylinder? Let theta be the angle of a point on the cylinder and h be its height; the corresponding line is perpendicular to the vector, in polar coords (h, 2*theta).
edit: no, this is really wrong lol. I was thinking about how from each line through the origin there's a real line worth of lines parallel to it.
edit2: found this math.stackexchange.com/questions/1848739/a-topology-on-the-set-of-lines/1848770#1848770.
and I see that I was on the right track that locally it looks like each point is on a circle and a line, but I was missing the global twist in the space.
A video introduction to my moldable inspector for Common Lisp: diode.zone/videos/watch/5ac43123-91fa-4b2b-a2d8-4ce0254fa2b8
š A moldable inspector for Common Lisp
A demo of a new inspector for Common Lisp, based on the ideas of Moldable Development.
A moldable Common Lisp object inspector based on CLOG
I made a 'you draw it' type input widget where you draw inflation. I'm trying to permit being a little bit deliberate about scenarios too. It's something I'll develop for defining scenarios for other calculation models. It's in a short blog post:
The future of code involves waiting for Copilots (Even though they get faster all the time, we'll just ask more and more of them).
We took a stab at visualizing the design decisions that our Copilot makes while it's coding the design you've prompted it for.
Instead of just spinners or the raw stream of text like chat UIs, we overlay this visualization where the design will appear on the canvas. Each visualization reflects a design variant that Copilot works on, and is computed in real-time based on the token streams from the LLM.
Here is my 3rd exploring spaces post about taping -ā and +ā together šā¾vezwork.github.io/polylab/dist/demo/articles/exploring_spaces_3
Nice!
On my computer, dragging those lines & circles selects number text, which is distracting. I think some user-select: none should fix that.