Skip to main content

Hello, my name isEduardo Guiraldelli Schelive

Welcome to my blog where I share articles about web development, cloud infrastructure, system architecture, and modern technologies. Tutorials, guides, and hands-on experiences from real projects.

Latest article

Data Structures

Graphs

Learn how graphs model relationships between nodes. Explore directed, weighted and cyclic graphs, and how adjacency lists and matrices trade space for lookup speed in Go.

Read full article

Latest articles

Data Structures

Graphs

Learn how graphs model relationships between nodes. Explore directed, weighted and cyclic graphs, and how adjacency lists and matrices trade space for lookup speed in Go.

22 minutes read
Data Structures

Heap

Learn how a weaker invariant answers "what is the smallest right now". Explore the Priority Queue ADT, sifting up and down, the tree that fits in an array with no pointers, and why build-heap is O(n).

24 minutes read
Data Structures

Balanced Trees

Learn how rotations put a floor under a binary search tree. Explore the balance factor, AVL's four cases, why libraries chose red-black, and what balancing costs.

15 minutes read
Data Structures

Binary Search Trees

Learn how one ordering rule turns a binary tree into a search structure. Explore the recursive invariant, search, insert, the three delete cases, and why sorted input ruins everything.

16 minutes read
Data Structures

Binary Trees

Learn what the two-child limit buys you. Explore full, complete, perfect, balanced and degenerate shapes, why height governs cost, and how a binary tree fits in a flat array.

17 minutes read
Data Structures

Trees

Learn how trees organize data hierarchically with one parent per node. Explore root, depth and height, the V-1 edge rule, and how Go represents children in memory.

17 minutes read
Go Programming Language

Handling errors in goroutines

Learn two patterns for propagating errors from concurrent goroutines — the result struct and the separate error channel — and when to choose each.

7 minutes read
Go Programming Language

Pipelines, fan-out, and fan-in

Learn how to structure concurrent Go programs as pipelines of stages connected by channels, and how fan-out and fan-in parallelize the expensive ones.

7 minutes read
Go Programming Language

sync — WaitGroup and mutexes

Learn how to coordinate goroutine lifetimes with WaitGroup and protect shared state with Mutex and RWMutex.

7 minutes read
Go Programming Language

sync — Cond, Once, and Pool

Learn advanced sync primitives: condition variables for event signaling, Once for safe one-time init, and Pool for reducing GC pressure.

8 minutes read