5 ms·
Math Inspector: A Visual Programming Environment for Scientific Computing
- zby 6y agoLooks very similar to Enso (formely Luna): https://medium.com/@enso_org https://medium.com/@enso_org
- besnn00 6y agoThere is also another Enso on github but it seems to be a visual programming language.
- andrewnc 6y agoWhen it was Luna, I tried using it because I love new programming languages. It froze my MBP completely and was an absolute pain to uninstall. I hope the rebrand and rewrite fix those issues because it seems awesome
- autoditype 6y agoHow long ago was this? I wonder what the bug was. I want to try this, but don't want to go through a painful uninsall experience
- andrewnc 6y agoIt almost certainly has been fixed because this was something like 18 months ago now. I just remember the frustration, but I am absolutely looking forward to trying out the rewrite
- wdanilo 6y agoHi, Enso team here! Luna 1.0 (long time ago) had serious uninstall problems on Windows because of auto-restarting daemon processes. It was fixed long time ago. Enso uses a completely rewritten services architecture (as well as rewritten compiler and GUI) and something like that should never ever happen again.
- andrewnc 6y agoThis is great! I look forward to giving Enso a try again :) I love the idea
- physicsgraph 6y agoThe block coding interface looks smooth. I'm curious about how the interface scales for complex projects. The documentation integration is nice. Great work!
- calhoun137 6y agoThank you so much! Well I tried to make it work so that literally any project you have sitting on your system can be imported into the app. In principle it should work, in practice the amount of block code elements can quickly become overwhelming. At the end of wrapping up the beta version, I was using math inspector to create math inspector, this is how I wrote the TextParser[1] class, and there is a certain beauty to the way the files were synchronized, but since everything was still in development I finished up by running a test file from the command line instead, and have not had a chance to keep working on that aspect. I think the more the app gets dog-fooded in this way, the more clear it will become what the optimal UI/UX is. Math Inspector is not an IDE, but it does create an additional visual layer that is kind of helpful during development, especially for quickly testing/iterating any changes [1] https://github.com/MathInspector/MathInspector/blob/master/mathinspector/doc/show_textfile.py https://github.com/MathInspector/MathInspector/blob/master/m...
- vvanders 6y agoIt's a pretty standard practice for shader editors(which are surprise, heavily math based!) and some game scripting engines. The systems that I've seen handle large-scale titles usually had a mechanism to define a "function"/"inner-block" with inputs/outputs and visually show values at the "edges". I haven't seen a system handle refactoring/large scale changes but I saw some pretty impressive things put together by our art/animation/design part of the studio in it.
- calhoun137 6y agoProject author here. I have been working so hard for the past 3 months on this app, and last year tried to submitting the alpha version to hacker news a few times but that version was a lot less polished and didn't get much attention. The response today has been really wonderful, and has been so encouraging! Feel free to ask me any questions or request new features. Everything is still very much in active development and it would be amazing if anyone is interested in contributing the source code[1]. I just took a few days of rest and am gearing up to begin posting a bunch of math education video's on my youtube channel using all the new features which I built just for that purpose. I will be adding new features as I need them during the video creation process. Most importantly, coming soon there is going to be a feature to export animations to mp4. [1] https://github.com/MathInspector/MathInspector https://github.com/MathInspector/MathInspector
- wdanilo 6y agoHi, congratulations on the release! I admire your dedication - the amount of work you had to put in this project as a single developer is huge. I'd love to chat, but I can't find any contact info, would you be so nice and just ping me via wojciech.danilo@enso.org? :)
- ad404b8a372f2b9 6y agoI cannot overstate how AMAZING this is! We sorely need more tools to ease mathematical intuition. As far as we've come with scientific computing we still can't feel and touch our math easily. I looked into implementing visual programming for my work a few years back but figured it'd be an unrealistic amount of work given the state of visual programming libraries in Python (I'd looked at PyFlow back then but it wasn't quite mature enough). I'm definitely interested in contributing. I have experience in both numpy and pygame and I do scientific computing for a living. Since you accept feature requests, one tool I've been looking for is something to implement and visualize partial differential equation systems easily. It's basically impossible to program cleanly in Python. There are systems built from dozens of equations that each are expressed by something like 200 characters per line of code that look something like: x1 ** 3.4 + (PA / P**(3x2 + z0)) * V**t - y + (z + (7 - De/4) * 5) * DVe - ... It's basically unreadable, un-debuggable, it's a pain to implement, a pain to iterate over and good luck to whoever comes after to try and understand what it does. And you might try to use the Object-Oriented paradigm to make it more modular and understandable with verbose functions and variables but in the end it still doesn't work. Matlab's got it working somewhat with simulink & Cie but who wants to use matlab these days. Your work already goes a long way with regards to this problem but what would bring it over the top for me would be the ability to render a block system into a latex equation so I can compare my implementation directly with the paper it came from. The second would be to have aliases for functions, some sort of metadata, so that functions can have verbose names and their associated mathematical symbol (velocity -> v).
- krisbolton 6y agoThis is brilliant, great work!
- fspeech 6y agoI would be interested in something like this to visualize and inspect the structure of proofs, for example those contained in the Lean mathematical components library https://github.com/leanprover-community/mathlib https://github.com/leanprover-community/mathlib