Placeholder Image

Subtitles section Play video

  • I ever on?

  • Thank you for joining me.

  • And today someone who is gonna be called the wonderful world of Get Hub.

  • As I'm sure you all agree, I typically come up with the best titles.

  • So let's jump right in.

  • Okay?

  • So first of all, what is get Hub.

  • I recently heard Get hub being called the Google drive of code.

  • And in many ways, I really, really like that description.

  • So let's take a setback.

  • The first thing I want to say is congratulations.

  • If you've taken CS 50 then you already have a get help account.

  • So congratulations.

  • And you've already used to get up how?

  • Well, you may have not realized this, But every time that you've run Chuck 50 or run submit 50 you've been doing is you've been pushing your code that lives on your computer on to get help onto, you know, so that it's now living in get hub repositories.

  • Okay, so how does it work?

  • How does you know?

  • Code go from your computer onto this?

  • You know, Google drive of code.

  • Well, the way that you ask get Hub to connect with their computer is through a series of git commands.

  • Now, Brian, you see a city's current head t f has a really, really great seminar, which is an introduction to get hub and basic get commands linked right above.

  • And if you are not yet familiar with get commands, I highly, highly, highly recommend watching this video.

  • I know I have myself to watch it many, many times.

  • Okay, so in the seminar, we're not gonna be talking about the nitty gritty of how get works.

  • Exactly.

  • But instead, I wanted to take a step back and sort of have a conversation about what get Hub can do for your programming experience.

  • How get Hub can connect different computer scientists and sort of really, really get excited about using get hub throughout the rest of your CS careers.

  • So the first thing I want to talk about is something that is very, very near and dear to my heart commits and specifically commit messages.

  • So what I mean by this, let's take a step back.

  • So essentially every time that you push your code to get home, Okay, every time you say, hey, get hub.

  • I'm about to send some code that I've been working on on my computer locally.

  • Would you please go ahead and save it in my get hugged repositories?

  • So again, every time you push your work to get hub, you have to attach a comet message.

  • Now, when I first started learning how to use get hub, I didn't really care about messages I use I really Sometimes I, like, try to submit it with no message which get Hub doesn't really like.

  • And then sometimes I just, like, really send random random messages, you know, really like, could have been anything could've been like elephant or dunk or something of the sort.

  • However, now that I've you know, im deeper into my computer science experience, I have realized that commit messages have this incredible power and that they're actually extremely, extremely useful.

  • So I wanted to share some of my learnings about get two messages.

  • Let's dive right in.

  • So there are a couple of reasons that making commits with really nice messages is really useful.

  • So the 1st 1 is stuff breaks.

  • Okay, stuff breaks all the time.

  • You can have code that you think is working, and you might break it, and you'll likely break it and you'll likely break it again and again, and it's going to be frustrating, but that's completely completely Okay, So what could help lets you do is it lets you send different versions of your code so that you don't have to be worried about stuff breaking because stuff will break.

  • And when it breaks, you can revert to an earlier commit essentially say, hey, get hub, isolate We screwed up.

  • Let's go ahead and change the code that is on my computer to something that I had before that did work.

  • OK, so I've just included some screenshots of some funny recent comet situations I've been in were stuff has broken, Um, and you'll notice that, you know, sometimes you try to fix something and it doesn't work, and you just sort of have to start from a few steps behind.

  • But you know, C s isn't quite, isn't always.

  • Ah, programming isn't always a very linear experience.

  • It's sort of more like jumbo old.

  • And progress doesn't always look so straightforward, so that moves on to our next reason, which is that it lets you try different things.

  • So I know that many times I've been coding and I think I'm like 80% of the way there.

  • And I think just in the corner of my mind that perhaps perhaps there's maybe a better way to do it.

  • Or perhaps one of the problems that I have might be fixed by doing a certain thing.

  • But sometimes I'm nervous because I think I'm 80% of the way there.

  • I think not sure that this 20% is worth me potentially ruining everything.

  • Okay, so this again brings us back to get okay, which, by saving different versions of your code, you're sort of empowered to really, really try different things.

  • And this has happened to be many times where I will say, OK, you know, again, I think I'm 80% of the way there, and I'm gonna try three different strategies, and I'm going to make various commits and, you know, with great commit messages along the way so that I can track that and that I can sort of free myself up to trying things that might not work, trying things that very well might have devastating consequences on my project.

  • But that's okay.

  • So get in this one little thing, I've drawn it just to highlight that there are, You know, from a specific starting point you might go on a bunch of different directions, get really, really letting you do that safely and efficiently and again.

  • This sort of opens up a whole new world where you can code without the fear of, you know, things going so wrong that you won't be able to get back to where you started.

  • This brings me to another really, really, really cool thing about connects and your fund commit messages.

  • So I'm a big reflector, and I like looking back and taking the time to process and and think through, You know, my different approach, my different approaches to different problems And one of the things that I found in, you know, my extensive, extensive commit making is that it's actually really, really, really nice to be able to look back and see.

  • Oh, wow.

  • I remember that committee.

  • I remember, you know, sitting in the library at two AM and thinking will I ever get through this?

  • I remember that moment where I made a change.

  • Everything broke and then I controlled seed and pushed my push my coat because I was very worried that I was about to go into a really crazy direction.

  • So usually at the end of you know, a piece at a problem set for a computer science class or, you know, just looking through some personal project I've been working on often.

  • Just scroll through those commits and think through Wow, you know, look out for I've come.

  • Look how hard some of those moments were.

  • Look how rewarding a lot of those parts were.

  • And I think it's a really, really, really nice thing that get help.

  • Lots of stew.

  • Okay, so moving on The last thing is just a small note that one of the another great great future of Get Hub, which again Brian covers credit sensibly, is collaboration.

  • So get hub and get commands really allow us to collaborate quite easily with other people that are working on the same project.

  • So in this screen shot, it's actually just me making all the commits.

  • But I was using someone else's slide, so I just wanted to give them sort of like a shout out.

  • Which brings me to one very important thing about commit messages.

  • So a metaphor I used for this often is, let's say I wrote an English paper and I give it to me teacher.

  • And when my teacher returns it, you know, I have a great whatever.

  • I'm gonna have a bunch of comments and I start reading them.

  • And I The comments that I'm seeing are small change here.

  • Tiny issue here.

  • You should fix something.

  • You know, all these like very vague short messages might not be that useful.

  • Commit message is a really similar.

  • So let's say you're working on a project where a ton of other people are also going to be working on it with you.

  • Well, it's a good idea to be transparent and about your progress and about you know, how different things were going.

  • And it's just very useful for other people that are working on the same project to be able to see you sort of what's going on.

  • So, in fact, I've included these screenshots as poor examples of commit messages.

  • Okay, I'd highly recommend, you know, taking the extra 30 seconds to write a commit message that is specific.

  • That is clear so that when you go back, and especially especially especially if someone else is looking at that repositories.

  • Looking through those commits that they can see exactly what's going on and, you know, maybe lend a hand if needed, release will have a better sense of how the project is going.

  • So now let's move on to my second favorite thing about get hub, which is that Get hub explore Page.

  • So there are tons of platforms out there where people come together and are sharing and collaborating.

  • And those air typically saw my favorite platforms get hub is no exception.

  • So they get have Explorer.

  • Page is essentially a page where you can see repositories and projects that people have, you know, uh, made public, which is typically the vast majority of them.

  • Um, I know that early on in my career, I mainly focused on my personal get help repositories.

  • So the personal projects that would show up when I clicked on might get high profile.

  • And for a long time I mainly stayed on those few pages.

  • What I have since realized is that the explorer of age is phenomenal.

  • It's so, so interesting.

  • You can read about other people's projects.

  • You can read about things that you were using.

  • Okay, so tools that you are using I cannot stress enough how interesting it is to read about how Check 50 works cities, automated tool for grating, the correctness of code.

  • And in fact, many of the city jewels are all of the documentation on Get Hub and you can go and just look through the code and try to make sense of how everything is fitting together.

  • It's really, really interesting and last but not least back to this issue of collaboration.

  • So when you're exploring projects, there's this thing that you can do that's called a pool request, which is essentially, someone has a depository project and you say something like, Hey, I think there's a way, You know, you could do this better or hey, I spotted a bug and I am proposing a way to fix it.

  • And essentially, you can you sort of, like, clone the project, make that change, and then you create what's called a poor request, which is essentially you tell the owner of that repositories.

  • Hey, I am proposing something.

  • Might you accept this proposal?

  • Okay.

  • And if they do, then that change will merge and you know they're depository will change in that way.

  • And if you know they could say no if it's maybe not a good solution or not a good change, But but But I actually heard so many stories of people that randomly made a poor request, you know, to some deposit worry, that of some organization, sort of like far away in a different country or something of the sort.

  • And they said, You know, Hey, listen, I love your work.

  • I noticed a small change.

  • Here's a way you could fix it.

  • They create a PLO request.

  • That organization accepts the change.

  • And then now you know you've made this connection so something I sort of always like to try to do is sort of go around the get public square page, read about what other people are up to see what I can learn.

  • See what I can try to collaborate on and again you.

  • It's a great place to sort of make those connections again, especially if you are able to find a way to improve something with, you know, on someone else's project.

  • Or if you find a bug and have a proposal for a way to fix it, you can create a poor quest and make that connection in that way.

  • The last thing I want to talk about static websites through get home pages.

  • So there are so many different aspects of computer science, and I think one that is particularly popular is Web development.

  • You know, we all use web sites were all on the Internet all the time.

  • You probably are right now, um, and a lot of us want to know howto build these things, But we spend so much of our time on.

  • So I recently have realized that there's this giant giant push towards learning a bit of web development.

  • However, if you've looked at h e mail or C.

  • S.

  • S R, even Java script, you may have realized that it can get a little bit more complicated than you realize and sort of like, especially for me.

  • When I was just learning how to create websites, it felt like there were just a lot of pieces and I didn't know where to start.

  • And I didn't want to, you know, quite go so far on one extreme of building something sort of from the ground up.

  • And it also seemed not that fun to just sort of like input stuff into, like a template like WordPress or something of the sort Kinda wanted something in the middle.

  • And I found out something that was really, really, really great to start with was getting pages.

  • So get out pages is essentially a way for you to create static Web sites that are hosted on your own.

  • Get hugged repositories.

  • Okay, so it's essentially a way for you to create simple Web sites and have them sort of live right away.

  • It's also very clearly in your control.

  • You sort of are quitting on your computer and you can push changes to get hub.

  • And then those sort of be like, updated on your repositories.

  • So the great, great, great, great thing about pages, they're phenomenal documentation.

  • Okay, very much step by step walking you through how to create your first simple and static website.

  • All right, this is how I made by a couple of my like, early first Web sites, like I didn't really know again.

  • We're to start.

  • This is a great, great, great place to start of it.

  • So what are the big takeaways of this?

  • Get on, Get hub can often sound like big, scary things but they're not okay again.

  • If you've taken CS 50 you're like 70% of the way their prices.

  • Just a couple notes that I want to leave you in.

  • As I said before, commit messages matter really commits Mother, um for a bunch of sort of the very small scale reasons I've talked about, like, you know, clarity and collaboration, but also bigger picture.

  • It's, you know, a great time to reflect on your problem solving process and a good time to sort of, like reflect on how you are growing as a programmer and then the 2nd 1 is exploring awesome projects.

  • Like, you know, the Internet is your oyster, and Google is great, and you can sort of go and Google Ah, bunch of different things.

  • And the great thing about the help explore page is that everything that you're gonna find is gonna be in a format that you know and are comfortable with.

  • And again, pull requests are super, super interesting and super cool, because then it gives you that chance to connect with you know what organization a project that might be countries or thousands of miles away.

  • And the final thing is thatyou conjunction into simple Web development with get help pages.

  • Okay, again, You're 70% of the way.

  • They're All you do is read a little bit about how to set up your first basic website, and then you can send that link out to your friends and get everyone really excited about how you're the next Steve Jobs.

  • Okay, so last note, I just leave you with this commit message that I made recently, which is file Sanders.

  • Not the best commit message in terms of, you know, doesn't really convey much information.

  • But what it does convey is my excitement about good hub.

  • What it does convey is how exciting these things could be.

  • And then how fun?

  • And, you know, I promise you, I promise you I promise you that the second that you dive in to get hub, start with watching Brian seminar that you're just gonna find this wonderful, wonderful world, and you're never gonna want to get out of it.

  • Okay, I'm gonna now wait for a few questions, okay?

  • Okay.

  • Looks like no questions at the moment.

  • That's totally okay.

  • Um, I'm probably gonna stay here after for a bit.

  • If you would like to chat or, you know, I can show you some of my projects or something of the sort.

  • But if that is all that, I think we will conclude.

  • Thank you so much for joining.

  • Thank you.

I ever on?

Subtitles and vocabulary

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