Ilya Brin - Software Engineer

History is written by its contributors

Quantum Computing Basics: Qubits and Superposition in Go

2025-10-20 7 min read Quantum-Computing Golang Math Ilya Brin

Hey there! 👋

While everyone’s talking about AI, real geeks are already studying quantum computing. This isn’t science fiction - it’s the mathematics of the future that will break all modern cryptography.

Google claimed quantum supremacy, IBM launched cloud quantum computers, and Microsoft is investing billions in quantum technologies.

But how does it work? And can we simulate quantum computing in Go?

Let’s explore qubits, superposition, and quantum gates with practical Go examples 🚀

Continue reading

NSQ: The Perfect Message Queue - When Redis Isn't Enough)

Hey distributed systems architect! 🚀

Tired of Redis queues losing messages? Fed up with RabbitMQ’s complexity? Need something that just works at scale? Meet NSQ - the message queue that powers Discord, Bitly, and other high-traffic systems.

While others struggle with queue complexity, you’ll learn when NSQ is not just useful, but absolutely perfect for the job.

Continue reading

API Gateway Pattern: управление API на Go

2025-06-10 4 min read Architecture Ilya Brin

API Gateway - это единая точка входа для всех клиентов. Он маршрутизирует запросы к нужным микросервисам, обрабатывает аутентификацию, rate limiting и агрегирует ответы. Давайте построим его на Go.

Continue reading

Go Channel Hell: How We Defeated chan map[string]*map[int]chan struct{}

2025-05-14 8 min read Golang Concurrency Refactoring Ilya Brin

Hey Gopher! 👋

Have you ever seen code like chan map[string]*map[int]chan struct{}? If yes, then you know what channel hell is.

This is a story about how we started simple, reached nightmare, and found an elegant solution. A real-time notification system that grew from 100 users to 100,000, and how we refactored the channel architecture.

Spoiler: we ended up replacing all this horror with 3 simple interfaces and typed channels 🚀

Continue reading

Test Doubles: Mocks, Stubs and Dependency Injection in Go

Hey tester! 👋

Are your tests slow, brittle, and dependent on external services? Every time the database is unavailable, half your tests fail?

Test Doubles are your salvation. Instead of real dependencies, use fakes: mocks, stubs, fakes.

Let’s break down how to properly isolate code for testing and write fast, reliable unit tests in Go 🚀

Continue reading
Older posts