about summary refs log tree commit diff
path: root/usth/ICT2.7/P1L4 Version Control Subtitles/2 - Interview with John Britton - lang_en_vs5.srt
diff options
context:
space:
mode:
Diffstat (limited to 'usth/ICT2.7/P1L4 Version Control Subtitles/2 - Interview with John Britton - lang_en_vs5.srt')
-rw-r--r--usth/ICT2.7/P1L4 Version Control Subtitles/2 - Interview with John Britton - lang_en_vs5.srt435
1 files changed, 435 insertions, 0 deletions
diff --git a/usth/ICT2.7/P1L4 Version Control Subtitles/2 - Interview with John Britton - lang_en_vs5.srt b/usth/ICT2.7/P1L4 Version Control Subtitles/2 - Interview with John Britton - lang_en_vs5.srt
new file mode 100644
index 0000000..999833f
--- /dev/null
+++ b/usth/ICT2.7/P1L4 Version Control Subtitles/2 - Interview with John Britton - lang_en_vs5.srt
@@ -0,0 +1,435 @@
+1

+00:00:00,170 --> 00:00:02,630

+>> And I thought that the best way to break the ice on version

+

+2

+00:00:02,630 --> 00:00:04,970

+control systems and Git and some other

+

+3

+00:00:04,970 --> 00:00:07,939

+related concepts was to interview John Britton who

+

+4

+00:00:07,939 --> 00:00:11,840

+works with GitHub. So let's go and see what John has to say about

+

+5

+00:00:11,840 --> 00:00:14,120

+Git, about version control systems in general,

+

+6

+00:00:14,120 --> 00:00:17,809

+and about GitHub. John is in Tapei, if I'm not wrong.

+

+7

+00:00:17,809 --> 00:00:18,610

+>> That's correct.

+

+8

+00:00:18,610 --> 00:00:20,320

+>> Okay so we're, you know we couldn't

+

+9

+00:00:20,320 --> 00:00:22,570

+go there so we're interviewing him remotely. And I

+

+10

+00:00:22,570 --> 00:00:25,490

+want, I just want to thank you so much and John for agreeing to talk to us.

+

+11

+00:00:25,490 --> 00:00:27,940

+>> Thank you very much for having me it was my pleasure.

+

+12

+00:00:27,940 --> 00:00:30,560

+>> And, I'm just going to ask, a few

+

+13

+00:00:30,560 --> 00:00:32,938

+general questions because John is an expert on,

+

+14

+00:00:32,938 --> 00:00:36,270

+Git and GitHub. John is a developer and

+

+15

+00:00:36,270 --> 00:00:38,550

+a community builder is active in both the

+

+16

+00:00:38,550 --> 00:00:42,200

+open source and the open education areas. And

+

+17

+00:00:42,200 --> 00:00:44,860

+as an educational liaison we have, is working

+

+18

+00:00:44,860 --> 00:00:47,580

+to improve Computer Science education by bringing the

+

+19

+00:00:47,580 --> 00:00:51,460

+principles of open source into the classroom. And

+

+20

+00:00:51,460 --> 00:00:53,160

+I'm going to start with an general question,

+

+21

+00:00:53,160 --> 00:00:55,320

+which is what is a version control system?

+

+22

+00:00:55,320 --> 00:00:57,960

+>> So, a version control system is

+

+23

+00:00:57,960 --> 00:01:00,360

+a tool that software developers use. Anybody

+

+24

+00:01:00,360 --> 00:01:02,560

+who's doing you know, working with digital

+

+25

+00:01:02,560 --> 00:01:06,540

+assets, digital projects can also use for

+

+26

+00:01:06,540 --> 00:01:11,320

+keeping track of, you know, revisions of your project, and when I say revisions, I

+

+27

+00:01:11,320 --> 00:01:16,850

+mean essentially snapshots of your project over time. So you can imagine doing

+

+28

+00:01:16,850 --> 00:01:19,720

+some work and then every so often, be it, every couple of

+

+29

+00:01:19,720 --> 00:01:23,799

+hours, every couple of days, saving a permanent snapshot of your project.

+

+30

+00:01:24,880 --> 00:01:26,650

+>> Why is this useful? I understand that

+

+31

+00:01:26,650 --> 00:01:28,720

+it is nice to take a snapshot of your

+

+32

+00:01:28,720 --> 00:01:30,070

+project, but what did you do with the

+

+33

+00:01:30,070 --> 00:01:33,420

+snapshot afterwards? I think the most immediately obvious benefit

+

+34

+00:01:33,420 --> 00:01:36,340

+to having snapshots of your project to keeping

+

+35

+00:01:36,340 --> 00:01:38,280

+revisions is that you can go back. If you

+

+36

+00:01:38,280 --> 00:01:40,190

+have ever worked on a project and got to

+

+37

+00:01:40,190 --> 00:01:41,940

+a point where you solved a bunch of your

+

+38

+00:01:41,940 --> 00:01:45,330

+problems, and there is just one more step to do. And

+

+39

+00:01:45,330 --> 00:01:47,640

+you start working on trying to solve that last step, and

+

+40

+00:01:47,640 --> 00:01:51,350

+you break things, you make it worse then it was an

+

+41

+00:01:51,350 --> 00:01:54,420

+hour ago. At that point its easier to just go back

+

+42

+00:01:54,420 --> 00:01:56,780

+to what you had then trying to figure out what you

+

+43

+00:01:56,780 --> 00:01:59,320

+broke. So you can always go back in time, and the

+

+44

+00:01:59,320 --> 00:02:02,660

+other big one is being able to collaborate with multiple people,

+

+45

+00:02:02,660 --> 00:02:07,450

+so its pretty seldom these days that you. Work on a production

+

+46

+00:02:07,450 --> 00:02:09,860

+totally on your own. It's most common to work in, you

+

+47

+00:02:09,860 --> 00:02:12,993

+know, in teams and small groups. And so, using a revision

+

+48

+00:02:12,993 --> 00:02:16,340

+control system allows you to collaborate with other people. And make

+

+49

+00:02:16,340 --> 00:02:19,060

+sure that you don't step on each other's toes as you're working.

+

+50

+00:02:19,060 --> 00:02:21,310

+>> Alright, that's great, because those are exactly some of the

+

+51

+00:02:21,310 --> 00:02:25,250

+topics that we're going to cover in the lesson. And so since we're

+

+52

+00:02:25,250 --> 00:02:28,470

+going to talk about the specifics of version control system which is

+

+53

+00:02:28,470 --> 00:02:32,660

+Git and you're definitely an expert in, in Git. So what would

+

+54

+00:02:32,660 --> 00:02:36,510

+you say is specifically special about Git? What characterizes it

+

+55

+00:02:36,510 --> 00:02:39,940

+and how does it compare to other version control systems.

+

+56

+00:02:39,940 --> 00:02:43,140

+>> So if any of you have used version control systems before, you

+

+57

+00:02:43,140 --> 00:02:47,850

+may have heard of something like subversion, CVS, or maybe a commercial solution

+

+58

+00:02:47,850 --> 00:02:53,550

+like ProForce. I think the main important characteristics of Git are first that

+

+59

+00:02:53,550 --> 00:02:56,050

+it's open source. And the second,

+

+60

+00:02:56,050 --> 00:02:59,030

+that it's a distributed version control system.

+

+61

+00:02:59,030 --> 00:03:00,430

+So what that means, the distributed version

+

+62

+00:03:00,430 --> 00:03:04,260

+control system is essentially a system for tracking

+

+63

+00:03:04,260 --> 00:03:07,700

+revisions of your software that doesn't have any

+

+64

+00:03:07,700 --> 00:03:11,730

+central repository. So the biggest characteristic is that

+

+65

+00:03:11,730 --> 00:03:14,520

+I can do my work and you can also work on the same project at

+

+66

+00:03:14,520 --> 00:03:16,900

+the same time without communicating with each other

+

+67

+00:03:16,900 --> 00:03:19,650

+and without communicating to a central system.

+

+68

+00:03:19,650 --> 00:03:24,190

+>> Okay, great. And so now that we saw what Git is, what is

+

+69

+00:03:24,190 --> 00:03:26,050

+GitHub and how does it fit into

+

+70

+00:03:26,050 --> 00:03:29,320

+this picture of the distributed, revision control system?

+

+71

+00:03:29,320 --> 00:03:34,800

+>> So GitHub is, the world's largest code host, and we essentially have a

+

+72

+00:03:34,800 --> 00:03:36,940

+website where you can collaborate with people

+

+73

+00:03:36,940 --> 00:03:39,950

+when you're writing code. There's two ways you

+

+74

+00:03:39,950 --> 00:03:43,650

+can use GitHub. You can use it publicly for open source and you can use

+

+75

+00:03:43,650 --> 00:03:49,660

+it in private within your team, or your company, or within your class. And, Git

+

+76

+00:03:49,660 --> 00:03:53,960

+Hub started out just as a way to host your Git repositories. But it's

+

+77

+00:03:53,960 --> 00:03:56,000

+actually grown into quite a bit more. It's

+

+78

+00:03:56,000 --> 00:03:59,820

+an entire collaboration system around your code.

+

+79

+00:03:59,820 --> 00:04:00,580

+>> How many users do you have?

+

+80

+00:04:00,580 --> 00:04:03,620

+>> I would say that we're approaching five million.

+

+81

+00:04:03,620 --> 00:04:05,570

+I don't know the exact number. We're definitely more

+

+82

+00:04:05,570 --> 00:04:08,080

+than four million right now. But yeah, I'd say

+

+83

+00:04:08,080 --> 00:04:10,330

+somewhere, somewhere close to between four and five million.

+

+84

+00:04:10,330 --> 00:04:14,750

+>> So that's a lot space I'd guess. Terabytes of disk

+

+85

+00:04:14,750 --> 00:04:15,840

+space, I would imagine.

+

+86

+00:04:15,840 --> 00:04:19,170

+>> There are a lot of GIT repositories on, on our servers.

+

+87

+00:04:19,170 --> 00:04:21,180

+>> Something else you want to say? I

+

+88

+00:04:21,180 --> 00:04:23,920

+guess that the when taking about GitHub there's one

+

+89

+00:04:23,920 --> 00:04:26,110

+thing that you kind of can't leave out and

+

+90

+00:04:26,110 --> 00:04:28,670

+that's that's a feature that's called a pull request.

+

+91

+00:04:28,670 --> 00:04:31,090

+So when you're using GitHub, you can share

+

+92

+00:04:31,090 --> 00:04:34,940

+your Git repository, do some work, and actually do

+

+93

+00:04:34,940 --> 00:04:37,880

+do a code review. Of proposed changes which

+

+94

+00:04:37,880 --> 00:04:39,770

+is what we call a pull request on github.com.

+

+95

+00:04:39,770 --> 00:04:42,790

+Essentially what it lets you do is have a discussion

+

+96

+00:04:42,790 --> 00:04:46,320

+about a set of proposed changes and leave feedback in

+

+97

+00:04:46,320 --> 00:04:48,870

+line with the code. You could say for example, this

+

+98

+00:04:48,870 --> 00:04:51,670

+method needs to be re-factored or I think I found if

+

+99

+00:04:51,670 --> 00:04:54,830

+off by one error here, just different kinds of feedback

+

+100

+00:04:54,830 --> 00:04:59,120

+so that before you totally integrate some proposed changes. You have,

+

+101

+00:04:59,120 --> 00:05:01,180

+kind of a conversation about what your code. And I

+

+102

+00:05:01,180 --> 00:05:03,050

+think that's really valuable when you are working in a team.

+

+103

+00:05:03,050 --> 00:05:05,510

+>> Thank you, John, that was very informative and

+

+104

+00:05:05,510 --> 00:05:07,440

+thanks again for taking the time to talk to us.

+

+105

+00:05:07,440 --> 00:05:10,160

+>> No problem, thanks for having me. I'll talk to you soon.

+

+106

+00:05:10,160 --> 00:05:13,990

+>> Let's thank again John for enlightening us

+

+107

+00:05:13,990 --> 00:05:17,350

+on some aspects of version control systems, Git and

+

+108

+00:05:17,350 --> 00:05:19,410

+GitHub. And now, let's go over some of the

+

+109

+00:05:19,410 --> 00:05:21,650

+topics that we discussed with John to recap them.