Go Tutorial #6: Arrays, Slices, and Maps

In the previous tutorial, you learned about control flow with if, switch, and for. Now it is time to learn about Go’s most important data structures: arrays, slices, and maps. Slices and maps are the collections you will use every day in Go. Arrays exist too, but you will almost always use slices instead. Arrays An array in Go has a fixed size. You set the size when you declare it, and it cannot change: ...

April 9, 2026 · 9 min

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

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

Rust Tutorial #28: Rust for AI/ML — Polars, Burn, PyO3

In the previous tutorial, we explored embedded Rust. Now we look at Rust for AI and Machine Learning — why Rust is growing in this space, what tools exist, and how to implement core ML concepts from scratch. This tutorial builds everything from standard Rust. No heavy dependencies. You will understand the math and patterns behind AI/ML, and learn about the crates that make production use practical. Why Rust for AI/ML? Python dominates AI/ML. So why use Rust? ...

March 26, 2026 · 10 min

Rust WebAssembly Tutorial: wasm-pack, wasm-bindgen, and Leptos

In the previous tutorial, we explored Rust for AI/ML. Now we learn WebAssembly (WASM) — how to run Rust code in the browser at near-native speed. This is a conceptual tutorial. The code runs on your regular computer but demonstrates the exact patterns used in real Rust+WASM projects. You will understand how WASM works, how data flows between Rust and JavaScript, and how frameworks like Leptos build web apps entirely in Rust. ...

March 26, 2026 · 9 min

Rust Tutorial #30: Unsafe Rust — When and How to Use It Safely

In the previous tutorial, we explored WebAssembly. Now we learn unsafe Rust — what it means, when you need it, and how to use it without breaking Rust’s safety guarantees. Rust’s safety system prevents bugs at compile time. But some things are impossible to verify at compile time. Raw pointer operations, FFI calls, and certain data structures need to bypass the borrow checker. That’s what unsafe is for. Important: unsafe doesn’t mean “dangerous” or “bad.” It means “the programmer is responsible for correctness here, not the compiler.” Used correctly, unsafe code is just as safe as safe code. ...

March 26, 2026 · 10 min

Rust Tutorial #27: Embedded Rust — no_std and Embassy

In the previous tutorial, we did a collections deep dive. Now we explore Embedded Rust — how Rust works on microcontrollers, what no_std means, and why Rust is becoming the language of choice for embedded systems. This is a conceptual tutorial. The code runs on your regular computer but demonstrates the patterns you use in real embedded Rust. You don’t need hardware to follow along. Why Rust for Embedded? Embedded systems have strict requirements: no crashes, no memory leaks, no undefined behavior. A bug in a pacemaker or car brakes can be fatal. ...

March 26, 2026 · 9 min