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, 0 insertions, 435 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
deleted file mode 100644
index 999833f..0000000
--- a/usth/ICT2.7/P1L4 Version Control Subtitles/2 - Interview with John Britton - lang_en_vs5.srt
+++ /dev/null
@@ -1,435 +0,0 @@
-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.