Implementing Circuit Breaker Pattern in Go for Fault Tolerance

Bogdan Ungureanu
In today’s distributed systems landscape, services are interconnected through complex networks of API calls, database queries, and external service dependencies. When one service experiences issues, it can create a cascading failure that brings down entire systems. This is where the Circuit Breaker pattern becomes invaluable—acting as a protective mechanism that prevents failing services from overwhelming the entire system. The Circuit Breaker pattern, inspired by electrical circuit breakers, monitors service calls and “trips” when failures exceed a certain threshold, temporarily blocking requests to give the failing service time to recover.

Building Production-Ready HTTP Logging Middleware for Go's Mux Router

Bogdan Ungureanu
Observability is the cornerstone of modern web applications. When your API starts experiencing issues at 3 AM, comprehensive logging can mean the difference between a quick fix and hours of frustrated debugging. In this guide, we’ll build a production-grade HTTP logging middleware for Gorilla Mux that goes beyond simple request logging to provide actionable insights into your application’s behavior. Why HTTP Logging Middleware Matters Every HTTP request tells a story. It carries information about who’s accessing your system, what they’re requesting, how long it takes, and whether it succeeds or fails.

Building Production-Ready Rate Limiting Middleware in Go

Bogdan Ungureanu
Rate limiting is your application’s first line of defense against abuse, whether from malicious actors launching denial-of-service attacks, buggy clients stuck in retry loops, or legitimate users inadvertently overwhelming your system. Without proper rate limiting, a single misbehaving client can bring down your entire service, impacting all users and potentially costing your business significant revenue and reputation. In this comprehensive guide, we’ll build a production-grade rate limiting middleware for Go HTTP servers that protects your APIs while maintaining performance and flexibility.

Convert PDF to JPEG

Bogdan Ungureanu

I know there are allot of online tools that allows you to convert PDF to JPG. For confidential reasons I prefer to do it locally on my machine.

Write a REPL using GPT-3 and Go

Write a REPL using GPT-3 and Go

Bogdan Ungureanu

This blog post will discuss how to use the OpenAI Chat API in Golang. For this purpose we will create a simple REPL (Read-Eval-Print-Loop) that will use the GPT-3 API to generate the responses.

Shodan.io tips and tricks

Shodan.io tips and tricks

Bogdan Ungureanu

Shodan is a search engine for the internet of things (IoT). It allows users to search for specific types of internet-connected devices, such as security cameras or industrial control systems, and view information about them, such as their location, their internet protocol (IP) address, and their manufacturer.

Cheatsheet Utility

Bogdan Ungureanu

It is often helpful to have a quick reference to a set of commands in a development environment. Some of them are hard to remember because they are not very common.

Enable Password Reset Feature on Exchange 2013

Bogdan Ungureanu

Exchange Control Panel (ECP) is a web based management and configuration interface that allows you to manage various aspects of the server configuration. The password reset feature enables administrators to reset mailbox passwords over ECP.

Missing password reset