Git - and our lessons

As you have seen, the course material is kept under version control.

-- Slide --

Do you know what git is?

  • G = Yes.
  • R = No.

-- Slide End --

NB If there are any "No's" you have to explain git...

The following may help you:

-- Slide --

Which of these is false:

Git:

  1. Is a version control system
  2. Is a distributed version control system
  3. Is able to run offline
  4. Has three states for files: modified, staged, committed
  5. Can do your head in...

-- Slide End --

Discuss each of these options further before asking for the answer.

Answer I believe them all to be true...

For Option E you can use this:

"Git has a very simple and powerful underlying model. Atop this model is piled an immense trashheap of confusing, overlapping, inconsistent commands. If you try to just learn what commands to run in what order, your life will be miserable, because none of the commands make sense. Learning the underlying model has a much better payoff because it is much easier to understand what is really going on underneath than to try to infer it, Sherlock-Holmes style, from the top." - Mark Dominus

Any confusion here should require further discussion...

Not only is the course material kept under version control: that version control is accessible via an online repository, so you can revisit it at any time, use it as a stand alone course if you want to, and even, hopefully, contributes changes and extensions back!

To check the course out onto our local machine we do the following:

git clone https://github.com/resbaz/nectar-cloud-lessons.git

Question Can you check the lessons out?

Hold up a green card when you are done And a red card if you need help.

The exciting thing about our repository is that we actually include a reference to another repository.

So to get a copy of the child repository we need to tell git to update the local configuration files with information about any referenced repositories.

git submodule init

Question Can you init your submodules?

Hold up a green card when you are done And a red card if you need help.

Once we've done that we tell git to fetch any referenced repositories.

git submodule update

Question Can you update your submodules?

Hold up a green card when you are done And a red card if you need help.

What is this referenced repository, I hear you ask?

Well, to quote someone

-- Slide --

"I've got a plan so cunning, you could put a tail on it and call it a weasel1"

AKA: REVEAL.JS

1: Blackadder

-- Slide End --

Reveal.js is a Javascript presentation framework. It's really cool

We have written a tool that that chunders through our lecture notes...

-- Slide --

SlideExtractor.jar

-- *Slide* --

In the lessons any text between lines that have only the above marker

And finish with only the below marker

-- *Slide End* --

Will extracted into a lesson slide.

-- Slide End --

Demonstrate on the command line

ls  # show the jar and the properties file
java -jar SlideExtractor.jar # need to have Java. Talk about language choices  And VM choices!
open ./Presentation/Lesson_I.html  # show in browser

The reason for doing this was because it means that our slides and lecture notes all live in the same file. Hence:

  • As we are working through them we can see what will be coming up next.
  • We don't have to maintain separate presentation material.
  • It should help people who use screen readers track what's happening.

Also we/I am toying with the idea of splitting out the questions into a separate file: and of writing an app to allow us to get users to actually select these from within a browser window. So that we can gather metrics about the responses.

The downside of our slide extractor is that we run the risk of sinking into the PowerPoint trap

We've divided the material into one file per lesson.

And there's no need for you to generate the slides: we've checked the generated slides into the repository.

But if you do, don't forget to have a look at the message log: error checking is attempted, and warnings are spat out if oddities are found.

-- Slide --

To give the lessons (basic)

  1. [ ] Clone the repository
  2. [ ] Update the repository submodules
  3. [ ] Optional: Checkout the branch/tag you want to deliver
  4. [ ] Optional: Update the introductory slide with your name
  5. [ ] Optional: Regenerate the slides
  6. [ ] Open the lesson slides in your browser!

-- Slide End --

BTW, I just print the lesson plans off of GitHub: which does a beautiful job of rendering the markdown.

-- Slide --

Can you open, say 020.Your.free.computer.html in your browser?

And step through some of the slides?

  • G = Yes.
  • R = Houston, we've had a problem here!

-- Slide End --

-- Slide --

True or False: Google makes learning obsolete!

  • G = True.
  • R = False.

-- Slide End --

A False - Would you let a brain surgeon near you who going to Google every step of your operation along the way? I wouldn't...

We need context and a mental structure to make sense of the facts we find on the Internet. Context and structure we get from learning... In fact, given the amount of information available on the Internet we might need more learning to make sense of it all!

results matching ""

    No results matching ""