Talks to Watch

Bret Victor - Inventing on Principle

339K views · Feb 22, 2012 · 54:20 · 12 HN recommenders · 20 mentions · discussed 2013–2025

Bret Victor's talk at CUSEC 2012 in which he argues that creators need immediate feedback and should organize their work around a guiding principle. He demonstrates live-coding and animation tools that show results as you type, and describes his own principle that creators must see what they are making.

Why Hacker News points people here: It is HN's go-to recommendation for the case that programming environments should give instant feedback, and it appears in nearly every thread on live coding, visual programming or developer tools.

“My mind was blown when I saw this video 2 years ago”HN comment, 2014

What Hacker News said 20

Strongly recommendsbigsassyJun 2014

“My mind was blown when I saw this video 2 years ago”

Mind-blowing talk on live programming feedback.

Full comment

Is this related to Bret Victor's stuff? My mind was blown when I saw this video 2 years ago, and I can't help but see similarities here: this video

Strongly recommendsproductionQAJul 2014

“it doesn't get much better than this”

Top inspirational talk about software development.

Full comment

Probably not exactly what you need, but as far as inspiration is concerned, it doesn't get much better than this: this video Check out Bret Victor's talks in general (worrydream.com). He is quite interesting.

in “Ask HN: Favorite talks [video] on software development?” · view on HN
Strongly recommendsrpedenFeb 2018

“Bret Victor's Inventing on Principle talk[1] is one of the best I've seen.”

Inspires rethinking development tools and approaches.

Full comment

I think most here have already seen it, but I find that Bret Victor's Inventing on Principle talk[1] is one of the best I've seen. I re-watch it every so often to help prevent my thinking from falling into a rut. When developing software as a career, it's so easy to just fall into a pattern where you use the same tools and techniques over and over again. Watching this talk this talk inspires me to investigate alternate approaches to developing and delivering software. It's easy to think of software development as something that always need to involve code, and nothing but code. But watching this talk inspires me to go and try things like Node Red and Unreal Blueprints. In both cases, code is usually still involved, but they both offer a visual way of connecting components. I find it helpful to be able to visualize software this way so I can immediate understand how data flows through the application. [1] this video

in “Ask HN: What's your favorite tech talk?” · view on HN
Strongly recommendsignoramousJun 2022

“Bret Victor's Inventing on Principle is even better”

Better than most product pitches for dev tools.

Full comment

Bret Victor's Inventing on Principle is even better (albeit it isn't only a product pitch): this video

in “Ask HN: Best dev tool pitches of all time?” · view on HN
Strongly recommendspedrovhbJan 2024

“an absolute must watch, if anyone hasn't yet”

Real-time feedback on parameters reveals hidden behavior.

Full comment

Nice! Playing around with the widget under the section "Experimenting with lines" I'm reminded of Bret Victor's Inventing on Principle talk [0] (an absolute must watch, if anyone hasn't yet). In particular, changing the smoothness reveals a sort of scaling effect that I'd probably never know about if not playing around with sliders and having it update in real time rather than setting individual values. Very interesting and beautiful! [0] this video

in “What I've learned about flow fields so far” · view on HN
RecommendsDanielRibeiroNov 2015

“Bret does have some pretty innovate ideas on Programming and Design (and more).”

Innovative ideas on programming and design.

Full comment

You may not consider him a genius. But Bret does have some pretty innovate ideas on Programming and Design (and more). Good examples: Inventing on Principle: this video The Humane Representation of Thought: link

RecommendsbchApr 2019

“while Victor is explicitly saying make it count by way of targeting with intention what’s important to you.”

Victor urges targeting what is important with intention.

Full comment

Nice, but I think I can raise you. That talk mostly seemed pretty predictable (though I incorrectly guessed gfx via sixels[0], not a(nother) terminal emulator). If your interest was piqued with that parent video though, prepare to have your mind blown with this[1], who’s thesis maybe similar in the sense of “stop _just_ simply working”. Bernhardt seems to be saying don’t be afraid to take time and think deeply and “go deep”, while Victor is explicitly saying make it count by way of targeting with intention what’s important to you. A sort of “fight the good fight.” [0] link [1] this video

RecommendsgervwykMay 2020

“This reminds me of the excellent talk by bret victor”

Full comment

Bringing two concepts closer, especially visually will result in a better developer experience - Thus merging html and js into a single file, component, class / object and sequential logic was really the turning point to build more complex web apps. This reminds me of the excellent talk by bret victor this video

in “Ask HN: Are React-like UI frameworks a fad or a genuine step forward?” · view on HN
RecommendsfossuserMay 2020

“You’d probably like Bret Victor’s inventing on principle talk”

Good examples of valuable visual programming tools.

Full comment

You’d probably like Bret Victor’s inventing on principle talk: this video He demonstrates some good examples. I’m not quite sure it’s what you mean by visual, but it seems obviously valuable and tools that enabled some of what he shows would be really useful. I’m not sure why we don’t have these things - I think Alan Kay would say it’s because we stopped doing real research to improve what our tools can be. We’re just relying on old paradigms (I just watched this earlier today: link )

in “Ask HN: Why isn’t visual programming a bigger thing?” · view on HN
Recommendsbhntr3Jul 2020

“Bret Victor ( ) or Rich Hickey ( ) for programming and design.”

Mind-expanding content for programming and design.

Full comment

In terms of mind-expanding or intellectually stimulating, I find it's easier to get that from Youtube. I recommend: 3blue1brown for math ( link ) Everyday Astronaut if you are casually interested in rockets ( link ) Bret Victor ( this video ) or Rich Hickey ( link ) for programming and design. Doing a full college course is such a time investment and it usually takes a few weeks to start proving the interesting stuff. I find it more fun to look to shorter content for inspiration. I might realize I don't understand the fundamentals of the topic and then seek out a way to study it.

in “Ask HN: Did you take any fresh MOOCs as of 2020?” · view on HN
RecommendsryanmentorFeb 2021

On working from principles to reach new ideas.

Full comment

Time and Time and Space and Space are necessary for high quality creativity : link and working with solid principles, from first principles, is how you reach durable new understandings. IMO. The Seven Habits of Highly Effective People has some great material about the use of principles in being personally creative. Inventing on Principle: this video I serve as a creativity coach to builders, innovators, and founders. Sometimes what a thinker needs more than anything else is a BREAK to BATHE! and then... EUREKA! link

in “Ask HN: How do you generate higher-quality ideas?” · view on HN
Recommendsanon35Jul 2023

“Their potential is beautifully illustrated in Brett Victor's famous 'Inventing on Principle' talk”

Illustrates the potential of immediate feedback in programming.

Full comment

Great to see. More generally: I feel like playgrounds are grossly underused in our industry. It's possible the issue is in the name -- it immediately connotes that whatever you're doing isn't real work, it's just a place to, well, "play". But really these kind of playgrounds are at least a cousin, if not a direct descendant, of the immediate feedback principle that underlies everything from a REPL to the kind of systems (Symbolics, etc) that allow you to edit running code. Their potential is beautifully illustrated in Brett Victor's famous 'Inventing on Principle' talk: this video Three areas that I'd love to see playgrounds mature beyond teaching beginners CSS: 1) Integrated directly into developer documentation. You can see some of that in systems that are documenting services -- for example, the Google Sheets API documentation has a 'Try this Method' box that lets you post a request to the service on the same page that describes it, but what I really want is something like that when I'm reading the man page of a destructive disk command, or a complex database query, or a low-level C graphics library. That'll require a playground wired to something as big as a VM, maybe. 2) Integrated into textbooks: for the last couple years the astonishing posts from Bartosz Ciechanowski ([Sound]( link ), [Bicyle]( link )) have demonstrated just how much better a textbook could be if you could interactively play with the concepts you're reading about. Unlike dev docs, the thing you're in

Cites itjoeblauAug 2013

“An editor like the one Bret Victor talked about in his "Inventing on Principle" talk[1].”

Bret Victor's real-time feedback editor idea.

Full comment

I love the design and the concept of the site as well as others in this space like jetstrap, easel, and divshot. To be honest, I've tried a few of these offerings and as a web developer this is not what I want, I'm looking for two things: 1. An editor like the one Bret Victor talked about in his "Inventing on Principle" talk[1]. I want to edit HTML and CSS and see updates reflected in real time[2]. 2. A way to hook this into a DVCS (Or better yet, a desktop application/desktop plugin). My development workflow relies heavily on Git and I don't think I'm going to download a zip payload and extract it every time I need to do a commit. [1] - this video [2] - link

in “Webflow (YC S13) Lets You Design Responsive Websites Visually, Publish Instantly” · view on HN
Cites itDonaldFiskFeb 2017

“It's similar to some of Bret Victor's ideas”

Tight coupling between program and its output.

Full comment

No, they explain that LabVIEW and other visual languages are just different ways of representing the code. The idea here, I think, is that there's far greater coupling between the output of the program and the program itself. It's similar to some of Bret Victor's ideas: this video I'd like to incorporate this coupling idea into my own visual dataflow language ( link ), but haven't yet decided how to implement it. My approach has been to design the language from the bottom-up, so that simple programs can be simply drawn, and there are higher level programming constructs which simplify more complex code, avoiding the complexity problem (the Deutsch limit) you've seen with LabVIEW.

in “Show HN: DeepUI Programming Studio – A different approach to programming” · view on HN
Cites ithchasestevensSep 2017

Hand-animated interactive authoring demo.

Full comment

Imagine this paired with a system like the one Bret Victor demos in "Inventing on Principle" [0] or in "Stop Drawing Dead Fish" [1], in which the user hand-animates what they want the game movement/overall gameplay to look like, adjusting as necessary. The system described in this paper could get you a decent way from that hand-animated mockup to a working game that looks and feels first and foremost like you intended, rather than working from a playable-but-bad-feeling prototype game engine and having to endlessly adjust to get the game feel "right". [0]. this video [1]. link

in “Artificial Intelligence Uses Videogame Footage to Recreate Game Engine” · view on HN
Cites itborplkJan 2018
Full comment

I think the next game-changing evolution in programming languages is moving beyond plaintext. Our basic building blocks of programming has not changed essentially since the beginning of programming. We still treat programs as nothing but a bunch of files and folders edited with the same tools that writers use to write romance novels (yeah yeah "intellisense" is not so intelli at the end of the day). We don't create beautiful images by writing RGB values in a text editor. We shouldn't be creating highly complex software systems with them either. We need model based editing environments that will allow us to have a much richer set of software building blocks. We have to allow software to be more than just characters in files. Software "source" is not a book. It's the blueprint for a system that has metadata and constraints attached to it. It can't comfortably and forever exist in a flat plaintext structure for human consumption. If you are interested go dig up my old comments I have written more elaborate rants about it before. And yes I'm ready for the inevitable and customary "NO IT AINT GON WORK WE TRIED BEFORE AND IT AINT WORTH TRYIN EVER EVER AGAIN" replies. Also relevant: link (I actually somewhat accidentally and indirectly caused the creation of the subreddit as a result of a discussion here on HN before) link link link this video

in “Ask HN: What would your ideal programming language be like?” · view on HN
Cites itgolangMonkeyJan 2019

“i like the idea from "inventing on principle”

Full comment

i guess voice is not an alternative but i thinking of visualising program flow could work. i like the idea from "inventing on principle" ( this video )

in “Ask HN: Why are we still using text editors to write code?” · view on HN
Cites itmredigondaMay 2022

“Basically as you are writing a function, you can write sample input for it”

Demo of live variable values while writing functions.

Full comment

This video [0] is from February 2012, but as far as I know this tool is not yet implemented (or at least it is not widely used). Basically as you are writing a function, you can write sample input for it, and it tells you the intermediate value of each variable inside this function, which lets you reason about the code, makes it trivial to know you've done something wrong, and would make developing a much more interactive experience overall. In my experience, this is done by hand when writing a function, but a tool like this would make it automatic. [0] this video

in “Ask HN: What developer tools would you like to see?” · view on HN
Cites itsitkackMar 2025
Full comment

Having never used the authoring tool, can you point me towards something to model it after? I think a Bret Victor, "Inventing on Principal" style editor would be perfect, combined with some sort of scratch like Python IDE where each element is defined in terms of its reactive behaviors with other elements on a timeline. I didn't say easy, I said not too difficult. Order of magnitude difference. :) this video With some link

in “How Flash games shaped the video game industry (2020)” · view on HN
Cites itkaycebasquesMar 2025
Full comment

Thanks Inventing On Principle: this video A couple other Bret Victor resources I gleaned from other comments: Humane Representation Of Thought: link Dynamicland: link

in “Our interfaces have lost their senses” · view on HN