
Show HN: Abstract Visual Debugger [video] - westoncb
http://symbolflux.com/projects/avd
======
pierrec
This would be great for some domains, not only debugging but also teaching.

" _unless I can fund it somehow [...], it 's going to move slowly. _"

That's one way to see it. There's also a good chance it would gain traction if
it was open source, especially considering how it targets programmers. The
same could apply to the other project that you say is sadly semi-dead - maybe
it wouldn't be if others were given a chance to use it and contribute. To be
sure, one needs to make a living. But being the creator of such impressive
_open-source_ projects can certainly help in that regard. If you really want
to retain the possibility of commercializing them, just stick a dual license
on them. This is, of course, only an idea and my personal way of approaching
this kind of thing. To each his own.

TL;DR: If this was on Github, I would probably contribute!

~~~
westoncb
Hey pierrec! I'm definitely thinking along those lines. Partly I haven't so
far because I don't get how collaboration/organizing works on open source
projects—any suggestions for something I could read on those lines?

And then the other part of it is, unsurprisingly, that I have retained some
hope of commercializing one of them. While I love programming, I have found
that I really do not enjoy being employed as a programmer and see these
projects as nearly my only chance of getting to work on my own things. Also
looking into getting an A+ certification and moving into IT...

 _shrug_ —it's getting to the point now, however, that I just have too many
partially completed projects piled up, and I think open source is probably a
good way of going forward with 'em. Thanks for the suggestion.

------
vmorgulis
This is great.

A little bit like CodeCity
([http://www.inf.usi.ch/phd/wettel/codecity.html](http://www.inf.usi.ch/phd/wettel/codecity.html)).

------
munro
This reminds me of the coding visualization from the movie The Zero Theorem.
There doesn't seem to be any clips of it online, but here's a screencap from
it [1].

[1]
[http://cdni.wired.co.uk/1920x1280/a_c/08_2.jpg](http://cdni.wired.co.uk/1920x1280/a_c/08_2.jpg)

~~~
westoncb
Heh, awesome! I'm gonna have to watch that...

------
seanmcdirmid
If the author is reading, this would be nice to see as a submission to the
future of programming workshop ([http://www.future-
programming.org/call.html](http://www.future-programming.org/call.html)).

~~~
westoncb
Author here! That sounds cool. I've never done anything like that, but I'll
look into it and see if it's feasible for me to participate...

I've been working on something else in this domain recently too, in case
anyone wants more :) [http://westoncb.blogspot.com/2015/06/why-programming-
languag...](http://westoncb.blogspot.com/2015/06/why-programming-languages-
dont-have.html)

~~~
azeirah
I'm interested in what you're interested in, I made a blog post a long time
ago (my only blog post) that was about this exactly. It's kinda bad, but if
you want to read it it's available right here:
[http://blog.martijnbrekelmans.com/the-road-to-automatic-
code...](http://blog.martijnbrekelmans.com/the-road-to-automatic-code-
visualization/)

I'm building up a collection of related articles, videos, demos, experiments
etc which I will compile into a readable format and release at some point.

Definitely check out
[https://github.com/cdglabs/moonchild.git](https://github.com/cdglabs/moonchild.git)

~~~
westoncb
Cool--I'll check it out.

~~~
azeirah
I've sent you an email about the compilation I've made.

------
azeirah
I've made something somewhat similar in JavaScript. It's a framework that
synchronises objects (and arrays) over multiple web pages, maintaining a two-
way binding between all webpages.

This framework allows you to build visualizations like the one in the OP.
Right now, I have a visualization that shows all your objects as cards, and
you can change values inside the cards while your program is running.

[https://github.com/Azeirah/Object.remote](https://github.com/Azeirah/Object.remote)

All you have to do in your source is replace any

var a = {val: 10}

with

var a = client.createRemoteObject({val: 10});

