4 ms·
Great, but I feel those eye candies with e.g. growing and reshaping lists will get old fast. What would be more useful for work in the long run is a rather taci
by avmich 6y ago
Great, but I feel those eye candies with e.g. growing and reshaping lists will get old fast. What would be more useful for work in the long run is a rather tacit - not distracting - hint of what's going on, unambiguous but not trying to switch attention.
If you're fast stepping through code trying to confirm it working or finding a bug, you're going to be annoyed by the time it takes the visualization to finish on each step.
- westoncb 6y agoThat is an emphasis of the approach I was taking here: http://symbolflux.com/projects/avd http://symbolflux.com/projects/avd Using it feels very different from a traditional debugger where you need to control every step: it's often sufficient to just observe passively and note when incorrect patterns surface.
- Gehinnn 6y agoI really like your projects! Especially your ideas in Tiled Text. I think we should think more outside the box and question our current way to write software.
- westoncb 6y agoThanks! I hope to work on a successor to Tiled Text some day. I have a better sense of how much work is involved now, though. My current approach is to do a smaller project[0] with the potential to help fund work on more ambitious projects like Tiled Text and Lucidity. [0] https://diskatlas.com/ https://diskatlas.com/
- db48x 6y agoThat's really well done; I wish I had that in the program I'm working on. I ended up traversing my data structure and making a graphviz file, then doing it again after the manipulation I was testing in order to verify that it worked correctly. That works, but it really doesn't scale very well. Plus, the being able to see the individual steps of the algorithm would make it much more clear and obvious. As an example, http://db48x.net/reposurgeon/pathmap-diagrams/generated-pathmap-after.svg http://db48x.net/reposurgeon/pathmap-diagrams/generated-path... is one of the graphs I generated. Have you published the server and the protocol anywhere? I'd use it even though I would have to write the client side myself. For my project it would even be desirable to write the client side twice; I'm porting a program from one language to another, and it would be amazing to be able to compare the implementations visually.
- westoncb 6y agoI am thinking about publishing the source etc soon. I have a mailing list for the project here. I’ve never actually sent anything out on it but I will announce the open sourcing there if you are interested. More info at http://symbolflux.com/luciditystory.html http://symbolflux.com/luciditystory.html
- jxramos 6y agodebug visualizations in fields like computer vision, 3D modeling, or really anything that has a direct visual representation very naturally pull themselves into these debug transformations much more readily than maybe regular data structures and algorithms do. The more complex the transformation the more useful the debugger visualization becomes. It probably doesn't need to be turned on all the time though, it may be an expensive proposition for sure, but when you need to bring out the big guns--by all means visualize away.
- sterlind 6y agoI built one of these things when working on a very complex graph algorithm a few years ago. It took a month, but without it I wouldn't have been able to spot my bug. I am glad this exists and is general. The reason this one feels distracting to me is the animation, and the use of force-directed graph layout. Graph layout is hard but I hope they can implement Sugiyama or something instead. Instead of animation, they could do something like showing deleted nodes in red and new nodes in green, a bit like online chess. Maybe I'll send a PR their way..
- Gehinnn 6y agoI just used Vis.js for graph visualization without much tweaking. There is also a graphviz visualizer that is not optimized for being stable [1] vs [2]. I would gladly accept any improvements here! Please reach out if I can help you. Implementing custom visualizations is super easy! See [3] for a very simple example. If you implement a visualization there, it will be available for all people that use the visualization framework (e.g. extensions for other IDEs), not only this extension. [1] https://hediet.github.io/visualization/?darkTheme=1&state=XQAAAAJSAgAAAAAAAABBKQlHM6T2Wc3LEDSCeIALvKHAdfb_AsEB0UuwlAICjcyIaLZBmzAxm_NzCxZ6QMDa_jkChjBcva-xSRfHXjXAomU6yB7nS9BW7YdivJGAIbv6YxYOMmssQU1i7Ghx8JpCJmf90aZhJ91Z6KjZSH2jBvn7Uy3y6rWWKlwY-J76HiOXIdzhF-MhLIb-P0u31qmYD4hWiO09xA3yKIL0P__HSUFA https://hediet.github.io/visualization/?darkTheme=1&state=XQ... [2] https://hediet.github.io/visualization/?darkTheme=1&state=XQAAAAJQAgAAAAAAAABBKQlHM6T2Wc3LEDSCeIALvKHAdfb_AsEB0UuwlAICjcyIaLZBmzAxm_NzCxZ6QMDa_jkChjBcva-xSRfHXjXAomU6yB7nS9BW7YdivJGAIbv6YxYOMmssQU1i7Ghx8JpCJmf90aZhJ91Z6KjZSH2jBvn7Uy3y6rWWKlwY-J76HiOXIdzhF-MhLIb-P0u31qmYD3qluX3aaJdlK0Ft5ox_-5b5undefinedg https://hediet.github.io/visualization/?darkTheme=1&state=XQ... [3] https://github.com/hediet/visualization/blob/33de54d69624e1d12aaa12def1cb8d57a1f7d3d0/visualization-bundle/src/visualizers/simple-text-visualizer/index.tsx https://github.com/hediet/visualization/blob/33de54d69624e1d...