Rust Tutorial #10: Generics — Write Once, Use Everywhere

In the previous tutorial, we learned traits — how to define shared behavior. Now we learn generics — how to write code that works with many types without repeating yourself. You already use generics every day in Rust. Vec<T>, Option<T>, Result<T, E> — these are all generic types. The T is a placeholder for any type. In this tutorial, you learn to write your own. Why Generics? Without generics, you would write separate functions for each type: ...

March 26, 2026 · 10 min

Rust Tutorial #9: Traits — Shared Behavior

In the previous tutorial, we learned error handling with Result and Option. Now we learn traits — Rust’s way to define shared behavior between types. If you know interfaces in Java, Kotlin, or TypeScript, traits are similar. A trait says “any type that implements me must have these methods.” But Rust traits go further — they support default methods, operator overloading, and dynamic dispatch. What Is a Trait? A trait defines a set of methods that a type must implement. Think of it as a contract. Any type that signs the contract must provide the required methods. ...

March 26, 2026 · 11 min

Rust Tutorial #8: Error Handling

In the previous tutorial, we learned enums and pattern matching. We also saw Option<T> for values that might not exist. Now we learn how Rust handles errors. Most languages use exceptions — you throw an error and hope someone catches it. Rust does not have exceptions. Instead, Rust uses types to represent errors. The compiler forces you to handle them. No surprise crashes. No unhandled exceptions. Two Kinds of Errors Rust splits errors into two categories: ...

March 26, 2026 · 7 min

Rust Tutorial #7: Enums and Pattern Matching

In the previous tutorial, we learned structs — types where every value has the same fields. But sometimes a value can be one of several different kinds. That is what enums are for. Enums in Rust are much more powerful than in most languages. In Java or Kotlin, enums are just named constants. In Rust, each variant can hold different data. Combined with pattern matching, enums become one of Rust’s best features. ...

March 26, 2026 · 6 min

Rust Tutorial #6: Structs and Methods

In the previous tutorial, we learned borrowing and references. Now we learn how to create custom types with structs and attach behavior to them with methods. If you have used classes in Kotlin, Java, or Python, structs will feel familiar. Rust does not have classes, but structs with impl blocks give you the same power — without inheritance. Defining a Struct A struct groups related data together: struct User { name: String, email: String, age: u32, active: bool, } Each field has a name and a type. This is similar to a data class in Kotlin or a class in Python. ...

March 26, 2026 · 7 min

Rust Tutorial #3: Variables, Types, and Functions

In the previous tutorial, we installed Rust and wrote “Hello, world!”. Now let’s learn the building blocks — variables, types, and functions. If you know Kotlin, Python, or JavaScript, most of this will feel familiar. But Rust has a few surprises — especially around mutability and shadowing. Variables: let and mut Immutable by Default In Rust, variables are immutable by default. You cannot change them after creation: let name = "Alex"; name = "Sam"; // ERROR: cannot assign twice to immutable variable This is the opposite of most languages. In Kotlin, val is immutable and var is mutable. In Rust, let is immutable and let mut is mutable. ...

March 26, 2026 · 9 min

Rust Tutorial #2: Installation and Your First Program

In the previous tutorial, we learned why Rust matters. Now let’s install it and write our first program. By the end of this tutorial, you will have Rust installed, your editor set up, and a working program that you built and ran yourself. Step 1: Install Rust with rustup Rust uses a tool called rustup to manage installations. One command installs everything: macOS / Linux curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh Follow the prompts — choose the default installation (option 1). ...

March 26, 2026 · 9 min

Jetpack Compose Tutorial #22: Building the Data Layer — Room + Repository Pattern

In the previous tutorial, we planned our task manager app. Now we build the foundation — the data layer. The data layer is everything below the UI: the database, the repository, and the use cases. Get this right, and the UI layer writes itself. What We Build in This Tutorial data/ ├── local/ │ ├── TaskEntity.kt ← Database table definition │ ├── TaskDao.kt ← Database operations │ └── AppDatabase.kt ← Room database ├── mapper/ │ └── TaskMapper.kt ← Convert Entity ↔ Domain Model ├── repository/ │ └── TaskRepositoryImpl.kt ← Repository implementation │ domain/ ├── model/ │ ├── Task.kt ← Clean domain model │ ├── Category.kt ← Enum │ └── Priority.kt ← Enum ├── repository/ │ └── TaskRepository.kt ← Interface (contract) └── usecase/ ├── GetTasksUseCase.kt ├── AddTaskUseCase.kt ├── ToggleTaskUseCase.kt └── DeleteTaskUseCase.kt Step 1: Domain Models The domain layer is pure Kotlin — no Android dependencies, no Room annotations. This is the “truth” of your app. ...

March 25, 2026 · 11 min

Claude Code Remote Control: Control Your AI Agent from Your Phone

Anthropic released a feature that changes how you work with Claude Code. It is called Remote Control, and it does exactly what the name says: you can control a Claude Code session running on your laptop from your phone, tablet, or any browser. Start a task at your desk. Walk into a meeting. Keep watching from your phone. What is Claude Code Remote Control? Claude Code Remote Control connects the Claude mobile app (iOS and Android) and the web interface at claude.ai/code to a Claude Code session running on your local machine. ...

March 25, 2026 · 5 min

Jetpack Compose Tutorial #21: Planning the App — A Task Manager with Compose

You have learned every piece: layouts, state, navigation, ViewModel, MVI, Room, Hilt, animations, testing, and adaptive layouts. Now it is time to use them all together. In the next five tutorials, we will build a complete task manager app from scratch. Not a toy demo — a real app with real architecture that you could publish to Google Play. This tutorial is about planning — deciding what to build, how to organize the code, and what dependencies to use. No code yet. Just decisions. ...

March 25, 2026 · 8 min