Skip to content

Instantly share code, notes, and snippets.

@runo280
Last active September 29, 2020 11:36
Show Gist options
  • Star 11 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save runo280/2d6d33741e1b94556259dd92b50dd166 to your computer and use it in GitHub Desktop.
Save runo280/2d6d33741e1b94556259dd92b50dd166 to your computer and use it in GitHub Desktop.
Download script for C@ster.i0 free courses

How to use

1- Install requirements

This command is for Ubuntu based distros

sudo apt install aria2 youtube-dl

2- Make [course_name].sh file excutable:

chmod +x [course_name].sh

3- Run the script to download the videos:

./[course_name].sh
#!/usr/bin/env bash
#https://caster.io/courses/kotlin-programming-language
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/installing-the-intellij-ide-for-kotlin-development" -o "001_Installing_the_IntelliJ_IDE_for_Kotlin_Development.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/creating-a-kotlin-file-in-intellij" -o "002_Creating_a_Kotlin_File_in_IntelliJ.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/how-to-update-the-kotlin-plugin-in-intellij" -o "003_How_to_Update_the_Kotlin_Plugin_in_IntelliJ.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-hello-world" -o "004_Kotlin_Hello_World.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/creating-variables-in-kotlin" -o "005_Creating_Variables_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/creating-read-only-variables-in-kotlin" -o "006_Creating_Read_Only_Variables_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/providing-the-type-on-kotlin-variables" -o "007_Providing_the_Type_on_Kotlin_Variables.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-data-types-numbers" -o "008_Kotlin_Data_Types_Numbers.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-data-types-string-and-char" -o "009_Kotlin_Data_Types_String_and_Char.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-string-interpolation-and-triple-quotes" -o "010_Kotlin_String_Interpolation_and_Triple_Quotes.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-data-types-boolean" -o "011_Kotlin_Data_Types_Boolean.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-conditionals-ifelse" -o "012_Kotlin_Conditionals_IfElse.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-conditionals-single-line-ifelse" -o "013_Kotlin_Conditionals_Single_line_ifelse.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-conditionals-truth-tables" -o "014_Kotlin_Conditionals_Truth_Tables.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-structural-equality" -o "015_Kotlin_Structural_Equality.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-referential-equality" -o "016_Kotlin_Referential_Equality.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-nullable-types" -o "017_Kotlin_Nullable_Types.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-nullable-safe-calls" -o "018_Kotlin_Nullable_Safe_Calls.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-elvis-operator" -o "019_Kotlin_Elvis_Operator.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/how-to-create-a-function-in-kotlin" -o "020_How_to_Create_a_Function_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/returning-a-value-from-a-kotlin-function" -o "021_Returning_a_value_from_a_Kotlin_Function.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-functions-inside-of-other-functions" -o "022_Kotlin_Functions_inside_of_other_Functions.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-single-line-expressions" -o "023_Kotlin_Single_Line_Expressions.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-function-arguments" -o "024_Kotlin_Function_Arguments.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-named-parameters-in-functions" -o "025_Kotlin_Named_Parameters_in_Functions.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-default-arguments-" -o "026_Kotlin_Default_Arguments__.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-refactoring-to-new-lines-and-named-arguments-in-intellij" -o "027_Kotlin_Refactoring_to_New_Lines_and_Named_Arguments_in_IntelliJ.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-varargs-providing-multiple-arguments-of-the-same-type" -o "028_Kotlin_Varargs_Providing_Multiple_Arguments_of_the_Same_Type.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-function-overloading" -o "029_Kotlin_Function_Overloading.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/how-to-create-a-class-in-kotlin" -o "030_How_to_Create_a_Class_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-class-primary-constructor" -o "031_Kotlin_Class_Primary_Constructor.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-class-with-multiple-constructors" -o "032_Kotlin_Class_with_Multiple_Constructors.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-init-block" -o "033_Kotlin_Init_Block.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-class-properties" -o "034_Kotlin_Class_Properties.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-read-only-class-properties" -o "035_Kotlin_Read-Only_Class_Properties.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-overriding-the-property-getter" -o "036_Kotlin_Overriding_the_Property_Getter.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-overriding-the-property-setter" -o "037_Kotlin_Overriding_the_Property_Setter.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-multiple-properties-in-a-class" -o "038_Kotlin_Multiple_Properties_in_a_Class.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-class-functions" -o "039_Kotlin_Class_Functions.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-companion-objects" -o "040_Kotlin_Companion_Objects.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/how-to-create-a-singleton-in-kotlin" -o "041_How_to_Create_a_Singleton_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/declaring-constants-in-kotlin" -o "042_Declaring_Constants_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-lateinit-modifier-" -o "043_Kotlin_lateinit_Modifier__.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-nested-classes" -o "044_Kotlin_Nested_Classes.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-inner-classes" -o "045_Kotlin_Inner_Classes.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/how-to-create-an-enum-in-kotlin" -o "046_How_to_Create_an_Enum_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-enum-constructor-parameters" -o "047_Kotlin_Enum_Constructor_Parameters.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/creating-abstract-functions-inside-of-kotlin-enums" -o "048_Creating_Abstract_Functions_inside_of_Kotlin_Enums.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/iterating-over-enum-values-in-kotlin" -o "049_Iterating_Over_Enum_Values_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/adding-static-methods-to-kotlin-enums" -o "050_Adding_Static_Methods_to_Kotlin_Enums.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-conditionals-the-kotlin-when-statement" -o "051_Kotlin_Conditionals_The_Kotlin_when_statement.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-when-statement-exhaustive-vs-non-exhaustive" -o "052_Kotlin_when_Statement_Exhaustive_vs_Non-exhaustive.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-data-classes" -o "053_Kotlin_Data_Classes.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-data-classes-parameterless-constructors" -o "054_Kotlin_Data_Classes_Parameterless_Constructors.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-data-class-component1-component2-componentn" -o "055_Kotlin_Data_Class_Component1_Component2_ComponentN.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotin-data-class-destructuring" -o "056_Kotin_Data_Class_Destructuring.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/copying-kotlin-data-classes" -o "057_Copying_Kotlin_Data_Classes.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-pair-and-triple-data-classes" -o "058_Kotlin_Pair_and_Triple_Data_Classes.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-protected-modifier-for-variables" -o "059_Kotlin_Protected_Modifier_for_Variables.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-protected-modifier-for-methods" -o "060_Kotlin_Protected_Modifier_for_Methods.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-internal-modifier" -o "061_Kotlin_Internal_Modifier.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/how-to-create-an-abstract-class-in-kotlin" -o "062_How_to_Create_an_Abstract_Class_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/how-to-implement-an-abstract-class-in-kotlin" -o "063_How_to_Implement_an_Abstract_Class_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-abstract-classes-using-abstract-classes-as-an-abstraction" -o "064_Kotlin_Abstract_Classes_Using_Abstract_Classes_as_an_Abstraction.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/what-are-kotlin-interfaces-used-for" -o "065_What_are_Kotlin_Interfaces_Used_For.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-interfaces-creating-an-interface-in-kotlin" -o "066_Kotlin_Interfaces_Creating_an_Interface_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-interfaces-implementing-an-interface-in-kotlin" -o "067_Kotlin_Interfaces_Implementing_an_Interface_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-interfaces-example-multiple-file-systems" -o "068_Kotlin_Interfaces_Example_Multiple_File_Systems.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-anonymous-interfaces" -o "069_Kotlin_Anonymous_Interfaces.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/creating-arrays-in-kotlin" -o "070_Creating_Arrays_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/creating-a-list-in-kotlin" -o "071_Creating_a_List_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/creating-mutable-lists-in-kotlin" -o "072_Creating_Mutable_Lists_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/filtering-a-list-in-kotlin" -o "073_Filtering_a_List_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/finding-items-in-a-kotlin-list" -o "074_Finding_Items_in_a_Kotlin_List.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-filternot-on-a-list-" -o "075_Kotlin_FilterNot_on_a_List_.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/creating-a-new-kotlin-list-from-an-existing-kotlin-list" -o "076_Creating_a_New_Kotlin_List_from_an_Existing_Kotlin_List.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/how-to-flatten-a-list-or-array-in-kotlin" -o "077_How_to_Flatten_a_List_or_an_Array_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/combining-multiple-immutable-lists-in-kotlin" -o "078_Combining_Multiple_Immutable_Lists_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-list-map-operator" -o "079_Kotlin_List_map_Operator.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-map-vs-flatmap" -o "080_Kotlin_map_vs._flatMap.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-set-a-list-with-no-duplicates" -o "081_Kotlin_Set_A_List_with_No_Duplicates.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-for-loop" -o "082_Kotlin_For_Loop.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-while-loop" -o "083_Kotlin_While_Loop.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-foreach-collection-iteration" -o "084_Kotlin_forEach_Collection_Iteration.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/combine-list-into-a-unique-list-with-the-union-operator" -o "085_Combine_List_into_a_Unique_List_with_the_union_operator.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-iterating-over-a-list-with-an-index-with-foreachindex" -o "086_Kotlin_Iterating_over_a_List_with_an_Index_with_forEachIndex.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-ranges" -o "087_Kotlin_Ranges.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/how-to-create-a-map-in-kotlin" -o "088_How_To_Create_a_Map_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/how-to-create-a-mutable-map-in-kotlin" -o "089_How_to_create_a_Mutable_Map_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/filtering-and-transforming-maps-in-kotlin" -o "090_Filtering_and_Transforming_Maps_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-mapnotnull-removing-null-items-from-a-map" -o "091_Kotlin_mapNotNull_Removing_null_items_from_a_map.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/generate-large-sequences-and-lists-in-kotlin-with-generatesequence" -o "092_Generate_Large_Sequences_and_Lists_in_Kotlin_with_generateSequence.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-performance-measuring-performance-with-measurenanotime" -o "093_Kotlin_Performance_Measuring_performance_with_measureNanoTime.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-sequences-improving-performance-with-kotlin-sequences" -o "094_Kotlin_Sequences_Improving_performance_with_Kotlin_Sequences.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-list-vs-set-vs-map" -o "095_Kotlin_List_vs._Set_vs._Map.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/the-kotlin-ternary-operator" -o "096_The_Kotlin_Ternary_Operator.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-double-bang-operator-" -o "097_Kotlin_Double_Bang_Operator_.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-requirenotnull-forcing-something-that-is-nullable-to-be-not-null" -o "098_Kotlin_requireNotNull_Forcing_something_that_is_nullable_to_be_not_null.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-checknotnull-checking-that-a-value-is-not-null" -o "099_Kotlin_checkNotNull_Checking_that_a_value_is_not_null.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/filter-a-list-for-not-null-values-in-kotlin-with-filternotnull" -o "100_Filter_a_list_for_Not_Null_Values_in_Kotlin_with_filterNotNull.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-type-hierarchy-and-kotlin-type-checking-with-is" -o "101_Kotlin_Type_Hierarchy_and_Kotlin_Type_Checking_with_is.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/casting-in-kotlin" -o "102_Casting_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-safe-casting" -o "103_Kotlin_Safe_Casting.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/understanding-generics-with-lists-and-maps-in-kotlin" -o "104_Understanding_Generics_with_Lists_and_Maps_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-generic-class-how-to-create-a-generic-class" -o "105_Kotlin_Generic_Class_How_to_Create_a_Generic_Class.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/throwing-an-exception-in-kotlin" -o "106_Throwing_an_Exception_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-creating-a-custom-exception" -o "107_Kotlin_Creating_a_Custom_Exception.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-try-catch-statement" -o "108_Kotlin_Try_Catch_Statement.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/catching-multiple-exception-types-in-kotlin" -o "109_Catching_Multiple_Exception_Types_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/trycatchfinally-in-kotlin" -o "110_TryCatchFinally_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-trycatch-vs-tryfinally" -o "111_Kotlin_TryCatch_vs_TryFinally.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-typealias-how-to-create-a-typealias-in-kotlin" -o "112_Kotlin_typealias_How_to_create_a_typealias_in_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/creating-a-kotlin-extension-function" -o "113_Creating_a_Kotlin_Extension_Function.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-lazy-evaluation" -o "114_Kotlin_Lazy_Evaluation.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-lazy-initializer-block" -o "115_Kotlin_Lazy_Initializer_Block.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-packages-and-imports" -o "116_Kotlin_Packages_and_Imports.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-type-inference" -o "117_Kotlin_Type_Inference.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-lambdas-understanding-simple-lambda-expressions" -o "118_Kotlin_Lambdas_Understanding_Simple_Lambda_Expressions.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-lambdas-lambdas-as-function-parameters" -o "119_Kotlin_Lambdas_Lambdas_as_Function_Parameters.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-lambdas-passing-values-to-lambda-expression-function-parameters" -o "120_Kotlin_Lambdas_Passing_Values_to_Lambda_Expression_Function_Parameters.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-lambdas-using-underscores-to-signify-unused-parameters" -o "121_Kotlin_Lambdas_Using_Underscores_to_Signify_Unused_Parameters.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-lambdas-the-it-parameter" -o "122_Kotlin_Lambdas_The_it_parameter.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-jvm-interop-calling-kotlin-from-java" -o "123_Kotlin_JVM_Interop_Calling_Kotlin_from_Java.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-jvm-interop-calling-java-from-kotlin" -o "124_Kotlin_JVM_Interop_Calling_Java_from_Kotlin.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-jvm-interop-calling-a-kotlin-extension-function-from-java" -o "125_Kotlin_JVM_Interop_Calling_a_Kotlin_Extension_Function_from_Java.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-jvm-interop-the-jvmname-annotation" -o "126_Kotlin_JVM_Interop_The_JvmName_Annotation.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/run-kotlin-code-anywhere-with-kotlin-main-functions" -o "127_Run_Kotlin_Code_Anywhere_with_Kotlin_Main_Functions.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/working-with-the-kotlin-repl" -o "128_Working_with_the_Kotlin_REPL.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-simple-calculator-project-creating-the-project-and-main-function" -o "129_Kotlin_Simple_Calculator_Project_Creating_the_Project_and_Main_Function.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-simple-calculator-project-reading-user-input-with-readline" -o "130_Kotlin_Simple_Calculator_Project_Reading_User_Input_with_readLine().mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-simple-calculator-project-building-the-calculator-logic" -o "131_Kotlin_Simple_Calculator_Project_Building_the_Calculator_Logic.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-simple-calculator-project-adding-validation-to-your-simple-calculator" -o "132_Kotlin_Simple_Calculator_Project_Adding_Validation_to_your_Simple_Calculator.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-simple-calculator-project-compiling-to-a-jar-file" -o "133_Kotlin_Simple_Calculator_Project_Compiling_to_a_JAR_File.mp4"
youtube-dl --ignore-config -f hd_mp4-1080p -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/kotlin-playground-and-kotlin-koans" -o "134_Kotlin_Playground_and_Kotlin_Koans.mp4"
#!/bin/bash
#**********************
#free download expired now!
#**********************
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-introduction-to-actions-on-google-and-using-the-google-assistant" -o "1- Introduction to Actions on Google and using the Google Assistant.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-dialogflow-and-the-other-available-options-of-actions-on-google" -o "2- DialogFlow and the other available options of actions on Google.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-creating-an-google-assistant-action-with-dialogflow" -o "3- Creating an Google Assistant Action with DialogFlow.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-creating-your-first-dialogflow-intent" -o "4- Creating your first DialogFlow Intent.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-creating-dialog-follow-up-intents" -o "5- Creating Dialog Follow up intents.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-using-the-dialogflow-system-entities" -o "6- Using the DialogFlow System Entities.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-creating-your-first-dialogflow-entity" -o "7- Creating your first DialogFlow entity.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-making-your-dialogflow-action-smarter-by-editing-the-training-phrases-from-the-users-usage" -o "8- Making your DialogFlow action smarter by editing the training phrases from the users usage.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-having-a-better-understanding-of-the-welcome-and-fallback-intents-in-dialogflow" -o "9- Having a better understanding of the Welcome and Fallback intents in DialogFlow.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-ending-your-dialogflow-conversation" -o "10- Ending your DialogFlow conversation.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-create-a-dialogflow-agent-fulfillment-webhook-using-the-inline-editor" -o "11- Create a DialogFlow agent fulfillment webhook using the Inline Editor.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-deploying-a-dialogflow-fulfilment-cloud-function-using-the-firebase-client" -o "12- Deploying a DialogFlow fulfilment cloud function using the Firebase client.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-adding-javascript-code-to-firebase-cloudfunction-for-your-dialogflow-action" -o "13- Adding JavaScript code to Firebase CloudFunction for your DialogFlow action.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-creating-a-simple-response-to-the-user-in-javascript-with-firebase-cloud-functions-and-dialogflow" -o "14- Creating a simple response to the user in JavaScript with Firebase Cloud Functions and DialogFlow.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-creating-a-basiccard-ui-element-response-with-firebase-cloud-functions-and-dialogflow" -o "15- Creating a BasicCard UI element response with Firebase Cloud Functions and DialogFlow.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-creating-a-carousel-of-items-ui-element-response-with-firebase-cloud-functions-and-dialogflow" -o "16- Creating a Carousel of items UI element response with Firebase Cloud Functions and DialogFlow.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-playing-a-media-object-to-the-user-with-a-firebase-cloud-function-using-dialogflow" -o "17- Playing a media object to the user with a Firebase Cloud Function using DialogFlow.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-playing-media-object-and-customising-the-googles-assistant-voice-using-speech-synthesis-markup-language-on-dialogflow" -o "18- Playing media object and customising the Google's assistant voice using Speech Synthesis Markup Language on DialogFlow.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-accessing-users-restricted-data-by-requesting-permission-using-firebase-cloud-function-and-dialogflow" -o "19- Accessing users restricted data by requesting permission using Firebase Cloud Function and DialogFlow.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-storing-users-data-in-the-users-storage-using-firebase-cloud-functions-and-dialogflow" -o "20- Storing users data in the users storage using Firebase Cloud Functions and DialogFlow.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-reading-the-stored-data-in-the-user-storage-using-firebase-cloud-functions-and-dialogflow" -o "21- Reading the stored data in the user storage using Firebase Cloud Functions and DialogFlow.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-detecting-interacting-and-sending-conversations-between-surfaces-using-firebase-cloud-functions-and-dialogflow" -o "22- Detecting, interacting and sending conversations between surfaces using Firebase Cloud Functions and DialogFlow.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-debugging-and-fixing-bugs-in-your-firebase-cloud-function" -o "23- Debugging and fixing bugs in your Firebase Cloud Function.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/google-assistant-dialog-flow-deploying-your-google-assistant-action-to-testing-or-production" -o "24- Deploying your Google Assistant Action to testing or production.mp4"
#!/bin/bash
#https://caster.io/courses/junit5-fundamentals
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-introduction-overview" -o "1- Understand the Core Components of JUnit 5 02_11.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-java-integration" -o "2- Set up your Java Project for JUnit 5 01_25.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-android-integration" -o "3- Set up your Android Project for JUnit 5 01_42.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-the-first-test" -o "4- The first @Test 02_06.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-lifecycle-annotations-pt-1-beforeeach-aftereach" -o "5- Lifecycle with @BeforeEach & @AfterEach 01_09.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-lifecycle-annotations-pt-2-beforeall-afterall" -o "6- Lifecycle with @BeforeAll & @AfterAll 01_10.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-per-method-test-instances" -o "7- Using 1 Instance per Method with @TestInstance 01_12.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-using-1-instance-per-test-class-with-testinstance" -o "8- Using 1 Instance per Class with @TestInstance 02_01.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-taking-advantage-of-the-per_class-testinstance-in-kotlin" -o "9- Taking advantage of @TestInstance(PER_CLASS) in Kotlin 01_25.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-bearable-test-method-names-with-displayname" -o "10- Bearable Test Method Names with @DisplayName 02_19.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-checking-for-equality-with-assertequals-friends" -o "11- Checking for equality with assertEquals() & Friends 02_53.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-asserttrue-and-assertfalse" -o "12- Using assertTrue() & assertFalse() 00_51.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-asserting-null" -o "13- Asserting null 00_38.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-testing-exceptions" -o "14- Testing Exceptions with assertThrows() 01_10.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-composing-assertions-with-assertall" -o "15- Composing Assertions with assertAll() 02_00.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-assumptions" -o "16- Avoiding failure with Assumptions 01_33.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-ignoring-tests-with-disabled" -o "17- Ignoring Tests with @Disabled 01_31.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-enabledonos-disabledonos" -o "18- Conditional Test Execution Pairs_ @EnabledOnOs & @DisabledOnOs 01_43.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-enabledonjre-disabledonjre" -o "19- Conditional Test Execution Pairs_ @EnabledOnJre & @DisabledOnJre 00_47.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-enabledifsystemproperty-disabledifsystemproperty" -o "20- Conditional Test Execution Pairs_ @EnabledIfSystemProperty & @DisabledIfSystemProperty 01_30.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-enabledifenvironmentvariable-disabledifenvironmentvariable" -o "21- Conditional Test Execution Pairs_ @EnabledIfEnvironmentVariable & @DisabledIfEnvironmentVariable 01_08.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-enabledif-disabledif-driving-tests-with-scripting" -o "22- Conditional Test Execution Pairs_ @EnabledIf & @DisabledIf 02_19.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-grouping-tests-with-tag" -o "23- Grouping tests with @Tag 01_50.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-nested-effective-bdd-in-junit-5" -o "24- @Nested & Effective BDD in JUnit 5 03_38.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-running-a-test-multiple-times-with-repeatedtest" -o "25- Running a test multiple times with @RepeatedTest 05_19.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-introduction-to-parameterized-tests-using-valuesource" -o "26- @ParameterizedTest with @ValueSource 03_11.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-parameterized-tests-for-enumerations-enumsource" -o "27- @ParameterizedTest with @EnumSource 00_31.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-parameterizedtest-methodsource" -o "28- @ParameterizedTest with @MethodSource 02_30.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-parameterizedtest-with-csvsource-csvfilesource" -o "29- @ParameterizedTest with @CsvSource & @CsvFileSource 01_44.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-argument-conversion-techniques-for-parameterized-tests" -o "30- Argument Conversion Techniques for Parameterized Tests 04_09.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-writing-a-custom-source-for-parameterized-tests" -o "31- Writing a custom @Source for Parameterized Tests 04_31.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-introduction-to-testfactory-and-dynamic-tests" -o "32- Introduction to @TestFactory and Dynamic Tests 01_31.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-grouping-dynamic-tests-into-containers" -o "33- Grouping Dynamic Tests into Containers 01_55.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-lifecycle-caveats-for-dynamic-tests" -o "34- Lifecycle Caveats for Dynamic Tests 01_06.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-setting-up-parallel-test-execution" -o "35- Setting up Parallel Test Execution 02_47.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-parallel-execution-strategies-dynamic" -o "36- Parallel Execution Strategies_ Dynamic 02_02.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-parallel-execution-strategies-fixed-ba78cf" -o "37- Parallel Execution Strategies_ Fixed 00_48.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-parallel-execution-strategies-custom" -o "38- Parallel Execution Strategies_ Custom 03_16.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/junit5-synchronizing-parallel-test-execution-with-resourcelock" -o "39- Synchronizing Parallel Test Execution with @ResourceLock 03_28.mp4"
#!/bin/bash
#**********************
#free download expired now!
#**********************
#https://caster.io/courses/dependency-injection-in-android-using-kodein
youtube-dl --config-location casterconf "https://caster.io/lessons/kodein-android-whats-kodein" -o "1- What's Kodein 01:53.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/kodein-android-first-steps" -o "2- First Steps 01:58.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/kodein-android-the-application-scope" -o "3- The Application Scope 01:56.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/kodein-android-your-first-injection-3748a2" -o "4- Your first Injection 02:31.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/kodein-android-lazy-injections" -o "5- Lazy Injections 01:35.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/kodein-android-scoped-injection-activity-scope" -o "6- Scoped Injection: Activity Scope 03:54.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/kodein-android-injecting-dependencies-on-the-activity-scope" -o "7- Injecting dependencies on the Activity Scope 03:19.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/kodein-android-transitive-dependencies" -o "8- Transitive Dependencies 03:46.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/kodein-android-injecting-singletons" -o "9- Injecting Singletons 03:46.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/kodein-android-tagged-injections" -o "10- Tagged injections 02:46.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/kodein-android-constant-injection" -o "11- Constant Injection 02:55.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/kodein-android-adding-a-detail-activity" -o "12- Adding a Detail Activity 04:24.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/kodein-android-injecting-navigation" -o "13- Injecting Navigation 03:51.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/kodein-android-injecting-fragments" -o "14- Injecting Fragments 02:46.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/kodein-android-injecting-customviews" -o "15- Injecting CustomViews 02:55.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/kodein-android-testing-your-architecture-mock-injection" -o "16- Testing your architecture (mock injection) 04:59.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/kodein-android-injecting-mocks-on-your-ui-tests" -o "17- Injecting Mocks on your UI tests 04:47.mp4"
#!/bin/bash
#**********************
#free download expired now!
#**********************
#https://caster.io/courses/koin
youtube-dl --config-location casterconf "https://caster.io/lessons/koin-introduction-to-koin" -o "1- Introduction to Koin.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/koin-comparing-koin-with-dagger" -o "2- Comparing Koin with Dagger.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/koin-setting-up-koin" -o "3- Setting up Koin.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/koin-understanding-koin-modules" -o "4- Koin modules.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/koin-loading-our-dependencies" -o "5- Loading our dependencies.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/koin-singleton-dependencies" -o "6- Singleton dependencies.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/koin-factory-dependencies" -o "7- Factory dependencies.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/koin-lazy-and-eager-injection" -o "8- Lazy and Eager Injection.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/koin-interface-dependencies" -o "9- Interface dependencies.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/koin-named-dependencies" -o "10- Named dependencies.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/koin-android-view-model-dependencies" -o "11- Android View Model dependencies.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/koin-understanding-koin-components" -o "12- Understanding Koin components.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/koin-scoping-our-dependencies" -o "13- Scoping our dependencies.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/koin-loading-properties" -o "14- Loading properties.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/koin-injection-parameters" -o "15- Injection parameters.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/koin-logging-with-koin" -o "16- Logging with Koin.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/koin-testing-with-koin" -o "17- Loading mocked instance within tests.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/koin-declaring-mocked-instance-within-tests" -o "18- Declaring mocked instance within tests.mp4"
#!/usr/bin/env bash
#https://caster.io/courses/android-mvrx-fundamentals
#**********************
#free download expired now!
#**********************
youtube-dl --ignore-config -f hd_mp4_video-1 -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/android-mvrx-introduction-to-mvrx" -o "1- Introduction to MvRx.mp4"
youtube-dl --ignore-config -f hd_mp4_video-1 -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/android-mvrx-set-up-your-project-for-mvrx" -o "2- Set up Your Project for MvRx.mp4"
youtube-dl --ignore-config -f hd_mp4_video-1 -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/android-mvrx-create-your-base-mvrx-viewmodel" -o "3- Create Your Base MvRx ViewModel.mp4"
youtube-dl --ignore-config -f hd_mp4_video-1 -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/android-mvrx-creating-your-first-mvrxviewmodel" -o "4- Create Your First MvRxViewModel.mp4"
youtube-dl --ignore-config -f hd_mp4_video-1 -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/android-mvrx-make-your-viewmodel-survive-configuration-changes" -o "5- Make Your ViewModel Survive Configuration Changes.mp4"
youtube-dl --ignore-config -f hd_mp4_video-1 -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/android-mvrx-update-state-with-setstate" -o "6- Update State with setState.mp4"
youtube-dl --ignore-config -f hd_mp4_video-1 -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/android-mvrx-easily-execute-asynchronous-actions" -o "7- Easily Execute Asynchronous Actions.mp4"
youtube-dl --ignore-config -f hd_mp4_video-1 -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/android-mvrx-subscribe-to-state-changes-manually" -o "8- Subscribe to State Changes Manually.mp4"
youtube-dl --ignore-config -f hd_mp4_video-1 -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/android-mvrx-sharing-viewmodels-across-fragments" -o "9- Share ViewModels Across Fragments.mp4"
youtube-dl --ignore-config -f hd_mp4_video-1 -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/android-mvrx-mvrx-is-lifecycle-aware" -o "10- MvRx Is Lifecycle Aware.mp4"
youtube-dl --ignore-config -f hd_mp4_video-1 -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/android-mvrx-persist-state-across-process-restoration" -o "11- Persist State Across Process Restoration.mp4"
youtube-dl --ignore-config -f hd_mp4_video-1 -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/android-mvrx-debug-mode-safety-checks" -o "12- Debug Mode Safety Checks.mp4"
youtube-dl --ignore-config -f hd_mp4_video-1 -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/android-mvrx-simplify-state-with-derived-properties" -o "13- Simplify State With Derived Properties.mp4"
youtube-dl --ignore-config -f hd_mp4_video-1 -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/android-mvrx-initialize-your-state-properties" -o "14- Initialize Your State Properties.mp4"
youtube-dl --ignore-config -f hd_mp4_video-1 -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/android-mvrx-initialize-state-with-fragment-arguments" -o "15- Initialize State With Fragment Arguments.mp4"
youtube-dl --ignore-config -f hd_mp4_video-1 -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/android-mvrx-integrate-with-dependency-injection-" -o "16- Integrate with Dependency Injection.mp4"
youtube-dl --ignore-config -f hd_mp4_video-1 -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/android-mvrx-dependency-injection-with-dagger-a8f8a7" -o "17- Dependency Injection with Dagger.mp4"
youtube-dl --ignore-config -f hd_mp4_video-1 -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/android-mvrx-mvrx-threading-model" -o "18- MvRx Threading Model.mp4"
youtube-dl --ignore-config -f hd_mp4_video-1 -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/android-mvrx-test-state-classes" -o "19- Test State Classes.mp4"
youtube-dl --ignore-config -f hd_mp4_video-1 -i -c --external-downloader aria2c --external-downloader-args "-c -s16 -k1M -x16 --enable-color=true --human-readable=true" --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "https://caster.io/lessons/android-mvrx-test-viewmodels" -o "20- Test ViewModels.mp4"
#!/bin/bash
#**********************
#free download expired now!
#**********************
#https://caster.io/courses/storing-data-in-android-with-room
youtube-dl --config-location casterconf "https://caster.io/lessons/android-room-room-introduction-and-integration" -o "1- Introduction and Integration 01:35.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-room-room-creating-the-database" -o "2- Creating the Database 02:23.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-room-room-defining-an-entity" -o "3- Defining an Entity 02:02.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-room-room-custom-sql-table-and-column-names" -o "4- Custom SQL Table and Column Names 01:20.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-room-room-creating-the-data-access-object-dao" -o "5- Creating the Data Access Object (DAO) 01:50.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-room-room-inserting-entities-with-the-insert-annotation" -o "6- Inserting Entities with the @Insert Annotation 03:29.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-room-room-reading-data-using-the-query-annotation" -o "7- Reading data using the @Query Annotation 02:34.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-room-livedata" -o "8- LiveData 03:00.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-room-passing-parameters-into-a-query" -o "9- Passing Parameters into a @Query 02:23.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-room-delete-annotation" -o "10- Deleting entities using the @Delete annotation 02:56.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-room-updating-an-entity-using-the-update-annotation" -o "11- Updating an entity using the @Update annotation 02:32.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-room-foreign-key-relationships" -o "12- Foreign Key Relationships 03:55.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-room-one-to-many-relationships" -o "13- One to Many Relationships 04:28.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-room-relation-annotation" -o "14- @Relation annotation 04:05.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-room-many-to-many-relationship" -o "15- Many to Many Relationship 11:25.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-room-typeconverter" -o "16- TypeConverter 02:39.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-room-database-migrations" -o "17- Database Migrations 05:29.mp4"
#!/bin/bash
#**********************
#free download expired now!
#**********************
#https://caster.io/courses/android-vector-drawables-fundamentals
youtube-dl --config-location casterconf "https://caster.io/lessons/android-vector-drawables-fundamentals-widths-heights" -o "1- Widths & Heights.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-vector-drawables-fundamentals-paths" -o "2- Paths.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-vector-drawables-fundamentals-clip-paths" -o "3- Clip Paths.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-vector-drawables-fundamentals-groups" -o "4- Groups.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-vector-drawables-fundamentals-rendering" -o "5- Rendering.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-vector-drawables-fundamentals-inline-complex-xml-resources" -o "6- Inline Complex XML Resources.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-vector-drawables-fundamentals-gradients" -o "7- Gradients.mp4"
youtube-dl --config-location casterconf "https://caster.io/lessons/android-vector-drawables-fundamentals-fill-windings" -o "8- Fill Windings.mp4"
@imsyf
Copy link

imsyf commented May 13, 2020

do you still have copies of these videos?

@runo280
Copy link
Author

runo280 commented May 14, 2020

do you still have copies of these videos?

Nope, just the last one.

@nicolasmanurung
Copy link

is this still work?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment