Go Tutorial #5: Control Flow — if, switch, for

In the previous tutorial, you learned about functions and error handling. Now it is time to learn how to control the flow of your program with if, switch, and for. Go keeps control flow simple. There is only one loop keyword: for. No while, no do-while. Just for. The switch statement is also simpler and more powerful than in most languages. if / else The basic if statement works like most languages. But Go does not need parentheses around the condition: ...

April 9, 2026 · 10 min

Go Tutorial #4: Functions and Error Handling

In the previous tutorial, you learned about variables, types, and constants. Now it is time to learn about functions. Functions are the building blocks of every Go program. Go functions have a unique feature: they can return multiple values. This is the foundation of Go’s error handling pattern. Basic Functions A function in Go starts with the func keyword: package main import "fmt" // A function that takes two ints and returns their sum func add(a int, b int) int { return a + b } // When parameters have the same type, you can shorten it func multiply(a, b int) int { return a * b } // A function with no return value func greet(name string) { fmt.Printf("Hello, %s!\n", name) } func main() { result := add(3, 4) fmt.Println("3 + 4 =", result) product := multiply(5, 6) fmt.Println("5 * 6 =", product) greet("Alex") } Output: ...

April 8, 2026 · 10 min

Go Tutorial #3: Variables, Types, and Constants

In the previous tutorial, you installed Go, set up VS Code, and wrote your first program. Now it is time to learn about variables, types, and constants. These are the building blocks of every Go program. Declaring Variables Go has two ways to declare variables: the var keyword and the short declaration :=. The var Keyword The var keyword declares a variable with an explicit type: package main import "fmt" func main() { var name string = "Alex" var age int = 25 var height float64 = 1.75 var isStudent bool = true fmt.Println(name, age, height, isStudent) } Output: ...

April 8, 2026 · 10 min

AI-Native Apps: How to Build Applications with AI as Core Logic (2026)

Most “AI apps” in 2023-2024 were wrappers. Take a text box, send it to ChatGPT API, display the response. That was it. In 2026, a new category is emerging: AI-native apps. These are applications designed from the ground up with AI as the core logic — not an add-on feature. The difference matters. And understanding it will change how you build software. What is an AI-Native App? An AI-native app is an application where AI is the primary logic engine, not a helper feature. ...

April 8, 2026 · 8 min

Go Tutorial #2: Installing Go and Your First Program

In the previous tutorial, you learned what Go is and why it is a great language to learn. Now it is time to install Go and write your first program. This tutorial covers installation on all three major platforms. You will also set up VS Code and learn the basic Go commands. Try Go Online First Before installing anything, you can try Go in your browser. The Go Playground lets you write and run Go code online: ...

April 8, 2026 · 8 min

Go Tutorial #1: What is Go? Why Learn It in 2026?

Go is a programming language created by Google. It is simple, fast, and built for modern software. If you want to build web servers, CLI tools, or cloud infrastructure, Go is one of the best choices in 2026. In this tutorial, you will learn what Go is, where it is used, and why so many companies choose it. You will also see how Go compares to other popular languages. What is Go? Go (also called Golang) is an open-source programming language. Google created it in 2009. Robert Griesemer, Rob Pike, and Ken Thompson designed it. These are some of the most experienced engineers in the history of computing. ...

April 8, 2026 · 7 min

KMP Tutorial #20: Migrating an Existing Android App to KMP — Step-by-Step Guide

You have an existing Android app. It works. Users like it. Now the team wants an iOS version. Rewriting from scratch in Swift takes months. Kotlin Multiplatform lets you share the business logic and add iOS on top, without rewriting everything. In this final tutorial, we cover how to migrate an existing Android app to KMP. This is not a “rewrite from scratch” approach. It is a gradual migration — move one layer at a time, keep the Android app working at every step, and add iOS when the shared module is ready. ...

April 7, 2026 · 11 min

KMP Tutorial #19: KMP for Desktop and Web — Compose Multiplatform Beyond Mobile

So far, our notes app runs on Android and iOS. The shared module handles business logic, networking, and database. The UI is platform-specific: Compose on Android, SwiftUI on iOS. But KMP can go further. With Compose Multiplatform, you can build desktop apps for Windows, macOS, and Linux. With Kotlin/Wasm, you can run Kotlin in the browser. In this tutorial, we explore both options — what they look like, how to configure them, and when they make sense. ...

April 7, 2026 · 8 min

Bruno: The Open-Source Postman Alternative You Should Try

If you test APIs, you probably use Postman. But Postman has some problems. Bruno fixes them. The Postman Problem Postman started as a simple tool. Now it requires an account to use. Your collections sync to Postman’s cloud. The free tier has limits. And if Postman changes its pricing again, you lose access to your work. That is a lot of trust to put in one company. What Is Bruno? Bruno is an open-source API client. It works like Postman. You can send HTTP requests, test REST APIs, GraphQL, and gRPC. You can organize requests into collections. ...

April 6, 2026 · 3 min

KMP Tutorial #18: Publishing Your KMP App — Android APK, iOS IPA, and CI/CD

Your notes app works on both Android and iOS. The data layer syncs, the UI layer has navigation and editing, and the shared ViewModel handles all business logic. Now it is time to publish. In this tutorial, you will learn how to build a release APK for Android, archive an IPA for iOS, set up GitHub Actions CI/CD, and prepare for the Play Store and App Store. What We Are Covering Android release build — signing, APK, AAB iOS release build — Xcode archive, IPA export GitHub Actions CI/CD — automated builds on every push Signing basics — keystores and provisioning profiles Store submission overview — Play Store and App Store requirements Android: Building a Release APK Debug vs Release So far, we have been building debug APKs with ./gradlew :composeApp:assembleDebug. Debug builds are not optimized and include debugging tools. For publishing, you need a release build. ...

April 6, 2026 · 9 min