ermanimer.hashnode.devDeveloping a Kong Plugin with GoWhen trying to develop a custom Kong plugin with Go, I couldn't find any working examples for the latest Kong version (3.9.0 at the time of writing). This post demonstrates a simple, working Go plugin example to build upon. For reference and further ...Mar 20, 2025·3 min read
ermanimer.hashnode.devConnecting to Azure IoT Hub with Go and MQTTIn this article, I want to show you how to connect a Go application to Azure IoT Hub using the MQTT protocol. We'll implement a secure connection with TLS (Transport Layer Security) to encrypt our data and use SAS (Shared Access Signature) tokens for...Feb 26, 2025·6 min read
ermanimer.hashnode.devGo HTTP Server TimeoutsA few days ago, I was looking into an idle timeout error reported by a client using one of our APIs. To better understand HTTP server timeouts, I wrote some server and client code for testing, which I'd like to share with you. This might help others ...Aug 23, 2024·4 min read
ermanimer.hashnode.devImproving the Performance of a Simple Key-Value Store in Go with ShardingIn this article, we will show you how to implement a simple key-value store in Go and then improve its performance by using sharding. We can implement a simple key-value store that is concurrently safe by using a mutex. However, using a single mutex ...Sep 7, 2023·3 min read
ermanimer.hashnode.devTail Call Optimization In ElixirA tail-recursive function executes itself as the last thing. def fun(...) do ... fun(...) end Elixir optimizes tail calls by reusing the last stack frame of the function, thus avoiding the typical stack push and reducing the overhead of crea...Jul 27, 2023·2 min read