Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

If you're not familiar with him, you could watch his "Inventing on Principle" talk [1] from 11 years ago. Starting at around the 12 minute mark should get you right to the good stuff (though it's all worth watching and thinking about). This is the talk that made him famous.

Unfortunately, the demo he showed in that talk never really turned in to a product or movement that revolutionized programming as at the time many of us hoped it might.

[1] - https://www.youtube.com/watch?v=PUv66718DII



A pitfall of "Inventing on Principle", one which I believe Victor himself later noted, is that the talk is really a modest statement on what bringing some philosophy into your work could do, but it has an overwhelmingly engaging demo. Everyone tried to copy the demo in a kind of "wave of the future next gen programming" hype cycle instead of taking home the concept and trying to put that into work they were already doing.

And, having been one of those impressed with the demo, now I look back on it thinking "this business of software is cargo-culting the whole way down, isn't it."


Light Table was the only real attempt I'm aware of. Any other notables?


Swift creator also influenced though i don't remember where i heard or read that.


Yes! I've seen first hand how much it helps (is it just me in particular? maybe not everyone needs it?) programming things I can visualize (in a literal sense of seeing, but I think the essence is really being in close contact with intermediate results). So, I just make ways to visualize things :)

A particularly simple and amazing tool for this is p5.js, with an editor that, to me, enables exactly the kind of workflow shown here: editor.p5js.org

Whatever you are going to do, you can draw alongside to help you make sense of it better. I do this on my own mind sometimes, but for example visualizing and small neural networks (which I have been messing around with) can't be done on my imagination alone.

I think the important is just that you have some library that makes drawing easy, and put it alongside your work. Of course, it's extra work to make diagrams of everything. But sometimes they really help. I think it's important to simply have this possibility in mind.

(maybe it should have a name? Visualization-enhanced programming? Print-programming? I think (e.g. jupyter) notebooks strive toward this, although tbh I prefer the p5js environment without a linear format)

It should be up to us to decide if and when this extra work is worthwhile. I think really designing (and discovering) things is what benefits the most from this style (i.e. game design, product design, scientific experimentation). So you need programmers working on a design problem and/or designers working on a programming problem; or you could have them side-by-side collaborating (and not just a designer imagining things, and a programmer following specifications to the letter).

It also requires a kind of artistic taste to make things look good, but of course that's something you can develop.

It's a really enjoyable process to be able to get a feel for what you're doing!

(See here: https://editor.p5js.org/gustavo.nramires/sketches/sLA07wpa_ for some personal experiments in visualizing graphs and sparse neural nets, https://editor.p5js.org/gustavo.nramires/sketches/1Bb5VIHi2 for designing an algorithm to efficiently make a roguelike map)

I think you're saying is that we don't get this for 'free'. There's probably no tool (although maaaybe AI could help?) that just instantly visualizes anything you could do. Instead it's up to us to do it :) (although good graphics libraries and a tool that encourages you to recompile often is almost essential imo!)

And here's the kind of art I could likely never just simply imagine to existence, experimentation is essential! https://editor.p5js.org/gustavo.nramires/sketches/pVFFT_8E5


I've used this technique quite a bit in the past, but often not enough. I work in games so a lot of problems are actual visual 2d or 3d problems. Things like: finding the closest valid object I can target at my given heading. Simple enough, but as things get complicated it's often the simple things that trip you up, and visualizations can often make the problem obvious.

That p5 editor looks nice for this sort of thing. It's important to be able to get the visualizations in quickly, otherwise you risk wasting time.

A tool I've dreamed up, that I never seem to have time to implement, is to send debug information to some form of database, and then being able to query and render that data as you like (from another client). To see bar/line charts of data, spatial visuals, more abstract graphs like in your examples, timeline scrubbers, etc... maybe some day I'll get around to making it.

Anyway, thanks for your comment. I'm interested in this kind of thing.


> This is the talk that made him famous.

He was already pretty famous before that from Magic Ink, if not even earlier work.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: