Go Concurrency, Practical Example

Concurrency is one of Go’s standout features, offering an elegant way to write efficient, parallel programs. Unlike traditional multi-threaded programming, Go makes concurrency approachable with lightweight and easy-to-use goroutines and channels. A goroutine is a lightweight thread of execution in Go. When you call a function with the go keyword,…
Continue Reading

Using GORM – Part 1: Introduction

In today’s software development landscape, Object-Relational Mapping (ORM) has become an essential technique for managing relational databases. ORM allows developers to work with databases using an object-oriented approach without having to write SQL queries. ORM tools provide a set of methods that abstract away the complexity of dealing with databases…
Continue Reading

Monolith or Microservices?

Recently I have been asked a lot about my opinion on monolith vs micro-services, so I wanted to summarize my thoughts in a short post. A monolithic service is a software architecture in which all the application’s components are tightly coupled and interconnected, usually within a single codebase and deployed…
Continue Reading

To Go or not to Go

Throughout my career, I have worked with a variety of programming languages. The majority of them have similar concepts, with the main difference being in the structure, syntax, and eco-system (compiler, libraries, etc). I enjoyed writing code in C and C++ at Dell, and when I joined Velostrata (which was…
Continue Reading

Hit the Ground Running

I joined AWS around 4.5 years ago and had the good fortune to be a founding member of a brand-new service. It was tough and interesting to build it from the ground up, and it put me in an excellent position to know practically everything about the requirements, architecture, different…
Continue Reading

Storing large items with DDB and S3

When working on applications, you want to focus on your business logic rather than spending your time on the mechanics of how to persist your data. If you are working in AWS, there is a good chance you are already using Dynamo DB as your database, as it gives you…
Continue Reading

Can I inject this class ?

One of the biggest pain points using injection in Java is that if you missed something, you will find it during runtime. Many code commits were made where everything passed the code review, and looked legit, just to find out that it doesn’t work due to a missing injection. Let…
Continue Reading

Is it really a Singleton?

Recently, I have investigated a defect that is interesting to share. As part of our operations, we need to be able to run tools, which will invoke APIs on different AWS services. For example, one common tool is to run a certain CloudWatch query and analyze the results. The framework,…
Continue Reading