Learn and teach with Katacoda

I used Katacoda scenarios to quickly learn few things in the past. The advantage of katacoda is that it includes practice editor and terminal on the right side of the screen where I can copy&paste commands with just one click. It makes it possible to learn stuff in 3–4 minutes instead of spending hours on video training looking myself for the place to practice. And what makes katacoda even better is that it allows to create learning scenarios very easy. Just create your profile referencing github.com/{user name} account and repo with hello-world example will be created for you , together with webhook to update content on https://katacoda.com/{user name} after every commit.

Github repo with hello-world repo

I modified slightly hello-world example and after commit have it available at https://katacoda.com/niuk. This scenario has a couple of markdown files which can be generated by katacoda cli boilerplate tool. The index.json which links all of them and is self explanatory.. It has also terminal defined as UI environment and bash as backend where command will be typed or pasted.

Katacoda index.json

There are more environments available than bash, I created second second scenario with Ubuntu in the repo hello-world-ubuntu using katacoda cli for boilerplating

myPC@me:/mnt/c/Users/irekromaniuk/katacoda-scenarios$ katacoda create scenario
Creating New Katacoda Scenario. Please complete the following details to generate scenario template.
Friendly URL (katacoda.com/username/friendly-url): https://github.com/irom77/katacoda-scenarios/tree/master/hello-world-ubuntu
Scenario Title: Hello World with Ubuntu
Description: Learn Katacoda
Environment ImageID (Available environments at https://katacoda.com/docs/scenarios/environments): (docker) ubuntu
Scenario Layout (Available layouts at https://katacoda.com/docs/scenarios/layouts): (terminal) editor-terminal
New Scenario Created: httpsgithubcomirom77katacoda-scenariostreemasterhello-world-ubuntu
Created index.json, step1.md, step2.md, step3.md, intro.md, finish.md
Complete your content and when ready, push the changes to your configured Git Repository.
myPC@me:/mnt/c/Users/irekromaniuk/katacoda-scenarios$ mv httpsgithubcomirom77katacoda-scenariostreemasterhello-world-ubuntu hello-world-ubuntu 
myPC@me:/mnt/c/Users/irekromaniuk/katacoda-scenarios$ cd hello-world-ubuntu/
myPC@me:git push -u origin master

After commit, the environment is being created what can be seen on katacoda profile.

Katacoda creating Ubuntu environment

Unfortunately there were some problems

Getting error with env set to Ubuntu

But after a few minutes I tried again, and all looked good. I got Ubuntu my prompt

Your Interactive Bash Terminal.
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.2 LTS
Release: 16.04
Codename: xenial
$ uname -a
Linux host01 4.4.0-127-generic #153-Ubuntu SMP Sat May 19 10:58:46 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

I can install packages with apt install, curl http://example.or, run git (version 2.7.4), even ping etc. The disk size is 45G and 3G of memory ? Looks too good. I can also edit files in the GUI editor.

$ touch new
$ cat new

I’m looking forward to create free courses, testing file uploads and executing commands to prep the environment.

My created content so far