Placeholder Image

Subtitles section Play video

  • wait.

  • Okay.

  • You hear me?

  • Also.

  • Good morning.

  • This is working so many technical difficulties.

  • Hello.

  • Welcome to today's live stream.

  • The irony here is that it actually was a starting the lifestream five minutes early and it didn't work.

  • S o.

  • I'm just waiting till people see me, they consider this music is loud.

  • Okay, that I can, uh, that can be adjusted.

  • I see.

  • Greetings from Denmark.

  • Okay.

  • Who Here we are.

  • Oh, also so hard.

  • Life is so hard sometimes.

  • Technology.

  • I was so ready, so much energy.

  • Hate a plan.

  • I was prepared.

  • And now I feel like a complete and total loss because mentally I sort of, like, checked out.

  • I was like, It's not gonna work.

  • I'm gonna get going.

  • Just like stop.

  • I was I was like to To To our left.

  • You are minutes from giving up also, unfortunately, getting over a cold.

  • And, uh, but I felt the need to live stream today because 00 uh, I'm gonna discuss nature of code down.

  • Third stop.

  • I felt the need to live stream today because I am going to be mostly on hiatus for quite a bit of the summer hiatus.

  • for not from producing content but from producing video content.

  • Because I am hoping to focus my energy and efforts towards the second edition of the nature of Code book, which I hope to finish by the end of August and then be back full steam, live streaming in the fall and making videos that a company in a second dish of the book.

  • That's kind of the point.

  • So let me just a mute myself for a second here while I blow my nose.

  • What's happening?

  • I'm sure today sponsor Brilliant Hot or GE is thrilled to be sponsoring a YouTuber who is meeting their microphone and blowing their nose.

  • But I do want to thank Brooke dot or GE.

  • I'm excited about looking at billy dot org's a bit today because I won't talk about the nature of code book, and I looked this morning at blade dot org's Daily Challenge.

  • Take a look at it now sign up it for free and brilliant dot org's slash coating train.

  • The Daily challenge from today relates to examples from Chapter two of the nature of code, so I'm gonna look at that challenge and solve it with you at the third stop of today's trade.

  • All right, but let me go straight.

  • I have not moved to my new studio.

  • Asks for J uh, let me move first to the first stop.

  • So this is my This is my schedule for today.

  • I am now, unfortunately, behind by 30 minutes.

  • I have two and 1/2 hours.

  • I had two and 1/2 hours.

  • Not only have two hours, I probably should skip this 1st 1 but I always I'm putting the things that I always skip first and putting the things that I don't usually skip last.

  • So we'll see how this goes.

  • So hopefully this is gonna be a quick one.

  • I'm gonna just move full steam ahead, because, um, I lost all that time, so I will skip the usual pleasantries.

  • Um, uh, and I'm going to go to get hot dot com slash coating train slash websites, and I'm gonna go here.

  • Uh, so I need All right.

  • Okay.

  • Um, and let's let me fix this.

  • Okay?

  • Right.

  • All right.

  • So the first thing that I want to do today is actually walk through the steps to make a community contribution to the coding train got calm, especially if I won't be live streaming for awhile.

  • We can interact with each other by sharing more projects based on the existing coating challenges.

  • So also, move down a tiny bit.

  • There's, like, some stuff going on here.

  • What's over here?

  • There's something like but I feel like is showing up.

  • Oh, it's this, uh okay.

  • You know, it's one of the side.

  • There we go.

  • Okay.

  • All right.

  • So I'm just going to get started here with this.

  • Alright, here we go.

  • Uh, just before I do this quick tutorial, uh, Taser cake is asking What's the schedule?

  • Let me pull that back up.

  • This is my schedule for today.

  • I don't know that.

  • I'll get through all of it, but this is my goal.

  • All right?

  • Very loud.

  • And I do have a bit of a sore throat and still sniff.

  • Lee knows I just, like terrible cold.

  • It's so much better.

  • Today was completely incapacitated on Tuesday and today's Thursday.

  • So yesterday was a mild, and today I feel better about their some residual symptoms.

  • You brought here it in my gravelly voice.

  • Yeah.

  • I should be singing the ukulele.

  • My That would probably sound.

  • Excellent leader.

  • Hello And welcome to a quick tutorial on how to submit a community contribution, something you made based on one of my coding challenges to the coding train dot com website.

  • All right, so this is the code etrade dot com website.

  • You can see the most recent coding challenge as time.

  • This recording is number 147 147 of them, and it is the Google chrome dinosaur game.

  • But it was my own version with unicorns and that sort of thing.

  • So if I click here to up here, I'm gonna just click to coating challenges.

  • And now I'm on the page with all of the coding challenges.

  • So maybe you happen to make a project based on one of these, Let's find 10 print.

  • So I think this particular coding challenge has the most community contributions that broke the record, which whatever the record is.

  • But you know what?

  • Let's try a little experiment here.

  • This I shouldn't do this on my life streams, but I'm going to anyway, I'm going to record this with the green behind me and Matt, you So in the new studio that I'm planning to set up I'm gonna be.

  • My goal is to be able to record all the different views, cameras and screen captures two separate files so they could do more postproduction editing after the fact of the life streams.

  • Right now, I can't do that.

  • Let me do my description.

  • You know, you the viewer of this life stream right now, you know what the coding train dot com website looks like?

  • Or you could look at it yourself, So I'm going to just describe it.

  • And then Mathieu, who does video heading for the coating train will add it in the background after it.

  • Then why do the actual tutorial of showing you the steps?

  • I'll come back.

  • Okay, this is Dr This.

  • This is gonna find out.

  • Of course the camera goes off.

  • Yes.

  • And now you're all seeing my nice, green covered laptop.

  • This was the problem.

  • This is the problems folded in a weird way.

  • Hi Tech solution.

  • Here, everybody.

  • Hello and welcome to a Oh, this is a bad idea.

  • I could tell Hello and welcome to a quick tutorial on how to submit your own community contribution something you made based on my coding challenges to the coding train dot com.

  • So at the coding train dot coms home page, you can find the latest coding challenge.

  • You'll find a page there for that challenge that has the video itself links to the source code in with P five GS with processing with people I just Web editor, just the raw source code on Get up all of those things, as well as any links to other supplemental material I referred to in the video itself.

  • Then you'll find this section, my favorite section called Community Contributions.

  • And if you've made a project based on that coding challenge, you can submit your project to this page.

  • And what I want to do is show you how to do that in the context of this tutorial.

  • So there's two possibilities.

  • One is that the page won't have any contributions on it so far.

  • That's pretty rare, and you have to be the 1st 1 to add it.

  • Or if one if community contributions already exist, then you just have to add yours to the existing list.

  • So let's go to Let's pick a challenge.

  • I'm gonna pick the 10 print coding challenge because it happens to have the most community contributions, and I'm gonna show you how to add your own contribution to that page.

  • But the sink, the same techniques should, of course, applied to any of it.

  • The same technique, of course, replied to any of the coded challenge pages.

  • Editing, editing, editing.

  • All right, so now we go back to here.

  • I don't know if that was worth it.

  • Get a little extra work for Matthew.

  • Where am I?

  • Here.

  • Where's my mouth?

  • Serious s.

  • So let's go to a 10 print.

  • Okay?

  • All right.

  • Okay.

  • I just All right.

  • Oh, no.

  • I froze, Froze, froze, froze.

  • And I wasn't recording to disk.

  • Am I back?

  • I believe I am back.

  • Let me know when you see me back.

  • Hi again.

  • Okay.

  • So I don't have the chat up on the monitor that I look at over here that you can't see.

  • So I will get that in a second.

  • I'm just going to redo that explanation because it crashed in the middle of it, and I don't think it was recording properly.

  • Okay, boy, we're really not getting through anything today.

  • Thank you, Everybody, for your patience.

  • Welcome to Daniel Shipman's No, good.

  • Very terrible.

  • Horrible bad.

  • Bad day.

  • E.

  • Get that right.

  • Uh, no.

  • Good.

  • It's called terrible.

  • Horrible.

  • No good.

  • Very bad day.

  • Yes, I should get the chat back up, But let me just do this again.

  • Okay?

  • Hello.

  • And welcome to a quick tutorial on how to submit your own project to the community contributions on the cutting train dot com.

  • So, after cutting during dot com on the home page, you'll find the most recent coding challenge.

  • And then if you click on cutting challenges, you'll find all the cutting challenges that I've done.

  • And each one of those has an individual page with the description, the video list of links of things, all the source code with P five Web editor on Get Hub as well as here.

  • It is my favorite part.

  • The list of things that other people have made in response is creative versions or twists or improvements on the thing that I coated in the video itself.

  • So if you're wondering how you consider it yours, I'm to show you how to do that.

  • So let's pick arbitrarily not so arbitrarily the 10 print coding challenge.

  • It's the one that happens to have the most community contributions.

  • Let's see if we can get another one toe beat that record.

  • Maybe.

  • And I'm gonna walk you through the steps.

  • I make my own little twist on it, changed the code, and then submit my own version of it.

  • Okay, so let me go back to here.

  • Hopefully that explanation made sense.

  • I don't think this stream is really working, but, uh, yet this is on YouTube's end.

  • This is not my problem.

  • Uh, all right.

  • Okay.

  • All right.

  • You know, interestingly enough, I was streaming because of all the problems earlier, I was streaming to YouTube's backup ingest server, and I just switched it back to the primary one.

  • So hopefully that this is going to resolve that issue.

  • I really think I could be wrong, but I've had issues like this before, which were problems on my end, in terms of a computer freezing or having a poor Internet connection.

  • That is not what's happening right now.

  • All of the checks and tests that I've looked at my on my end.

  • The data is moving out very, very fast.

  • There's no bottleneck.

  • Nothing is crashing or freezing, and I'm getting air messages from YouTube itself so I could be wrong about that.

  • I just really, really don't think this is on my end this time.

  • Uh, So, um and so let me get the chat back up, so at least I can see it.

  • Just bear with me for a second.

  • Um, and I'm gonna move on.

  • This is let me get the shot back up.

  • But I'm hoping that I have now resolved all the issues by switching back to YouTube's primary server.

  • Okay, Okay.

  • So moving along.

  • Okay, here we go.

  • All right, here we have first place.

  • This place to start is on the coding challenge page for the coding challenge you want to submit to and here.

  • Yeah, So here we are on the 10 print coding challenge page.

  • You can see these are all of the community contributions.

  • Each one has a link to it with creator's name and the source code.

  • Other links discussing the challenge, the description of the challenge.

  • What I want to do first is go to view code and I'm gonna click on Web editor, and I'm gonna open this in a new tab, which it does automatically and then Well, that's sick.

  • Well, that a second.

  • Everybody.

  • Here we go.

  • Log in via dash lane.

  • Previously was a sponsor.

  • Thanks.

  • You definitely.

  • Uh, uh.

  • Okay.

  • Um great.

  • So hold up.

  • Close this energy, people energy.

  • So here I am on the 10 print coding challenge page.

  • I've got the description.

  • I've got links described in the videos, and then here.

  • Look at all these community contributions.

  • Awesome.

  • So there's a link here to add your own version.

  • I'm gonna go to that with some instructions.

  • You could just look at that.

  • But I Instead, I'm gonna try to walk you through the process.

  • So the first thing I need to do is make my own version.

  • Presumably you've already made yours, but I'm gonna go to view Code Web editor.

  • Click on that.

  • And now I'm here.

  • This is the 10 print coding challenge.

  • I will make my own version by changing these two lips on dhe.

  • I'm gonna make this, uh, spacing.

  • You call this?

  • I spelled lips wrong.

  • Lips.

  • I'm gonna call this spacing medics.

  • Why?

  • All right, then.

  • I'm gonna say, Phil, it will cut this part out.

  • It is not important.

  • Hold on.

  • Stressed again, huh?

  • I have to make my own version.

  • So I'm gonna click here view code.

  • I'm gonna click over the web editor.

  • And then now let me quickly make my own version.

  • What?

  • Wait, I got it.

  • Now, Matt, you you'll speed through this.

  • Okay, um, I'm just gonna start this over again.

  • So here I am on the 10 print coding challenge page.

  • I've got the video itself by our said, I've said all this stuff.

  • So here I am, in the 10 print cook here I am on the So here I am on the 10 print coding challenge.

  • Paige and I want to add my own version should note that I can just click this link and follow these instructions, but I'm gonna walk you through that right now.

  • So the first thing that I want to do is make my own version.

  • I'm gonna go to review code and click Web editor, and I'm gonna play it and quickly just make some changes.

  • Oh, sicknesses bad.

  • So, Matthew, this will get sped up.

  • Let's make my own version of this, uh, ellipse mode, corner lips, spacing, spacing, No, no stroke.

  • Wait this Phil, I'm just gonna make it black or wait.

  • Okay.

  • And what it look?

  • So pick silly.

  • I don't really care about that, I guess.

  • Um all right.

  • Oh, shoot.

  • I forgot.

  • I'm logged in as the coding trained.

  • I totally just overwrote the challenge.

  • You hold up, get it back.

  • Okay.

  • File duplicate imprint, variation.

  • Okay.

  • I made my own beautiful variation of the 10 print challenge.

  • Where instead of drawing a line forward or backward, I'm drawing a circle with a white Phil or a black Phil.

  • They're beautiful, right?

  • So this is the link to my sketch.

  • I actually wanna go here and do share.

  • I want to.

  • I want to get this.

  • We need to take that.

  • So there you go.

  • This is my variation of the 10 print coding challenge where instead of drawing a line forward or backward, I've drawn a circle, and I have filled it white or filled it black.

  • So now that I've made this project, I save it.

  • I've got the link to it.

  • I'm gonna go over here to coding train, and I'm gonna click on add your own version.

  • So I'm gonna click on that.

  • It's gonna take me to the strange page.

  • So What's the deal with this page?

  • Oh, new member.

  • Hello, Justin.

  • Amongst interest.

  • Welcome.

  • Thank you.

  • Yeah, e should not be live streaming when I'm getting over a cold.

  • The format for this page is something called Yeah mo, which stands for yet another mark up language.

  • Seriously.

  • And you can see here this is the metadata associated with this coding challenge and has a title of the number of the challenge.

  • The date it was recorded, the video i D.

  • Which is it's YouTube that your i d.

  • That's where the source code is.

  • That's the P five Web editor.

  • These are various links, and what's most important here is contributions.

  • So this is the part that you need to edit.

  • I would suggest that you just put yours at the end.

  • You could slot it in wherever you want.

  • Put it first, because there's no actual system for this.

  • But in terms of where I would ask you to put it, think it makes sense to have these somewhat in order of contribution.

  • So I'm gonna go all the way to the end.

  • And the easiest thing for me to do is to simply copy Paste one of these contributions, which has four fields, innit?

  • Title author, Your l source.

  • So I'm gonna copy Paste this and then I'm going to paste it below.

  • Sorry, everyone.

  • Now, I just realized you might be asking kind of an important question.

  • Where am I?

  • Where my editing this.

  • What's going on?

  • So this is actually the get hub website.

  • You'll notice this is a your Ellen get hub dot com Get Hub is a website for hosting git repositories.

  • Get Repositories is a A collection of documents with history of all the versions of those documents mostly used for tracking the history of a source cut code related project.

  • I would refer you to my videos on Get and Get Hub, have a whole series about 10 to 15 videos that kind of talk more about the that get software and the Web site itself.

  • So that's unfamiliar to you.

  • You might go back and look at those, but you don't actually need to know anything.

  • You don't need to know all of those details to submit your contribution.

  • You just need to be able to follow these steps.

  • However, these steps will only work if you have a get hub account.

  • So if you don't already have a good hump account will need to sign up and be logged in for this to work.

  • So once you've done that, I'm gonna go down here.

  • I'm gonna add mine.

  • Let's change the title to, uh, um coating train.

  • Demo contribution.

  • The author is me, Daniel Sheaf mon.

  • And then on now it's time for the girls.

  • So I'm going to consider I'm gonna go under share.

  • I'm gonna considering it again.

  • Yours might not be a p five Web editor sketch might just be a website.

  • It might be a git repositories.

  • It could be anything, but you just need a link to your documentation of the project.

  • So I'm gonna pick this full screen, one lips, which is this and I am going to Where was I?

  • I'm going to pace that in here.

  • Then I am going to go back here, and I'm just gonna do the editor of you, Which is that, And I'm gonna pace that in here, and that one thing I'm gonna do is I'm going to automatically make a mistake because it's very common that you'll mess something up.

  • So, for example, what If I forget the quotes here, I'm gonna make another mistake.

  • I'm gonna add, like, a couple of extra spaces here, and I'm gonna have this having extra space here.

  • So I'm gonna make those mistakes on purpose.

  • And then you say, I'm gonna say here, adding my own country, Uh, my what?

  • It's, uh, 10 print contribution circles instead of lines.

  • Now, here's the other important thing that I would really like you to do when reviewing these pull requests.

  • It's really nice that there's a link to the project in this optional extended description.

  • It makes it really easy to click and see what you made lets me see them much more easily, like know what to share and, like, just able to react to it.

  • So I would ask that you Adeline to you here linked to demo here.

  • I'm gonna go back to here.

  • I'm gonna go under share.

  • I'm gonna click this on.

  • Gonna click this now then This is the option.

  • It will say you cannot commit to the master branch, but I want to go to create a new branch of this, commit and start a pool request.

  • Ah, pull request is a is terminology.

  • Forget and get hub where you're saying I No Sorry.

  • Excuse me.

  • A pull request is a term that refers to asking me or not me in particular, but the code and trained website to pull your new changes in tow.

  • Pull your submission in.

  • So I'm gonna call this shift.

  • Men 10 print.

  • Contribute.

  • Just Shiffman.

  • 10 print commit changes.

  • Now you can see this is now the last step here.

  • Open a pull request and it's pretty much filled in for me now because it took the commit description in here.

  • So I'm just going thio click, create pull request And then here is the next really important thing and we're gonna wait for this to run.

  • I should say what's running here?

  • This is what's known as a unit test is running, and it's running via continuous integration on a service called Circle C.

  • I.

  • So I actually have a whole set of video, Charles also on unit testing and continuous integration that you can check out.

  • But what is doing isn't checking the syntax of your contribution to make sure there are no formatting mistakes in or no missing required data pieces and well, it came back.

  • Now all checks have failed.

  • Meaning there's an error.

  • So this is something that helps you when you make your submission, Know whether it was done correctly.

  • And this is so sort of off putting to have this big red accident feel so terrible, like my sufficient was wrong on the test in past No, no.

  • Feel excited and feel.

  • I feel good about yourself that you stretched and made an attempt and tried to submit a pork.

  • West Bengal is your first pull requests.

  • Get up.

  • It doesn't matter.

  • The check failed.

  • Is just the computer checking it?

  • You could now make some edits or you could ask for help at the coding train Community is here on get up to help you fix it up and make sure your submission goes incorrectly.

  • But knowing that the test failed is a bit of extra information for you, so I could actually go click here on details and it's gonna take me over.

  • And it's gonna have all this information that I could scan through and try to find what the particular error messages.

  • But usually it's a missing piece of data.

  • It's a white space extra spaces are extra indentation.

  • I'm gonna go and fix those errors.

  • Now, the way to fix those errors would be to go to files changed.

  • Click on.

  • Um, wait a second.

  • Isn't that where you wanna go?

  • Files changed oenophile.

  • Yeah, I guess it's just because no is the go to files change and click on.

  • Uh, maybe I should actually show those errors.

  • Hold on.

  • I don't know if I'm showing anything.

  • Let's see.

  • Well, this work for other people who are looking at this who aren't members of the coating train, um, go here scrolling all the way down through all the tests, we can get to the end, and I can zoom in.

  • It says extra space at the end of this line.

  • Your l editor.

  • So you could see this is the error.

  • This is.

  • And this is the air I need to fix.

  • Unfortunately, it just finds the first Erin and hasn't found all the errors.

  • But I can go back now to my pull request.

  • I can click on files changed.

  • I could go here on click on edit file, and I could go back.

  • And I'm gonna just fix all these things.

  • So I'm gonna get rid of this.

  • I'm gonna put the quotes around here.

  • We're gonna have this go ahead of extra spaces here.

  • I'm gonna click on those and I'm gonna say, commit directly to the Shiffman 10 print branch.

  • That's gonna add those changes to the pool request.

  • I'm gonna commit changes.

  • And now if I go back to conversation, we can see the unit.

  • Tests are running again.

  • Let's hope they work this time.

  • What's there?

  • We go.

  • All checks have passed.

  • This branch has no conflicts with the base branch.

  • Merging can be performed automatically.

  • Merging is the act of accepting that pull request and merging the changes with the current Web site source code So you won't actually see this button squash and merge.

  • By the way, if you wonder what squash means, it means this pull request has to commits to separate straight changes.

  • And squash will squash both those into one.

  • So it just couldn't cleans up the history of the project because we don't actually need to separate these two things out in the grand history of things, even though they are two separate changed for this request.

  • So you won't see this because you most likely are not an administrator of the coding train website.

  • And you will wait for somebody here Thio to press that button.

  • And once it's done, you will see.

  • And I'm gonna do that.

  • Now, I'm gonna do that now.

  • Here we go.

  • Once that's done, all I do is go back to the coding train dot com website and I hit Refresh.

  • It's gonna take a little while and this part out it's gonna take a little while because that's to rebuild the whole website.

  • David and the chat says please mention how to do it with YouTube video ideas.

  • Because if the contribution is a YouTube video, the direct link won't work.

  • Uh, okay, so that's something we should, Claire.

  • So that's and they'll be really helpful, David, actually to make a pole request to the instructions to explain that, But I will also mention it.

  • I'm just gonna check.

  • What I'm gonna do is I'm gonna check over here.

  • Uh huh.

  • To challenge.

  • Wow, It's still not there.

  • How long does it take to rebuild a sight?

  • My goodness.

  • Session it ties.

  • Asking what if we want to upload code?

  • I don't know exactly.

  • what you mean by that.

  • But you you can include a link to your source code in your contribution.

  • This is not a general how to make changes to the coding train website tutorial.

  • That would be a completely different type of thing.

  • This is just about adding your contribution to the Yamil Marco.

  • There it is.

  • Okay, it's there.

  • Okay.

  • And now we could be on this page.

  • I don't see my contribution there, but I could hit, refresh, get refreshed.

  • Theo, Daniel chiffon is there.

  • And if I click on this, it'll take me over to there's my contribution.

  • If I click on source code, it will take me over to the source code page.

  • So I should point out, I'm just showing you my my contribution happened to be a P five Web editor sketch.

  • But what you might wanna link to could be a YouTube video.

  • It could be just a full Web site.

  • It could be a block post.

  • It could be anything you want.

  • One quick Gotcha.

  • Is that four things that are YouTube videos?

  • Don't put the full your l to your YouTube video in the contribution.

  • Just put the video I d.

  • the system itself knows to make the YouTube video.

  • You're all out of just the video i d.

  • There's probably some other small details in theory.

  • Those things air covered here under See How I click on See how this is a guide to everything that I just showed you.

  • And you can see the actual format of how to put in your contribution and how to create a pull request.

  • But this is also something you could edit and offer contributions to if there are things missing from this guide, or leave them in the comments of this video itself.

  • Um, so thank you very much for watching this quick tutorial about cement in your own community contribution to the code intrade dot com website.

  • I hope this encourages you to submit yours.

  • Don't be shy.

  • Don't be afraid.

  • We're here to welcome you in with open arms and rain goes in unicorns to try Is your first time using get hub?

  • This is a great way for you to give that a try and see how it goes.

  • So thanks so much and look forward to seeing you in a future coding challenge and having your contribution on the coded train dot com website, but by Oh, okay, there we go, everyone.

  • So Archer is asking, What if it's a malicious site?

  • So nothing.

  • We're gonna check we I say we there's essentially a group of volunteers on.

  • So the people who would be checking this army group of volunteers on a crucial house has been on Get Hub has been mostly monitoring the community contributions and merging them.

  • Me, I am.

  • Samy has done a lot of work on the website Austin.

  • I'm sure I'm forgetting to name people.

  • There's a lot of people have made to be a contribution.

  • So if you want to participate in the maintenance of the code and train, get up repositories, reach out to me.

  • I'm open to having war people help with that on.

  • I should also mention Sai, who is the new coding train community man manager.

  • Mostly, their work is focusing on social media and Patriot and YouTube memberships.

  • Less the get hub stuff does.

  • There's too much to do, but in terms of thinking about the code of conduct and how to manage the community, that's something that size.

  • Doing a lot of thinking of it.

  • You could always reach out and contacts.

  • I at say'that's see why at the coding train dot com Uh, okay, yeah.

  • People are wondering why I put the green screen their sorry little It's not really an experiment.

  • It's usually what I do when I record off line.

  • If I'm not live streaming but just to allow Thio have a little bit more graphics and stuff behind me that we can add later for the editor edited version of this.

  • Okay, it is 12.

  • 10.

  • Oh, no, no, no.

  • I have to.

  • 1 30 I was confused.

  • I thought I only had 20 minutes left.

  • I was like, Oh, my God, I'm not getting anything done.

  • Okay, let's do the processing library.

  • So give me a second here.

  • So this is done aboard.

  • We're going to the second stop.

  • Really Need music and animations coming soon.

  • Thio to future coding Train live streams.

  • If you are an animator who likes making stuff like this get in touch.

  • I'm looking Thio.

  • Probably hire somebody to create ah, lot of and animations for the lifestream that I can play for different segments.

  • And also I'm taking a break and before it starts and ends that kind of thing.

  • Um okay, so we're gonna open up the clips.

  • Where is this?

  • Let me try time.

  • That better?

  • Ah, I got a better idea.

  • We're gonna make this work launch too quickly.

  • Okay.

  • Good Enough was written with a newer version of product and be incompatible this version.

  • Why am I holding up my opening?

  • An older version of a cups packs in.

  • No way.

  • Why don't open up this old version of clips?

  • That was weird.

  • No, no, no exit.

  • Yeah, This one is what I want.

  • Hold on.

  • I get another chance.

  • Hold a room.

  • No, I want this version.

  • Okay.

  • Did I ever figure out how to change the general view to make the fonts of all these things bigger?

  • Oh, boy.

  • Editor preferences.

  • Well, I cannot.

  • I think I just got to zoom.

  • All right, All right.

  • So where I last left off.

  • So, unfortunately, if you didn't tune in to the previous livestream, you'll most likely be quite lost because I'm doing a lot of sort of obscure medieval stuff with building a java library.

  • But just a quickly recap it got the library to build but haven't actually implemented in the source code yet.

  • So, um and so I'm gonna finish that off.

  • I'm trying to think of what is important for me to say and do.

  • Here, let me open up processing.

  • We make sure this is the right processing.

  • Yes, it's there.

  • Okay.

  • Okay.

  • Um but don't fear what I did in the previous life Stream is currently being edited and will be uploaded.

  • It probably took me over an hour, but it's edited down to 20 minutes.

  • So they'll be a 20 minute part one which will show you how to get your environment set up.

  • And then I'm hoping this will be in approximately 20 minute part two, coating the library itself.

  • And then maybe I need to make a part three about publishing her library, documenting it, That kind of thing.

  • Okay, come.

  • Is it really just the simplest?

  • Oh, it's that simple.

  • Whoa, whoa.

  • Now I split my pain.

  • Oh, uh, there we go.

  • But can I be over here?

  • No.

  • So this I was able to increase.

  • I want to increase the size of what's over here, but I guess I'm just gonna zoom into it when I want to look so that's what I'll do.

  • Okay.

  • And then this over here is show view, Aunt.

  • Okay, Someone close this right now.

  • All right.

  • Will it work here?

  • I don't know.

  • We'll find out.

  • Okay.

  • Hello.

  • And welcome back to part two of building your own processing library in Java.

  • Look, I'm working with the clips.

  • I love the clips.

  • All of you will complain that I'm using Eclipse and who care.

  • I love it.

  • It's one of the first places I learned to program, so it has a special place in my heart.

  • So what I did in the previous part, you're probably gonna want to go back and watch it if you're here.

  • And you didn't was set up the development environment, So install eclipse.

  • Make sure I have processing installed, set up all the paths, the build paths, the project, that template, the cloning, all that stuff.

  • So what?

  • I am here right now.

  • I successfully built the library so it shows up now in processing under Import library and Rimmer, I'm choosing open simplex noise as the topic.

  • It's very arbitrary, but I want to build something that's actually useful.

  • Can be published as a real library, but the library is here.

  • But if I click this, it automatically adds the import statement, which you can see is just template dot library dot star.

  • So in this video, what I want to do is code the library itself and make one example that uses it.

  • Probably the hardest part of making a library is being thoughtful about the design and eight of the library FBI itself, how you make the examples and as well as documenting it.

  • So that's more of a broader topic related to how to maintain and publish an open source library.

  • But I'm going to mostly focus on the technical details of building the thing.

  • Um and maybe towards the end, I can circle back and talk more about this key important concepts and topics to having a healthy, open source project.

  • So first thing that I want to do if I want to customize this, that should say something like import Shiffman dot open simplex noise or something like that.

  • I don't think that's what I'm gonna call it.

  • I'm gonna go back to Eclipse.

  • I'm gonna go over here and I'm looking for under source.

  • And so, look, this is what's known as a package template dot library.

  • And so because the package Damon the template is just template dot library.

  • That's what the import was.

  • Template dot library.

  • So I'm gonna right click on this.

  • I'm gonna go to re factor and click rename, and then I'm gonna come here and I gotta pick a name for it.

  • Let's call it noise Open simplex.

  • Hey, no, let's call it algorithms dot noise.

  • Ultimately, I think what could be exciting about this library is to implement a bunch of different noise algorithms, open simplex noise, fractal noise, Grady and noise Wehrli noise.

  • So many different kinds of noise albums could be in here.

  • That would be additions and enhancements to the built in original Perlin noise album.

  • That's impressing itself.

  • So that'll be my name.

  • I'm gonna click.

  • Okay.

  • Excellent.

  • Now I want to go into the source code, which is called Hello, Library.

  • So I am going to rename this also by going to re factor rename, and I'm gonna name that.

  • Let's call this particular Java class open simplex noise and I'm gonna do finish.

  • Great.

  • I'm gonna go over here and there we go.

  • So now I'm gonna get sick.

  • Let's now.

  • Now, let's just try rebuilding it to see what happens.

  • So I'm gonna hit save.

  • I'm gonna go under window show view.

  • Aunt looks, let's try rebuilding the library.

  • Don't need to rebuild it at every single stage.

  • But let's just rebuild it to see if what I did at least sort of shows up with the proper naming conventions.

  • So another window show view, uh, at click here, uh, click here and do and build build.

  • Successful is what you're looking for.

  • Go back to processing sketch import library open simplex noise.

  • There we go.

  • So now you can see I got algorithms dot noise dot star.

  • Why don't have an error message?

  • I have a feeling polo sick.

  • Interestingly, it's giving me an error message.

  • Let's try restarting processing and see what happens.

  • Oh, I should have saved it, but that's like all right, I restarted processing and the error messages went away.

  • So certain things that you change if you're changing the package name even though the new library files are being built and brought over into processing processing has sort of like loaded what it thought all the package games were when it started up, so you have to restart.

  • So I don't think with every single change you make while you're building library going to restart processing.

  • But that certainly is something I have to do from time to time.

  • Uh, okay.

  • So let me do this.

  • We make this bigger, Okay?

  • Health had fun size a little bit bigger.

  • One of the things I like to do when designing an open source library is actually right.

  • The example.

  • First in the way that I imagine that it might be so.

  • Even though I haven't built any of the functionality of the library itself.

  • What I want what I want to do is I want to take, like, a simple, processing Perlin noise example that uses just the built in original Perla noise for the 19 eighties algorithm and then change that example to use open simplex noise.

  • So if I go to examples math, that's what I'm looking for.

  • Basics under basics under math.

  • Let's just take noise.

  • One d and let's look at this example this is assigning the X value of this particular circle to the with pearl a noise.

  • This is assigning the X value of this particular circle with noise.

  • The noise algorithm.

  • I am So it and so sad to be like in my head the angst of all of the discussions of which version of Perlin noises not really pro noises it in ways that the problem lies.

  • The fragment is like going on and on.

  • Let me just take that again.

  • This noise, this noise, one D example is mapping the X location of this circle.

  • It's drawing to the noise implementation in processing.

  • So I'm gonna grab all this code copy it, close this out and paste it in here, and I'm gonna imagine what I might do.

  • So I might do something like open simplex noise, uh, noise.

  • And then I'm gonna say noise is a new open simplex noise.

  • So presumably the ideas that open simplex noise would be an object in algorithms dot noise.

  • And so presumably, the idea is that open simplex noise would be an object inside of the package albums.

  • Not noise.

  • Maybe I want a name that just open simplex because by definition is the one who knows.

  • But I want to create a new instance of it.

  • Maybe optionally there could be like a seed that goes in here because I could be randomly seeding the noise.

  • And then what I would do is say so Let me call it something different for me to be less confusion.

  • Let me call OS noise for open simplex noise.

  • And then probably what I would want to do is say o s noise dot Maybe value pass it this ex offset.

  • And actually, that's it is really this is such a like you know, the open, open simplex always album this quite complex.

  • I just want one function that gives me the noise value back and I'll call that value.

  • Or I could have called it noise.

  • I don't know what to call it.

  • Excuse me, but again, these types of naming and a P I design decisions, while incredibly important, I'm gonna make a tackle later and through user testing and discussion and are less crucial right now in terms of the nuts and bolts of how to build your library howto how to think about making a open source library.

  • It's so important.

  • But right now, I could kind of just pick something.

  • Let's pick value.

  • I'm gonna go back to the library.

  • I'm going to this is so Uh oh, boy.

  • Oh, so much boilerplate.

  • I don't like boilerplate.

  • My throat hurts mine.

  • Oi, noses snuffling.

  • Let me go back to the library code and I'm gonna add a function.

  • Now, I'm gonna add a function called public value, and it's going to receive on argument like ex offsets ex off, and I'm going to say return negative five.

  • So I just want to test out this idea.

  • I want to add a function called Oh, this should be public float value because it's a job, a function of returns afloat, it receives afloat.

  • So again, this is not the open simplex noise algorithm, But I am just going to have it returned Negative five to see if it works.

  • And let's actually just give it like, um, the number 50.

  • Well, actually, noise should return a value between zero and one, or in this case, maybe between negative one and one.

  • So let's actually make it negative.

  • 0.5.

  • And in Java, if I wanted to be afloat, I've actually gotta add that f to indicate float.

  • So once again, I am going to build the library and I freeze.

  • You know, I thought it was frozen.

  • Just be standing still.

  • Yeah, I'll have to get.

  • Simon and David are both discussing that.

  • Actually, the open simplex noise album doesn't support one dimension, But we could just fix the second dimension, so I will handle that later.

  • Um all right, So where was I?

  • The library's rebuilt.

  • Let's go back to the code.

  • Now.

  • It's still giving me this error message because I think I probably to restart processing again, But let's just see if it works.

  • You Oh.

  • Oh, okay.

  • I just had to run it, actually.

  • Okay.

  • Oh, wait.

  • I'm getting an error.

  • The constructor opened simplex noises.

  • Undefined.

  • Why am I getting that error?

  • Because I have a constructor Open simplex noise.

  • Oh, needs this thing, pea.

  • Apple it The parents, huh?

  • What this is and how this works, p ap lit the parent is probably something I should tackle or address and maybe 1/3 part or fourth part to this Serious because I don't think that I need it for this particular open simplex noise library.

  • But what that is, it's actually a reference to the sketch.

  • The user of the library is writing themselves because there are times where the library has to interact with the sketch.

  • Maybe the library triggers a callback event.

  • The video library does that.

  • For example, The sound library believe may do that as well.

  • Maybe the library looks up a particular property that's been set by the sketch itself, So this is a way of having I don't know that to make any sense.

  • Cut that last sentence.

  • This is a way of having the library know something and communicate to or execute functions in the user's sketch itself.

  • It's not something initially need for open simplex noise, but let me just keep it in here for right now.

  • The side later, if I can remove it.

  • But there's it's This is not a flaw of the library design.

  • It's now a flaw of my code where I need to say this.

  • The key word this in Java refers to this class,

wait.

Subtitles and vocabulary

Click the word to look it up Click the word to find further inforamtion about it