├── .gitignore ├── 0_Hello ├── android.txt ├── hello.kv ├── icon.png ├── main.py └── standalone.py ├── 1_Clock ├── Roboto-Medium.ttf ├── Roboto-Thin.ttf ├── android.txt ├── button_down.png ├── button_normal.png ├── clock.kv ├── icon.png ├── main.py ├── red_button_down.png └── red_button_normal.png ├── 2_Paint ├── android.txt ├── color_button_down.png ├── color_button_normal.png ├── icon.png ├── main.py ├── paint.kv ├── red_button_down.png └── red_button_normal.png ├── 3_Recorder ├── android.txt ├── button_down.png ├── button_normal.png ├── icon.png ├── main.py ├── modernpics.ttf └── recorder.kv ├── 4_Chat ├── android.txt ├── button_down.png ├── button_normal.png ├── chat.kv ├── client.py ├── icon.png ├── main.py ├── red_button_down.png ├── red_button_normal.png ├── requirements.txt └── server.py ├── 5_RemoteDesktop ├── android.txt ├── button_down.png ├── button_normal.png ├── icon.png ├── main.py ├── remotedesktop.kv ├── requirements.txt ├── server.py └── static │ └── index.html ├── 6_2048 ├── android.txt ├── board.png ├── cell.png ├── game.kv ├── icon.png └── main.py ├── 7_KivyBird ├── PressStart2P.ttf ├── android.txt ├── bird.png ├── bump.wav ├── cloud.png ├── floor.png ├── game_over.wav ├── grass.png ├── icon.png ├── kivybird.kv ├── main.py ├── pcap.png └── pipe.png ├── 8_Starfield ├── android.txt ├── demos │ ├── basic.glsl │ ├── basic.py │ ├── color.glsl │ ├── color.py │ ├── kivy.png │ ├── tex_image.glsl │ └── tex_image.py ├── icon.png ├── main.py ├── star.png └── starfield.glsl ├── 9_ShootEmUp ├── Makefile ├── android.txt ├── demos │ ├── Makefile │ ├── basic.kv │ ├── basic.py │ ├── icon_clock.png │ ├── icon_paint.png │ ├── icons-0.png │ ├── icons.atlas │ ├── tex_atlas.glsl │ └── tex_atlas.py ├── game-0.png ├── game.atlas ├── game.glsl ├── hit.wav ├── icon.png ├── images │ ├── bullet.png │ ├── player.png │ ├── star.png │ ├── trail.png │ └── ufo.png ├── laser.wav └── main.py ├── LICENSE └── README.md /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/.gitignore -------------------------------------------------------------------------------- /0_Hello/android.txt: -------------------------------------------------------------------------------- 1 | title=HelloApp 2 | author=Mark Vasilkov 3 | orientation=landscape 4 | -------------------------------------------------------------------------------- /0_Hello/hello.kv: -------------------------------------------------------------------------------- 1 | Label: 2 | text: 'Hello, Kivy' 3 | -------------------------------------------------------------------------------- /0_Hello/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/0_Hello/icon.png -------------------------------------------------------------------------------- /0_Hello/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/0_Hello/main.py -------------------------------------------------------------------------------- /0_Hello/standalone.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/0_Hello/standalone.py -------------------------------------------------------------------------------- /1_Clock/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/1_Clock/Roboto-Medium.ttf -------------------------------------------------------------------------------- /1_Clock/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/1_Clock/Roboto-Thin.ttf -------------------------------------------------------------------------------- /1_Clock/android.txt: -------------------------------------------------------------------------------- 1 | title=Clock app 2 | author=Mark Vasilkov 3 | orientation=portrait 4 | -------------------------------------------------------------------------------- /1_Clock/button_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/1_Clock/button_down.png -------------------------------------------------------------------------------- /1_Clock/button_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/1_Clock/button_normal.png -------------------------------------------------------------------------------- /1_Clock/clock.kv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/1_Clock/clock.kv -------------------------------------------------------------------------------- /1_Clock/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/1_Clock/icon.png -------------------------------------------------------------------------------- /1_Clock/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/1_Clock/main.py -------------------------------------------------------------------------------- /1_Clock/red_button_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/1_Clock/red_button_down.png -------------------------------------------------------------------------------- /1_Clock/red_button_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/1_Clock/red_button_normal.png -------------------------------------------------------------------------------- /2_Paint/android.txt: -------------------------------------------------------------------------------- 1 | title=Paint app 2 | author=Mark Vasilkov 3 | orientation=landscape 4 | -------------------------------------------------------------------------------- /2_Paint/color_button_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/2_Paint/color_button_down.png -------------------------------------------------------------------------------- /2_Paint/color_button_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/2_Paint/color_button_normal.png -------------------------------------------------------------------------------- /2_Paint/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/2_Paint/icon.png -------------------------------------------------------------------------------- /2_Paint/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/2_Paint/main.py -------------------------------------------------------------------------------- /2_Paint/paint.kv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/2_Paint/paint.kv -------------------------------------------------------------------------------- /2_Paint/red_button_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/2_Paint/red_button_down.png -------------------------------------------------------------------------------- /2_Paint/red_button_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/2_Paint/red_button_normal.png -------------------------------------------------------------------------------- /3_Recorder/android.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/3_Recorder/android.txt -------------------------------------------------------------------------------- /3_Recorder/button_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/3_Recorder/button_down.png -------------------------------------------------------------------------------- /3_Recorder/button_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/3_Recorder/button_normal.png -------------------------------------------------------------------------------- /3_Recorder/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/3_Recorder/icon.png -------------------------------------------------------------------------------- /3_Recorder/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/3_Recorder/main.py -------------------------------------------------------------------------------- /3_Recorder/modernpics.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/3_Recorder/modernpics.ttf -------------------------------------------------------------------------------- /3_Recorder/recorder.kv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/3_Recorder/recorder.kv -------------------------------------------------------------------------------- /4_Chat/android.txt: -------------------------------------------------------------------------------- 1 | title=Chat app 2 | author=Mark Vasilkov 3 | orientation=portrait 4 | -------------------------------------------------------------------------------- /4_Chat/button_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/4_Chat/button_down.png -------------------------------------------------------------------------------- /4_Chat/button_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/4_Chat/button_normal.png -------------------------------------------------------------------------------- /4_Chat/chat.kv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/4_Chat/chat.kv -------------------------------------------------------------------------------- /4_Chat/client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/4_Chat/client.py -------------------------------------------------------------------------------- /4_Chat/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/4_Chat/icon.png -------------------------------------------------------------------------------- /4_Chat/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/4_Chat/main.py -------------------------------------------------------------------------------- /4_Chat/red_button_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/4_Chat/red_button_down.png -------------------------------------------------------------------------------- /4_Chat/red_button_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/4_Chat/red_button_normal.png -------------------------------------------------------------------------------- /4_Chat/requirements.txt: -------------------------------------------------------------------------------- 1 | Twisted>=14.0.0 2 | -------------------------------------------------------------------------------- /4_Chat/server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/4_Chat/server.py -------------------------------------------------------------------------------- /5_RemoteDesktop/android.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/5_RemoteDesktop/android.txt -------------------------------------------------------------------------------- /5_RemoteDesktop/button_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/5_RemoteDesktop/button_down.png -------------------------------------------------------------------------------- /5_RemoteDesktop/button_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/5_RemoteDesktop/button_normal.png -------------------------------------------------------------------------------- /5_RemoteDesktop/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/5_RemoteDesktop/icon.png -------------------------------------------------------------------------------- /5_RemoteDesktop/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/5_RemoteDesktop/main.py -------------------------------------------------------------------------------- /5_RemoteDesktop/remotedesktop.kv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/5_RemoteDesktop/remotedesktop.kv -------------------------------------------------------------------------------- /5_RemoteDesktop/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask>=0.10.1 2 | Pillow>=2.5.3 3 | -------------------------------------------------------------------------------- /5_RemoteDesktop/server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/5_RemoteDesktop/server.py -------------------------------------------------------------------------------- /5_RemoteDesktop/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/5_RemoteDesktop/static/index.html -------------------------------------------------------------------------------- /6_2048/android.txt: -------------------------------------------------------------------------------- 1 | title=2048 2 | author=Mark Vasilkov 3 | orientation=portrait 4 | -------------------------------------------------------------------------------- /6_2048/board.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/6_2048/board.png -------------------------------------------------------------------------------- /6_2048/cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/6_2048/cell.png -------------------------------------------------------------------------------- /6_2048/game.kv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/6_2048/game.kv -------------------------------------------------------------------------------- /6_2048/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/6_2048/icon.png -------------------------------------------------------------------------------- /6_2048/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/6_2048/main.py -------------------------------------------------------------------------------- /7_KivyBird/PressStart2P.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/7_KivyBird/PressStart2P.ttf -------------------------------------------------------------------------------- /7_KivyBird/android.txt: -------------------------------------------------------------------------------- 1 | title=Kivy Bird 2 | author=Mark Vasilkov 3 | orientation=landscape 4 | -------------------------------------------------------------------------------- /7_KivyBird/bird.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/7_KivyBird/bird.png -------------------------------------------------------------------------------- /7_KivyBird/bump.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/7_KivyBird/bump.wav -------------------------------------------------------------------------------- /7_KivyBird/cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/7_KivyBird/cloud.png -------------------------------------------------------------------------------- /7_KivyBird/floor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/7_KivyBird/floor.png -------------------------------------------------------------------------------- /7_KivyBird/game_over.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/7_KivyBird/game_over.wav -------------------------------------------------------------------------------- /7_KivyBird/grass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/7_KivyBird/grass.png -------------------------------------------------------------------------------- /7_KivyBird/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/7_KivyBird/icon.png -------------------------------------------------------------------------------- /7_KivyBird/kivybird.kv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/7_KivyBird/kivybird.kv -------------------------------------------------------------------------------- /7_KivyBird/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/7_KivyBird/main.py -------------------------------------------------------------------------------- /7_KivyBird/pcap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/7_KivyBird/pcap.png -------------------------------------------------------------------------------- /7_KivyBird/pipe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/7_KivyBird/pipe.png -------------------------------------------------------------------------------- /8_Starfield/android.txt: -------------------------------------------------------------------------------- 1 | title=Stars 2 | author=Mark Vasilkov 3 | orientation=landscape 4 | -------------------------------------------------------------------------------- /8_Starfield/demos/basic.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/8_Starfield/demos/basic.glsl -------------------------------------------------------------------------------- /8_Starfield/demos/basic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/8_Starfield/demos/basic.py -------------------------------------------------------------------------------- /8_Starfield/demos/color.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/8_Starfield/demos/color.glsl -------------------------------------------------------------------------------- /8_Starfield/demos/color.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/8_Starfield/demos/color.py -------------------------------------------------------------------------------- /8_Starfield/demos/kivy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/8_Starfield/demos/kivy.png -------------------------------------------------------------------------------- /8_Starfield/demos/tex_image.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/8_Starfield/demos/tex_image.glsl -------------------------------------------------------------------------------- /8_Starfield/demos/tex_image.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/8_Starfield/demos/tex_image.py -------------------------------------------------------------------------------- /8_Starfield/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/8_Starfield/icon.png -------------------------------------------------------------------------------- /8_Starfield/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/8_Starfield/main.py -------------------------------------------------------------------------------- /8_Starfield/star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/8_Starfield/star.png -------------------------------------------------------------------------------- /8_Starfield/starfield.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/8_Starfield/starfield.glsl -------------------------------------------------------------------------------- /9_ShootEmUp/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/Makefile -------------------------------------------------------------------------------- /9_ShootEmUp/android.txt: -------------------------------------------------------------------------------- 1 | title=ShootEmUp 2 | author=Mark Vasilkov 3 | orientation=landscape 4 | -------------------------------------------------------------------------------- /9_ShootEmUp/demos/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/demos/Makefile -------------------------------------------------------------------------------- /9_ShootEmUp/demos/basic.kv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/demos/basic.kv -------------------------------------------------------------------------------- /9_ShootEmUp/demos/basic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/demos/basic.py -------------------------------------------------------------------------------- /9_ShootEmUp/demos/icon_clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/demos/icon_clock.png -------------------------------------------------------------------------------- /9_ShootEmUp/demos/icon_paint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/demos/icon_paint.png -------------------------------------------------------------------------------- /9_ShootEmUp/demos/icons-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/demos/icons-0.png -------------------------------------------------------------------------------- /9_ShootEmUp/demos/icons.atlas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/demos/icons.atlas -------------------------------------------------------------------------------- /9_ShootEmUp/demos/tex_atlas.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/demos/tex_atlas.glsl -------------------------------------------------------------------------------- /9_ShootEmUp/demos/tex_atlas.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/demos/tex_atlas.py -------------------------------------------------------------------------------- /9_ShootEmUp/game-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/game-0.png -------------------------------------------------------------------------------- /9_ShootEmUp/game.atlas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/game.atlas -------------------------------------------------------------------------------- /9_ShootEmUp/game.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/game.glsl -------------------------------------------------------------------------------- /9_ShootEmUp/hit.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/hit.wav -------------------------------------------------------------------------------- /9_ShootEmUp/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/icon.png -------------------------------------------------------------------------------- /9_ShootEmUp/images/bullet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/images/bullet.png -------------------------------------------------------------------------------- /9_ShootEmUp/images/player.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/images/player.png -------------------------------------------------------------------------------- /9_ShootEmUp/images/star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/images/star.png -------------------------------------------------------------------------------- /9_ShootEmUp/images/trail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/images/trail.png -------------------------------------------------------------------------------- /9_ShootEmUp/images/ufo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/images/ufo.png -------------------------------------------------------------------------------- /9_ShootEmUp/laser.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/laser.wav -------------------------------------------------------------------------------- /9_ShootEmUp/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/9_ShootEmUp/main.py -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mvasilkov/kb/HEAD/README.md --------------------------------------------------------------------------------