Coding Train Live!: Genuary Speed Run Challenge!

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
foreign [Music] [Music] hi I think you're hearing my voice right I think the audio is not coming from the right source [Music] should be HDMI 2. [Music] foreign [Music] [Applause] [Music] thank you [Music] foreign [Music] foreign [Music] [Music] foreign [Music] [Music] foreign [Music] thank you [Music] [Music] thank you [Music] [Applause] [Music] thank you well hello everybody I'm a strange color hold on a second I really thought I had fixed everything and I'm gonna go to this camera and I'm just gonna put it on auto white balance Auto white balance okay hopefully that's going to make everything better hello happy Sunday welcome to a live episode of the coding train with me your host Dan wearing my Baltimore Orioles cap and really really just not sure at all if this is a good idea or not but I am going to Jump Right In let me just sort of like take a look at the chat um yeah I don't know what's going on with my camera settings maybe I look okay now uh maybe the lights a little bright I'm not going to get worried about it too much uh Raphael is in the chat Rafael Sable Ralph Sable wrath Sable Rafe is the inspiration for today although to be honest I did have this idea in my head although I would never have thought to call it a speed run or thought about it as like a thing just kind of like oh hey I'm not really having time for this January thing let me see if I could just do a live stream and like do a whole bunch of them that was as far as I had thought then I saw Rafael who has a wonderful twitch stream I think there's a link in the video description that you should check out he may actually be live streaming right now I'm not sure uh creative coding news and the weekly coding challenge so much stuff wonderful stuff going on there um that he is doing so you should definitely check out um Raphael's twitch stream so but I'm here to attempt uh you know what I think is a Young Person's game and I I am not a young person no more I was at one point in my life but when I was young there was no YouTube there really was no YouTube I had no way of bringing myself to you the viewers that I do now so I just have to do it as an old person and most of the time that involves me falling flat on my face and yet here we are again so you might not have seen me in a while I've been I've been kind of experimenting with YouTube shorts I know people love short form videos you can see it in the comments nobody ever has a negative thing to say about a short um but um which has been sort of a fun experiment I hope to do more of that I have a lot of ideas for them I just haven't figured out a kind of way of getting it into a regular weekly workflow a huge thanks to Bernie uh who has been working on the editing and production along with a creative team of folks that he works with um you know you can find out more about that if you check out my Twitter feed if you can bear to go on Twitter which I barely can these days but I'm still using it because I don't know what else to use YouTube Community posts anyway um ah so I I have a um I was on a year sabbatical and I had this whole list of projects and my sabbaticals now over and I'm still trying to do those projects one of which is a new full start to finish learn to code with processing complete beginner series I've recorded maybe a third of it now um hopefully you know certainly by the end of February I would hope that it would be out so that's kind of why I haven't been making new content because I'm recording this it's just gonna come out as one three or four hour Chunk on YouTube um I'm working on the nature of code book it did not hit my deadline but I am making progress without I would talk about all these things like I usually do on a live stream but we don't have time for that today um to Fox the bomb ass do I wear shorts in the winter well guess what I wore shorts today outside because I am now uh training for the Brooklyn half marathon which is on May 20th I had my first day of training today and that was like an easy two mile jog um and um uh yeah I wear shorts It's not that it's not that chilly today it's in the 40s in Fahrenheit that is okay um so I I'm reading the chat and I'm reading the comments what about Mastodon I have attempted it I have made tutorials in Mastodon I have a mastodon account I don't know I just haven't had um the time to really fully just just to like sort of move myself to a new platform I don't I barely use this stuff anyway so but yes I in in theory Mastodon is the perfect place for me and yet I can't seem to manage to do it um all right so go Seb for the London 10K I did actually run the London marathon is that the shirt that I'm wearing no this is a I got a a New York City marathon I have run three marathons I don't think I will ever do that again but a half marathon is I feel like a perfectly reasonable goal at my age and abilities um okay so um uh thank you Rafael for the if I point this way right for the live split that's showing up here let's move over here um I'm I don't know whether to use processing or P5 or something else even I just kind of have processing open let's go to the browser um I did make a repo a GitHub repo where I intend to and I would love help with this where I intend to document everything I do today here but I'm not going to do it while I'm coding so I'm gonna have to do this after the fact and anybody who wants to help with that I mean it's certainly uh you know help with it like pull request I don't know if it would make sense for you to like pull request stuff while I'm going or file issues but um yeah um all right lots of wonderful questions in the chat we don't got time for this today because Raphael completed this in five hours and 48 minutes and if I'm still here 5 hours and 48 for minutes from now we've got a big problem because I cannot stream for you know I've got children who need to have dinner uh do their homework I've got a dog who needs to be walked so I think that if I could go ease I could certainly go for two and a half hours um so let's see how it goes all right so just to talk about what this is if you're not familiar January January is a artificially generated month of time where we the community of people of the of Earth I don't know maybe the aliens or the aliens doing January build code that makes beautiful things I will not be making beautiful things today I will be building code over 744 hours for every 24 hours there's a new prompt you don't have to follow the prompt exactly or even at all but you know we put effort into this any language free framework or medium on any Planet see the millions are the aliens are doing January made of hashtags uh so you can do all that stuff tips and tricks so uh and then there are prompts so I'm going to start with January one you can see I have the live split thing here going it if it all goes according to plan as soon as I hit this key over here it will start when I finish this one I hit the key it goes on to the next one um let's set up some rules for myself let's I have a new whiteboard camera so I might as well come over here let's make up some rules and I'm um um um okay there is life split does have a pause but I don't tend to use it okay rule number one no rules who cares this is just for fun for educational slash entertainment purposes you pick one of those if it's both then boy I could just retire and this is the last live stream I will ever do no rules two um I but but if there were rules I can start from a coding challenge or any coding train video so I can start from any example that I've previously made but I don't want to just take the example and say I'm done so what is a threshold I must at least at least change uh one uh Behavior a behavior or visual element mildly significantly that's not proper English but you get the idea somebody I can ask chat GPT to clean that up for me um I am done uh prompt is complete when I see um uh uh what's a good Emoji for the chat the train emoji you can flood the chat with train emojis if you think I'm good to go or if I say so uh quantity over quality I'm trying to get through the whole thing they're not going to be brilliant they're not going to be sophisticated they're not going to be beautiful they're just going to be a thing that I did and like if you think about it if we're talking to let's say two hours 120 Minutes that's like four minutes per prompt if there's 30 prompts there's 31 prompt but technically I could just do up to 29. since that's today and I could do the other two but it wouldn't be the full speed run all right I'm gonna go look at the chat to see if anybody has anything to say about these rules is that is that even in Focus I don't know but you get the idea okay um so uh okay um mildly significant digits is the name of my next band says Chris um uh Yaz hire yazarax asks been under a rock for a while welcome back I hope you had a nice time under your rock I'm on the wrong screen uh here we are um and um do you have any open AI videos yet uh not really I made one short which is kind of like a bit of a jokey thing with chat gbt and I have been working on a lot of experiments uh fine-tuning gpt3 to my own bizarre tastes um and I've been enjoying that but I haven't made any videos about it yet okay anybody have anything they must say um before um do I take a drink of coffee every time you say oops rule number five I like that anybody else have anything else they want to say should I I will you indulge me with one plug um I have been working a lot with the wonderful streaming service called nebula and I have a new page on nebula um which is right here if you go to go.nebula.tv codingtrain this is a paid service it is a way of supporting the coding train uh I uh anybody who signs up to the coding train I I I'm a co-owner of nebula and there's a revenue sharing thing but I you know I'm I'm really interested in alternatives to YouTube and I think there's a lot of wonderful things about this platform that I can go on and on about in particular um all of these amazing originals and classes uh original content some really fantastic um so if you like sort of documentaries and educational content science if you like movies you're gonna find stuff Patrick Williams glasses this thumbnail is like this is like I aspire to make a thumbnail as good as this someday um so anyway please check that out if you're interested I made a class uh using an apple II that you would get it I I used to talk about this as a bundle with curiosity stream no forget about I mean curiosity stream great go sign up for curiosity stream I'm now encouraging people to actually just sign up for nebula directly it is four dollars a month with the discount if you go through um this link okay I just wanted to mention that as my little plug thank you for that Indulgence now are you ready are we ready I see kvikbon is in the chat uh excellent I always like to have some moderators in the chat that are helping me out all right it's also cold in here because I I ran the heat I got this very loud uh heater because I'm in a garage it's just like an electric fan thing that hangs from the ceiling but I turned it off to stream so I might have to turn it on at some point if it gets too cold are you ready for this uh uh I should put on some music I feel like one thing also is I might try to do some of this without talking through it so much because uh it'll help you go faster and it'll also save my voice I'm back teaching again at NYU this semester I gave a presentation yesterday I'm streaming today I want to record videos tomorrow I've got to teach Wednesday and Thursday I have a problem losing my voice I should probably go to like a vocal coach to make sure I'm breathing and speaking correctly but um yeah so here we go everybody this would be really sad if this doesn't work ah shoot okay wait do I come on I set up my uh hotkeys number lock one go there we go okay here we go uh the timer's going okay perfect Loop infinite Loop endless gifts okay this would actually be a good time to use P5 because of the new safe get fun until I get into the B5 web editor hell okay uh let's name this so we can find all these later January 1. all right um I did a whole like short about save gifts let's go to save gif uh save GIF function no no no no no no no no no no no no um this is like the greatest thing ever uh let's let's do this okay um I'm gonna bring this copy pasting code from anywhere on the Internet is also okay just asking chat GPT to do it for me though not okay um okay I have my limits people okay save GIF five seconds buddy I want it to be a looping GIF so I want it to be frames there's a way that I do this it tells me here um duration options options can have a delay a string that can either be seconds or frames huh an optional object that can contain two or more arguments delay units okay so I want it to be like some number of frames and I want the units to be frames and let's say uh frames equals make a variable like like 360 frames I don't know what's going on here uh let's have an angle and then let's say uh angle mode degrees angle equals angle plus one all right so now we just need to do something with like sine or cosine um let's do line from okay let's do translate I I really have no idea what I'm doing here making this up as I go I wish I could look at the chat to get good suggestions uh translate to negative width divided by two zero with divided by 2 comma zero I don't okay let's just see let's put on auto refresh which is dangerous because okay so that's good I like this um let's say background zero with let's put some Alpha in there oh let's make that a variable like let r equal with divided by two negative r our stroke weight 4 stroke 255 all right I've got a line uh let's have that be times cosine of the angle okay I like this and now let's also uh rotate by that angle okay yeah this is good it's a good start I've got something going here dude [Music] now the thing is if I'm doing this background thing I have a feeling it's not gonna like look like it's looping done still done yes I agree but the thing is so now I need to hit s all right let's see what happens delay parameter must be a number oh I forgot delay parameter must be a number it is a number 360. did I not do that right uh duration delay oh I have to have a delay okay uh come on delay zero okay and go all right let's get our gif okay downloading my gif I don't understand how that worked but it did awesome I'm done boom that was four minutes and 38 seconds take that January that they're not my you're my friend January so take that just yay thank you okay prompt number two that was awesome okay prompt number two yeah four minutes that's what I got to do to get done in two and a half hours uh prompt made it ten minutes all right I have an idea let's just make a timer okay let's uh let's do a new sketch we're gonna call it January 2. did you all know that P5 has a Dom Library see this is my excuse for just doing something very basic which is that I'm going to teach you something um let's say no canvas let's go over here into style and say uh background color that should give me uh there we go um let's get rid of draw let's make a um timer which will be a oh I can I don't I'm just doing all this in setup so timer equals create p uh ten zero zero okay okay there we go then let's say timer uh also let's let's get rid of whoops one thing about Auto refresh is it will always I mean um Auto refresh will take you all the ways to sketch.js which I don't love let's get rid of margin and padding canvas is nothing we need to look at worry about okay uh timer uh uh Style font size you can apply CSS directly in P5 through the um so I can create a HTML paragraph element I can apply CSS directly in P5 did you know that you could do this and now let's do a let timer equals so 10 minutes time see this is my loose interpretation of the idea 10 minutes times 60 Seconds because there's 60 seconds per minute and so then uh we're gonna say oh whoa whoa whoa whoa ah no no this is let timer paragraph timer paragraph style and the actual timer is going to start with this then I'm going to say set interval function timer minus minus timer P dot HTML timer and then a comma 1000 every second it will go down by one this is a terrible way of doing this but let's see what happens so this is going to count down 600 seconds laughs I would like to change this to convert it to minutes and seconds I think we could do that I think we can manage that okay um so minutes equals timer divided by 60. floor and then seconds would equal timer modulo 60. and then I could say minute colon seconds and this is what's known as a string literal okay what did I get wrong here oh set no seconds and let's have it start like this no I have an error oh timer needs to be a string then oh no no oh I see it has to be oh I see but I can just do this okay great I mean the thing that I don't like here though is I want to number format this I'm taking up way too much time will this work I would like my auto Refresh on now please yep uh how do I set the font style font family Courier there we go this is not made in 10 minutes but this is a very quick timer in 10 minutes done I'm going for quantity not quality okay um okay so by the way uh if set interval is unfamiliar to you it is a way of saying execute a particular function which I've made an anonymous function in here every number of milliseconds that's a string literal which is a way of making a string of text out of [Music] um uh characters and values of variables number formats a great way to format numbers all right this is good okay moving on uh glitch art oh I like this glitch art this should be this shouldn't be too hard okay uh all right everybody let's uh glitch let's glitch a photo okay can I uh air drop this now this is a terrible photo of myself [Music] um all right this is silly Let's find let's let's uh let's get Gloria Gloria Gloria pickle no no I aspire to have really awesome SEO for Gloria pickle images okay I'm gonna have to I'm just gonna go over here while I dig up a picture of Gloria pickle um so just take a second I'm just gonna log into a different Google account for myself a search Gloria pickle and let's find a wonderfully cute picture of Gloria pickle I do like this one I think I could show this to you all it's just lots of beautiful pictures of Gloria pickle um but um I'm gonna pick one this one looks good uh download let's do this in processing okay everybody I feel like pixel stuff for me is a little bit easier in processing and this should be the picture that I downloaded oh going to processing Okay so what am I on January day three is this three okay oh no okay so uh downloads there we go whoops no no come on give me that give me a DOT there I cannot see okay uh also this is a huge file which is just going to cause US problems uh also let's let's crop it um 600 by 505 beautiful okay um size oh I think by the way I so I think in processing if I want to use a like the size of an image to be the size of the canvas I can use the settings functions and then I can say gloria.with gloria.height I don't think I need anything in setup but just let's draw image Gloria zero zero okay what happened what's wrong here people gloria.jpg the sketch path is not set oh interesting uh oh I'm so confused all right I'm gonna I'm gonna worry about this later and oh I never no I did load the image okay let's not get too fancy here what have I done January three I'm looking at the chat I'm looking at the chat uh oh Joseph these are good ideas I didn't see them until just now um what's going on here let's try this again I mean it really shouldn't matter but fine you want to be like that let's be like that yeah okay I'm not sure why I'm I I thought there was no issue in processing with loading an image outside of setup and draw but I guess I'm confused about that um but we're all good here um okay so this should do the trick okay here we go um all right so now we need to make some glitch art uh I want to glitch the image I have an idea let's just say um in draw I am going to pick a random X and a random y this is not going to be very exciting I can already tell this is not the greatest idea ever but let's try it I'm going to pick two random spots I'm going to get color one uh I'm gonna do the quick and dirty way of getting a pixel from an image and then I'm going to say uh Gloria dot set X X1 y1 C2 Gloria dot set X 2 Y 2 C 1. and then image Gloria zero zero so I'm this should swap two pixels and now it's doing one pixel at a time however many times through draw [Laughter] let's just see uh if I do a hundred pixels at a time if this is actually happening I shouldn't have to do update pixels because oh yeah so it probably would make more sense for me to actually now this is just it has the appearance of adding noise to Gloria which I kind of like if I had more of a logic to how I was swapping the pixels that would be better um what if I were to always say something like this and Y2 equals y1 like with like if I swap them always like uh that's you know maybe slightly more interesting but not really I guess I should do like this is done though you can I'm sure this could get much better with more time we're already at like 20 minutes what prompt am I on I'm on prompt three so I'm not I gotta move on okay next one that's my glitch art quantity over quality intersections I'm excited about this one okay intersections um yeah I should not have just smeared the pixels that would have been better or like taking whole slices out using copy using copy would have been way better but I had this idea of just swapping pixels it wasn't a good idea but I'm moving on okay uh intersections oh this is going to be great oh I'm going to love this one okay let's go to uh examples and let's pick something from nature of code um just because um I said I I I like the idea of starting from scratch but um you know what there's something kind of nice about starting from scratch but I'm going to stick in processing um my good old my old friend bubble which has an X and A Y and an R okay is my bubble we're gonna uh can't call Float what's another word for float rise y equals y minus some random amount x equals X Plus some random amount uh R equals some random amount and then we're going to draw it as a you'll see we'll see what I'm doing here it's gonna be very exciting um uh uh Circle x y r times two a stroke 255. no fill for the moment okay um now oops uh so this is cancel oh January January what am I on for January 4 okay uh actually let's put this on another tab called Bubble and set up draw okay let's see if I did I do this right yeah all right awesome okay so now the bubbles they should really all start like uh below the screen like five times the radius below the screen let them go faster if they want a little more movement and then uh if if Y is less than not zero but like their size R then set y back to the bottom of the screen let's try making uh 50 of them okay here's all of our bubbles and floating up and now what I'm going to do is uh in draw I'm going to say for every bubble a and every bubble B as long as a is not equal to B uh the distance between a DOT X and a DOT Y and B dot X and B dot y if the distance is less than a DOT R plus b dot r that would be a way of checking if two circles are intersecting then let's draw a line from a DOT x a DOT y to B dot x b B dot y uh and the stroke weight will be that distance that might be really weird might be a terrible idea let's just make the stroke weight one right now and then let's no longer draw the bubbles okay what did I do wrong here stroke weight one stroke zero uh uh print line d we're getting distances everything's zero oh oh no wait the bubbles have an X and A Y are all the distances zero oh if a equals B if a does not equal V not equal I see it in the chat everybody thank you very much okay okay so now what am I oh is stroke 255 well I shouldn't be making mistakes yet okay awesome now this would be more interesting if perhaps this is like a Casey Reese special here this would be more interesting if um there were some kind of more sophisticated logic perhaps to the motion of the bubbles where they actually interact with each other so I probably should have taken like my flocking example or something like that would be much more interesting so you should do that because I have to move on I'm just curious here to go for 200 bubbles and let it ride okay there we go intersection um I I I I I I I really need to stop what I'm doing right now I swear this is going to be it like this oh too much too much too much oh that's fine then I wanted to um why is the background Alpha not working uh I just wanted to see something stroke weight distance if this would actually be interesting okay everyone's telling me to be done not really okay wait I just understand why the alpha the best oh that doesn't work in uh processing uh just let me finish this off there we go but let's just make this back to two okay we're done I kind of like it actually it's kind of strange I'm good I I know I know I'm gonna move on let's go back to 50. uh okay we're done I'm on number five debug view okay we could make a debug view of this let's make a debug view of this okay so let me save as January 5. so um so okay so I'm gonna do oh this is interesting uh what should be a debug view of this hmm I mean I guess I want to see the circles okay so I know what to do watch this this is going to be kind of weird but um debug I'm just going to say um intersect intersect is false intersect is going to be false for all of them if they're intersecting something a DOT intersect is true and B dot intersect is false and then in Show um if a DOT intercept oh no if intersect fill like red but with some nice Alpha else fill green with some Alpha so this should look like this now and the debug view probably should have the regular background and let's say no stroke and let's make this even lighter so now that's the debug view so we can see which ones are intersecting and which ones aren't and if the lines are correct why is my rectangle still in there so the whole thing is like flickering like crazy oh whoops I left this in there no wonder okay hold on this will help all right I like this I like that as debug view okay we're done moving on what am I on steal like an artist oh right Chachi PT let's use Chachi be teeth I think well I'm gonna have to log in I don't shoot um yeah let's see oh somehow for some reason I've got my password saved in here for my chat gbt account all right that's fine I don't want my I definitely do not want my conversation history being shown right now no no no no okay good foreign I leave you to try to decipher what kind of life my my what my life is like that that's my GPT history okay um make me an artwork that is uh create actually what I should just be doing is going and stealing whatever oh I know what I should do uh Raphael do you have all of your January prompts somewhere can I just get your January 6th one that would be good create an artwork that is not original that I can copy for a P5 JS sketch that is very artistic yeah I know I can okay I'm feeling lazy would you mind just giving me the code thank you what okay yeah basic code template no I don't want a template oh please oh they're giving me more okay all right this is gonna be good okay all right yeah yeah that's what I'm gonna do I'm gonna build on my own okay what's this January six January six oh that does not look like starry night at all um let's make them swirl so let's make an array and um so let uh uh Stars let's just make it a vector push create vector X comma y then I'm going to say and then let's put this here uh then let's say four um for V of stars point V Dot X V Dot y stroke oh it should already Okay so let's see okay so those are the stars and now what I want to do is I want to say um uh uh okay how about this let's star of stars and then the vector is a P5 Vector subtract Center oh I should just do it this is so silly let's do Translate to the center we're going to make Starry Night people better than chat gbt ever could um uh minus width divided by 2 minus height divided by two where do I have an error line 22 so let a equal star dot heading a DOT rotate by pi divided by two um then um V equals Vector from angle a oh no no no okay no no no I'm going to rotate the oh I'm so confused yeah yeah yeah okay I got it I got it I got it star oh no I know this is very silly what I'm doing let V equals star dot copy there's so many other ways I could do this V Dot rotate pi divided by two that's what I want to do uh V Dot setmag to three or just a one let's just normalize it and then a star dot add V there we go Starry Night people okay starry night everybody moving on we're on Sample a color palette from your favorite okay hold on I gotta go look at the actual prompt there movie album cover all right I don't know what my favorite movie is uh um favorite movie how about 80 for Brady not seated do you know that there's a movie called 80 for Brady Brady for 80. I don't know it yeah sounds completely insane um let's do night of the coconut code not movie poster okay um night of the coconut because I am Patrick willem's number one fan um let's copy save this image Knight of the coconut let's go back and get our um oh this is actually kind of interesting the glitch of this actually became Cyclops Gloria this actually is working in a much more strange and wonderful way that I ever imagined it's quite horrifying but here we go uh okay yep well you're gonna have to sign up for nebula if you want to watch Night of the coconut nebula dot TV slash codingtree okay um so we are going to all right let's do this um we're gonna use this January 7th I'm gonna keep using this January 7 P image coconut coconut equals load image uh where is that image downloads light of the coconut um why I say NOC oh I'm like why does it say nature of code I name everything NOC for nature of code and I just named it NOC for Knight it's notc foreign really I'm just here pathetically uh um you know trying to uh put my name out there for a cameo in the sequel okay um notc dot jpeg um okay so now we've loaded that image it's missing or excess inaccessible oh who puts an e in their jpeg come on um um okay so uh int x equals floor random notc dot with this is a terrible way of doing this okay hold on a second let's look at the let's do something a little nicer the image is 1500 by 1500 okay that's a little bit nuts let's go and change it to um 800 by 800 perfectly reasonable size let's make our canvas 800 by 800 what was the prompt again I don't even remember sample a color palette okay and let's um oh yeah let's put this back in uh I'm not gonna worry about the intersecting bubbles anymore that was for another thing now we are just going to say uh color C equals notc did I call it notc here coconut that's not how you spell coconut notc uh notc.getxy fill C with some Alpha this is like me just recreating one of my sort of classic examples get int int for the Type image okay I'm going to convert it to an integer okay I like it I like it I like it a lot um let's make a 250 of these um let's do this start with background zero and let's make them much smaller and here we go everybody it is a night of the coconut okay we're done I'm moving on uh January 8th oh no sign distance functions I know sign distance functions do I have so I was learning these does this count because I think this is code that I wrote no it's code that I got for somebody else fascinating all right so wait let's let's make my own sign distance function assigned I really want to make a video about this sine distance function uh Circle rectangle no let's do Circle because this is a health we're going to do kind of hello world sign distance functions function which takes a position as an input and outputs the distance from that position to the nearest part of the shape okay um so many wonderful tutorials here uh okay so basically I would like to go let's make a new sketch we're gonna do a nested Loop to look at every single Pixel let's just make sure this is right and we're going to say um what is it called load pixels load pixels update pixels and I'm going to say no Loop just for right now let's run the sketch okay so this is giving me a random pixel a random grayscale value for every pixel and I would like to uh to save this January 8th is that what I'm on eight yeah sign distance function so now we need to write a function called SDF and it should receive an X and a y and it should return some kind of distance and then we're going to make a color out of it so in this case oh right one so um so let's imagine the distance is like kind of normalized between zero and one I don't know if that makes sense so now they're all white if I so I'm just hard coding a distance value I'm doing this in a terrible way let's let's actually return the distance and let's say and then color you know let's map the distance between zero and one to zero and two whatever the minimum and maximum is just to like set us up for Success later okay so this I believe is the idea of assigned distance function I receive any point and it's signed because I can actually return negative values for a distance which is something you wouldn't normally do because you can't have a negative distance but this is just talking about things in a abstract computer Graphics world so what would be the sign distance function oh no I don't want to for um like a circle I don't want sign distance field although that's probably the same thing so like 2DS distance to a given point would be right uh so the distance is the square root right so let's think about this so let's say I want stop stop stop no cancel cancel not now let's say I want to say the distance is the distance between x y and the center of the screen and um so I'm actually going to just now I don't need to map that so this I would get right so is this kind of like a scientist have I have I implemented this I want to do more with this but is this technically a sign distance function there's no negative um um I think I would do it as like a threshold uh like so for example I could say also say if distance is greater than 100 return one else returns zero um and that would get me something like this so I've written a function to draw a circle smooth step that would be uh not if there isn't the possibility of a negative but what do I do with the negative is that a sign distance function now Sable Rave says I'm done I need to really properly learn sign distance functions and do something more interesting with them I I did this over a course of a stream a while ago I think I should subtract yeah let's make it more interesting okay thank you um return well what do you mean like what do you mean by return subtract um distance minus well oh I see what you mean so and then ah okay so oh no okay okay come on yeah let's try this okay I see what you mean this would be what does this do yeah there we go this is a scientist's function yes now what if yeah oh how strange but why didn't it this I should see grayscale now shouldn't I this is some distance minus a hundred oh because I'm mapping between negative one and one so if I want to normalize that by like 200 I see you know yeah I like this okay we're getting somewhere just map the negative to red and positive to Green Oh I like that okay map color equals um let's do this whoo okay I'm really using sign distance functions okay I'm done moving on Plants oh this is this is a good one um all right everybody plants should I just do a can I just now I sort of feel like what I'm doing here today is instead of starting from my coding challenges and changing them I'm just like okay I know how to make a fractal tree actually this is something that I really should do let me let me try I have been let's make a fractal tree let's do this and we're in processing right now let's make a fractal tree and we'll um what am I on number nine so this is going to be fun we're going to use a little Pearl and noise we're going to make a nice little plant we're going to use random seed it's going to be great it's going to be great uh and I'm going to say Translate and then I'm going to say branch and we have some length let's call it 100 Branch by the length and we have a function called branch which takes length and it draws a line from wherever it is to uh zero a negative length and uh the stroke weight is going to be 2. and we're going to take a look at this and stroke 255 I think I'm faster in processing than P5 which is kind of counter-intuitive but um we don't need a variable for that right now uh uh okay now there we go now we are going to say uh it um let's make it two-thirds of the length as long as length is greater than four pixels uh and then we need to translate to the end we need to rotate by an angle let's let's put this in here because I'm going to do something with this uh let's call it a pi divided by 4 just for right now we're going to rotate by that angle we're going to branch um by the length we're going to say push Matrix and pop Matrix and we're going to rotate by negative of the angle I'm going to do this in a different way maybe in a second and we're going to rotate by the branch again uh and do we have a fractal tree yes we have a rectal tree okay fractal tree are really bad um really fast really bad uh let's make it a little wider uh because nope okay okay fine fine fine so picky okay there we go so now what I would like to do is the following when we get to the end of the tree I always had this thing in my head about to draw the leaves at the end I need to create like a um a whole set of objects and keep track of where all the positions so I could place them there that's true if I want to animate them but if I just want to draw some leaves at the end that are green some Alpha uh uh this should do the trick see now I have some leaves on my tree I like that I would like them to like fly off but instead let's do the following let's say a random seed one and I want my random numbers to always be the same and uh I'm gonna do something weird which I'm not always going to Branch the tree if random one is less than 0.75 uh uh branch to the right oh and this should this really needs a push in a pop also I mean it might I guess it doesn't need it technically but if random one is less than .75 let's see if this does what I want it to do just to like yeah okay so I like this um because it's a little bit interesting and now we are going to say float a x offset equals zero and oh this needs to be always here x offset equals zero then um the angle is noise of X offset which goes to zero one which will go between 0 and 2 well let's go between negative pi divided by 2 and pi divided by 2 and then X off plus equals 0.01 why oh map noise of X offs okay sorry map noise of X offset to this range map noise of X offset which goes from zero and one to the okay so I only need one parenthesis there okay this is kind of strange but um let's let's okay okay how can I have many more um let's start with it shorter and let's not I'll let you all tweak this much more okay that kind of like that um let's do this two-thirds really makes more sense though um there I kind of like what I'm doing here okay so oh and now hold on I don't know what this is gonna do but X offset oh I should use 2D Berlin noise okay too fast too fast okay no no don't worry everybody don't worry X offset why offset and this is I should really do this with um I should really do this with like open Simplex noise I think it'll be much nicer okay there we go this is what I wanted yes [Music] okay moving on is the if repeated somebody's saying I do want to have these bees separate like and honestly like it should be much more rare that it doesn't branch and um I think this will actually be more fun if I go between pi and negative pi and if the stroke weight is also but I gotta stop I gotta stop there okay moving on I am by the way close to one-third generative music oh crud this is going to be tough for me all right how can I quickly make some generative music this I'm definitely gonna go to P5 I'm gonna need an example uh uh generative music oh no what am I on January number 10. okay January General music um P5 oscillator or envelope I want to let's use the P5 envelope do I have hold on coding train oh no I'll never P5 uh envelope okay uh okay let's uh copy this so this is definitely not me starting from scratch but that's okay uh [Music] let's make it a sine wave which I think will be a little nicer okay now you're getting that sound right okay uh um okay okay let's see now I don't want to play the sound um with uh the mouse press I don't want a canvas I mean let's leave the canvas there just in case I want to do something with it and then play sound oscillator start envelope play where is the frequency set how do I change it if I wanted to play a different like where was where do I set the frequency hold on let's see um and let's see let's go to P5 oscillator oh note envelope this is an example by the way this would be helpful if I could just watch this video tutorial right here uh scale array okay that's interesting let's take a look at this set set range oscillator midi value midi to frequency oscillator frequency okay I like this so let's try to bring this in here that's a scale array which are midi notes and then uh scale array notes the note is what just like as okay zero okay so let's see midi to frequency I need that function oh that's a P5 function midi to frequency that's nice um so I guess if I have this if what I do is I get a note um I try like did I get the notes yeah scale array scale array notes so let note equals zero and clay sound freak value wait what does it not know osc is not defined ah uh try osc so let's just call it I made it a sign oscillator so let's just call it osc open Sound control nope okay okay every time I play it okay so now um set interval play sound every uh second and then say note plus plus [Music] okay got it so now uh hey let's do a random walk we'll do a random walk note equals uh zero and we're going to say um uh let r e okay we're going to say if random is less if random is less than 0.5 I mean we could certainly do a more exciting algorithm here but I don't got all day uh no plus plus else no minus minus let's get this right and then uh note equals constrain note between 0 and uh what is it scalearray.length so this should work and let's just give it a little bit more time [Music] let's have it here and let's have it go faster foreign music everybody moving on okay that was ten okay okay um no no gorilla sun is telling me to take my time I am not gonna take my time it is 2 30 in the afternoon I need to be done I need to be out here by like four o'clock uh number 11 suprematism I'm gonna have to look at what this prompt is supremacism early 20th century art movement focused on the fundamentals of geometry painted in a limited range of colors okay um what is that limited range um should I ask chat GPT to help me um no I don't want to regenerate a response um can can you provide me a list of RGB values for soup for me to make a Sue prematis I really don't like the idea of typing suprematist here because to me it has other connotations but I understand that it's something else but let's see what happens okay wow this is really basic I could have done this myself uh Dave is giving me a palette so we're gonna go with Dave thank you is was that on the prompt uh we're gonna go with Dave's palette although I don't have the chat up so I'm gonna have to retype it um okay let's let's go back to P5 for this one uh new January 11. so we're going to get a palette and let's go for all right here we go I've got this chat nobody type any chat message zero a080a I'm so glad that Dave is here um zero eight zero a0a um uh F 7 F 3 F2 if you're wondering why I'm looking over there that's where I see the chat um zero zero seven seven e one um f five D two one six okay uh F3 fc3503 okay thank you um I really want nah it's fine okay so now we are going to limit myself to okay let's make it just with one rectangle one Circle ellipses always look funny to me and a lie so we're going to uh let color One Is Random from the palette but color two is a random from the palette you know what let's let's not do that I feel like we should be very prescriptive for this C of palette and if oh hold on I got it now four let I equal zero I is less than palette dot length I plus plus uh if I um uh if I modulo 3 is 0 then let's draw a rectangle at [Music] um I uh all right let's we'll make this random and we're gonna say fill palette I uh no stroke and we'll start with a background palette zero and we're going to go from one else if I modular two is this what I'm doing is it well this doesn't make any sense um every third yeah um wait I'm like losing my mind here wait hold on let me pull the chat back up because it lost I put an S instead of a d on the fourth color thank you okay so now what I want to do is what I'm saying is when it's one I want it to be a let's say when it's zero rectangle one Circle three line four rectangle so if why am I why is my brain not working here this was projected on the oh look uh big Floyd Dark Side of the Moon was suggested earlier sorry I'm not doing a good job of keeping an eye on the Discord chat that's also going on simultaneously um all right I need to take a breath here for a second I've been go go go go going I think I could pick one of three random shapes is fine so let's just do it that way if random one if R is less than 0.33 do a rectangle else if R is less than 0.67 do a circle and otherwise let's go look let's look at the Wikipedia page again I lost that page oh suprematism here it is um Circle oh I like the guy oh is it just one thing oh no suprematism oh I like this oh I can rotate oh I like this okay let's be a little bit more let's let's be a little more okay so else um stroke Okay so no fill stroke weight four uh line um I think let's just do vertical or horizontal lines which would actually be just like a rectangle but um I'm kind of let's do Translate uh if random one is less than 0.5 rotate by pi divided by 2. it's really doing this weird uh and then the length is a random value between uh 10 and width divided by 2. so let's write a line that is from negative length 0 to positive length zero and it shouldn't matter but I'm just going to put push and pop around this just in case and let's run this okay where's my line people no fill a stroke C right what was it called palette I um let's do uh let's do 50 and then pilot I Mel um I modulo palette length I don't know why I'm choosing to do this in order and other things random um what's wrong now why does that not work I palette dot length I oh what no it doesn't matter oh there there there I see I see oh I've done this in such a silly way um okay yay okay now uh everything is way too big and um I think we should also allow for rotate not trans let's rotate by I'm just curious here so I do this okay there we go I kind of like what I did suprematism everybody oh I need the 45 degree rotation should I make it suprematism I kind of like this not so bad it's actually quite a bit better than I expected depalm I totally agree All Right Moving On oh wait what happened oh because I went into the chat okay all right tessellation tessellation this I should be able to do no problem so I get my wave function collapse example out um okay tessellation what do I want to do here what do I want to attempt let's see what is the let's see what the prompt says it has any nice details oh should we try one of these more specific ones oh oh I've see I've done a lot of this maybe I should go get my um I've always wanted to do try hexanal try hexagonal tiling that looks like kind of fun uh this one is wild same kind okay I got to do something simple uh like this this looks fun should we try to make this how hard could that be let's try to make this okay hexagons are fun all right let's do this in processing um yeah so it's just January what number am I on now I'm getting tired I'm only on 12. okay uh okay uh so I need a function to draw a hexagon that shouldn't be too hard right there's a lot of stuff here um let's write a function hexagon uh which gets a what an X and A Y and a um let's give it like an R for size so we are going to say push Matrix pop Matrix I think I'm going to need to turn the heat on people which I know creates a little bit of a noise in the background I'm going to just go ahead and do that because I'm getting very cold my hands can't type right now so you're going to hear a worrying of a fan momentarily uh hexagon has six sides and we want to say create shape is that it well begin shape end shape uh and then I want to say x equals R times okay uh let's say angle angle is map I between 0 and 6 to 0 and to Pi X is R times cosine of the angle Y is R times sine of the angle set a vertex at x y um that should be it right oh we've got a bit of oh okay no okay Translate to the X Y 'all it's fine uh I don't know it's complaining at me here so let's just do this I hate underscores as variable names but I'm just doing it now okay so what happens if I were to draw um let's say fill 255. hexagon [Music] um 200 200 100. okay oops too many pop matrixes matrices okay that looks like a hexagon there's a polygon function well I'm doing it myself they'll be like all sorts of wonderful possibilities here I should actually make my own polygon function polygon uh int n uh six polygon there take that polygon take that designers are processing that's a ninagon okay so now what do I need to do I need to where's that tile holders this tiling um so interesting so it looks like whatever my R is okay I think I understand what this is but I think I'm just going to kind of trial and error it so I'm going to say four and uh let's use a float X so let's have r equal 50. x equals let's try from negative r to X is less than width plus r x plus equal R looks like it was times two I'm just making this up I probably could read what the actual tiling is and then y probably needs to start like I think every other one is going to be slightly offset but that's fine r y is less than a height plus r and then y plus equal and then let's draw a polygon that is six-sided at X comma y with r okay we're getting somewhere so interesting interesting okay I really I need this four so if I'm starting here what I want to see is the first one um okay I think this is kind of like what I want to do whoa um I would like to see a stroke because it'll help me understand what's going on here okay so now I know that like the next one needs to be offset so I really should do this by columns and rows but I'll just do a counter so if counter oh I I also think I need to do the Y on the outside and it might not actually matter but that's going to help me understand so if counter mod 2 is zero then let's offset the row by r and this is this very silly way of doing this but uh let's do this okay oh and now every every time then counter goes up okay so I think this is by the way this is a nice tessellation and yes if I want to see the close of the stroke I should do this um I kind of like my tessellation anyway so haha uh I feel like I've made a nice tessellation even though it's not exactly yeah good enough I agree tessellation everybody moving on something you've always wanted to learn a sign distance functions maybe I should go learn sign distance functions a little bit more what's another thing oh 3js let's try 3js Okay uh hello world3.js uh all right chat GPT should be able to help me out here can you uh give me a blank boilerplate uh 3.js JavaScript example okay excellent excellent okay okay this looks pretty good all right all right so where am I going to put this code oh I guess I'm getting Visual Studio code up uh uh all right code yes where's Visual Studio code did I lose it applications I don't understand Visual Studio code here it is okay um uh I have no idea wait what I didn't even open how could there be changes already okay fine don't save uh save as a new file I forgot how to use a text editor Okay no Okay ah all right fine fine foreign 11 make a directory uh January uh uh 13. why did I say 11 when it's clearly 13. uh uh okay got my HTML file uh uh run a web server okay uh that's good um now let's go back so I get like a boilerplate okay uh oh that's okay uh index.j let's save this as uh index.js um uh uh may I have the HTML file to go along with this please okay so let's take a look oh whoops hey where'd it go copy code okay scene perspective render Cube oh I've got a cube here okay so I'll I'll try to do something a bit more with uh geometry box mesh material Cube okay maybe I'll make an array of cubes and spin them around um very slow this is good I get to take a little this is the only time I get to take a little break I'm halfway through at an hour and 25 minutes I think not halfway through but close to halfway through hour 25 minutes it's pretty good I'm almost done with my coffee foreign I could turn on um noise reduction but I feel like sometimes that um okay uh great is that the most recent 3js version that can't be right but it's fine um okay so now oh I see uh I do not want yeah so why isn't this doing anything here we go okay all right so I've got uh so I have got we're definitely not getting sub two hours I love that I have got something going in 3js so let's play around and make something myself so I'm going to try now let's just make a bunch of these uh uh one one one is just putting it in the scent oh Cube rotation hmm all right let's just try this um let's try making 10 of them and um scene add cubes cubes push Q Where do I do I give it a Translate um can I give everyone a uh uh Cube dot x equals random negative let's just try this I'm gonna add an X and A Y and what aren't I in 3D Okay so this and then if I say Cube all right hold on I don't know like Cube I'm just making up stuff Translate the variables don't need to be there I just was curious uh oh random is not defined okay that's fine no problem um let's try this translate has been removed translate on axis huh okay well what's the axis translate okay set a position of object in 3.js position oh I just give it a position a vector 3 default is zero zero zero how do I make a vector three okay ah okay distance two okay uh that one and then okay position so do I just say Cube position equals a new Vector three oh okay kind of sort of didn't seem to work oh there is a position here oh wait okay position.o no that's the camera uh okay so hold on uh four let cube of Cubes uh link them different sizes I think they're all on top of each other still how do I move them does anybody know position range is too small oh I just assumed everything's mapped between one to one how can I multiply the position how do I multiply a vector um well I'll just do it myself manually I don't know what the range of positions is okay I like this okay I'm pretty sure everything's kind of mapped and yeah all right I like this this is good okay um okay uh um okay a bunch of rotated cubes ah color I I would love to like change the way it looks but all right all right I learned 3js everybody moving on I didn't really learn 3js but maybe I'll add a sine wave into this in a bit moving on okay uh 14th acemic all right I'm gonna have to look at what this is 14 is left to the right almost the way ah unreadable oh this is really interesting oh this is perfect for my um oh like handwriting oh this is awesome okay I got an idea okay um let's go to I have an exit coding challenge that I think will give me the beginning of what I want to do um I would like to get to the coding train page here it is uh not evolutionary all right fine everybody new coding Train website I don't need Google anymore uh steering behaviors this one is what I'm looking for uh okay so let's get rid of the okay so let's duplicate this uh January what am I on 14. let's get rid of the vehicles uh uh let's put this here let's get the points uh let's get rid of that uh let's get rid of that this okay so let's just see here okay what do I got train okay now um oh hi Henry exactly programming from A to Z although now I'm interpreting this as like the handwriting not the actual text itself so what I'd like to do is just say circle like just to see what I've got here Point dot y uh four um and then fill uh 255 no stroke okay and let's get rid of this there we go okay so now to make this unreadable and again shape and shape oh no um vertex uh okay stroke 255. and no fill interesting okay we're getting somewhere now let's use um and it would be really nice to animate this so let's put this in draw what do I got going on oh wait going back and forth between these two environments is definitely going to be a little tricky what did I miss great canvas background those are all extra curly bracket okay um okay so now what I'd like to do is um okay um we're going to for each point we're going to say x offset equals map Point dot x 0 to width to between 0 and 1. and the Y offset is going to be the same zero to height then Z offset is zero which we'll leave right now then I'm going to make an angle which is um noise X offset y offset Z offset times two pi then I want to make a vector from angle a and V Dot uh set magnitude we're just going to make it like 10 pixels right now and then this is going to be plus V Dot X Plus V Dot y I'm just curious what this is going to do okay and now let's try Z offset so these move wiggle around okay um what what error am I getting here P5 reserved function reserved function with where did I use that where am I using like some weird word that I'm not supposed to be using but anyway um let's make this 50. and let's put um background zero here I like how it's smearing but okay this is pretty wild it's not real words okay uh so let's um so let's create I know uh uh well we could be more interesting about how we're picking the text um how did it get why do I have this weird font and size uh 12. why where is it getting oh it's getting it here um I didn't see that there were like arguments here sample Factor okay see ah I gotcha um okay so let's just do this let uh text um okay uh uh let's make some random text okay [Music] um zero zero is going to put it up there why is it yelling at me I want somebody to tell me why it's yelling at me what's going on um uh then what I'm going to do is if random 1 is less than uh every about every so many characters uh let's give it a line break and then let's use the text here why is it not giving me a line break I don't really care I guess uh uh 150 okay there we go enjoy my very strange text all right uh this is January 14. moving on sine waves oh look at this let's add a sine wave oh this is beautiful um okay uh so this is January 15. we're gonna make this in a sign into a sine wave um so the angle is actually the mapping hmm okay how do I want to do this I want each letter essentially each point two okay I got it I got it I got it zero to width zero to two pi and this will just be the angle and then uh whoa um now what I want to do is sine of the angle times 50. okay so the text is in a sine wave but um plus Z off uh and maybe the I don't know why this isn't working I can figure that out later and let's change the text now to line wave all right oh wait I see it's this here that that doesn't actually matter up there okay there we go sine wave everybody reflection of a reflection ah we're gonna keep going with this one oh no did I forget to save as no I 15 was sine waves did I do a duplicate I hope I did I don't remember but now I'm doing a duplicate again um so now we're going to do a reflection so oops so let's reflect this by saying height minus foreign it's kind of a reflection but now I want to do a reflection of a reflection so we're going to start with it uh and I have so little room for my code um okay so now we're going to uh uh let's make it a little bit higher oh whoa that's what I meant hold on but uh this this is what I want um I now I want this and then uh what we're gonna do is we're gonna say four let I equals zero I is less than two I plus plus do this twice still why is it still complaining to me about this this is driving me crazy I is being redeclared yeah I don't I know okay that's fine okay okay why do I still have weird errors make sure you have used a P5 reserve two pi yeah I know but I I'm using it I'm not declaring it maybe it's because of this the VAR what is going on okay I'm just gonna have to ignore that by the way this is getting really slow so let's make the sample distance one why is it running so slow all of a sudden is it my computer okay this is going this is going okay okay thank you Depot spending I messed up not saving 14 so we'll have to get back to that um okay take your time I cannot take my time um okay why is this suddenly going so slow I I'm not using a particularly powerful machine here I've got lots of extra text that I don't need okay there we go we're back I've got to figure out what this is it's making me crazy you have used a p5.js reserve variable two five two Pi I know I know I used it on purpose look at that message went away that message came back with what is going on you cannot go on until I figure this out why is it complaining about how I'm using these variables oh oh the nested Lube thank you that is a disaster that must be that must have messed things up but is that really going to mess this up foreign okay I'm gonna have to just let this go and come back to another time and just be fine with those error messages okay sine wave sine wave okay good okay now let's come back to this okay now let's do this twice and then let's say translate n times height divided by two it's commas oh zero okay but now what I want to do is actually reap so and then I need to say scale 1 negative one oh no uh uh sorry uh if n equals one let's just do this for a second okay how can I get the other one below it and reversed I'm feeling okay so I'm translating to there and then oh I see so I really need to translate to the center uh oh no the center should be this and then because oh I see point Y is not I I got it I got it I got it this actually needs to be zero and then what I'm doing here is translating to uh oh I like you know what this looks pretty good I think we got reflection of a reflection there's so much I could do visually to make this more interesting uh it's also just so darn slow um uh and then this one is [Music] I really should stop this I know what I'm doing now uh translate 100 plus this there we go and then what did that do now it's going to take it off translating and then I should scale it should flip it but it looks they look identical foreign yeah weird it is working but I don't know why I guess if I flip I don't actually want to flip it it's a way that's a reflection of a reflection okay I'm on a four hour Pace okay reflection of reflection we're good this was number 16. a grid inside of a grid inside of a grid oh this one makes me so happy okay I mean I could just do like a quad tree but somebody has got if somebody could figure out what the hey ho is going on with the error messages in the sketch I would be forever grateful but I'm sorry that you're gonna have to like type in this horrible URL there okay um let's go back to processing okay I know what to do here this one I'm really excited about uh okay by the way it's gotten quite warm in here now so let me go adjust the Heat okay uh uh um okay size 800 by 800. background let's just do this in draw background uh zero and let's also say uh the width is going to be 80. so let's first just draw a grid I have an idea let's do this recursively oh my God this is a little crazy this is such a bad idea uh we're gonna do float X float y float uh W float H and then float R for size okay so it's going to always assume it is a it's going to always assume it's a rectangle so I equals zero uh J equals zero let's use I and J it's a little bit clunky what I'm doing here uh um I mean honestly I could just do this all right no no it's fine it's fine plus equal r I is less than w I is less than h uh so I actually should equal x plus W let's just do the offset let's just do the offset here so now I'm going to say rectangle X Plus i y plus j r r and I'm going to say stroke 255 fill let's just give it like 175. okay and then this is this is January what what day am I on 17. oh yeah January 17. okay um so now if I were to say draw grid from zero zero with height uh with a you know 80 as this should give me a grid awesome this is what I want to see now um for any one of these if random one is less than there's a 10 chance and R is less is greater than one pixel let's just say two pixels I could draw a grid from X like where I am y Plus J and then the width is r and then the actual amount of grid stuff is like just just say r divided by 10. this is nuts is that actually like does this make sense infinite Loop here let's make it like a very low probability no not R is greater than if w you know that's fine W and H are always going to be the same the width and height is the thing that I'm doing and then it's going to be 10 by 10. so let's try this okay maybe I just never got one just see uh oh I'm in draw no Loop is what I meant to do but so it did it a bunch of them let's see update the version of P5 that's what the error is someone's telling me um okay so why why oh why is this not working two let's just say w is greater than uh 80. there okay so this is right this is what I'm attempting to do and apologies for the um I think that can just be oh I see it's just so okay so let's start with 800 by 800. let's start with 200 okay okay there we go this is what I'm looking to do but I don't think my exit condition is working I don't want to do it if the individual size is smaller than eight let's see okay there okay it's working this is what I meant to do uh cool grid within a grid within a grid now I was kind of imagining uh that this would be a little bit more interesting so let's actually start with it should actually be 400 but most of the time the probability should really be based on um okay ah this is what it should be foreign yeah so I'm kind of making a little quad tree-esque like thing there we go I like this better now all right I'm sure you can improve this but grade with integrid within a grid moving on definitely not a grid um let's revise this one to be January 18. so how could I do this but have it not be a grid um oh and then okay I love it definitely not a grid art deco that was my fastest one yet all right deck that might be my favorite one uh art deco Art Deco I need some help here I need some inspiration for this um [Music] oh dear this is tough let's make the Chrysler Building let's make the Chrysler Building in um black and white not deck oh Am I Wrong oh black and white black and white oh look at this hold on okay so this is black and white let's just adjust this yes I got it everybody to for number 90. the problem is it's already black and white I should have made it maybe I should make it colorful and then that would be the previous one I'll swap them uh okay let's um okay uh uh and um black and white black and white um let's actually do this um yeah this is pretty interesting actually why it's doing it in the a different order than I imagined all right I kind of like this black and white I mean I could start adding grayscale but I kind of love this is the strangest thing I've ever made and yet it's actually nicer than anything good enough done okay Chad's telling me I'm done Art Deco okay we're gonna make the Chrysler Building or something like the Chrysler Building okay so I'm taking this as inspiration let's look at this image okay so this is like Okay so let's go to P5 uh oh something bad is happening from another window but I have no other windows open so I might have to recreate some of these which one is this by the way uh did somebody who has access to the coding train account actually update this that's what it seems like uh let's make a new sketch okay so now we're going to say background zero um let's draw let's do I have an idea okay what if I draw an ellipse that's at zero that's that width divided by 2 comma height that is thin like 50 and is like 300 pixels High and if I were to say stroke 255 no fill you know this should be a rounded rectangle I think that would be better um and then uh rect mode you know what let's Center and let's actually wear a wrecked P5 I always forget how the okay so this which one do I want I think I want like this rounded Corners so I just give it like a radius for the rounding okay so now I need to do a bunch of these for and then let's just say height minus I just times 10. just to start oh where's my auto refresh okay uh uh uh uh okay let's make it ah okay I see so I really need to think about how I'm doing this so the rectangles all should be ah not their location it's their height that I want to change that's actually going to make it much easier uh okay great and then their width should be minus I times five something like this oh pretty good okay moving on uh Art Deco this was sorry what was that that was January 20. Art Deco everyone okay uh Shadows ooh Shadows oh hmm what if I did something with my like Ray casting um that could be interesting or just kind of like negative space uh let's we could use that hexagon again we could make shadows with it I'm I'm kind of like I don't have an idea for this one oh I'm not even on it's Persian rug Persian rug sorry I'm always looking at the bottom of my screen Persian rug oh dear this one's going to be hard um Persian carpet wow wow okay wow uh wow okay so I do have an idea for how to do something that's really it's going to be really a poor facsimile for this like it's but I think we can do uh let's try just drawing stuff out from the center and reflecting it so let's go to P5 uh this is January 21. the heat didn't come on I turned it off I turned it down to low very cold now I can't get the temperature right okay uh I also just if you let me just check my phone to make sure nobody in my family is like the house is on fire anything like that although presumably I would notice okay I'm getting a lot of okay yeah okay okay no no emergency uh so I think everything's good okay what am I on Persian rug okay um Persian rug yeah image processing one that's not a bad idea uh fractal tree reflected that's so Paradise demon that's kind of what I was thinking so I was going to create a just let's just make a vector uh which will start in the center and I'm going to draw a circle at V Dot X V Dot Y and have it be like 20 pixels and let's put background zero and Okay so What if I 4 let I equal zero I is less than 10 I plus plus and this should be zero zero and I need to translate to width divided by 2 height divided by 2. and then I am just going to rotate by 2 pi divided by 10. okay and this should be a number this could also work for reflections so now if I were to just say V Dot X Plus whoops this should I should see this there we go okay this is what I was hoping to see um okay I know stroke a fill 255 10. now let's have it start to I was gonna have a branch so this should actually be uh Dot uh and then um foreign function um and then uh uh so now I need a uh dots is an array uh dots push new DOT and uh for uh every dot uh dot of dots a dot dot update what do I what am I doing wrong here what's dot dot update dots class dot dots push new DOT here at line eight in dot update oh this [Laughter] oh [Music] okay excellent why okay great it's going so fast this should be the same oh I don't want to update sorry ah I definitely need no wonder no wonder no wonder show um okay so show um this is a silly way to do it but okay great now um what I want to do is change the way okay so this is the position now uh the direction is uh I don't want to make it random but I guess I could uh let's just do uh P5 dot Vector let's just try random to start and then okay and then this dot d i r rotate uh I don't know I don't know what I'm doing exactly okay so what I'm thinking is thank you um that at any given point to too slow um and let's make this smaller um there could be if let's just try this if random one is less than 01 we're going to say dot stop push new DOT this dot pause so what I mean by that is uh and dot dot length is less than 10 let's just say that for right now okay but it is kind of doing what I wanted it to do but and um the thing is the dot needs to get a uh pause uh if pause this stop pause equals pause dot copy else this dot pause equals else stop pause equals create vector so um so uh now it's way too like perfectly swirly that's not really what I meant for it to do so also this dot rot for rotation equals a random value between negative 0.2 0.02 and this dot rot and I should probably give it some nice color what do we think anything resembling a Persian rug if I think if I gave this color okay I'm just so bad at color uh this dot color equals I need where's that palette didn't I have a palette um okay uh um would you mind giving me an array of strings in JavaScript that are hex codes for Persian rug colors there's no chance this works right [Laughter] oh I got one from Sable Ray but I can't copy paste from the chat is my problem I really have a problem that I'm not set up well to uh do that okay uh uh this dot color equals random from the Persian rug colors uh and then uh Phil is it gonna let me add an alpha to a color this way no that's cruel but we're just gonna have to leave it like this okay it's it's a little too like kaleidoscopy [Music] it's snow flaky MB lab says it has a Persian I approve I think I did my best effort um it could definitely be improved it's annoying me that I can't just give it the string plus an alpha um hold on this is gonna this is the worst thing I could ever do but all right I oh you can do color this color set Alpha good point okay I kind of like this it's not a Persian rug at all but I made something moving on Shadows um Shadows this is where I was stuck okay I have an idea let's just adapt this duplicate uh 22. so we're gonna duplicate this we are going to set the color to zero uh how do you do those ternary things random one is less than zero then I can turn it up right here I can never learn something new how about the Syntax for a ternary operator that I can never remember question mark yeah or colon I kind of had it right question mark color zero colon color 255. and now ironically I don't want the uh this dot color and let's do a square and wrecked mode Center all right and oh right oh less than 0.5 it's pretty interesting actually um I I know this is a very loose interpretation of shadow but I quite like this okay but I had a thought of how to make this much better um so let's add something here which is that the dot gets a size I'm just using 24 and this dot r and um so the first dot should be uh uh shoot I've really okay hold on so if it's the first one other uh okay I got it this is very awkward and it absolutely could be confused improve R equals 100 the stud r otherwise this dot R equals r and then what I'm going to do is [Music] by the way I that was just so it didn't go completely insane but um and this dot R is less than it's greater than like five pixels because what I'm going to do stop stop stop stop is when I make it I'm going to say uh this dot R times 0.5 so it's going to okay why are they not actually oh the squares are why do the oh because the rotation sometimes so strange I really don't know what I've done here but this is my interpretation of Shadows I like it moving on what whoa moire uh okay uh uh boy this is I I really need to also constrain the length let me just fix this and this dot dots oh dots dot length is less than like 100. it's probably what I should do I don't understand why it makes whatever it makes but I'll take it uh this is pretty not what I expected and yet I really like it okay but I'm moving on the next one okay um what am I on 23 is more moire let's see if it has anything for me so yes okay so I mean uh oh I like this ooh interesting Mare overlapping two sets of concentric circles that looks nice okay let's just go uh okay so 400 400 um no fill no stroke 255 for let I equal zero I is less than a width I plus equals two Circle 200 200 I okay well uh okay uh I know we need an angle okay uh okay and let's do I should really have translated to the center here but what are you going to do oh I don't have the background on I wonder there you go I don't know what this looks like on YouTube um swap black and white I like this idea um um what what did I just do to ruin this oh that's plus eight okay fine okay done this is good kind of some interesting moire stuff uh let's just do this though this will be interesting pleased to be enjoying my moire pattern okay textile didn't I just do Persian rugs it's a textile uh what textile textile textile what do I do for textile hmm I like the idea of like creating this little tube like things I like this I guess to make something very texturey looking is kind of cool my brain is not is starting to melt a little bit oh by the way I forgot to put in the number for this one this was January 23. now uh textile hmm something with pixels like melting pixel neighbories do plaid or textile pattern Vector Fields good idea copy paste Persian rug yeah just don't do weaving okay why not okay how about I like the idea what uh I like the idea of um a flow field so um let's make a flow field oh wait a sec let's make a flow field but with my grid within a grid thing so which one was that oh yeah this moved everything crazy off of the grid so 17 K let's start with this I gotta I got a weird idea here that kind of makes no sense but I'm going to do it anyway um textile 24. okay so in draw grid there is no longer a rectangle rather I am going to draw a line which goes from uh X Plus i y plus J to X plus I plus r y plus J okay uh and we're gonna say stroke 55 no fill let's just say stroke weight uh R uh divided by four just out of curiosity whoa Okay so not exactly what I meant to happen but it's a good start because this is kind of what I was thinking but um let's do r divided by 16. our r divided by 8 because essentially when it's the smallest I want it to be one pixel okay okay so now what I'm thinking is um so I'm going to need to say I'm going to need Loop gonna need to say random seed so it does the same grid within a grid I also want it to be I think more frequent to be perfectly honest it's funny how it's picking the top two twice in a row or did I just really put my thumb on the scale oh cause a random seed that's fine um that's fine but let's just get a different random seed there we go okay perfect okay so this is my textile start uh and now what I'm thinking of doing is changing this to translate X Plus i y plus J whoops not here remember the line is okay so push Matrix pot Matrix translate to X Plus then this is much easier now zero zero to R comma zero this should be exactly the same great and now what I would like to do is um uh let's get an angle float angle equals noise uh uh X oh this is so ridiculous um hold on hold on let's just do um that's fine you know what let's do this uh X offset equals X plus I divided by 100 I'm doing this late the lazy coder's way uh uh uh two pi times that rotate by that angle uh no no no no no no no no no thank you very much the rotate goes there okay uh not the most textiley thing ever but nothing like a little Z offset okay to lead the way uh okay I want to do it hold on don't like the way that I did this translate X plus I plus r divided by two plus r divided by two negative r divided by two r divided by two let's do it this way and stroke weight uh 10 and oh no that's not the stroke weight is uh and stroke 10 and background here all right oh no whoops that's not set up uh [Music] wow this grid is really weird here so I don't know why I just didn't do like a regular flow feel because the grid is really kind of making it insane and there's like um so I have a weird idea I have some weird ideas to make this more textiley uh color would certainly help um it's very slow uh hold on sorry I'm thinking I'm thinking I'm thinking I'm thinking um add color and I've got it yeah uh okay um ah come on uh I don't know what I'm doing anymore I really like lost it here all right just stop after a set number of frames I also should do that right or I should do the um all right we got a nice pallet uh is this how you do that in Java all right um I'm gonna have that Alpha again issue um oh I can't put a string in there because I think it'll let me oh what is it gonna like is processing gonna be smart enough to do this I don't think so oh there we go awesome done this is not at all textiles but you could you could keep going with this okay all right we've got to look up this particular artist now I think I need to stop building off of what I did before um let's look at these oh bright polka dots oh amazing Infinity Room oh my God these look incredible oh wow wow okay so I definitely want to use these colors that I just got or like a red and a yellow this is incredible uh um oh my goodness I love this so much I'm never gonna be able to do something as beautiful as this um but let's give it a try um okay let's go to JavaScript I think um and let's um anyone want to give me in the chats um uh colors for this okay um oh you know what I want to use let's go to this coding challenge I really need to work on my Google they really should really should come up with this I think this could be a nice start okay let's let's use this duplicate January uh 25. four o'clock people let's just see so this is the example that I guess I made in that video uh just red blue green orange okay oh Emily says I got to see one of her exhibits in person okay so this is what I want to do maybe this is actually not right but let's give this a try first of all let's update this with the new sp5 it's a good chance for us to whoa okay one point 5.0 still going okay great um I'm just curious here what are some okay great and then K is like 20. what does the K do I don't I I did this whole thing and I made a whole video about it I don't remember maybe this is just too elaborate right now but it is kind of a nice starting point what I want I think I have an idea though uh uh where am I drawing them oh geez I hate not having any room okay okay done no it's that can't be done for that I already made so let's have the colors be um um based on um so okay at the ordered Point uh let's get the distance between point dot X Point dot y and the center uh width divided by 2 height divided by two and um stroke weight r point and then I can say Point dot X Point dot y um whoops where did I go and what I want to do here is say palette equals um ff000 ff0 and what was another um it was another color like I saw uh red yellow let's just do red yellow and black and then um okay so what I'm thinking is uh then float and then uh int no no no let index equals floor d stroke palette index so I want to see like concentric circles uh and what did I miss here object arguments is not a valid color representation what am I missing here palette a stroke okay okay floor of the distance oh oh oh modulo palette dot length huh oh and the the black ones you don't really see um but I bet you you would if I made the background white okay and then oh it doesn't doesn't look good I don't like this and it's not doing what I thought it would do which is give me like nice concentric circles um yeah that there we go this is what I was imagining uh background pink okay oh also well that's doing anything weird but um hold on let's just now if it's bigger it's better so I uh orange instead of yellow I want the sizes to be bigger I want them to change size I probably should do Circle I really should do Circle packing not this I don't know what K does yeah that was a mistake restart please uh can I make R change over time total is 25. R ti times equals 0.99 oh no no no each time you draw sorry oh no now they're just shrinking it's kind of strange I should probably move on uh I should probably move on I think actually this might look nicer not what I intended but kind of interesting done done the German flag now in circles I I have an idea oh it never stops I don't like that I started with this it's good enough okay I kind of like whatever this did just to understand what's going on better oh yeah awful awful okay just give me one more moment to feel better about this one I do not like what I've made but I I really do just need to move on um there okay perfect okay my kid could have made that this kind of works uh um my kid could have made that this is an interesting prompt okay how about um 4 15 January 26th um my kid could have made that I like those colors um I've kind of lost them though um I did a terrible job I feel so I was so excited by that one I think it overwhelmed me okay okay ready I made a little nice drawing program just a random color every time you click the mouse did I do something weird that it only is shades of blue and green it's never oh there we go okay done my kid could have done that because that's how I've taught them how to do that in P5 in the style of Clone okay uh January 27th I'm really getting tired everybody oh these look amazing okay um oh I like this let's do this let's make something that looks like this that is beautiful we can do this okay all right okay uh I will do this in P5 uh let me close a bunch of these windows that I don't need anymore goodbye chat GPT okay so we are going to say background red then our colors are going to be blue all right so then let's make we're gonna I want it to be different each time so what I need is a function that draws two arcs so I'm going to write my own function called arcs which is not Arc and I need I'm not gonna work I just need a size um I need a size and an out a stroke and a fill color I know sorry for my variable names or actually no it's just a fill color so it's just a size and a color so a color one and color two so to do this I need to draw so let's let's just translate to the center and I need to draw one Arc so let's just make it white first one Arc that is zero zero R times two let's just make a diameter because I don't think the r matters here so diameter diameter and then zero zero to Pi it's probably going to be and then another one that is pi to 2 pi uh no stroke and a fill zero let's do um oh and so I really should be color one color two and I'm going to say arcs 100 0 255. Okay so life how lazy am I rotate pi divided by two I could rewrite my code or just do that okay so then this first one the back one should be so now I need to say four let I equal uh uh with divided by 2 uh I is greater than or equal to 24. I let's just say zero I is greater than zero I minus equals 50. let's just see what this does and uh I okay now we're not seeing them because the colors are the same okay uh and um 50 seems kind of arbitrary uh oh well actually so let's uh oh I like how this one it could be so let's just pick from a few different colors so let's make a palette which has uh black White um oh I you know interestingly how this side is oh let's just do that so it's this side is only black or white and Palette one can only be black or white and Palette two can be uh like yellow it's like pink it's like blue like a light blue um blue kind of a yellowish I mean somebody with more talent for color will make a nice version of this it's kind of a nice orangey um okay I'm making up some colors uh uh so arcs random palette one random palette two okay I like this I like this we are done that is oh January 27 Oh my God okay boom generative poetry yeah um oh I have so many examples that make generative poetry so like what should I do right now maybe I should pick one of my I should just give up cut myself some slack here generative poetry coding train um poetry diastic all right let's create something new um let's use an API um so what was it that I was using that was like project Muse or something API this is it okay Muse there's something called The Muse API word dictionary something called like data Muse word yeah maybe this is it yes this is it okay um because I think this is a free easy to use API so um means like sounds like spelled like related word topics uh yeah uh bring the results meaning words related to duck so okay start with okay let's let's see words okay so let's go to P5 new sketch uh January 28th uh uh we are going to ah I have an idea okay this is going to be the generative poetry thing okay great uh let's say okay so first of all give me a second here to say background okay uh okay um we are going to make a canvas and uh and create uh in input equals create input okay and uh why why why why why oh I am that is a reserved word okay um get uh user input poem start poem start okay so poem start Dot what is it changed right poem and then function write poem is going to be an async function and I'm going to say response equals await fetch I'm not going to use low Json because I I really want to just do this with async I think um and so now we're going to go to here um and then um I'm going to say let prompt equals poem start dot no right yeah poem start dot value and so here now we're going to say um whoops prompt um and then this is going to be asleep thank you so much oh come on just to add one you're insane okay then okay uh rainbow okay fine fine fine fine fine fine and I'm gonna not I'm just gonna put rainbow in here now so I don't have to and I'm actually just gonna say right I'll make it work eventually that and am I standing in front of the code too much sorry about that uh okay um I just wanna see if this works oh console.log Json okay great I got a hundred words fry okay yeah so uh okay so now I'm going to next let's call this next word poem start value prompt and then why doesn't this work now oh next word okay so now um I should be able to get any word from a random one so let word equal random Json uh fill 255 and uh uh let x equal random with let y equal random height text uh word X comma y text align Center Center and it's saying object object because it is word.word word dot word okay and uh uh size should be uh like 64 to start okay so now the idea is that I have is that I would then do set time out another async function a weight next word word dot word size uh like 75 percent and then do that like no no one second later uh and then the whole thing should not start foreign poem okay and let's make this 800 by 800 I have so um okay hold on let's make this uh 800 800 by 600 and okay so let's use the word kitten oh rotate them by 90 degrees I like that idea I'm probably gonna go and all right so uh yeah so I like the idea of rotating them thank you uh translate I'm so tired rotate pi divided by 2 times random rotate uh random one let's just say if random one is less than 0.5 rotate pi divided by two draw the text at 0 0. um I don't think the size should go down by very much so now let's try [Music] um uh rainbow hit enter what just happened did I ruin it next word prompt.value size get the word text size oh push Matrix is not the function did the rotate mess it up [Music] what have I done to destroy this push pop yes okay uh console.log word dot word are we getting something I think the event isn't happening anymore I mean this is a terrible way to display a poem but I'm not sure why my change stopped working oh maybe you actually have to write in it you can't just hit enter and I probably should have a button okay so now okay okay relax relax okay here we go ready generate there we go okay all right everyone this could be vastly improved but it was an interesting exploration of using this API and now we are moving on to maximalism maximalism that's the opposite of minimalism I suppose maximalism oh my God I'm so close to being done ah so close to being done uh maximalism maximalism well this could be maximalist like here's a way of making this maximalist but no let's not do that let's start over Okay let's go to processing oh maximal okay January 29 January 29th okay now we're definitely going to use full screen but maybe not just yet maximalist okay how about I use every possible polygon and every possible color okay I have an idea so where's that polygon function I have I just have to rewrite it because it'll be faster oh there is a polygon function in processing okay polygon processing reference it's an example I don't think there is one there's like a p shape I don't believe that there's a polycon okay I don't believe that there's a pot okay this is going to be maximalist s where's my polygon function let's find it anybody remember what day I did the polygon draw a grid no it was before that wasn't it 12 polygon here it is awesome uh here's my polygon function January 12. okay so void draw four okay we're gonna do every possible polygon uh and I equals one I is less than a 50 a gone no let's go let's just go up to a is it a decagon is that what 10 is um and 4 would be a rectangle so let's No 3 would be a triangle so let's do that 2 would be a line one would be a point okay maximalist uh um oh the I is first okay this is looking good okay I kind of have an idea here four int W equals we'll start with 100 W is greater than we'll go down to 10. we'll go down to zero we'll say w minus equals 20. 10 20. I don't I've kind of lost what I'm doing here then we're going to say for uh x equals zero X is less than W X plus equals w aximalist Y is less than h y plus equal w y is nothing with some height uh and counter equals zero um counter and this is w uh a little grid uh uh counter equals counter plus one modulo 10. do I have too many oh okay this is this is what I was thinking now the polygon function draws it at the center [Music] so this should really be offset so if I were just doing let's get rid of this outer loop for a second because this makes no sense no idea what I'm talking about here that didn't work I want to draw a grid of the polygons what is wrong with me and I want to rotate through okay let's make this 10 for a second oh it's the whole oh no no it is doing what I think it's supposed to do it's just ah uh polygon counter plus one counter plus two there at least needs to be two and it should be stroke 255 fill 255 just for right now okay oh wait okay and then it should be half the size okay and then y should be on the Outer Loop I'll evenly divides um okay so we're gonna pick a random one so forget about the counter int random between one and 11. uh uh no no no no this is very weird what I'm doing but it's it's gonna be maximalist you'll see okay uh so if W is a hundred this is going to be maximalist okay great now um what I wanted to do was this okay good good uh uh now the color palette is going to be um okay uh and um um uh how am I going to do the color s tie d t d e x d I have no idea what anybody's talking about in the chat um okay wait wait wait this is gonna be maximalist um okay what's I know color mode HSB uh uh 360. 255 255. okay so this is going to be just out of curiosity let me just check a color okay perfect now it is going to be um counter counter I'm just gonna make it a float for no good reason I mean I could make it random I kind of like the idea of it being in some sort of order though no foreign what have I done um am I doing the biggest ones first okay hold on okay this is what I meant to happen I guess it just covered oh you know what I now I understand what I wanted to do okay I understand what I wanted to do that's maximalist done no no no no no no trust me just give me a second here yes this is what I was looking to do only it's much less than I imagined so let's start with I was thinking of something different but this is close enough okay and now we're gonna just forget about this counter lovely idea let's make it horrifyingly random there we go maximalism just just bear with me just bear with me there we go maximum okay hold on maximalism okay moving on minimalism minimalism okay we're gonna do this one can I get out of here how do I get out of this okay minimalism oh my God I'm so close to being done three hours and 27 minutes okay minimalism no no no no no no no why does that not oh minimalism deliberately break one of your previous images and works and ruin it huh well all right folks which one should I do I got 30 prompts anybody have a have a uh request which one should I break and ruin the No No I have to do 31. I'm not done I'm not done I need to break one of them remove semicolon from your last one I mean I guess I could you know what I'm gonna do I'm gonna write but I try to ruin this one that's a really good idea uh okay I have a really good idea just just hold on okay I know how to ruin this one um so hold on uh columns is with divided by with rows equals height divided by width um hold on I'm just going to do this a different way just trust me I have a really insane idea oh wait wait wait uh it's fine I'm just gonna recreate this but write the code a different way and then I'll I'll move on when I plus e plus plus same exact thing okay that's and now I'm going to ruin this one uh so January 31 I'm gonna make it so annoying to look at um int uh call uh just R1 equals int random calls and R2 and Rose okay uh Translate there we go foreign I have ruined it why no did it not oh because the rotate I made I didn't even like not what I meant to do this is what I meant to do it's it's this one down in the corner it's just off like a couple of things I kind of love this I also think I should say Phil 253. and then stroke uh uh uh stroke weight 0.1 I mean this is now ridiculous now I'm ruining it too much it's making it too obvious but yeah this never mind never mind with that it's gonna ruin the fill slightly going to be like a little bit more noticeable all right I think we're good done three minutes 32 seconds right now three hours three to three hours 32 minutes and 50 seconds I have completed all of January uh all in this one live stream thank you to uh Rafael for you know really for inspiring me with the idea for this I would love to figure out a way to compile all of these I'm sure there's a nice way this stream could be like edited into something I did not record all the feeds separately though so I doubt I will do that but I would like to put everything up uh at that GitHub repo I'm I'm spent um I don't even I don't even know what to say anymore so I'm gonna try to document everything here um I do feel pretty good about this record time I felt like there were some good projects in there actually some seeds of things if anybody wants to take anything I made today and make something out of it I would be so thrilled that you have full permission to just take you know take the the things that I made and put them out into the world with your own creative Twist on them I'm gonna be getting a good night's sleep and I'll be back in here recording um my intro to coding with processing videos tomorrow and that's all I've got to say anybody have any last things they want to say this is it it's the end I don't know like I wish I could like run through them now like a screenshot of each anybody wants to help me compile what I did today into some like quick slide show or something I would totally accept that gonna try to put everything here um here's what I'm gonna do actually let me do this it's gonna need to be reorganized but I mean at least at a minimum do this let me quit processing I actually feel like a little bit dizzy so I think it's gonna be fine though processing January so wait a second are these from last year there might be some from last year shoot um hold on hold on ah I know how to use a computer okay no great these are all from today so let's at least do this so I'm gonna just upload these whatever they might be good luck on your exam tomorrow Lucian I'm going to commit these changes the rest of so here's what I would love and I'll work on this myself I'm not asking any all of you to do like free labor for me but I know people do enjoy contributing so I think I would love to have like a readme that has like a nice grid of images of everything then all of the code nicely organized and numbered so the P5 code should probably be linked to the web editor and um but maybe it makes sense to also include it as separate files I'm not sure but if you go to this URL that should you should be able to see all of the P5 uh sketches so um anybody who wants to help uh with this repo maybe file an issue just to say I'd like to work on this like I'd like to work on the screenshots the readme I'd like to help clean up the the processing code or help to like add the P5 code I'm open to anybody doing that um and um that's it I'm gonna go I'm gonna put on my little song where I say goodbye I don't know why I've just had this forever and if anybody has any questions in the Discord or in the YouTube chat I will let this play out um I feel like I should have a I should make a thumbnail for this video let's which is the most I really like the um definitely not a grid black and white one I think or sh let's look at that January 19th is that processing hold on I'm gonna make like a screenshot that I can use as a thumbnail for this video I hope you learned something or enjoyed this what was it black and white was 19. here we go [Music] this is going to be very artificial but let's try it again [Music] I don't like what it's giving me [Music] all right that's fine okay this is my screenshot there could use that image and completed January all 30 prompts 31. thanks everybody I really appreciate you joining me for this I have to admit I really didn't want to do it I mean I was feeling lazy I want to just sit around on the couch all afternoon I have a lot of work to do back teaching but this was really fun and I feel very accomplished and I've kind of also like was feeling sad that I wasn't doing January so there we go foreign [Music] so I'm gonna be here for another 30 seconds three and a half hours is pretty good [Music] five o'clock I guess I talked for a half an hour before [Music] and then I I I'm wasting some time now [Applause] back hurts all right everybody that's the end of the song I'll see you next time I live stream uh join the Discord say hi on Twitter uh say hi in the comments all those things love you all see you in the future as always I always forget that this dot this stock this dot this dot this stuff this stuff this stop this stop this stop stop just stop just stop this stop this stop this dots on this stop this dots this dot this stock this stock this is [Music] thank you Vista never forget this stuff I'm gonna do this this dot this dot this dot this Dot Song never forget the this Dot somebody compose that song for me
Info
Channel: The Coding Train
Views: 41,179
Rating: undefined out of 5
Keywords:
Id: QyGG15J9bAc
Channel Id: undefined
Length: 241min 10sec (14470 seconds)
Published: Sun Jan 29 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.