From 734c3a84f3fc09d2f07c90e4befa6afbf9d4b27f Mon Sep 17 00:00:00 2001 From: ronny abraham Date: Tue, 21 Jan 2025 04:47:44 +0200 Subject: [PATCH] removed --- gen/missing_semester_2020/.gitignore | 107 ------- gen/missing_semester_2020/.gitmodules | 3 - gen/missing_semester_2020/_share/media/fonts | 1 - .../_share/media/img/lecture01/ex01.png | Bin 49953 -> 0 bytes .../_share/media/js/collapsible.js | 1 - .../_share/media/sass/missing-semester.sass | 93 ------ .../_subsections/lesson-01.org | 133 -------- .../_subsections/lesson-02.org | 288 ------------------ .../_subsections/lesson-03.org | 38 --- gen/missing_semester_2020/toc.org | 34 --- 10 files changed, 698 deletions(-) delete mode 100644 gen/missing_semester_2020/.gitignore delete mode 100644 gen/missing_semester_2020/.gitmodules delete mode 120000 gen/missing_semester_2020/_share/media/fonts delete mode 100644 gen/missing_semester_2020/_share/media/img/lecture01/ex01.png delete mode 120000 gen/missing_semester_2020/_share/media/js/collapsible.js delete mode 100644 gen/missing_semester_2020/_share/media/sass/missing-semester.sass delete mode 100644 gen/missing_semester_2020/_subsections/lesson-01.org delete mode 100644 gen/missing_semester_2020/_subsections/lesson-02.org delete mode 100644 gen/missing_semester_2020/_subsections/lesson-03.org delete mode 100644 gen/missing_semester_2020/toc.org diff --git a/gen/missing_semester_2020/.gitignore b/gen/missing_semester_2020/.gitignore deleted file mode 100644 index 3917bca..0000000 --- a/gen/missing_semester_2020/.gitignore +++ /dev/null @@ -1,107 +0,0 @@ -# Created by https://www.toptal.com/developers/gitignore/api/vim,emacs,osx -# Edit at https://www.toptal.com/developers/gitignore?templates=vim,emacs,osx - -*.html -*.css -*.css.map - -### Emacs ### -# -*- mode: gitignore; -*- -*~ -\#*\# -/.emacs.desktop -/.emacs.desktop.lock -*.elc -auto-save-list -tramp -.\#* - -# Org-mode -.org-id-locations -*_archive - -# flymake-mode -*_flymake.* - -# eshell files -/eshell/history -/eshell/lastdir - -# elpa packages -/elpa/ - -# reftex files -*.rel - -# AUCTeX auto folder -/auto/ - -# cask packages -.cask/ -dist/ - -# Flycheck -flycheck_*.el - -# server auth directory -/server/ - -# projectiles files -.projectile - -# directory configuration -.dir-locals.el - -# network security -/network-security.data - - -### OSX ### -# General -.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - -### Vim ### -# Swap -[._]*.s[a-v][a-z] -!*.svg # comment out if you don't need vector files -[._]*.sw[a-p] -[._]s[a-rt-v][a-z] -[._]ss[a-gi-z] -[._]sw[a-p] - -# Session -Session.vim -Sessionx.vim - -# Temporary -.netrwhist -# Auto-generated tag files -tags -# Persistent undo -[._]*.un~ - -# End of https://www.toptal.com/developers/gitignore/api/vim,emacs,osx diff --git a/gen/missing_semester_2020/.gitmodules b/gen/missing_semester_2020/.gitmodules deleted file mode 100644 index 86216b7..0000000 --- a/gen/missing_semester_2020/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "_share/media/sass/org-media-sass"] - path = _share/media/sass/org-media-sass - url = git@bitbucket.org:ronnyabraham/org-media-sass.git diff --git a/gen/missing_semester_2020/_share/media/fonts b/gen/missing_semester_2020/_share/media/fonts deleted file mode 120000 index 6f076aa..0000000 --- a/gen/missing_semester_2020/_share/media/fonts +++ /dev/null @@ -1 +0,0 @@ -/Users/ronny/notes/_share/media/fonts \ No newline at end of file diff --git a/gen/missing_semester_2020/_share/media/img/lecture01/ex01.png b/gen/missing_semester_2020/_share/media/img/lecture01/ex01.png deleted file mode 100644 index 26cdbcff0ed4bdd6579fe9f266c2290d3abb926c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49953 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 diff --git a/gen/missing_semester_2020/_share/media/js/collapsible.js b/gen/missing_semester_2020/_share/media/js/collapsible.js deleted file mode 120000 index c7c8b09..0000000 --- a/gen/missing_semester_2020/_share/media/js/collapsible.js +++ /dev/null @@ -1 +0,0 @@ -/Users/ronny/notes/_share/media/js/collapsible.js \ No newline at end of file diff --git a/gen/missing_semester_2020/_share/media/sass/missing-semester.sass b/gen/missing_semester_2020/_share/media/sass/missing-semester.sass deleted file mode 100644 index fc4fd80..0000000 --- a/gen/missing_semester_2020/_share/media/sass/missing-semester.sass +++ /dev/null @@ -1,93 +0,0 @@ -@use "sass:map" -@use "sass:color" - -@use 'org-media-sass/default-org-mode' - -@use 'org-media-sass/themes/desert-oasis' as * -@use 'org-media-sass/fonts' as fonts -@use 'org-media-sass/mixins' as mixins-basic - -@include mixins-basic.set-header-sizes($default-header-sizes) -@include mixins-basic.set-header-colors($default-header-colors) -@include mixins-basic.set-header-margins-sides($default-header-margins-sides) -@include mixins-basic.set-header-margins-vertical($default-header-margins-vertical) - - -/* Base Styles */ -body - font-family: $primary-font - color: $text-color - background-color: $background-color - -/* Link Styles */ -a - color: $anchor-color - - &:hover - color: $anchor-hover-color - -// Lists -ul, ol - padding-left: $list-padding-left - -// Blockquotes -blockquote - border-color: $secondary-color - color: color.adjust($text-color, $lightness: 10%) - font-family: $secondary-font - -// Tables -table - color: $text-color - -th, td - border-color: $table-border-color - -th - background-color: $table-header-bg - color: $text-color - -tr:nth-child(even) - background-color: color.adjust($background-color, $lightness: 5%) - -/* Code Block Styles */ -pre, code - background-color: $code-background-color - color: $code-text-color - - font-family: $secondary-font - -/* Header Styles */ -h1, h2, h3, h4, h5, h6 - font-family: $secondary-font - -h4[id="timestamp"] - text-transform: uppercase - color: color.adjust(map.get($default-header-colors, 'h3'), $lightness: 10%) - -h4[id="playlist"] - color: color.adjust(map.get($default-header-colors, 'h3'), $lightness: -10%) -h3 - a - color: color.adjust($anchor-color, $lightness: -12%) - &:hover - color: color.adjust($anchor-hover-color, $lightness: -12%) - -// Notes -.note - background-color: $note-background-color - border-color: $note-border-color - color: $text-color - -div#postamble - border-color: $note-border-color - color: color.adjust($note-border-color, $lightness: 20%) - -/* Table of Contents Link */ -.toc - color: $primary-color - -div#table-of-contents ul li a - color: $toc-anchor-color - &:hover - color: $toc-anchor-hover-color diff --git a/gen/missing_semester_2020/_subsections/lesson-01.org b/gen/missing_semester_2020/_subsections/lesson-01.org deleted file mode 100644 index 4640115..0000000 --- a/gen/missing_semester_2020/_subsections/lesson-01.org +++ /dev/null @@ -1,133 +0,0 @@ -#+title: Lesson 01 | Course Overview + Shell -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: - -* Links -#+attr_html: :class links -- [[../toc.org][TOC | Missing Semester]] -- [[https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J][Playlist: Missing Semester]] - -*** timestamps -:PROPERTIES: -:CUSTOM_ID: timestamp -:END: - -#+attr_html: :class playlist -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=20s][00:20 why we're doing this class]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=251s][04:11 the shell]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=338s][05:38 install a terminal and a shell]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=364s][06:05 the shell prompt]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=411s][06:51 shell prompt]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=522s][08:42 how does the shell know what these programs are]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=672s][11:12 paths]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=738s][12:18 absolute path]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=759s][12:39 relative paths]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=1034s][17:14 tilde character]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=1336s][22:16 directories]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=1376s][22:56 execute on directories]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=1514s][25:14 cp command]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=1547s][25:47 rm]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=1590s][26:30 create a new directory]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=1912s][31:52 pipe character]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=2044s][34:04 grep]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=2145s][35:45 the root user]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=2239s][37:19 kernel paramters]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=2612s][43:32 scroll lock led]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=2706s][45:06 open a file]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=2829s][47:09 lecture notes]] -- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=2875s][office hours]] - -* Notes -** why -- there are many tools that make life easier for programmers -- lecture notes and recordings are available online - -** the shell -- programs are meant to be integrates with each other through the shell -- most common shell is Bourne Again Shell (bash) - -** shell prompt -- typical shell prompt: - #+attr_html: :width 300px - file:../_share/media/img/lecture01/ex01.png - -- shells can be customized extensibly -- arguments are seperated by whitespace -- multiple words can be passed as a single argument via: - - quotes - #+begin_src bash - echo "Hello world" - #+end_src - - - escapes - #+begin_src bash - echo Hello\ world - #+end_src - -** how does the shell know where programs are -- via environment variable - - things that are set whenever you start your shell - - where is your home directory - - what is your username - - what are the PATHs to your programs -- shells, and bash in particular, are programming languages - -** paths -*** PATH environment variable - -- a list seperated by colons (:) -- when bash is asked to run a program bash will search through the directories in path until it finds the program - -*** absolute vs relative path - -- pwd: print working directory -- all relative paths are relative to your current working directory -- absolute path starts with '/' - -*** special directories -- '.' current directory -- '..' parent directory - -*** tilde (~) -- always expands to your home directory - -*** dash (-) -- toggles to the previous directory you were at - - #+begin_src bash - cd /home/ronny/programs/notes/courses - cd ../../ - cd - - pwd - #+end_src - -the output will be -=/home/ronny/programs/notes/courses= - -** permissions -*** groups of three -- read -- write -- execute - -*** directories -- read: are you allowed to see the files -- write: can you rename the files in the directory -- execute: "search" are you allowed to enter this directory - - to access a file in a directory, you need execute permissions on all directories in the path - -** piping -- every program has two streams - - input stream - - output stream -- shell allows you to change streams - - angle brackets - - left angle < : rewire input - - right angle > : rewire output - -- example - #+begin_src bash - echo hello > hello.txt - cat < hello.txt - #+end_src diff --git a/gen/missing_semester_2020/_subsections/lesson-02.org b/gen/missing_semester_2020/_subsections/lesson-02.org deleted file mode 100644 index 7c48d92..0000000 --- a/gen/missing_semester_2020/_subsections/lesson-02.org +++ /dev/null @@ -1,288 +0,0 @@ -#+title: lesson 02 | course overview + the shell -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: - -* Links -#+attr_html: :class links -- [[../toc.org][TOC | Missing Semester]] -- [[https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J][Playlist: Missing Semester]] - -- Curr: https://youtu.be/kgII-YWo3Zw?si=Wm8KLT1ggOGG8W-g&t=1692 - - -*** timestamps -:PROPERTIES: -:CUSTOM_ID: timestamp -:END: - -#+attr_html: :class playlist -+ [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=54s][00:54 - control flow functions]] -+ [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=227s][03:47 - sequential execution]] -+ [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=425s][07:05 - standard input]] -+ [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=444s][07:24 - error code]] -+ [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=517s][08:37 - logical operators]] -+ [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=603s][10:03 - concatenate commands]] -+ [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=645s][10:45 - common substitution]] -+ [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=675s][11:15 - process substitution]] -+ [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=935s][15:35 - comparison operator]] -+ [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=1173s][19:33 - curly braces]] -+ [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=1359s][22:39 - python script]] -+ [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=1707s][28:27 - man command]] -+ [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=2175s][31:26 - finding files]] *current* -+ [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=2190s][36:30 - grep]] -+ [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=2573s][42:53 - fuzzy finder]] -+ [[https://www.youtube.com/watch?v=kgII-YWo3Zw&t=2649s][44:09 - history substring search]] - -* Notes - -** bash -*** spaces are critical with bash - - this works: - #+begin_src bash - foo=bar - echo $foo - #+end_src - - - this doesn't: - #+begin_src bash - foo = bar - echo $foo - #+end_src - - - the output of that will be - =zsh: command not found: foo= - - - what happens in the above example is that we are effectively calling the "foo" program with the arguments: "=" and "bar" - -*** quotes -- you can use double or single quotes to print a value - #+begin_src bash - echo "Hello" - #+end_src - #+begin_src bash - echo 'Hello' - #+end_src - -- double quotes can interpolate variables - #+begin_src bash - echo "Value is $foo" - #+end_src - - will return: =Value is bar= - -- single quotes can NOT interpoloate variables - #+begin_src bash - echo 'Value is $foo' - #+end_src - - will return: =Value is $foo= - -** sequential execution - -*** bash functions -- mcd.sh -#+begin_src bash -mcd() { - mkdir -p "$1" - cd "$1" - } -#+end_src bash - -- creates a function that can be executed after loading - - $1 is a global variable referring to the first parameter - -*** source -- using source mcd.sh - =source mcd.sh= - -- then carry out the function - =mcd testdir= - -- this will create a new directory and cd into it as per the definied functioned - -** error codes -*** commands to access codes or values -- $0 -- name of the script we are currently in - - if you run this in the shell it will display 'bash' -- $1->$9 -- the first through ninth argument given to a script -- $? -- the last error message -- $_ --- last argument of the previous call - -- !! -- recreates the last call with it's arguments - - use with sudo if you found your call needed a sudo and you don't feel like retyping it again - - #+begin_src bash - ls -lah - sudo !! - #+end_src - -*** code values -- boolean - - true returns an error code of 0 - - false returns an error code of 1 - -** using $@ and $* -- represents all the arguments passed to a script or a function as separate, individual strings. It preserves each argument as a distinct item, even if the argument contains spaces. - -*** key points about $@ -1. All Arguments: It refers to all the command-line arguments passed to the script. -2. Preserves Spaces: If an argument contains spaces, it is treated as a single argument. -3. Usage: It is commonly used in a loop to iterate over each argument. - -*** example -#+begin_src bash -./myscript.sh file1.txt "file with spaces.txt" file3.txt -#+end_src - -then $@ will be -=file1.txt "file with spaces.txt" file3.txt= - -*** differences between $* -- *$@* treats each argument as a sepearte item -- *$** treats all arguments as a single, combined string - - -** logical operators -- you can use the error return value in conditionals -*** example using the OR conditional - #+begin_src bash - false || echo "Oops fail" - "Oops fail" - #+end_src - -*** example using the AND conditional - #+begin_src bash - true && echo "this will print" - "this will print" - #+end_src - -** concatenate commands -- you caoncatinate commands using the semicolon: *;* - - #+begin_src bash - false; echo "this prints always" - "this prints always" - #+end_src - -** common substitution -- take the output of a command and put it in a variable - #+begin_src bash - foo=$(pwd) - echo $foo - "/Users/ronny/..." - #+end_src - -- this can also be done by placing that format in a string and it will expand the string - #+begin_src bash - echo "the pwd output is: $(pwd)" - "the pwd output is: /Users/ronny/..." - #+end_src - -** process substitution -*** description -Bash process substitution is a feature that allows you to use the output of a command or a process as if it were a file. It enables you to redirect input or output between processes in a flexible way without needing intermediate temporary files. - -*** Syntax -- creates a temporary file descriptor for the output of the command, which can be used as an input file in another command. - #+begin_src bash - <(command) - #+end_src -- creates a temporary file descriptor for writing to the command, which can be used as an output file in another command. - #+begin_src bash - >(command) - #+end_src - -*** examples -- this will take b, a, d, c and sort it so the result is 'a, b, c, d' - #+begin_src bash - sort <(echo -e "b\na") <(echo -e "d\nc") - #+end_src - -- this will list the files, send the list to *tee* which will split a portion off to the screen and the rest to grep, followed by text_files.txt - - #+begin_src bash - ls | tee >(grep "txt" > text_files.txt) - #+end_src - -#+begin_src bash -echo "Starting program at $(date)" # Date will be substituted -echo "Running program $0 with $# arguments with pid $$" - -for file in "$@"; do - grep foobar "$file" > /dev/null 2> /dev/null - - # when pattern is not found, grep has exit status 1 - # we redirect STDOUT and STDERR to a null register since we do not care about them - - if [[ "$?" - ne 0 ]]; then - echo "File $file does not have any foober adding one" - echo "# foobar" >> "$file" - fi -done -#+end_src - -- *$$* pid given for program -- *$#* number of arguments -- *$@* expands to all the arguments - - can be used in a for loop -- *2>* refers to STDERR -- *>* refers to STDOUT - -** test utility - -test is a bash utility that you can use to test the condition of a file. look at the man page for more info - -** curly braces -curly braces are used as a form of program command expansion. - -the braces contain a number of arguments seperated by commans that will expand into arguments for the program - -*** example -#+begin_src bash -touch foo{,1,2,10} -touch foo foo1 foo2 foo10 - -cp foo{,.old} -cp foo foo.old -#+end_src - -*** ranges -this takes the format {1..20} - -#+begin_src bash -touch directory{1..4}/foo{a..z}.txt -#+end_src - -** python scripts -*** making them bash executable -- reference the python compiler at the top of the file - - do it directly: - #+begin_src bash - #!/usr/local/bin/python - #+end_src - - use the env program to do so - #+begin_src bash - #!/usr/bin/env python - #+end_src - -*** args can be found through sys.argv[1:] - #+begin_src python -import sys -for arg in reversed(sys.argv[1:]): - print(arg) - #+end_src - -** checking for problems in bash scripts using 'shellcheck' -#+begin_src bash -shellcheck some_bash_script.sh -#+end_src - -- will tell you problems -- and warnings - -** man command -- works with both os, and installed tools -- 'tldr' is easier to read - -** find diff --git a/gen/missing_semester_2020/_subsections/lesson-03.org b/gen/missing_semester_2020/_subsections/lesson-03.org deleted file mode 100644 index 062c8a1..0000000 --- a/gen/missing_semester_2020/_subsections/lesson-03.org +++ /dev/null @@ -1,38 +0,0 @@ -#+title: Lesson 02 | shell tools and scripting -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: - -* Links -#+attr_html: :class links -- [[../toc.org][TOC | Missing Semester]] -- [[https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J][Playlist: Missing Semester]] - -* Notes - - -*** Playlist - -#+attr_html: :class playlist -1. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=20s][why we're doing this class]] -2. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=251s][the shell]] -3. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=338s][install a terminal and a shell]] -4. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=411s][shell prompt]] -5. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=522s][how does the shell know what these programs are]] -6. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=672s][paths]] -7. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=738s][absolute path]] -8. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=759s][relative paths]] -9. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=1034s][tilde character]] -10. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=1336s][directories]] -11. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=1376s][execute on directories]] -12. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=1514s][cp command]] -13. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=1547s][rm]] -14. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=1590s][create a new directory]] -15. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=1912s][pipe character]] -16. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=2044s][grep]] -17. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=2145s][the root user]] -18. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=2239s][kernel paramters]] -19. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=2612s][scroll lock led]] -20. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=2706s][open a file]] -21. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=2829s][lecture notes]] -22. [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=2875s][office hours]] diff --git a/gen/missing_semester_2020/toc.org b/gen/missing_semester_2020/toc.org deleted file mode 100644 index 6001773..0000000 --- a/gen/missing_semester_2020/toc.org +++ /dev/null @@ -1,34 +0,0 @@ -#+title: Missing Semester IAP 2020 -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: - -* Links -#+attr_html: :class links -- [[../../../course-listings.org][Courses Listing]] -- [[https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J][YouTube Playlist: Missing Semester]] - -*** playlist -:PROPERTIES: -:CUSTOM_ID: playlist -:END: - -#+attr_html: :class playlist -1. [[https://youtu.be/Z56Jmr9Z34Q?si=XHgfjMWOSx0lSUV8][Lecture 1: Course Overview + The Shell]] -2. [[https://youtu.be/kgII-YWo3Zw?si=yOa5im_cHzisLeZn][Lecture 2: Shell Tools and Scripting]] -3. [[https://youtu.be/a6Q8Na575qc?si=7cgWLJfBgtzVvUUC][Lecture 3: Editors]] -4. [[https://youtu.be/sz_dsktIjt4?si=l9M6_yIDqV1drxNS][Lecture 4: Data Wrangling]] -5. [[https://youtu.be/e8BO_dYxk5c?si=a6aWoJSVS13rQO1I][Lecture 5: Command-line Environment]] -6. [[https://youtu.be/2sjqTHE0zok?si=ArLpMvXhrtAsQnLH][Lecture 6: Version Control (git)]] -7. [[https://youtu.be/l812pUnKxME?si=BDElINPHWLHQzBcD][Lecture 7: Debugging and Profiling]] -8. [[https://youtu.be/_Ms1Z4xfqv4?si=tMk44R213bG70pCq][Lecture 8: Metaprogramming]] -9. [[https://youtu.be/tjwobAmnKTo?si=QnIhfVK8mJHCV6PU][Lecture 9: Security and Cryptography]] -10. [[https://youtu.be/JZDt-PRq0uo?si=7oCytjjvVaGSTDHr][Lecture 10: Potpourri]] -11. [[https://youtu.be/Wz50FvGG6xU?si=Gmp-YJZm0sR65GAa][Lecture 11: Q&A]] - -* Contents Overview -#+attr_html: :class contents-overview -- [[./_subsections/lesson-01.org][Lesson 01 | Course Overview + The Shell]] -- [[./_subsections/lesson-02.org][Lesson 02 | Shell Tools and Scripting]] -