root@naja:~$

Tech Blog

Latest Articles

A few handcrafted articles about my thoughts and experiments.

Designing APIs That Survive an Unreliable Network
Designing APIs That Survive an Unreliable Network
Every non-trivial API eventually confronts the same uncomfortable truth the network will fail at the worst possible moment, and it will fail ambiguously. A client sends POST /payments, the connection drops, and now nobody knows whether the payment happened. The client's only rational move is to retry ... and if your API wasn't designed for that retry, you've just charged a customer twice. This article goes deep on idempotency as a first-class API design concern... the semantics, the storage model behind idempotency keys, the failure modes people get wrong, and how the pattern interacts with gateways, sagas, and event-driven backends.
Published on
Getting started with Hermes AI Agent
Getting started with Hermes AI Agent
If you've been following the open-source AI agent scene, you've probably heard the buzz around OpenClaw. But there's a newer contender worth your attention Hermes Agent, an open-source, self-hosted AI agent built by Nous Research and released in early 2026 under the MIT license.
Published on
Building AI Agents with LangChain and Vector Databases
Building AI Agents with LangChain and Vector Databases
The landscape of AI applications has shifted dramatically with the emergence of autonomous agents capable of reasoning, planning, and executing complex tasks. LangChain, combined with vector databases, enables developers to build intelligent systems that can interact with external tools and maintain long-term memory.
Published on
Running Neural Networks on Microcontrollers with TensorFlow Lite
Running Neural Networks on Microcontrollers with TensorFlow Lite
The future of AI isn't just in the cloud—it's happening on tiny devices with minimal power consumption. Edge AI brings machine learning directly to microcontrollers, enabling smart sensors, wearables, and IoT devices to make decisions locally without internet connectivity.
Published on
Real-Time Object Detection with Python and YOLOv5
Real-Time Object Detection with Python and YOLOv5
Object detection has become a hot topic with wide applications ... autonomous vehicles, retail analytics, surveillance, and even wildlife monitoring. In this article, we will walk through how to use YOLOv5, one of the most popular object detection models, to detect objects in real-time using a webcam — all in Python.
Published on
OpenID in a .Net Web API with Keycloak
OpenID in a .Net Web API with Keycloak
OpenID Connect (OIDC) with PKCE (Proof Key for Code Exchange) is an extension to the OAuth 2.0 Authorization Code flow designed to improve security for public clients (such as single-page apps or mobile apps that cannot safely store client secrets. PKCE helps prevent authorization code interception attacks by requiring the client to prove possession of a secret when exchanging the authorization code for tokens.
Published on
Domain Driven Design in .NET 8
.net
Domain Driven Design in .NET 8
Domain-Driven Design (DDD) is a powerful approach to software development that emphasizes collaboration between technical and domain experts to solve complex domain problems. By focusing on the core domain and its logic, developers can create systems that are more aligned with business goals. With the release of .NET 8, implementing DDD has become even more streamlined and efficient. In this article, we will explore how to implement DDD principles in a .NET 8 application with a simple code example.
Published on
High Availability in Modern Systems with distributed caching
High Availability in Modern Systems with distributed caching
High availability (HA) is a critical requirement for modern applications that cannot afford downtime. In essence, HA means designing systems to remain operational and responsive despite failures, often aiming for “five nines” (99.999%) or similar uptime levels. One key strategy to achieve HA is leveraging distributed caching.
Published on
Rust Game Dev Revolution
Rust Game Dev Revolution
Rust has been quietly revolutionizing game development with its blend of C/C++-level performance and modern safety guarantees. In recent years, an active community has built up an ecosystem of game engines and libraries (like Bevy, macroquad, ggez, Fyrox, and more) that make it easier to create games in Rust.
Published on
Page 1 of 3