← Back
Scott Hanselman August 29, 2024 30m

Nature of Code with Daniel Shiffman

Read full transcript 20 segments
  1. hi I'm Scott Hanselman this is another hi I'm Scott Hanselman this is another episode of Hanselman it's today I have episode of Hanselman it's today I have episode of Hanselman it's today I have the distinct pleasure to gush over the distinct pleasure to gush over the distinct pleasure to gush over Daniel schiffman from the coding train Daniel schiffman from the coding train Daniel schiffman from the coding train from nature of code from processing I'm from nature of code from processing I'm from nature of code from processing I'm just such a fan of everything that you just such a fan of everything that you just such a fan of everything that you do you are the Mr Rogers of programming do you are the Mr Rogers of programming do you are the Mr Rogers of programming and you bring joy to me every time you and you bring joy to me every time you and you bring joy to me every time you show up on my for you page or in my show up on my for you page or in my show up on my for you page or in my YouTube sir I bow to your YouTube sir I bow to your YouTube sir I bow to your greatness how's that for an greatness how's that for an greatness how's that for an intro that's a little bit much I would intro that's a little bit much I would intro that's a little bit much I would say too much yeah no it's good I I I say too much yeah no it's good I I I say too much yeah no it's good I I I would say maybe if if uh if there's an would say maybe if if uh if there's an would say maybe if if uh if there's an anxiety riddled Mr Rogers then maybe anxiety riddled Mr Rogers then maybe anxiety riddled Mr Rogers then maybe that's more accurate but uh but I that's more accurate but uh but I that's more accurate but uh but I appreciate the compliment and it's an appreciate the compliment and it's an appreciate the compliment and it's an honor and a thrill to be here talking honor and a thrill to be here talking honor and a thrill to be here talking with you very nice yes okay so you'll be with you very nice yes okay so you'll be with you very nice yes okay so you'll be anxiety riddled Mr Rogers and I'll be anxiety riddled Mr Rogers and I'll be anxiety riddled Mr Rogers and I'll be the impost the paralyzed impostor the impost the paralyzed impostor the impost the paralyzed impostor syndrome Mr Rogers and between us we'll syndrome Mr Rogers and between us we'll syndrome Mr Rogers and between us we'll find ourselves a Bob Ross and maybe a find ourselves a Bob Ross and maybe a find ourselves a Bob Ross and maybe a Ted lasso and we'll have a bridge game Ted lasso and we'll have a bridge game Ted lasso and we'll have a bridge game ready to go perfect I love I love any ready to go perfect I love I love any ready to go perfect I love I love any anything to do with h card games so anything to do with h card games so anything to do with h card games so excellent excellent so people may know excellent excellent so people may know excellent excellent so people may know you who are from the internet from the you who are from the internet from the you who are from the internet from the coding train you're just kind of Joyful coding train you're just kind of Joyful coding train you're just kind of Joyful celebration of all things creative and celebration of all things creative and celebration of all things creative and you have made art made fun with you have made art made fun with you have made art made fun with programming you're not just the here's a programming you're not just the here's a programming you're not just the here's a for Loop you're the here's a for Loop for Loop you're the here's a for Loop for Loop you're the here's a for Loop and how can we paint with it and now how and how can we paint with it and now how and how can we paint with it and now how can we make something fun and exciting can we make something fun and exciting can we make something fun and exciting with it and now you are back with with it and now you are back with with it and now you are back with natureof code.com you've uh you've natureof code.com you've uh you've natureof code.com you've uh you've redone a self-published book called the redone a self-published book called the redone a self-published book called the nature of code it was an online resource

  2. nature of code it was an online resource nature of code it was an online resource start a decade ago and explain what it start a decade ago and explain what it start a decade ago and explain what it was and then what it is today yes so was and then what it is today yes so was and then what it is today yes so thank um yes so this project actually I thank um yes so this project actually I thank um yes so this project actually I would put the seeds of it all the way would put the seeds of it all the way would put the seeds of it all the way back to like 2001 2002 I was a graduate back to like 2001 2002 I was a graduate back to like 2001 2002 I was a graduate student student student at a program um at NYU it just happens at a program um at NYU it just happens at a program um at NYU it just happens to be the program where I have a to be the program where I have a to be the program where I have a full-time teaching job right now but I full-time teaching job right now but I full-time teaching job right now but I took a few different courses there I took a few different courses there I took a few different courses there I took a course I learned to code there took a course I learned to code there took a course I learned to code there actually with um if anybody remembers actually with um if anybody remembers actually with um if anybody remembers the lingo programming language oh which the lingo programming language oh which the lingo programming language oh which was the scripting language that was part was the scripting language that was part was the scripting language that was part of macromedia director definely a of macromedia director definely a of macromedia director definely a non-traditional uh entryway into code non-traditional uh entryway into code non-traditional uh entryway into code but um I think you can you can you can but um I think you can you can you can but um I think you can you can you can find the origins of processing and p5js find the origins of processing and p5js find the origins of processing and p5js um in many uh there's many examples but um in many uh there's many examples but um in many uh there's many examples but back there in in lingo which was back there in in lingo which was back there in in lingo which was invented by John Henry Thompson I'm have invented by John Henry Thompson I'm have invented by John Henry Thompson I'm have to name everybody who influenced me in to name everybody who influenced me in to name everybody who influenced me in this project sure I'll miss a few folks this project sure I'll miss a few folks this project sure I'll miss a few folks anyway so that's where I took some anyway so that's where I took some anyway so that's where I took some classes there I took a class called classes there I took a class called classes there I took a class called Dynamic bodies uh with uh uh um which Dynamic bodies uh with uh uh um which Dynamic bodies uh with uh uh um which was about uh modeling physics with code was about uh modeling physics with code was about uh modeling physics with code and then I took another class called and then I took another class called and then I took another class called foundations of generative art systems I foundations of generative art systems I foundations of generative art systems I think today if you asked you know I think today if you asked you know I think today if you asked you know I don't know if you asked any random don't know if you asked any random don't know if you asked any random person on the street what is generative person on the street what is generative person on the street what is generative art what answered they'd give to you but art what answered they'd give to you but art what answered they'd give to you but there's a much more kind of Main stream there's a much more kind of Main stream there's a much more kind of Main stream understanding of the concept of understanding of the concept of understanding of the concept of generative art but that was very early generative art but that was very early generative art but that was very early in this idea of what does it mean for in this idea of what does it mean for in this idea of what does it mean for art to be made through an algorithm uh art to be made through an algorithm uh art to be made through an algorithm uh through a process so I took those I like through a process so I took those I like through a process so I took those I like math and science I never understood or math and science I never understood or math and science I never understood or never realized that those could be never realized that those could be never realized that those could be applied in this way towards program to

  3. applied in this way towards program to applied in this way towards program to to create games and art and visuals and to create games and art and visuals and to create games and art and visuals and animation um it was around that time animation um it was around that time animation um it was around that time that I started learning processing which that I started learning processing which that I started learning processing which is a Java based uh programming language is a Java based uh programming language is a Java based uh programming language and environment uh for Creative coding and environment uh for Creative coding and environment uh for Creative coding um and so I started teaching processing um and so I started teaching processing um and so I started teaching processing and I was trying to teach all that stuff and I was trying to teach all that stuff and I was trying to teach all that stuff that I learned in those classes and one that I learned in those classes and one that I learned in those classes and one of the early classes that I taught at of the early classes that I taught at of the early classes that I taught at ITP when I was first teaching there I ITP when I was first teaching there I ITP when I was first teaching there I think this was around 2008 was called think this was around 2008 was called think this was around 2008 was called the nature of code and basically I the nature of code and basically I the nature of code and basically I started putting together tutorials for started putting together tutorials for started putting together tutorials for that class and at a certain point uh that class and at a certain point uh that class and at a certain point uh after having taught it a few times and after having taught it a few times and after having taught it a few times and compiled all these U materials I put it compiled all these U materials I put it compiled all these U materials I put it into a book uh which I self-published um into a book uh which I self-published um into a book uh which I self-published um and was I was excited to experiment with and was I was excited to experiment with and was I was excited to experiment with the idea of publishing something that the idea of publishing something that the idea of publishing something that would be free and online online through would be free and online online through would be free and online online through Creative Commons um a as well as a print Creative Commons um a as well as a print Creative Commons um a as well as a print book that somebody could hold into their book that somebody could hold into their book that somebody could hold into their in their hands and I actually I did it in their hands and I actually I did it in their hands and I actually I did it was an early Kickstarter project I think was an early Kickstarter project I think was an early Kickstarter project I think I I don't know if this is accurate but I I I don't know if this is accurate but I I I don't know if this is accurate but I feel like it was definitely within the feel like it was definitely within the feel like it was definitely within the first 100 projects on Kickstarter back first 100 projects on Kickstarter back first 100 projects on Kickstarter back in you know early late late in you know early late late in you know early late late 2000s and one of the things that I did 2000s and one of the things that I did 2000s and one of the things that I did with the book when I published it it was with the book when I published it it was with the book when I published it it was okay this is going to be an online okay this is going to be an online okay this is going to be an online resource free Creative Commons licensed resource free Creative Commons licensed resource free Creative Commons licensed self-published and I'll be able to self-published and I'll be able to self-published and I'll be able to continually edit and update it and continually edit and update it and continually edit and update it and anybody who downloads it or reads it anybody who downloads it or reads it anybody who downloads it or reads it online will automatically get the new online will automatically get the new online will automatically get the new version and I can update through the version and I can update through the version and I can update through the print on demand service a new PDF and print on demand service a new PDF and print on demand service a new PDF and I'm GNA keep it fresh and updated and

  4. I'm GNA keep it fresh and updated and I'm GNA keep it fresh and updated and then once it was out I basically never then once it was out I basically never then once it was out I basically never did that and I just kept I mean I did that and I just kept I mean I did that and I just kept I mean I updated fixed a few things here and updated fixed a few things here and updated fixed a few things here and there and updated examples but I just there and updated examples but I just there and updated examples but I just kept saying like oh I'm going to do a kept saying like oh I'm going to do a kept saying like oh I'm going to do a new version I'm going to do a new new version I'm going to do a new new version I'm going to do a new version and somehow 10 years passed and version and somehow 10 years passed and version and somehow 10 years passed and I realized I really got to get my act I realized I really got to get my act I realized I really got to get my act together and that's when um you know it together and that's when um you know it together and that's when um you know it it was uh I was introduced to Folks at it was uh I was introduced to Folks at it was uh I was introduced to Folks at no starch press and I realized what I no starch press and I realized what I no starch press and I realized what I really need here it was wonderful to do really need here it was wonderful to do really need here it was wonderful to do that self-publishing experience but I that self-publishing experience but I that self-publishing experience but I really needed a partner essentially to really needed a partner essentially to really needed a partner essentially to help project manage me uh I wanted to do help project manage me uh I wanted to do help project manage me uh I wanted to do a much higher quality book a print book a much higher quality book a print book a much higher quality book a print book you know the print on demand Services you know the print on demand Services you know the print on demand Services have you know there's advantages to that have you know there's advantages to that have you know there's advantages to that but the act the the quality of the the but the act the the quality of the the but the act the the quality of the the the the physical object itself left a the the physical object itself left a the the physical object itself left a lot to be desired and so and I wanted to lot to be desired and so and I wanted to lot to be desired and so and I wanted to update the book uh for JavaScript I've update the book uh for JavaScript I've update the book uh for JavaScript I've been doing most of my teaching now with been doing most of my teaching now with been doing most of my teaching now with a library called p5js which is part of a library called p5js which is part of a library called p5js which is part of the processing Foundation ecosystem of the processing Foundation ecosystem of the processing Foundation ecosystem of tools related to processing and so um so tools related to processing and so um so tools related to processing and so um so yeah so now I have a whole new uh yeah so now I have a whole new uh yeah so now I have a whole new uh version of the book all is Javascript a version of the book all is Javascript a version of the book all is Javascript a brand new website the whole thing is brand new website the whole thing is brand new website the whole thing is still online Creative Commons licensed still online Creative Commons licensed still online Creative Commons licensed but but the print book is I feel like but but the print book is I feel like but but the print book is I feel like it's this a beautiful precious high it's this a beautiful precious high it's this a beautiful precious high quality um object to me now which is uh quality um object to me now which is uh quality um object to me now which is uh really what I really what I had wanted really what I really what I had wanted really what I really what I had wanted yeah it is definitely worth calling out yeah it is definitely worth calling out yeah it is definitely worth calling out the friends at no starch press this is the friends at no starch press this is the friends at no starch press this is not just some book this is 640 Pages not just some book this is 640 Pages not just some book this is 640 Pages this is a coffee table book this is a this is a coffee table book this is a this is a coffee table book this is a book that you can put on your coffee

  5. book that you can put on your coffee book that you can put on your coffee table it'll hold things down it'll keep table it'll hold things down it'll keep table it'll hold things down it'll keep the coffee table from floating away if the coffee table from floating away if the coffee table from floating away if there's an intruder you could beat the there's an intruder you could beat the there's an intruder you could beat the Intruder to death with the book and then Intruder to death with the book and then Intruder to death with the book and then sit down and enjoy it stop as well sit down and enjoy it stop as well sit down and enjoy it stop as well fantastic door stop very it's a big book fantastic door stop very it's a big book fantastic door stop very it's a big book there's a lot here did you know it was there's a lot here did you know it was there's a lot here did you know it was going to be 600 plus pages when you going to be 600 plus pages when you going to be 600 plus pages when you started I didn't you know in a way I had started I didn't you know in a way I had started I didn't you know in a way I had kind of thought that uh it might start I kind of thought that uh it might start I kind of thought that uh it might start I might be optimizing it down to something might be optimizing it down to something might be optimizing it down to something a little bit shorter as I was updating a little bit shorter as I was updating a little bit shorter as I was updating it because a lot there's a lot of it because a lot there's a lot of it because a lot there's a lot of sections in there that required a lot of sections in there that required a lot of sections in there that required a lot of gymnastics to do things in Java that gymnastics to do things in Java that gymnastics to do things in Java that became a bit simpler with JavaScript but became a bit simpler with JavaScript but became a bit simpler with JavaScript but there's a lot of things that are updated there's a lot of things that are updated there's a lot of things that are updated most of what's updated is just like oh I most of what's updated is just like oh I most of what's updated is just like oh I learned how to explain this a little learned how to explain this a little learned how to explain this a little better or I made some new examples that better or I made some new examples that better or I made some new examples that always worked better because I've been always worked better because I've been always worked better because I've been teaching this class I don't know how teaching this class I don't know how teaching this class I don't know how many times now every year since multiple many times now every year since multiple many times now every year since multiple times sometimes since 2008 so a lot of times sometimes since 2008 so a lot of times sometimes since 2008 so a lot of things that I had learned from teaching things that I had learned from teaching things that I had learned from teaching I was able to refresh and add to the I was able to refresh and add to the I was able to refresh and add to the book but the the thing that I did that book but the the thing that I did that book but the the thing that I did that ended up probably expanding it by 100 ended up probably expanding it by 100 ended up probably expanding it by 100 pages is uh the 2012 version had this pages is uh the 2012 version had this pages is uh the 2012 version had this little chapter about what is a neural little chapter about what is a neural little chapter about what is a neural network and um it really it was very network and um it really it was very network and um it really it was very basic I go through how to program a p a basic I go through how to program a p a basic I go through how to program a p a perceptron which is like a single neuron perceptron which is like a single neuron perceptron which is like a single neuron 1950s system that is kind of the 1950s system that is kind of the 1950s system that is kind of the foundation of what modern neural foundation of what modern neural foundation of what modern neural networks are today and then I kind of networks are today and then I kind of networks are today and then I kind of wax poetic a little bit about like maybe wax poetic a little bit about like maybe wax poetic a little bit about like maybe you could use this for some stuff in in you could use this for some stuff in in you could use this for some stuff in in a few different directions but don't go a few different directions but don't go a few different directions but don't go much further with it and I don't know if much further with it and I don't know if much further with it and I don't know if you've been paying you've been paying you've been paying attention to to the tech uh uh sphere

  6. attention to to the tech uh uh sphere attention to to the tech uh uh sphere recently but there's a lot more going on recently but there's a lot more going on recently but there's a lot more going on in the world of machine learning and in the world of machine learning and in the world of machine learning and neural networks I'm I'm not fully going neural networks I'm I'm not fully going neural networks I'm I'm not fully going down that rout Rabbit Hole of like you down that rout Rabbit Hole of like you down that rout Rabbit Hole of like you know modern deep learning AI systems but know modern deep learning AI systems but know modern deep learning AI systems but um I've really I completely rewrote and um I've really I completely rewrote and um I've really I completely rewrote and expanded that chapter to use an open expanded that chapter to use an open expanded that chapter to use an open source Library called ml5 uh which is source Library called ml5 uh which is source Library called ml5 uh which is something that I'm also working on it's something that I'm also working on it's something that I'm also working on it's a it's library for P5 to do machine a it's library for P5 to do machine a it's library for P5 to do machine learning and then what I'm most excited learning and then what I'm most excited learning and then what I'm most excited about is I added an entire new chapter about is I added an entire new chapter about is I added an entire new chapter about this concept called neuroevolution about this concept called neuroevolution about this concept called neuroevolution so it's not it's not you know the top so it's not it's not you know the top so it's not it's not you know the top line item in the news and hype uh in Ai line item in the news and hype uh in Ai line item in the news and hype uh in Ai and machine learning these days but it's and machine learning these days but it's and machine learning these days but it's one of my favorite techniques it's a one of my favorite techniques it's a one of my favorite techniques it's a sort of Oddball way to train a neural sort of Oddball way to train a neural sort of Oddball way to train a neural network instead of using network instead of using network instead of using traditional um back propagation with traditional um back propagation with traditional um back propagation with errors and data sets it's really just errors and data sets it's really just errors and data sets it's really just about throwing um volume at neural about throwing um volume at neural about throwing um volume at neural networks making a zillion of zillion networks making a zillion of zillion networks making a zillion of zillion random ones and letting them evolve random ones and letting them evolve random ones and letting them evolve their weights towards a solution and it their weights towards a solution and it their weights towards a solution and it works really well for the kinds of works really well for the kinds of works really well for the kinds of things so the whole book is about like things so the whole book is about like things so the whole book is about like how to move little dots around the how to move little dots around the how to move little dots around the screen in all sorts of different ways screen in all sorts of different ways screen in all sorts of different ways and what neuro Evolution allows you to and what neuro Evolution allows you to and what neuro Evolution allows you to do is say what if those dots could sort do is say what if those dots could sort do is say what if those dots could sort of evolve different behaviors involve of evolve different behaviors involve of evolve different behaviors involve different intelligences uh uh to achieve different intelligences uh uh to achieve different intelligences uh uh to achieve different kinds of goals and so to me different kinds of goals and so to me different kinds of goals and so to me it's a really lightweight fun playful it's a really lightweight fun playful it's a really lightweight fun playful accessible easy to run in JavaScript in accessible easy to run in JavaScript in accessible easy to run in JavaScript in the browser with no other dependencies the browser with no other dependencies the browser with no other dependencies kind of way way of getting to play with kind of way way of getting to play with kind of way way of getting to play with machine learning and AI so that's that's machine learning and AI so that's that's machine learning and AI so that's that's what took you know several added a

  7. what took you know several added a what took you know several added a couple years onto the project of like couple years onto the project of like couple years onto the project of like pulling all those examples and pulling all those examples and pulling all those examples and explanations together all right there is explanations together all right there is explanations together all right there is a ton of of to unpack there a ton of a ton of of to unpack there a ton of a ton of of to unpack there a ton of enthusiasm unpack I love that I want to enthusiasm unpack I love that I want to enthusiasm unpack I love that I want to emphasize because this is a uh you know emphasize because this is a uh you know emphasize because this is a uh you know an audible podcast people are like I'm an audible podcast people are like I'm an audible podcast people are like I'm having trouble visualizing this this having trouble visualizing this this having trouble visualizing this this book starts with vectors it starts with book starts with vectors it starts with book starts with vectors it starts with forces it's like put a dot on the screen forces it's like put a dot on the screen forces it's like put a dot on the screen head in that direction and then by head in that direction and then by head in that direction and then by chapter 10 and 11 you're coding a chapter 10 and 11 you're coding a chapter 10 and 11 you're coding a machine learning version of flappy bird machine learning version of flappy bird machine learning version of flappy bird that learns how to Flap on its own which that learns how to Flap on its own which that learns how to Flap on its own which I think is just such a wonderful example I think is just such a wonderful example I think is just such a wonderful example of like starting with the base of the of like starting with the base of the of like starting with the base of the pyramid and building up and at the pyramid and building up and at the pyramid and building up and at the beginning you're like okay hello world beginning you're like okay hello world beginning you're like okay hello world is what is Randomness and by the end is what is Randomness and by the end is what is Randomness and by the end you're doing neuroevolutionary ecosystem you're doing neuroevolutionary ecosystem you're doing neuroevolutionary ecosystem programming that if that's your kind of programming that if that's your kind of programming that if that's your kind of fun then the nature of code is the place fun then the nature of code is the place fun then the nature of code is the place to be you know what I'm saying yeah and to be you know what I'm saying yeah and to be you know what I'm saying yeah and I'm glad you uh thank you for I'm glad you uh thank you for I'm glad you uh thank you for characterizing it that way because I characterizing it that way because I characterizing it that way because I really put a lot of effort into trying really put a lot of effort into trying really put a lot of effort into trying to think I mean it's it's ultimately to think I mean it's it's ultimately to think I mean it's it's ultimately it's a textbook and it's a technical it's a textbook and it's a technical it's a textbook and it's a technical book that has explanations and code book that has explanations and code book that has explanations and code examples and diagrams but but I really examples and diagrams but but I really examples and diagrams but but I really tried to think of it as like a story um tried to think of it as like a story um tried to think of it as like a story um and like you know the beginning is just and like you know the beginning is just and like you know the beginning is just the single dot moving randomly and then the single dot moving randomly and then the single dot moving randomly and then it uh it starts to follow Newton's Laws it uh it starts to follow Newton's Laws it uh it starts to follow Newton's Laws then it starts to you know be able to then it starts to you know be able to then it starts to you know be able to oscillate with uh you know Tri oscillate with uh you know Tri oscillate with uh you know Tri trigonometry functions and so on and so trigonometry functions and so on and so trigonometry functions and so on and so forth ending with this uh neuro forth ending with this uh neuro forth ending with this uh neuro Evolution so there's a lot of Meandering Evolution so there's a lot of Meandering Evolution so there's a lot of Meandering tangents along the way but I really try tangents along the way but I really try tangents along the way but I really try to um kind of uh follow that storyline to um kind of uh follow that storyline to um kind of uh follow that storyline through it and I'm I'm hoping that comes

  8. through it and I'm I'm hoping that comes through it and I'm I'm hoping that comes through for the reader and people who through for the reader and people who through for the reader and people who are making projects with it one thing are making projects with it one thing are making projects with it one thing that I think is useful to add for that I think is useful to add for that I think is useful to add for anybody listening is this is not a anybody listening is this is not a anybody listening is this is not a beginner learn to code book it's the beginner learn to code book it's the beginner learn to code book it's the whole ethos of it is to be as friendly whole ethos of it is to be as friendly whole ethos of it is to be as friendly and welcoming uh to anyone who sort of and welcoming uh to anyone who sort of and welcoming uh to anyone who sort of took a math class or or has ever been took a math class or or has ever been took a math class or or has ever been intimidated by a math formula that intimidated by a math formula that intimidated by a math formula that they've seen in a physics textbook but they've seen in a physics textbook but they've seen in a physics textbook but it does require some of the basics of it does require some of the basics of it does require some of the basics of programming but what I would say is it's programming but what I would say is it's programming but what I would say is it's really for anybody who's one is if you really for anybody who's one is if you really for anybody who's one is if you read the introduction I've got a zillion read the introduction I've got a zillion read the introduction I've got a zillion suggestions of like just watch this set suggestions of like just watch this set suggestions of like just watch this set of videos first or go learn these of videos first or go learn these of videos first or go learn these tutorials first you can be a beginner to tutorials first you can be a beginner to tutorials first you can be a beginner to programming but it does require the sort programming but it does require the sort programming but it does require the sort of basics of variables Loops of basics of variables Loops of basics of variables Loops conditionals arrays functions objects I conditionals arrays functions objects I conditionals arrays functions objects I don't know if I missed anything there don't know if I missed anything there don't know if I missed anything there but no but like to your credit you do but no but like to your credit you do but no but like to your credit you do start in the introduction with the first start in the introduction with the first start in the introduction with the first line of code you see when you read this line of code you see when you read this line of code you see when you read this book is xal X plus one yes and if you book is xal X plus one yes and if you book is xal X plus one yes and if you can understand that and you can go well can understand that and you can go well can understand that and you can go well that's going to send the dot in that way that's going to send the dot in that way that's going to send the dot in that way it'll go it does ramp up quickly so so it'll go it does ramp up quickly so so it'll go it does ramp up quickly so so like you said it's not a learn to code like you said it's not a learn to code like you said it's not a learn to code book but it is it is learn about your book but it is it is learn about your book but it is it is learn about your enthusiasm this is a bottled example of enthusiasm this is a bottled example of enthusiasm this is a bottled example of Daniel schiffman's enthusiasm you I feel Daniel schiffman's enthusiasm you I feel Daniel schiffman's enthusiasm you I feel like you kind of wander the earth with like you kind of wander the earth with like you kind of wander the earth with like knocking on doors going have you like knocking on doors going have you like knocking on doors going have you heard the news have you heard the news heard the news have you heard the news heard the news have you heard the news about physics and art and Math and about physics and art and Math and about physics and art and Math and Science and like you know what I mean Science and like you know what I mean Science and like you know what I mean can I can I come in and talk to you can I can I come in and talk to you can I can I come in and talk to you about about you know processing and about about you know processing and about about you know processing and about you know P5 um that Joy is over is

  9. about you know P5 um that Joy is over is about you know P5 um that Joy is over is um is like it it leaks out of you in the um is like it it leaks out of you in the um is like it it leaks out of you in the most positive way and it feels like this most positive way and it feels like this most positive way and it feels like this book is just such a expression of that book is just such a expression of that book is just such a expression of that do you ever feel like you're running do you ever feel like you're running do you ever feel like you're running around trying to get people to like have around trying to get people to like have around trying to get people to like have you heard the news and they're just like you heard the news and they're just like you heard the news and they're just like I don't really care how do I get my I don't really care how do I get my I don't really care how do I get my teenagers to care about this because teenagers to care about this because teenagers to care about this because it's so cool because it's physics it's it's so cool because it's physics it's it's so cool because it's physics it's biology it's math it's art it's science biology it's math it's art it's science biology it's math it's art it's science yeah well I'm you know on the one hand yeah well I'm you know on the one hand yeah well I'm you know on the one hand my I I do I I agree with your with what my I I do I I agree with your with what my I I do I I agree with your with what with everything you're saying here I with everything you're saying here I with everything you're saying here I also feel like I have this point of view also feel like I have this point of view also feel like I have this point of view of like look I'm gonna tell you about of like look I'm gonna tell you about of like look I'm gonna tell you about this thing that I'm really excited about this thing that I'm really excited about this thing that I'm really excited about and bring all of my enthusiasm to it but and bring all of my enthusiasm to it but and bring all of my enthusiasm to it but it's kind of okay if you're not so is it it's kind of okay if you're not so is it it's kind of okay if you're not so is it okay though I don't think it's okay you okay though I don't think it's okay you okay though I don't think it's okay you could go play music you could go outside could go play music you could go outside could go play music you could go outside and kick a soccer ball around you know and kick a soccer ball around you know and kick a soccer ball around you know there's there's many aspect go hug uh there's there's many aspect go hug uh there's there's many aspect go hug uh you know cook food for your family you know cook food for your family you know cook food for your family there's many aspects of life that are there's many aspects of life that are there's many aspects of life that are incredibly meaningful and um so but um I incredibly meaningful and um so but um I incredibly meaningful and um so but um I do think that you know the thing that do think that you know the thing that do think that you know the thing that I'm trying to do and and I I think for I'm trying to do and and I I think for I'm trying to do and and I I think for me what's really important is that me what's really important is that me what's really important is that anybody everybody should have the anybody everybody should have the anybody everybody should have the opportunity to learn to code especially opportunity to learn to code especially opportunity to learn to code especially you know I always say like everybody you know I always say like everybody you know I always say like everybody doesn't have to learn to code but doesn't have to learn to code but doesn't have to learn to code but everybody should have that opportunity everybody should have that opportunity everybody should have that opportunity and especially in to you know the the and especially in to you know the the and especially in to you know the the world that we're living in where so much world that we're living in where so much world that we're living in where so much of our life is governed by software uh of our life is governed by software uh of our life is governed by software uh it can just having the vocabulary the it can just having the vocabulary the it can just having the vocabulary the understanding is an empowering thing and understanding is an empowering thing and understanding is an empowering thing and so that's what I'm TR I'm trying to and so that's what I'm TR I'm trying to and so that's what I'm TR I'm trying to and I think that art and creativity and

  10. I think that art and creativity and I think that art and creativity and self-expression is not always the lens self-expression is not always the lens self-expression is not always the lens through which uh coding or computer through which uh coding or computer through which uh coding or computer science is taught um and so that's it's science is taught um and so that's it's science is taught um and so that's it's not the only way to do it it's not the not the only way to do it it's not the not the only way to do it it's not the perfect way to do it but it's a way that perfect way to do it but it's a way that perfect way to do it but it's a way that I think brings a lot of people who may I think brings a lot of people who may I think brings a lot of people who may have thought oh this is not something have thought oh this is not something have thought oh this is not something I'm allowed to do or can do to it and it I'm allowed to do or can do to it and it I'm allowed to do or can do to it and it it's nice to have something like the the it's nice to have something like the the it's nice to have something like the the idea of the stuff that I teach the way idea of the stuff that I teach the way idea of the stuff that I teach the way that I teach online is like there's no that I teach online is like there's no that I teach online is like there's no answer to this problem it's an answer to this problem it's an answer to this problem it's an exploration and so sometimes you do need exploration and so sometimes you do need exploration and so sometimes you do need that you know you do need that answer if that you know you do need that answer if that you know you do need that answer if you for a company and you have to like you for a company and you have to like you for a company and you have to like uh release something that's not going to uh release something that's not going to uh release something that's not going to break you know if you work if if you're break you know if you work if if you're break you know if you work if if you're trying to write software to make a you trying to write software to make a you trying to write software to make a you know rocket ship go to the Moon there's know rocket ship go to the Moon there's know rocket ship go to the Moon there's certain stakes and thresholds there that certain stakes and thresholds there that certain stakes and thresholds there that you need to achieve but I think when you need to achieve but I think when you need to achieve but I think when you're learning and you're exploring you're learning and you're exploring you're learning and you're exploring that playfulness that release of just that playfulness that release of just that playfulness that release of just you don't have to know where you're you don't have to know where you're you don't have to know where you're going you can let the software and the going you can let the software and the going you can let the software and the exploration drive you that's what I try exploration drive you that's what I try exploration drive you that's what I try to do and the book is is hopefully um an to do and the book is is hopefully um an to do and the book is is hopefully um an extension of that it's a little less extension of that it's a little less extension of that it's a little less rambly and chaotic than my videos rambly and chaotic than my videos rambly and chaotic than my videos because you know there was an editor and because you know there was an editor and because you know there was an editor and a process of putting it together so you a process of putting it together so you a process of putting it together so you know I I one thing I know like sometimes know I I one thing I know like sometimes know I I one thing I know like sometimes I think a lot you know I recognize a lot I think a lot you know I recognize a lot I think a lot you know I recognize a lot of people love my videos but you know of people love my videos but you know of people love my videos but you know there is a small percentage of like this there is a small percentage of like this there is a small percentage of like this is too much for me the energy is like is too much for me the energy is like is too much for me the energy is like too much so but the book the book might too much so but the book the book might too much so but the book the book might actually be for you if that's the case actually be for you if that's the case actually be for you if that's the case because you can quietly read it in your because you can quietly read it in your because you can quietly read it in your own voice so yeah I have been accused as own voice so yeah I have been accused as own voice so yeah I have been accused as I ENT as my I have my fourth Diet Coke I ENT as my I have my fourth Diet Coke I ENT as my I have my fourth Diet Coke of the day of maybe being a little too of the day of maybe being a little too of the day of maybe being a little too caffeinated a little too excited about caffeinated a little too excited about caffeinated a little too excited about stuff but what what I like about this is

  11. stuff but what what I like about this is stuff but what what I like about this is like it starts at a bounce you know like it starts at a bounce you know like it starts at a bounce you know here's a dot let's bounce it around and here's a dot let's bounce it around and here's a dot let's bounce it around and then you know by the end you're then you know by the end you're then you know by the end you're interacting with it you're learning interacting with it you're learning interacting with it you're learning about Springs and particles and for me about Springs and particles and for me about Springs and particles and for me it's connecting to the physical world in it's connecting to the physical world in it's connecting to the physical world in a way that is just really like wow a way that is just really like wow a way that is just really like wow physics is not a lie you can predict the physics is not a lie you can predict the physics is not a lie you can predict the future yeah and the other thing you know future yeah and the other thing you know future yeah and the other thing you know you talking about getting kids excited you talking about getting kids excited you talking about getting kids excited about it this is probably a you know the about it this is probably a you know the about it this is probably a you know the the closest to a game development book the closest to a game development book the closest to a game development book or set of tutorials that I it's it's not or set of tutorials that I it's it's not or set of tutorials that I it's it's not explicitly that there's nothing about explicitly that there's nothing about explicitly that there's nothing about about the sort of theory and practice of about the sort of theory and practice of about the sort of theory and practice of game design in it but in terms of uh you game design in it but in terms of uh you game design in it but in terms of uh you know if you look at in terms of like the know if you look at in terms of like the know if you look at in terms of like the techniques and the algorithms that I'm techniques and the algorithms that I'm techniques and the algorithms that I'm going through in the book that's going through in the book that's going through in the book that's something that would be excited anybody something that would be excited anybody something that would be excited anybody who's interested in in making games I who's interested in in making games I who's interested in in making games I think there's a lot there um yeah that I think there's a lot there um yeah that I think there's a lot there um yeah that I think is is is one way to go through the think is is is one way to go through the think is is is one way to go through the material and think about what you want material and think about what you want material and think about what you want to build from from reading it through to build from from reading it through to build from from reading it through and I also want to I want to call back and I also want to I want to call back and I also want to I want to call back to your point about not everyone should to your point about not everyone should to your point about not everyone should learn to code or needs to learn to code learn to code or needs to learn to code learn to code or needs to learn to code but you should have the opportunity and but you should have the opportunity and but you should have the opportunity and teaching people hello world at the teaching people hello world at the teaching people hello world at the command line doesn't cut it anymore to command line doesn't cut it anymore to command line doesn't cut it anymore to get anyone excited they've got iPads and get anyone excited they've got iPads and get anyone excited they've got iPads and they've got Netflix so we got to compete they've got Netflix so we got to compete they've got Netflix so we got to compete uh and uh but hey I can make a game I uh and uh but hey I can make a game I uh and uh but hey I can make a game I can bounce something around I can I can can bounce something around I can I can can bounce something around I can I can interact with the real world I can add interact with the real world I can add interact with the real world I can add color uh in a in a few number of lines color uh in a in a few number of lines color uh in a in a few number of lines of code I think processing and p5js and of code I think processing and p5js and of code I think processing and p5js and uh tools like it allow you to do a huge uh tools like it allow you to do a huge uh tools like it allow you to do a huge amount of work in a small amount of amount of work in a small amount of amount of work in a small amount of space like five six lines of code and

  12. space like five six lines of code and space like five six lines of code and you're doing a lot yeah and I you know I you're doing a lot yeah and I you know I you're doing a lot yeah and I you know I I you you picking JavaScript for this I you you picking JavaScript for this I you you picking JavaScript for this book is you know not the most obvious book is you know not the most obvious book is you know not the most obvious choice and I think there's plenty of choice and I think there's plenty of choice and I think there's plenty of reasons you could come up with as to why reasons you could come up with as to why reasons you could come up with as to why you'd want to do a lot of this work in a you'd want to do a lot of this work in a you'd want to do a lot of this work in a different programming language or different programming language or different programming language or environment but for me this environment but for me this environment but for me this idea this the the the the fact that you idea this the the the the fact that you idea this the the the the fact that you know especially in the online version of know especially in the online version of know especially in the online version of the book you can just click on one of the book you can just click on one of the book you can just click on one of the examples obviously if you're reading the examples obviously if you're reading the examples obviously if you're reading the print text then you just go right to the print text then you just go right to the print text then you just go right to the website and the code is running the website and the code is running the website and the code is running right there for you in a web editor you right there for you in a web editor you right there for you in a web editor you can just change the color change one can just change the color change one can just change the color change one line of code have a new version save it line of code have a new version save it line of code have a new version save it share it with your friends that has been share it with your friends that has been share it with your friends that has been so key to me the P the friendliness of so key to me the P the friendliness of so key to me the P the friendliness of the P5 project and its ecosystem you the P5 project and its ecosystem you the P5 project and its ecosystem you know this book would not be possible know this book would not be possible know this book would not be possible without all the work that went into the without all the work that went into the without all the work that went into the p5js web editor that allows me to host p5js web editor that allows me to host p5js web editor that allows me to host all of the examples so I think that's all of the examples so I think that's all of the examples so I think that's something that I think really especially something that I think really especially something that I think really especially for a Middle School a high school kid for a Middle School a high school kid for a Middle School a high school kid who's getting into programming you know who's getting into programming you know who's getting into programming you know the fact that you can work on your code the fact that you can work on your code the fact that you can work on your code at the library on a friend's laptop at at the library on a friend's laptop at at the library on a friend's laptop at their house go home if you have a their house go home if you have a their house go home if you have a computer at home you're suddenly like computer at home you're suddenly like computer at home you're suddenly like have your code right there so that that have your code right there so that that have your code right there so that that that was really important to me and it that was really important to me and it that was really important to me and it is really important to me in how I teach is really important to me in how I teach is really important to me in how I teach and produce materials however I will and produce materials however I will and produce materials however I will give a little plug which is that with give a little plug which is that with give a little plug which is that with the with the earlier version of the book the with the earlier version of the book the with the earlier version of the book many people would read through it and many people would read through it and many people would read through it and learn the material by porting it to learn the material by porting it to learn the material by porting it to their own environment or language of their own environment or language of their own environment or language of choice so people would do things you choice so people would do things you choice so people would do things you know they made threejs versions of all know they made threejs versions of all know they made threejs versions of all the examples or they did all the

  13. the examples or they did all the the examples or they did all the examples in unity um so I really want to examples in unity um so I really want to examples in unity um so I really want to encourage people one that is a way I encourage people one that is a way I encourage people one that is a way I think if you're if you're not as into think if you're if you're not as into think if you're if you're not as into JavaScript um hopefully the book like JavaScript um hopefully the book like JavaScript um hopefully the book like really just explains it's more to me really just explains it's more to me really just explains it's more to me it's not a JavaScript book it's really it's not a JavaScript book it's really it's not a JavaScript book it's really more about the algorithms and ideas and more about the algorithms and ideas and more about the algorithms and ideas and I would love to see what happens when I would love to see what happens when I would love to see what happens when people read it and kind of like recreate people read it and kind of like recreate people read it and kind of like recreate everything in their language of choice everything in their language of choice everything in their language of choice and I'm hoping to compile all of the and I'm hoping to compile all of the and I'm hoping to compile all of the ports of all of the examples you know ports of all of the examples you know ports of all of the examples you know I'm making processing versions and uh I'm making processing versions and uh I'm making processing versions and uh you know uh hopefully going to have some you know uh hopefully going to have some you know uh hopefully going to have some C+ plus versions with a library called C+ plus versions with a library called C+ plus versions with a library called open Frameworks so uh if anybody's open Frameworks so uh if anybody's open Frameworks so uh if anybody's interested in contributing that you can interested in contributing that you can interested in contributing that you can go to the website and the GitHub and um go to the website and the GitHub and um go to the website and the GitHub and um there'll be places where you can um add there'll be places where you can um add there'll be places where you can um add your reports you've talked about things your reports you've talked about things your reports you've talked about things that are important to you and I think that are important to you and I think that are important to you and I think it's worth noting that you you have for it's worth noting that you you have for it's worth noting that you you have for 20 years given very freely Creative 20 years given very freely Creative 20 years given very freely Creative Commons right this is a thing go play Commons right this is a thing go play Commons right this is a thing go play with it right now folks can go to no with it right now folks can go to no with it right now folks can go to no star.com and they can purchase a lovely star.com and they can purchase a lovely star.com and they can purchase a lovely giant 600 page version of this it is a giant 600 page version of this it is a giant 600 page version of this it is a beautiful book you should buy it but beautiful book you should buy it but beautiful book you should buy it but they can also just go to natureof they can also just go to natureof they can also just go to natureof code.com on their iPad and it's right code.com on their iPad and it's right code.com on their iPad and it's right there and you've broken it down into a there and you've broken it down into a there and you've broken it down into a effectively a 14 week long class for the effectively a 14 week long class for the effectively a 14 week long class for the autodidact out there or the homeschooled autodidact out there or the homeschooled autodidact out there or the homeschooled kid or the computer science professor at kid or the computer science professor at kid or the computer science professor at high school to build it's a complete high school to build it's a complete high school to build it's a complete class how can you you're not going to class how can you you're not going to class how can you you're not going to get any money on that because I'm just get any money on that because I'm just get any money on that because I'm just going to go to the website and do it for going to go to the website and do it for going to go to the website and do it for free so like how can you be magnanimous free so like how can you be magnanimous free so like how can you be magnanimous but also you like pay your rent well but also you like pay your rent well but also you like pay your rent well there's a couple things one is I'm very there's a couple things one is I'm very there's a couple things one is I'm very privileged and lucky to have a full-time

  14. privileged and lucky to have a full-time privileged and lucky to have a full-time teaching job at NYU and you know it's a teaching job at NYU and you know it's a teaching job at NYU and you know it's a incredibly uh the I don't even tell incredibly uh the I don't even tell incredibly uh the I don't even tell anybody what the cost of Education anybody what the cost of Education anybody what the cost of Education higher education here is in the US so to higher education here is in the US so to higher education here is in the US so to me it's important uh in working in that me it's important uh in working in that me it's important uh in working in that environment that is very inaccessible to environment that is very inaccessible to environment that is very inaccessible to so many people to be able to try to keep so many people to be able to try to keep so many people to be able to try to keep the materials that I do for NYU as open the materials that I do for NYU as open the materials that I do for NYU as open education um so you know this is it yes education um so you know this is it yes education um so you know this is it yes you could say that it's generous but I you could say that it's generous but I you could say that it's generous but I would say that it's more like subsidized would say that it's more like subsidized would say that it's more like subsidized by the fact that I work so I consider by the fact that I work so I consider by the fact that I work so I consider this my research and work as part of my this my research and work as part of my this my research and work as part of my job at NYU is to create these open job at NYU is to create these open job at NYU is to create these open education materials the other thing that education materials the other thing that education materials the other thing that I would say and this is kind of I would say and this is kind of I would say and this is kind of interesting that you know I think a lot interesting that you know I think a lot interesting that you know I think a lot of some Publishers might noarch was not of some Publishers might noarch was not of some Publishers might noarch was not this they were very like excited and this they were very like excited and this they were very like excited and thrilled and willing to work with me but thrilled and willing to work with me but thrilled and willing to work with me but some Publishers might say oh no we don't some Publishers might say oh no we don't some Publishers might say oh no we don't want to release this for free creative want to release this for free creative want to release this for free creative comments because no one will buy the comments because no one will buy the comments because no one will buy the print book and my experience has really print book and my experience has really print book and my experience has really been the opposite to me it's about the been the opposite to me it's about the been the opposite to me it's about the the website is a way to um it's the website is a way to um it's the website is a way to um it's marketing essentially it's the free you marketing essentially it's the free you marketing essentially it's the free you know I think some people will want the know I think some people will want the know I think some people will want the print book and they'll buy it but lots print book and they'll buy it but lots print book and they'll buy it but lots of people are going to come to the of people are going to come to the of people are going to come to the website and find it and share it with website and find it and share it with website and find it and share it with their friends and to me that actually their friends and to me that actually their friends and to me that actually raises the reach of the book and you raises the reach of the book and you raises the reach of the book and you know I don't have any data really to know I don't have any data really to know I don't have any data really to back this up other than anecdotal back this up other than anecdotal back this up other than anecdotal evidence but to me it is not taking away evidence but to me it is not taking away evidence but to me it is not taking away from people purchasing the print book from people purchasing the print book from people purchasing the print book itself it's it's just like creating a itself it's it's just like creating a itself it's it's just like creating a what what in my view is uh something what what in my view is uh something what what in my view is uh something that has uh a way for more people to

  15. that has uh a way for more people to that has uh a way for more people to access it I will also just plug that I access it I will also just plug that I access it I will also just plug that I just recently you of course you can just recently you of course you can just recently you of course you can pre-order or actually order the book now pre-order or actually order the book now pre-order or actually order the book now it's actually being shipped already from it's actually being shipped already from it's actually being shipped already from no star.com but I actually just added a no star.com but I actually just added a no star.com but I actually just added a Shopify system on the natureof code.com Shopify system on the natureof code.com Shopify system on the natureof code.com as well so you can people can buy the as well so you can people can buy the as well so you can people can buy the the print version direct from from me as the print version direct from from me as the print version direct from from me as well if they're if they're so inclined well if they're if they're so inclined well if they're if they're so inclined the last couple of episodes of the show the last couple of episodes of the show the last couple of episodes of the show a couple of times this term product L a couple of times this term product L a couple of times this term product L growth has come up it's a fancy MBA term growth has come up it's a fancy MBA term growth has come up it's a fancy MBA term for make a product that's so delightful for make a product that's so delightful for make a product that's so delightful people will talk about it I feel like people will talk about it I feel like people will talk about it I feel like the nature of code goes back to the the nature of code goes back to the the nature of code goes back to the times of like shareware where it's like times of like shareware where it's like times of like shareware where it's like look it's free it's so amazing and it's look it's free it's so amazing and it's look it's free it's so amazing and it's like oh my goodness I love it so much like oh my goodness I love it so much like oh my goodness I love it so much I'm gonna send five doar to them because I'm gonna send five doar to them because I'm gonna send five doar to them because I love them you know what I mean like I love them you know what I mean like I love them you know what I mean like give freely and the money will flow back give freely and the money will flow back give freely and the money will flow back to you is almost your Vibe right and and to you is almost your Vibe right and and to you is almost your Vibe right and and also like to me that was one of the also like to me that was one of the also like to me that was one of the reasons why I wanted to work with no reasons why I wanted to work with no reasons why I wanted to work with no starch to create a like a really high starch to create a like a really high starch to create a like a really high quality print version so yes it's it's quality print version so yes it's it's quality print version so yes it's it's very it's kind of like I'm but when it very it's kind of like I'm but when it very it's kind of like I'm but when it came to me I was like surprised wow this came to me I was like surprised wow this came to me I was like surprised wow this is really heavy who's going to want to is really heavy who's going to want to is really heavy who's going to want to carry this around but to me it um there carry this around but to me it um there carry this around but to me it um there is something really and I do this like is something really and I do this like is something really and I do this like um there's a book actually it's also no um there's a book actually it's also no um there's a book actually it's also no starch eloquent JavaScript speaking of starch eloquent JavaScript speaking of starch eloquent JavaScript speaking of things if you want to look at before you things if you want to look at before you things if you want to look at before you read nature of code it's a great book read nature of code it's a great book read nature of code it's a great book for uh that's also I think free online for uh that's also I think free online for uh that's also I think free online creative comments for learning creative comments for learning creative comments for learning JavaScript and um I I was reading it JavaScript and um I I was reading it JavaScript and um I I was reading it online I was like I I just love this so online I was like I I just love this so online I was like I I just love this so much I got it I got to have it on my much I got it I got to have it on my much I got it I got to have it on my shelf so I can like use it as a prop so shelf so I can like use it as a prop so shelf so I can like use it as a prop so I think um to me uh um you know the I think um to me uh um you know the I think um to me uh um you know the earlier if anybody has the 2012 version

  16. earlier if anybody has the 2012 version earlier if anybody has the 2012 version of nature of code you know I can't look of nature of code you know I can't look of nature of code you know I can't look that the the the print quality like that the the the print quality like that the the the print quality like there's like these beautiful diagrams there's like these beautiful diagrams there's like these beautiful diagrams that are hand Illustrated that are kind that are hand Illustrated that are kind that are hand Illustrated that are kind of washed out and like the paper is very of washed out and like the paper is very of washed out and like the paper is very kind of like thin and So like um the new kind of like thin and So like um the new kind of like thin and So like um the new version of the book it has this flexy version of the book it has this flexy version of the book it has this flexy bound cover um that has you know you can bound cover um that has you know you can bound cover um that has you know you can even like sort of feel the title is even like sort of feel the title is even like sort of feel the title is slightly like embossed and raised and I slightly like embossed and raised and I slightly like embossed and raised and I don't know what to call this it has one don't know what to call this it has one don't know what to call this it has one of these pieces of cloth fabric that's of these pieces of cloth fabric that's of these pieces of cloth fabric that's like a bookmark oh yeah the bookmark like a bookmark oh yeah the bookmark like a bookmark oh yeah the bookmark with the yeah right down the spine with the yeah right down the spine with the yeah right down the spine that's so nice so those things like it that's so nice so those things like it that's so nice so those things like it it makes it um yes I'm hoping people it makes it um yes I'm hoping people it makes it um yes I'm hoping people actually want to read the physical book actually want to read the physical book actually want to read the physical book but it's a nice thing to sort of to have but it's a nice thing to sort of to have but it's a nice thing to sort of to have and and hold on to and and hold on to and and hold on to preciously pillow I don't have any preciously pillow I don't have any preciously pillow I don't have any relationship with no starch I think that relationship with no starch I think that relationship with no starch I think that they're lovely but I think it's cool they're lovely but I think it's cool they're lovely but I think it's cool that you found someone who cared about that you found someone who cared about that you found someone who cared about the little details because it is the the little details because it is the the little details because it is the little details like you're always little details like you're always little details like you're always improving it you're making sure that improving it you're making sure that improving it you're making sure that it's correct this reminds me of Donald it's correct this reminds me of Donald it's correct this reminds me of Donald can you can go and take a look at can can you can go and take a look at can can you can go and take a look at can reward check he would personally design reward check he would personally design reward check he would personally design a reward check if you sent him a bug in a reward check if you sent him a bug in a reward check if you sent him a bug in in his book uh he's written like 2,000 in his book uh he's written like 2,000 in his book uh he's written like 2,000 checks and they're always for a couple checks and they're always for a couple checks and they're always for a couple of dollars it's like a dollar or of dollars it's like a dollar or of dollars it's like a dollar or $256 you know what I mean because he $256 you know what I mean because he $256 you know what I mean because he cared about the books he wanted to cared about the books he wanted to cared about the books he wanted to improve it you get the bragging rights improve it you get the bragging rights improve it you get the bragging rights no one ever cashes them they just like no one ever cashes them they just like no one ever cashes them they just like frame them you know so the point I'm frame them you know so the point I'm frame them you know so the point I'm making is that you appreciate the the making is that you appreciate the the making is that you appreciate the the the the space so that you cared and then the the space so that you cared and then the the space so that you cared and then you found a partner in no starch press

  17. you found a partner in no starch press you found a partner in no starch press to make you a physical artifact that to make you a physical artifact that to make you a physical artifact that cared about you know honoring the work cared about you know honoring the work cared about you know honoring the work which I thought was really cool I don't which I thought was really cool I don't which I thought was really cool I don't send people checks although I uh but I I send people checks although I uh but I I send people checks although I uh but I I am sending a special I did also make a am sending a special I did also make a am sending a special I did also make a special bookmark in a special bookmark in a special bookmark in a sticker so you get that if you buy the sticker so you get that if you buy the sticker so you get that if you buy the that's good yes I wasn't trying to push that's good yes I wasn't trying to push that's good yes I wasn't trying to push you into the corner where you have to you into the corner where you have to you into the corner where you have to start sending check now you cash app start sending check now you cash app start sending check now you cash app everyone no but uh the point is that everyone no but uh the point is that everyone no but uh the point is that you're building a community around this you're building a community around this you're building a community around this there's a brilliant Community around p there's a brilliant Community around p there's a brilliant Community around p built out of processing you were a built out of processing you were a built out of processing you were a co-founder of processing uh processing co-founder of processing uh processing co-founder of processing uh processing you said was a Java based thing P5 is you said was a Java based thing P5 is you said was a Java based thing P5 is kind of a reimagination or kind of a reimagination or kind of a reimagination or reimplementation in JavaScript yeah I reimplementation in JavaScript yeah I reimplementation in JavaScript yeah I think that's accurate and I think it's think that's accurate and I think it's think that's accurate and I think it's it's important to say that it's not it's it's important to say that it's not it's it's important to say that it's not it's not a port of processing to JavaScript I not a port of processing to JavaScript I not a port of processing to JavaScript I think a reimagination is actually the think a reimagination is actually the think a reimagination is actually the perfect word for it so um you know perfect word for it so um you know perfect word for it so um you know there's a there um I um I have um a few there's a there um I um I have um a few there's a there um I um I have um a few different videos on the coding train different videos on the coding train different videos on the coding train where I talk a bit more about the where I talk a bit more about the where I talk a bit more about the history of processes saying in some of history of processes saying in some of history of processes saying in some of these projects uh it's there's too many these projects uh it's there's too many these projects uh it's there's too many details to to go over in in a in a short details to to go over in in a in a short details to to go over in in a in a short podcast but um the process just to name podcast but um the process just to name podcast but um the process just to name a few uh key dates and people the a few uh key dates and people the a few uh key dates and people the processing project started in 2001 uh processing project started in 2001 uh processing project started in 2001 uh created by Casey Reese and Ben fry they created by Casey Reese and Ben fry they created by Casey Reese and Ben fry they were students of John Mida at the MIT were students of John Mida at the MIT were students of John Mida at the MIT media lab John maida created something media lab John maida created something media lab John maida created something called of design by numbers which you called of design by numbers which you called of design by numbers which you could point to as kind of like one of could point to as kind of like one of could point to as kind of like one of the predecessors for processing and it the predecessors for processing and it the predecessors for processing and it was incredibly revolutionary in my mind was incredibly revolutionary in my mind was incredibly revolutionary in my mind you know there's so many reasons why but you know there's so many reasons why but you know there's so many reasons why but I would say the one thing that was so I would say the one thing that was so I would say the one thing that was so revolutionary about it was this idea revolutionary about it was this idea revolutionary about it was this idea that when you ran your code you pressed that when you ran your code you pressed that when you ran your code you pressed a play button so this idea of compiling

  18. a play button so this idea of compiling a play button so this idea of compiling software was reduced to a media player software was reduced to a media player software was reduced to a media player this idea of play just a word play so to this idea of play just a word play so to this idea of play just a word play so to me that is kind of the foundational kind me that is kind of the foundational kind me that is kind of the foundational kind of aspect and the fact that it was just of aspect and the fact that it was just of aspect and the fact that it was just this Allin one place so you just this Allin one place so you just this Allin one place so you just download this thing you open it on your download this thing you open it on your download this thing you open it on your computer you can type rectangle line computer you can type rectangle line computer you can type rectangle line point and suddenly you're writing code point and suddenly you're writing code point and suddenly you're writing code and you're drawing stuff so the reason and you're drawing stuff so the reason and you're drawing stuff so the reason why process one of the reasons why why process one of the reasons why why process one of the reasons why processing used Java was because I don't processing used Java was because I don't processing used Java was because I don't know if you remember this I remember know if you remember this I remember know if you remember this I remember this in 2001 the way that you shared this in 2001 the way that you shared this in 2001 the way that you shared your animations through the web was your animations through the web was your animations through the web was through a thing called a Java applet through a thing called a Java applet through a thing called a Java applet good times good times yeah so that by good times good times yeah so that by good times good times yeah so that by the time I think if you get 10 years the time I think if you get 10 years the time I think if you get 10 years later to 2013 I can't remember when P5 later to 2013 I can't remember when P5 later to 2013 I can't remember when P5 started precisely you know applets started precisely you know applets started precisely you know applets really had fallen out of favor there really had fallen out of favor there really had fallen out of favor there were no longer being supported um and so were no longer being supported um and so were no longer being supported um and so Lauren McCarthy uh uh was one of the Lauren McCarthy uh uh was one of the Lauren McCarthy uh uh was one of the first processing Foundation fellows uh first processing Foundation fellows uh first processing Foundation fellows uh she was sort of asked the question what she was sort of asked the question what she was sort of asked the question what would it mean to reimagine processing in would it mean to reimagine processing in would it mean to reimagine processing in uh with today's technology with today's uh with today's technology with today's uh with today's technology with today's web uh you know this is over 10 years web uh you know this is over 10 years web uh you know this is over 10 years ago now and Lauren I think did two ago now and Lauren I think did two ago now and Lauren I think did two things one this idea of of reimagining things one this idea of of reimagining things one this idea of of reimagining processing for JavaScript in the browser processing for JavaScript in the browser processing for JavaScript in the browser was kind of key but I think people was kind of key but I think people was kind of key but I think people really actually what they really missed really actually what they really missed really actually what they really missed that Lauren did is more than just change that Lauren did is more than just change that Lauren did is more than just change the technology and put the ideas of the technology and put the ideas of the technology and put the ideas of processing into the browser uh processing into the browser uh processing into the browser uh processing always had a community and processing always had a community and processing always had a community and was always very community and was always very community and was always very community and documentation centered but it was much documentation centered but it was much documentation centered but it was much harder to contribute as uh to like fix a

  19. harder to contribute as uh to like fix a harder to contribute as uh to like fix a bug or to add something to the Java bug or to add something to the Java bug or to add something to the Java based development environment and Lauren based development environment and Lauren based development environment and Lauren really took um this idea of community really took um this idea of community really took um this idea of community and inclusion and breaking all of the and inclusion and breaking all of the and inclusion and breaking all of the lines between kind of user of a software lines between kind of user of a software lines between kind of user of a software and developer of the software and really and developer of the software and really and developer of the software and really just exploded that um in really just exploded that um in really just exploded that um in really beautiful and incredible ways that I beautiful and incredible ways that I beautiful and incredible ways that I think you know if you look through at think you know if you look through at think you know if you look through at the P5 website and follow processing and the P5 website and follow processing and the P5 website and follow processing and P5 on social media you'll see all the P5 on social media you'll see all the P5 on social media you'll see all the fruits of that labor so to me yes the uh fruits of that labor so to me yes the uh fruits of that labor so to me yes the uh the rectangle function the line function the rectangle function the line function the rectangle function the line function those are the same in P5 as in those are the same in P5 as in those are the same in P5 as in processing the API is uh very uh is is processing the API is uh very uh is is processing the API is uh very uh is is almost identical with with some kind of almost identical with with some kind of almost identical with with some kind of key differences but P5 was really key differences but P5 was really key differences but P5 was really reimagined for being web first this idea reimagined for being web first this idea reimagined for being web first this idea of a web editor as well as a community of a web editor as well as a community of a web editor as well as a community um Community First that's beautiful and um Community First that's beautiful and um Community First that's beautiful and just by the way while you were talking I just by the way while you were talking I just by the way while you were talking I texted John MAA uh he texted me back he texted John MAA uh he texted me back he texted John MAA uh he texted me back he said you're a sweetheart and he said you're a sweetheart and he said you're a sweetheart and he appreciates you uh John MAA formerly a appreciates you uh John MAA formerly a appreciates you uh John MAA formerly a research professor at MIT media lab he research professor at MIT media lab he research professor at MIT media lab he was on Hansel minutes episode 921 if was on Hansel minutes episode 921 if was on Hansel minutes episode 921 if you're interested in more about that so you're interested in more about that so you're interested in more about that so he's at Microsoft now is that correct he he's at Microsoft now is that correct he he's at Microsoft now is that correct he is vice president of design and AI is vice president of design and AI is vice president of design and AI amazing yeah there are many people that amazing yeah there are many people that amazing yeah there are many people that you could name as the beginning of all you could name as the beginning of all you could name as the beginning of all the work that I do and he is absolutely the work that I do and he is absolutely the work that I do and he is absolutely one of them Ah that's wonderful that's one of them Ah that's wonderful that's one of them Ah that's wonderful that's wonderful well there is going to be wonderful well there is going to be wonderful well there is going to be someone who very soon will do some work someone who very soon will do some work someone who very soon will do some work and they're going to say man that Dan and they're going to say man that Dan and they're going to say man that Dan shiffman in the coding train in nature shiffman in the coding train in nature shiffman in the coding train in nature of code that was the that's what it all of code that was the that's what it all of code that was the that's what it all started for me if you are interested in started for me if you are interested in started for me if you are interested in taking it to the next level learning taking it to the next level learning taking it to the next level learning about art and generation and creativity

  20. about art and generation and creativity about art and generation and creativity and physics and math and all these and physics and math and all these and physics and math and all these wonderful things I really recommend wonderful things I really recommend wonderful things I really recommend nature of code.com uh I have purchased nature of code.com uh I have purchased nature of code.com uh I have purchased two books uh one to keep in the wrapper two books uh one to keep in the wrapper two books uh one to keep in the wrapper and one to keep on the coffee table uh and one to keep on the coffee table uh and one to keep on the coffee table uh from myself uh we do appreciate you so from myself uh we do appreciate you so from myself uh we do appreciate you so much I want to encourage folks to visit much I want to encourage folks to visit much I want to encourage folks to visit the coding train to visit natureof the coding train to visit natureof the coding train to visit natureof code.com and follow Dan shiffman code.com and follow Dan shiffman code.com and follow Dan shiffman everywhere that you get your digital everywhere that you get your digital everywhere that you get your digital artifacts thanks so much for spending artifacts thanks so much for spending artifacts thanks so much for spending time with me today sir thanks for having time with me today sir thanks for having time with me today sir thanks for having me this is a real pleasure um I'm not me this is a real pleasure um I'm not me this is a real pleasure um I'm not used to being in audio form only so I I used to being in audio form only so I I used to being in audio form only so I I hope that I did okay I usually I usually hope that I did okay I usually I usually hope that I did okay I usually I usually survive uh by waving my arms around a survive uh by waving my arms around a survive uh by waving my arms around a lot so people can know that I was doing lot so people can know that I was doing lot so people can know that I was doing that during this conversation well we that during this conversation well we that during this conversation well we know what I'll do is I'll um maybe I'll know what I'll do is I'll um maybe I'll know what I'll do is I'll um maybe I'll stick this up on YouTube as well so then stick this up on YouTube as well so then stick this up on YouTube as well so then people can enjoy us uh frantically people can enjoy us uh frantically people can enjoy us uh frantically waving our arms and being excited waving our arms and being excited waving our arms and being excited because uh talking to you is always got because uh talking to you is always got because uh talking to you is always got me energized and excited and I want to me energized and excited and I want to me energized and excited and I want to go and learn more and experience more go and learn more and experience more go and learn more and experience more and share more with people so thank you and share more with people so thank you and share more with people so thank you so much thanks for having me we've been so much thanks for having me we've been so much thanks for having me we've been chatting with Dan schiffman and this has chatting with Dan schiffman and this has chatting with Dan schiffman and this has been another episode of Hansel minutes been another episode of Hansel minutes been another episode of Hansel minutes and we'll see you again next week oh and and we'll see you again next week oh and and we'll see you again next week oh and by the way if you made it this long into by the way if you made it this long into by the way if you made it this long into the podcast make sure that you check out the podcast make sure that you check out the podcast make sure that you check out the show notes there might be a coupon the show notes there might be a coupon the show notes there might be a coupon for the nature of code where you can get for the nature of code where you can get for the nature of code where you can get a discount using a special code that a discount using a special code that a discount using a special code that will be in the show notes so be sure to will be in the show notes so be sure to will be in the show notes so be sure to check that out

Summary

The main theme is a discussion about the "Nature of Code" project and its evolution. Key subjects mentioned are Daniel Shiffman from The Coding Train, Processing, p5.js, and the Lingo programming language. The practical takeaway is an appreciation for how creative coding resources continue to evolve and inspire new generations of learners.

View original episode ↗