Docker Tutorial #1: What is Docker — Containers Explained Simply

You write an app. It works on your computer. You send it to a friend. It does not work on their computer. They have a different operating system, a different version of Python, or missing libraries. This is the classic “it works on my machine” problem. Docker solves it. What Is Docker? Docker is a tool that packages your application and everything it needs into a container. A container includes your code, libraries, system tools, and settings. It runs the same way everywhere — on your laptop, your colleague’s laptop, or a server in the cloud. ...

June 12, 2026 · 9 min

Git Tutorial #2: Branching — Work on Multiple Things at Once

In the previous tutorial, we learned to create a repository, stage files, and make commits. All our work happened on one branch — main. But what if you want to add a new feature without breaking your working code? What if two people need to work on different things at the same time? This is why branches exist. A branch is a separate line of development. You can make changes on a branch without affecting other branches. When you are done, you merge the changes back. ...

June 11, 2026 · 9 min

Git Tutorial #1: Git Basics — Your First Repository

Every developer uses Git. It does not matter if you write Python, JavaScript, Rust, or Kotlin. Git tracks your code changes, lets you go back to any previous version, and helps you work with other developers. In this tutorial, you will install Git, create your first repository, and make your first commit. By the end, you will understand how Git tracks changes. What Is Git? Git is a version control system. It saves snapshots of your project over time. Each snapshot is called a commit. ...

June 11, 2026 · 9 min

Ktor Tutorial #1: What is Ktor? — Kotlin's Modern Backend Framework

You know Kotlin. You build Android apps, maybe KMP apps. But what about the backend? Every app needs a server. An API to fetch data from. A backend to store users, handle payments, send notifications. You could learn Node.js and Express. Or Python and FastAPI. Or Java and Spring Boot. Or you could use the Kotlin you already know — and build your backend with Ktor. What is Ktor? Ktor is a backend framework built by JetBrains — the same company that created Kotlin. It lets you build web servers, REST APIs, microservices, and web applications using Kotlin. ...

June 3, 2026 · 7 min

Python Tutorial #8: Modules, Packages, and Virtual Environments

In the previous tutorial, we mastered strings and regular expressions. Now let’s learn how to organize your code into modules and packages, and how to manage dependencies with virtual environments. This is where Python goes from writing scripts to building real projects. By the end of this tutorial, you will know how to import code, structure a project, install packages, and use modern tools like pyproject.toml and uv. What Is a Module? A module is simply a Python file. When you create a file called math_utils.py, you create a module called math_utils. ...

April 26, 2026 · 9 min

Python Tutorial #7: Strings — Methods, Formatting, and Regex Basics

In the previous tutorial, we learned about lists, dictionaries, sets, and tuples. Now let’s take a deep dive into strings — one of the most used data types in Python. We covered string basics in Tutorial #3. This tutorial goes further: advanced methods, formatting tricks, raw strings, and regular expressions. String Methods Strings have many built-in methods. Here are the most useful ones for daily work. Cleaning Text text = " Hello, World! " print(text.strip()) # "Hello, World!" — remove whitespace from both sides print(text.lstrip()) # "Hello, World! " — left side only print(text.rstrip()) # " Hello, World!" — right side only print(text.lower()) # " hello, world! " print(text.upper()) # " HELLO, WORLD! " A common pattern: strip whitespace and normalize case: ...

April 25, 2026 · 9 min

Python Tutorial #6: Data Structures — Lists, Dicts, Sets, Tuples

In the previous tutorial, we learned about functions. Now let’s learn about Python’s built-in data structures: lists, dictionaries, sets, and tuples. These are the tools you use every day in Python. By the end of this tutorial, you will know how to store, access, and transform collections of data. Lists A list is an ordered, mutable collection. You can add, remove, and change items. fruits = ["apple", "banana", "cherry"] print(fruits[0]) # apple — first item print(fruits[-1]) # cherry — last item print(len(fruits)) # 3 Adding Items fruits.append("date") # Add to end: ["apple", "banana", "cherry", "date"] fruits.insert(1, "avocado") # Insert at index 1: ["apple", "avocado", "banana", ...] fruits.extend(["fig", "grape"]) # Add multiple items to end Removing Items fruits.remove("banana") # Remove by value (first occurrence) last = fruits.pop() # Remove and return last item item = fruits.pop(0) # Remove and return item at index 0 List Slicing Slicing creates a new list from part of an existing list. The syntax is list[start:end:step]: ...

April 25, 2026 · 9 min

Python Tutorial #5: Functions — def, *args, **kwargs, and Lambdas

In the previous tutorial, we learned about control flow: if, for, while, and match/case. Now let’s learn about functions — reusable blocks of code. Functions are the foundation of clean code. They let you write a piece of logic once and use it many times. By the end of this tutorial, you will know how to define functions, use different parameter types, write lambda functions, and understand closures. Defining a Function Use the def keyword to create a function: ...

April 25, 2026 · 9 min

Python Tutorial #4: Control Flow — if, for, while, match

In the previous tutorial, we learned about variables, types, and f-strings. Now let’s learn how to make decisions and repeat actions in Python. Control flow statements let your program choose what to do based on conditions and repeat actions in loops. By the end of this tutorial, you will know how to use if, for, while, match/case, and several useful loop helpers. if, elif, else The if statement runs code only when a condition is true: ...

April 25, 2026 · 9 min

Python Tutorial #3: Variables, Types, and f-Strings

In the previous tutorial, we installed Python and wrote our first program. Now let’s learn about the building blocks of every Python program: variables and types. By the end of this tutorial, you will know how to create variables, work with different data types, format strings with f-strings, and convert between types. Variables in Python A variable stores a value. In Python, you create a variable by assigning a value with =: ...

April 24, 2026 · 9 min