--- tags: Videos --- # CR videos planning notes > - Plan: create instructional videos on topics like Git > - How to: > - Just go for it or > - Do one of the steps listed below > 1. Jot down a topic idea as ### title > 2. Propose content as points what to show/tell on the video > 3. Edit the script / refine > 4. Record: screenrec + voice (together or separately) > 5. Edit the video to be short and concise ## Useful information - https://dev.to/shreyvijayvargiya/create-video-programmatically-3n2d ## Guidelines - Use [CodeRefinery artwork](https://github.com/coderefinery/coderefinery-artwork) with taste - Aim for [high quality sound and picture](https://coderefinery.github.io/manuals/instructor-tech-online/#audio) ## Topics and scripts ### Short: How does Richard prepare for a CR workshop - ==video==: speaker face or ? - ==voiceover==: "nowadays teaching remotely is business as usual, but how to get teachers from Finland, Sweden, Norway, Denmark etc etc into a same workshop to teach and then viewers from all around the world? - ==video==: computer setup - ==voiceover==: In CodeRefinery we do it like this... ### Short: Radovan lands a paraglider and announces a workshop ### Short: CR lesson snippets - How ### CR Exercises walkthroughs - record how we would do the exercises - ### The simplest git (second-level bullets are the literal script, top-level is our organization. third level is commands to type and setup) * Apologies for difficulty, simple sitution * Git is a version control system, basically, it's the thing to use if you write programs or track small files. * Unfortunately it's known for being hard to use! * That's true, but did you know you can make it simple for a simple case? Don't let those perfectionists get in the way of you right now. * Let's say all you want to do is track your own changes in case you make a mistake and want to go back, but don't care about anything else. We can do that! * Simple commands * Go to the directory you want with `cd my_project` * `cd my_project` * Type `git init` to make the repository. It's here! * `git init` * Use `git commit . -m "my change"` to track and commit everything * ls * `git commit . -m "my_change"` * Repeat every time you want a checkpoint. * edit file * repeat * You can proably even do this in your editor without the command line. * Benefits * Now, if you need to go back, you have that history! * Let's talk about how to see that history later, but surely Stack Overflow can tell you. Hint: `git log -p FILENAME` shows you all the recent changes in a file. * `git log -p code.py` * These commands won't change any of your files, and everything is stored only in a `.git` directory. If you ever decide you don't want git, delete that and you go back to normal. * There's a few more things you need to know, but they actually don't matter that much. * A dot-gitignore file will automatically exclude files. Exclude anything complied, generated, or very large. * `nano .gitignore` * `*.jpg` and save * Summary * Well, that's all. Get gitting, and don't let perfection get in the way of saving your mistakes right now. ### cd (RD: script I had started before. Top bullet points are sections, sub-bullet points should be a literal script) * Most basic of commands * Let's start by talking about one of the most basic commands: cd. * cd changes directory. Sounds simple, but what does this really mean? Is this the same as opening a directory in a new file browser window? Actually now, it's a new concept. * It changes the "working directory" - a concept that doesn't exist in graphical programs. * In unix, each process has a working directory. This is a fundamental part of the process environment. * Whenever you open a relative path, one without slash at the start, then that file is opened relative to the current directory. * Examples * Let's see some examples. I can "cat directory/file.txt". * If I "cd directory", then I can "cat file.txt". * I'm I'm doing a lot of stuff in directory, maybe that saves a lot of time. * If I'm not doing a lot in directory, then then I don't need to change to it. * Special forms: cd, cd - CDPATH * cd has some special forms, too. * If you run cd with no arguments, it changes to your home directory * If you run "cd dash" (cd -), it will change to the last directory you were in * Using it to organize data to make workflows portable * This is very useful for organizing projects. * So, for example, you could cd to your project directory, and then open "papers slash draft.tex", it will open relative to your current directory. You don't need to open with the path slash home slash username slash projects slash project. * So, what does this mean? It means your projects are portable. You can move your whole directory to a new computer, with a different path. And once you cd to the directory, everything works the same. * Or you have one code that * I typically cd to the top level of a project directory, and use everything relative to that.