Blog
The Lab
Engineering, systems, and the craft of building software.
- Turn Your Regular Code Into AI tool in Minutes — with Golem MCP
Write normal TypeScript → Deploy once on Golem → Instantly use it as a first-class tool in Claude, ChatGPT, Gemini, Cursor, Grok-powered tools, and any other MCP-compatible AI client. Stateful, multimodal, and restart-proof — no extra glue code required.
- The AI Divide: When Everyone Can Solve Fast, Eliminators Win
When motion is cheap, direction is scarce: shrink invalid state and needless machinery — not typing faster. Regulated, internal, startup, or “we barely use AI”: the multiply-vs-eliminate divide still runs through your stack, incentives, and who you keep.
- Everything You Must Know About AI Agents: Hype vs. Reality
A comprehensive guide to AI agentic systems — covering design patterns, MCP, hybrid frameworks, and why solid engineering still matters.
- How Golem Stands Out in the World of AI Agents
Why most AI agent frameworks blur the line between agentic behavior and stateful workflow management — and how Golem keeps it clean.
- Transforming Data Engineering with Golem & Golem-Timeline
Why existing data engineering frameworks are built on a suboptimal foundation, and how durable computing changes everything.
- When Java Tried to Be Functional: The Broken Optional
Java borrowed Optional from FP and broke the Functor law. A story of copying ideas fast, shipping half-reliably, and the mess it leaves behind.
- Fix Points and Y Combinator in Scala
A detailed exploration of fix points and the Y combinator in Scala — the foundation before you explore Fix at a type-level.
- Square is a Monad Join of a Function
How do you implement square (or double) using Monads? Use the monad instance of a function and then join.
- NewType is New Now!
A new mechanism to define new types that is ergonomic, easy to use and devoid of boilerplates.
- Speed Development - A Double-Edged Sword
When Speed Kills your Product, Reputation and Team Morale.
- Docker and Managing Integration Tests — A Better Approach
No more bash orchestration and separate compose files. Everything Docker becomes a first-class citizen in your SBT project.
- Invariant Functors Unlocked
The often-forgotten invariant functor — what it is, how covariant and contravariant functors relate to it, and when you actually need one.
- Combine Free Monad Algebra with Scalaz
Combining various algebras defined across the application using Free Monad in Scalaz — and a word of caution on when Free is worth it.
- Free Algebra in Scala with Java Visitor Pattern
Integrating the visitor pattern with Free Monad algebra in Scala — subtype polymorphic dispatch over pattern matching.
- Shapeless and Applicative Functors for Server Side Validations
Deriving validation instances for any entity automatically using shapeless Generic and Scalaz applicative builders.
- Monad Transformers in Scala Unlocked
A new mechanism to define new types that is ergonomic, easy to use and devoid of boilerplates.
Inner Loop
Reflections on growth, learning, and the human side of engineering.
- The Curse of Knowledge Overload
On information overload, the confusion matrix of life, and why the most dangerous pitfall is the false negative.
- Just Let It All Go - A Sky Dive Story
On skydiving, letting go, and the medicine of sensory overload at 15,000 feet.
- The Paradox of Following the Crowd
On curiosity, vision, and why the least popular voice in the room might change your career.
- Singularity
Circle of Life
Waypoints
People, places, and the moments that shape perspective.
- A Planet Journey with Ziverge & Golem
Fifteen years into my career — across countries, companies, and cultures. Some experiences deserve to be remembered properly.