Go's Non Blocking Select StatementIn the last blog post, I wrote about Go's channels with a demo of a data pipeline that buffers the input and flushes the buffer when it's full or after a certain amount of time passes. In this post, I will talk about how I tried to prioritize one of ...Jun 17, 2023 · 4 min readreadablecode.hashnode.dev
Unit Testing Go's Channels With the Time ComponentI used Java during most of my career, which had concurrency support from the early days. It allowed developers to start threads and synchronize access to the data shared by more than one thread. However, my general approach to doing concurrency in Ja...May 29, 2023 · 8 min readreadablecode.hashnode.dev
How to Handle OverloadIn this post, I will be talking about my experience dealing with the overload of a software system. It is not based on the contents of the Google SRE Book although some ideas will be similar. If you are interested in the topic I definitely recommend ...1GMay 5, 2023 · 5 min readreadablecode.hashnode.dev
Should You Use a Stateful Streaming Framework?With the rise of big data in the last decade the industry has adopted the tools to process it. In the past, data was often processed using batch jobs. Later, companies started to move to map/reduce frameworks like Spark. These days, a lot of data is ...Apr 19, 2023 · 5 min readreadablecode.hashnode.dev
Go's Channels and PointersBackground I've used Java for most of my career and am used to the fact all objects are passed by reference, while all primitive types are passed by value. Java has no pointers and you don't have to think about how you pass things around. In Go, stru...Apr 6, 2023 · 4 min readreadablecode.hashnode.dev