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.

Featured article

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.

Latest articles

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

Preventing goroutine leaks

Learn how goroutines leak, why the GC cannot help, and how the done channel and context patterns give every goroutine a guaranteed exit path.

8 minutes read
Go Programming Language

The select statement

Learn how Go's select statement coordinates multiple channel operations simultaneously, handles timeouts, and powers the for-select pattern for reactive goroutines.

7 minutes read
Data Structures

Introduction to Data Structures

Understand how data structures transform random bytes into meaningful patterns. Explore contiguous vs scattered memory, linear vs non-linear structures, and the tradeoffs that shape your code's performance.

4 minutes read
Data Structures

Arrays

Learn how arrays store elements in contiguous memory for instant access. Understand indexing, memory layout, and the tradeoffs that make arrays the foundation of most data structures.

10 minutes read
Data Structures

Linked Lists

Discover how linked lists trade instant access for flexible insertion. Learn node structure, pointer manipulation, singly vs doubly variants, and when to choose linked lists over arrays.

11 minutes read
Data Structures

Stacks

Learn how stacks enforce LIFO order to manage data. Explore push, pop, and peek operations, array vs linked list implementations, and why stacks underpin function calls and expression parsing.

10 minutes read
Data Structures

Queues

Learn how queues enforce FIFO order to manage data. Explore enqueue, dequeue, and peek operations, circular buffer vs linked list implementations, and why queues drive task scheduling and BFS.

11 minutes read
Data Structures

Hash Tables

Learn how hash tables achieve O(1) average lookups by mapping keys to array slots. Explore hash functions, collision resolution with chaining and open addressing, load factor, and rehashing.

27 minutes read