1 00:00:00,000 --> 00:00:00,170 2 00:00:00,170 --> 00:00:01,300 SPEAKER: Hi, everyone. 3 00:00:01,300 --> 00:00:03,300 Thank you for joining me. 4 00:00:03,300 --> 00:00:08,580 And today's seminar is going to be called The Wonderful World of GitHub. 5 00:00:08,580 --> 00:00:13,230 As I'm sure you all agree, I typically come up with the best titles. 6 00:00:13,230 --> 00:00:15,270 So let's jump right in. 7 00:00:15,270 --> 00:00:18,390 OK so first of all, what is GitHub? 8 00:00:18,390 --> 00:00:24,420 I recently heard GitHub being called the Google Drive of code. 9 00:00:24,420 --> 00:00:28,630 And in many ways, I really, really like the description. 10 00:00:28,630 --> 00:00:30,720 So let's take a step back. 11 00:00:30,720 --> 00:00:33,110 The first thing I want to say is, congratulations. 12 00:00:33,110 --> 00:00:37,530 If you've taken CS50, then you already have a GitHub account, so 13 00:00:37,530 --> 00:00:38,460 congratulations. 14 00:00:38,460 --> 00:00:41,520 And you've already used GitHub. 15 00:00:41,520 --> 00:00:42,480 How? 16 00:00:42,480 --> 00:00:46,170 Well, you may have not realized this, but every time 17 00:00:46,170 --> 00:00:50,130 that you've run check50 or run submit50, what you've been doing 18 00:00:50,130 --> 00:00:57,000 is you've been pushing your code that lives on your computer onto GitHub 19 00:00:57,000 --> 00:01:03,210 so that it's now living in a GitHub repository, OK. 20 00:01:03,210 --> 00:01:04,260 So how does it work? 21 00:01:04,260 --> 00:01:12,670 How does code go from your computer onto this Google Drive of code? 22 00:01:12,670 --> 00:01:18,060 Well, the way that you ask GitHub to connect with your computer 23 00:01:18,060 --> 00:01:21,070 is through a series of git commands. 24 00:01:21,070 --> 00:01:26,710 Now, Brian Yu, CS50's current head TF has a really, really great seminar, 25 00:01:26,710 --> 00:01:32,700 which is an introduction to GitHub and basic git commands linked right above. 26 00:01:32,700 --> 00:01:35,310 And if you are not yet familiar with git commands, 27 00:01:35,310 --> 00:01:38,730 I highly, highly, highly recommend watching this video. 28 00:01:38,730 --> 00:01:42,050 I know I myself have watched it many, many times. 29 00:01:42,050 --> 00:01:44,430 OK so in the seminar we're not going to be 30 00:01:44,430 --> 00:01:48,930 talking straight about the nitty gritty of how git works exactly. 31 00:01:48,930 --> 00:01:51,570 But instead, I wanted to take a step back and sort 32 00:01:51,570 --> 00:01:57,830 of have a conversation about what GitHub can do for your programming experience, 33 00:01:57,830 --> 00:02:00,990 how GitHub can connect different computer scientists, 34 00:02:00,990 --> 00:02:05,040 and sort of really, really get excited about using GitHub 35 00:02:05,040 --> 00:02:07,870 throughout the rest of your CS careers. 36 00:02:07,870 --> 00:02:12,300 So the first thing I want to talk about is something that is very, very near 37 00:02:12,300 --> 00:02:14,080 and dear to my heart-- 38 00:02:14,080 --> 00:02:17,200 commits, and specifically, commit messages. 39 00:02:17,200 --> 00:02:20,130 So what I mean by this, let's take a step back. 40 00:02:20,130 --> 00:02:24,510 So essentially, every time that you push your code to GitHub-- 41 00:02:24,510 --> 00:02:28,680 every time you say, hey, GitHub, I'm about to send some code that I've 42 00:02:28,680 --> 00:02:31,380 been working on on my computer locally. 43 00:02:31,380 --> 00:02:34,560 Would you please go ahead and save it in my GitHub repository? 44 00:02:34,560 --> 00:02:37,950 So again, every time you push your work to GitHub, 45 00:02:37,950 --> 00:02:42,180 you have to attach a commit message. 46 00:02:42,180 --> 00:02:46,680 Now, when I first started learning how to use GitHub, 47 00:02:46,680 --> 00:02:50,860 I didn't really care about what messages I used. 48 00:02:50,860 --> 00:02:55,230 Sometimes I'd try to submit it with no message, which GitHub doesn't really 49 00:02:55,230 --> 00:02:55,890 like. 50 00:02:55,890 --> 00:03:00,990 And then, sometimes I'd just really send random, random messages. 51 00:03:00,990 --> 00:03:02,340 Really could have been anything. 52 00:03:02,340 --> 00:03:05,910 Could've been, like, elephant or duck or something of the sort. 53 00:03:05,910 --> 00:03:11,190 However, now that I'm deeper into my computer science experience, 54 00:03:11,190 --> 00:03:15,900 I have realized that commit messages have this incredible power 55 00:03:15,900 --> 00:03:19,060 and that they're actually extremely, extremely useful. 56 00:03:19,060 --> 00:03:22,960 So I wanted to share some of my learnings about git commit messages. 57 00:03:22,960 --> 00:03:24,710 Let's dive right in. 58 00:03:24,710 --> 00:03:29,310 So there are a couple of reasons that making commits with really 59 00:03:29,310 --> 00:03:31,690 nice messages is really useful. 60 00:03:31,690 --> 00:03:34,590 So the first one is, stuff breaks, OK. 61 00:03:34,590 --> 00:03:36,630 Stuff breaks all the time. 62 00:03:36,630 --> 00:03:40,560 You can have code that you think is working, and you might break it. 63 00:03:40,560 --> 00:03:41,880 And you'll likely break it. 64 00:03:41,880 --> 00:03:44,236 And you'll likely break it again and again. 65 00:03:44,236 --> 00:03:45,610 And it's going to be frustrating. 66 00:03:45,610 --> 00:03:47,970 But that's completely, completely OK. 67 00:03:47,970 --> 00:03:51,270 So what GitHub lets you do is, it lets you 68 00:03:51,270 --> 00:03:54,570 send different versions of your code so that you don't have 69 00:03:54,570 --> 00:03:56,370 to be worried about stuff breaking. 70 00:03:56,370 --> 00:03:58,050 Because stuff will break. 71 00:03:58,050 --> 00:04:01,950 And when it breaks, you can revert to an earlier commit. 72 00:04:01,950 --> 00:04:05,280 Essentially say, hey, GitHub, I slightly screwed up. 73 00:04:05,280 --> 00:04:10,140 Let's go ahead and change the code that is on my computer to something 74 00:04:10,140 --> 00:04:12,690 that I had before that did work, OK. 75 00:04:12,690 --> 00:04:18,060 So I've just included some screenshots of some funny recent commit situations 76 00:04:18,060 --> 00:04:20,820 I've been in where stuff has broken. 77 00:04:20,820 --> 00:04:25,530 And you'll notice that sometimes you try to fix something, and it doesn't work. 78 00:04:25,530 --> 00:04:29,520 And you just sort of have to start from a few steps behind. 79 00:04:29,520 --> 00:04:33,060 But CS isn't always-- 80 00:04:33,060 --> 00:04:35,640 programming isn't always a very linear experience. 81 00:04:35,640 --> 00:04:37,590 It's sort of more like jumbled. 82 00:04:37,590 --> 00:04:41,580 And progress doesn't always look so straightforward. 83 00:04:41,580 --> 00:04:45,150 So that moves on to our next reason, which is 84 00:04:45,150 --> 00:04:48,060 that it lets you try different things. 85 00:04:48,060 --> 00:04:51,720 So I know that many times I've been coding. 86 00:04:51,720 --> 00:04:54,670 And I think I'm, like, 80% of the way there. 87 00:04:54,670 --> 00:04:58,350 And I think, just in the corner of my mind, that perhaps-- 88 00:04:58,350 --> 00:05:00,900 perhaps-- there is maybe a better way to do it. 89 00:05:00,900 --> 00:05:04,020 Or perhaps one of the problems that I have might 90 00:05:04,020 --> 00:05:07,050 be fixed by doing a certain thing. 91 00:05:07,050 --> 00:05:12,540 But sometimes I'm nervous because I think, I'm 80% of the way there, 92 00:05:12,540 --> 00:05:13,920 I think. 93 00:05:13,920 --> 00:05:21,390 Not sure that this 20% is worth me potentially ruining everything, OK. 94 00:05:21,390 --> 00:05:24,900 So this again brings us back to git, which 95 00:05:24,900 --> 00:05:27,810 by saving different versions of your code, 96 00:05:27,810 --> 00:05:31,350 you're sort of empowered to really, really try different things. 97 00:05:31,350 --> 00:05:36,600 And this has happened to me many times where I will say, OK, again, 98 00:05:36,600 --> 00:05:38,130 I think I'm 80% of the way there. 99 00:05:38,130 --> 00:05:40,590 And I'm going to try three different strategies. 100 00:05:40,590 --> 00:05:44,340 And I'm going to make various commits with great commit messages 101 00:05:44,340 --> 00:05:46,960 along the way so that I can track that. 102 00:05:46,960 --> 00:05:51,480 And then I can sort of free myself up to trying things that might not work, 103 00:05:51,480 --> 00:05:57,077 trying things that very well might have devastating consequences on my project. 104 00:05:57,077 --> 00:05:57,660 But that's OK. 105 00:05:57,660 --> 00:05:59,810 So again, in this fun little thing I've drawn, 106 00:05:59,810 --> 00:06:04,260 it's just to highlight that from a specific starting point, 107 00:06:04,260 --> 00:06:07,840 you might go in a bunch of different directions, git really, 108 00:06:07,840 --> 00:06:10,530 really letting you do that safely and efficiently. 109 00:06:10,530 --> 00:06:13,100 And again, this sort of opens up a whole new world 110 00:06:13,100 --> 00:06:20,030 where you can code without the fear of things going so wrong that you won't be 111 00:06:20,030 --> 00:06:23,420 able to get back to where you started. 112 00:06:23,420 --> 00:06:29,240 This brings me to another really, really, really cool thing about commits 113 00:06:29,240 --> 00:06:31,700 and your fun commit messages. 114 00:06:31,700 --> 00:06:35,670 So I'm a big reflector. 115 00:06:35,670 --> 00:06:38,470 And I like looking back and taking the time 116 00:06:38,470 --> 00:06:44,740 to process and think through my different approaches 117 00:06:44,740 --> 00:06:45,800 to different problems. 118 00:06:45,800 --> 00:06:53,470 And one of the things that I've found in my extensive, extensive commit making 119 00:06:53,470 --> 00:06:56,560 is that it's actually really, really, really nice 120 00:06:56,560 --> 00:07:01,420 to be able to look back and see, oh, wow, I remember that commit. 121 00:07:01,420 --> 00:07:06,070 I remember sitting in the library at 2:00 AM and thinking, 122 00:07:06,070 --> 00:07:07,300 will I ever get through this? 123 00:07:07,300 --> 00:07:10,900 I remember that moment where I made a change, 124 00:07:10,900 --> 00:07:15,400 everything broke, and then I Control Z'd and pushed 125 00:07:15,400 --> 00:07:18,940 my code because I was very worried that I was about to go 126 00:07:18,940 --> 00:07:20,470 into a really crazy direction. 127 00:07:20,470 --> 00:07:24,730 So usually, at the end of a piece at a problem set for a computer science 128 00:07:24,730 --> 00:07:28,510 class, or just looking through some personal project I've 129 00:07:28,510 --> 00:07:32,830 been working on, I'll often just scroll through those commits 130 00:07:32,830 --> 00:07:37,120 and think through, wow, look how far I've come. 131 00:07:37,120 --> 00:07:39,340 Look how hard some of those moments were. 132 00:07:39,340 --> 00:07:42,400 Look how rewarding a lot of those parts were. 133 00:07:42,400 --> 00:07:45,490 And I think it's a really, really, really nice thing 134 00:07:45,490 --> 00:07:47,360 that GitHub lets us do. 135 00:07:47,360 --> 00:07:48,490 OK so moving on. 136 00:07:48,490 --> 00:07:53,500 The last thing is just a small note that another great, great feature 137 00:07:53,500 --> 00:07:58,510 of GitHub-- which, again, Brian covers quite extensively-- is collaboration. 138 00:07:58,510 --> 00:08:02,260 So GitHub and git commands really allow us 139 00:08:02,260 --> 00:08:05,170 to collaborate quite easily with other people that 140 00:08:05,170 --> 00:08:07,260 are working on the same project. 141 00:08:07,260 --> 00:08:11,200 So in this screenshot, it's actually just me making all the commits. 142 00:08:11,200 --> 00:08:13,900 But I was using someone else's slides, so I just 143 00:08:13,900 --> 00:08:16,690 wanted to give them sort of a shout out. 144 00:08:16,690 --> 00:08:22,840 Which brings me to one very important thing about commit messages. 145 00:08:22,840 --> 00:08:29,380 So a metaphor I use for this often is, let's say I wrote an English paper. 146 00:08:29,380 --> 00:08:31,250 And I give it to my teacher. 147 00:08:31,250 --> 00:08:34,350 And when my teacher returns it, I have a grade, whatever, and then 148 00:08:34,350 --> 00:08:35,740 I have a bunch of comments. 149 00:08:35,740 --> 00:08:36,789 And I start reading them. 150 00:08:36,789 --> 00:08:44,940 And the comments that I'm seeing are small change here, tiny issue here. 151 00:08:44,940 --> 00:08:47,430 You should fix something. 152 00:08:47,430 --> 00:08:52,860 All these very vague, short messages might not be that useful. 153 00:08:52,860 --> 00:08:54,580 Commit messages are really similar. 154 00:08:54,580 --> 00:08:58,080 So let's say you're working on a project where a ton of other people 155 00:08:58,080 --> 00:09:00,360 are also going to be working on it with you. 156 00:09:00,360 --> 00:09:05,430 Well, it's a good idea to be transparent about your progress 157 00:09:05,430 --> 00:09:07,890 and about how different things are going. 158 00:09:07,890 --> 00:09:09,870 And it's just very useful for other people 159 00:09:09,870 --> 00:09:13,950 that are working on the same project to be able to see sort of what's going on. 160 00:09:13,950 --> 00:09:16,350 So in fact, I've included these screenshots 161 00:09:16,350 --> 00:09:20,670 as poor examples of commit messages. 162 00:09:20,670 --> 00:09:25,410 I highly recommend taking the extra 30 seconds 163 00:09:25,410 --> 00:09:28,470 to write a commit message that is specific, 164 00:09:28,470 --> 00:09:31,500 that is clear so that when you go back-- 165 00:09:31,500 --> 00:09:34,440 and especially, especially, especially if someone else 166 00:09:34,440 --> 00:09:38,040 is looking at that repository, looking through those commits-- 167 00:09:38,040 --> 00:09:43,040 that they can see exactly what's going on and maybe lend a hand if needed. 168 00:09:43,040 --> 00:09:46,140 Or at least they'll have a better sense of how the project is going. 169 00:09:46,140 --> 00:09:52,050 So now let's move on to my second favorite thing about GitHub, 170 00:09:52,050 --> 00:09:55,210 which is the GitHub Explore page. 171 00:09:55,210 --> 00:09:58,560 So there are tons of platforms out there where people come together 172 00:09:58,560 --> 00:10:01,260 and are sharing and collaborating. 173 00:10:01,260 --> 00:10:04,350 And those are typically some of my favorite platforms. 174 00:10:04,350 --> 00:10:06,280 GitHub is no exception. 175 00:10:06,280 --> 00:10:09,270 So the GitHub Explore page is essentially 176 00:10:09,270 --> 00:10:12,540 a page where you can see repositories and projects 177 00:10:12,540 --> 00:10:18,570 that people have made public, which is typically the vast majority of them. 178 00:10:18,570 --> 00:10:22,410 I know that early on in my GitHub career I mainly 179 00:10:22,410 --> 00:10:26,760 focused on my personal GitHub repository, so the personal projects 180 00:10:26,760 --> 00:10:30,330 that would show up when I clicked on my GitHub profile. 181 00:10:30,330 --> 00:10:34,770 And for a long time, I mainly stayed on those few pages. 182 00:10:34,770 --> 00:10:39,420 But what I've since realized is that the GitHub Explore page is phenomenal. 183 00:10:39,420 --> 00:10:41,250 It is so, so interesting. 184 00:10:41,250 --> 00:10:43,620 You can read about other people's projects. 185 00:10:43,620 --> 00:10:49,020 You can read about things that you are using, so tools that you are using. 186 00:10:49,020 --> 00:10:54,760 I cannot stress enough how interesting it is to read about how check50 works-- 187 00:10:54,760 --> 00:10:58,230 CS50's automated tool for grading the correctness of code. 188 00:10:58,230 --> 00:11:03,000 And in fact, many CS50 tools, all of the documentation is on GitHub. 189 00:11:03,000 --> 00:11:05,690 And you can go and just look through the code 190 00:11:05,690 --> 00:11:08,190 and try to make sense of how everything is fitting together. 191 00:11:08,190 --> 00:11:09,690 It's really, really interesting. 192 00:11:09,690 --> 00:11:12,930 And last but not least, back to this issue of collaboration. 193 00:11:12,930 --> 00:11:15,330 So when you're exploring projects, there is this thing 194 00:11:15,330 --> 00:11:20,160 that you can do that's called a pull request, which is essentially someone 195 00:11:20,160 --> 00:11:22,410 has a repository project. 196 00:11:22,410 --> 00:11:27,510 And you say something like, hey, I think there's a way you could do this better. 197 00:11:27,510 --> 00:11:30,750 Or hey, I spotted a bug, and I'm proposing a way to fix it. 198 00:11:30,750 --> 00:11:35,640 And essentially, you sort of clone the project, make that change. 199 00:11:35,640 --> 00:11:38,160 And then, you create what's called a pull request, which 200 00:11:38,160 --> 00:11:41,770 is essentially you tell the owner of that repository, hey, 201 00:11:41,770 --> 00:11:43,860 I am proposing something. 202 00:11:43,860 --> 00:11:46,750 Might you accept this proposal? 203 00:11:46,750 --> 00:11:49,350 And if they do, then that change will merge. 204 00:11:49,350 --> 00:11:52,460 And their repository will change in that way. 205 00:11:52,460 --> 00:11:58,420 And they could say no if it's maybe not a good solution or not a good change. 206 00:11:58,420 --> 00:12:02,340 But, but, but, but, but I've actually heard so many stories 207 00:12:02,340 --> 00:12:06,000 of people that randomly made a pull request 208 00:12:06,000 --> 00:12:12,780 to some repository of some organization far away in a different country 209 00:12:12,780 --> 00:12:13,860 or something of the sort. 210 00:12:13,860 --> 00:12:16,380 And they said, hey, listen, love your work. 211 00:12:16,380 --> 00:12:17,770 I noticed a small change. 212 00:12:17,770 --> 00:12:19,410 Here's a way you could fix it. 213 00:12:19,410 --> 00:12:21,360 They create a pull request. 214 00:12:21,360 --> 00:12:24,120 That organization accepts the change. 215 00:12:24,120 --> 00:12:27,940 And then, now you've made this connection. 216 00:12:27,940 --> 00:12:31,200 So something I sort of always like to try to do 217 00:12:31,200 --> 00:12:33,900 is sort of go around the GitHub Explore page, 218 00:12:33,900 --> 00:12:36,960 read about what other people are up to, see what I can learn, 219 00:12:36,960 --> 00:12:39,060 see what I can try to collaborate on. 220 00:12:39,060 --> 00:12:43,350 And again, it's a great place to make those connections. 221 00:12:43,350 --> 00:12:48,510 Again, especially if you are able to find a way to improve something 222 00:12:48,510 --> 00:12:51,030 on someone else's project, or if you find a bug 223 00:12:51,030 --> 00:12:54,540 and have a proposal for a way to fix it, you can create a pull request 224 00:12:54,540 --> 00:12:56,310 and make that connection in that way. 225 00:12:56,310 --> 00:13:00,810 The last thing I want to talk about is static websites through GitHub Pages. 226 00:13:00,810 --> 00:13:05,740 So there are so many different aspects of computer science. 227 00:13:05,740 --> 00:13:11,950 And I think one that is particularly popular is web development. 228 00:13:11,950 --> 00:13:13,090 We all use websites. 229 00:13:13,090 --> 00:13:15,880 We're all on the internet all the time. 230 00:13:15,880 --> 00:13:19,000 You probably are right now. 231 00:13:19,000 --> 00:13:22,810 And a lot of us want to know how to build these things that we 232 00:13:22,810 --> 00:13:24,280 spend so much of our time on. 233 00:13:24,280 --> 00:13:26,440 So I recently have realized that there is 234 00:13:26,440 --> 00:13:30,100 this giant, giant push towards learning a bit of web development. 235 00:13:30,100 --> 00:13:35,339 However, if you've looked at HTML or CSS or even JavaScript, 236 00:13:35,339 --> 00:13:37,630 you may have realized that it can get a little bit more 237 00:13:37,630 --> 00:13:39,370 complicated than you realize. 238 00:13:39,370 --> 00:13:44,320 And especially for me when I was just learning how to create web sites, 239 00:13:44,320 --> 00:13:46,635 it felt like there was just a lot of moving pieces. 240 00:13:46,635 --> 00:13:48,010 And I didn't know where to start. 241 00:13:48,010 --> 00:13:53,070 And I didn't want to quite go so far on one extreme of building something 242 00:13:53,070 --> 00:13:54,310 sort of from the ground up. 243 00:13:54,310 --> 00:13:58,210 And it also seemed not that fun to just sort of input stuff 244 00:13:58,210 --> 00:14:02,556 into a template like WordPress or something of the sort. 245 00:14:02,556 --> 00:14:04,180 Kind of wanted something in the middle. 246 00:14:04,180 --> 00:14:06,304 And I found that something that was really, really, 247 00:14:06,304 --> 00:14:08,640 really great to start with was GitHub Pages. 248 00:14:08,640 --> 00:14:11,950 So GitHub Pages is essentially a way for you 249 00:14:11,950 --> 00:14:16,920 to create static websites that are hosted on your own GitHub repository. 250 00:14:16,920 --> 00:14:21,040 So it's essentially a way for you to create simple websites 251 00:14:21,040 --> 00:14:24,980 and have them sort of live right away. 252 00:14:24,980 --> 00:14:27,280 It's all very clearly in your control. 253 00:14:27,280 --> 00:14:29,420 You sort of are coding on your computer. 254 00:14:29,420 --> 00:14:32,350 And you can push changes to GitHub. 255 00:14:32,350 --> 00:14:37,730 And then they'll sort of be updated on your repository. 256 00:14:37,730 --> 00:14:40,790 So the great, great, great, great thing about GitHub Pages, 257 00:14:40,790 --> 00:14:43,300 they have phenomenal documentation. 258 00:14:43,300 --> 00:14:48,640 Very much step by step walking you through how to create your first simple 259 00:14:48,640 --> 00:14:50,710 and static website. 260 00:14:50,710 --> 00:14:54,370 This is how I made a couple of my early first websites 261 00:14:54,370 --> 00:14:57,190 where I didn't really know, again, where to start. 262 00:14:57,190 --> 00:15:00,670 This is a great, great, great place to start. 263 00:15:00,670 --> 00:15:03,900 OK so what are the big takeaways of this? 264 00:15:03,900 --> 00:15:08,860 Git and GitHub can often sound like big, scary things. 265 00:15:08,860 --> 00:15:09,850 But they're not. 266 00:15:09,850 --> 00:15:15,900 OK again, if you've taken CD50, you're like 70% of the way there. 267 00:15:15,900 --> 00:15:19,170 So just a couple notes that I want to leave you with. 268 00:15:19,170 --> 00:15:22,190 As I said before, commit messages matter. 269 00:15:22,190 --> 00:15:28,490 Really, commits matter for a bunch of sort of the very small-scale reasons 270 00:15:28,490 --> 00:15:33,720 that we talked about like clarity and collaboration, but also bigger picture. 271 00:15:33,720 --> 00:15:39,440 It's a great time to reflect on your problem solving process and a good time 272 00:15:39,440 --> 00:15:43,430 to sort of reflect on how you are growing as a programmer. 273 00:15:43,430 --> 00:15:47,720 And then, the second one is exploring awesome projects. 274 00:15:47,720 --> 00:15:49,470 The internet is your oyster. 275 00:15:49,470 --> 00:15:50,387 And Google is great. 276 00:15:50,387 --> 00:15:52,970 And you can sort of go and Google a bunch of different things. 277 00:15:52,970 --> 00:15:55,352 And the great thing about the GitHub Explorer page 278 00:15:55,352 --> 00:15:58,310 is that everything that you're going to find is going to be in a format 279 00:15:58,310 --> 00:16:00,500 that you know and are comfortable with. 280 00:16:00,500 --> 00:16:04,375 And again, pull requests are super, super interesting and super cool 281 00:16:04,375 --> 00:16:06,500 because, again, it gives you that chance to connect 282 00:16:06,500 --> 00:16:09,710 with an organization, a project, that might be 283 00:16:09,710 --> 00:16:12,080 countries or thousands of miles away. 284 00:16:12,080 --> 00:16:15,320 And the final thing is that you can jump into simple web 285 00:16:15,320 --> 00:16:17,840 development with GitHub Pages. 286 00:16:17,840 --> 00:16:20,180 Again, you're 70% of the way there. 287 00:16:20,180 --> 00:16:22,520 All you need to do is read a little bit about how 288 00:16:22,520 --> 00:16:24,710 to set up your first basic website. 289 00:16:24,710 --> 00:16:27,680 And then, you can send that link out to your friends 290 00:16:27,680 --> 00:16:32,120 and get everyone really excited about how you're the next Steve Jobs, OK. 291 00:16:32,120 --> 00:16:36,870 So last note, I just leave you with this commit message 292 00:16:36,870 --> 00:16:40,170 that I made recently, which is by all standards 293 00:16:40,170 --> 00:16:44,550 not the best commit message in terms of, doesn't really convey much information. 294 00:16:44,550 --> 00:16:49,580 But what it does convey is my excitement about GitHub. 295 00:16:49,580 --> 00:16:54,760 What it does convey is how exciting these things can be and how fun. 296 00:16:54,760 --> 00:16:57,990 And I promise you, I promise you, I promise you that the second 297 00:16:57,990 --> 00:17:00,570 that you dive into GitHub-- 298 00:17:00,570 --> 00:17:02,460 start with watching Brian's seminar-- 299 00:17:02,460 --> 00:17:05,730 that you're just going to find this wonderful, wonderful world. 300 00:17:05,730 --> 00:17:07,849 And you're never going to want to get out of it. 301 00:17:07,849 --> 00:17:14,619 OK I'm going to now wait for a few questions. 302 00:17:14,619 --> 00:17:18,119 OK looks like no questions at the moment. 303 00:17:18,119 --> 00:17:20,339 That's totally OK. 304 00:17:20,339 --> 00:17:24,540 I'm probably going to stay here after for a bit if you'd like to chat, 305 00:17:24,540 --> 00:17:28,290 or I can show you some of my projects, or something of the sort. 306 00:17:28,290 --> 00:17:33,550 But if that is all, then I think we will conclude. 307 00:17:33,550 --> 00:17:35,570 Thank you so much for joining. 308 00:17:35,570 --> 00:17:37,130 Thank you. 309 00:17:37,130 --> 00:17:37,691