After more than 5 years programming in C++, recently I've started my first steps programming in Java. There are many differences and I'll try to share some tips that will make your lives better 🙂 First one is Project Lombok. From their documentation: Project Lombok is a java library that automatically plugs into your editor … Continue reading Life got much easier – Using Lombok with Java
My goal was finding an AWS service that will answer the following requirements: Store large amounts of data (split into small chunks) reliably. Accessible from multiple zones/regions. Low read/write latencies. Cheap enough. SQS is a powerful service that is really useful for de-coupling between micro-services and allowing reliable transfer of messages between them. SQS promises … Continue reading How to consume all messages from an SQS queue ?
Amazon Simple Queue Service (Amazon SQS) is a scalable and fully managed message queuing service that allows users to transmit any amount of data through the web without administrative responsibility. Recently, I tried to evaluate whenever the SQS service will fit my needs for a design I'm working on. My interest was getting information regarding … Continue reading SQS Benchmark (with large messages)
In the previous blog post, I've described how to build a simple SMS notification system using DynamoDB, SNS and AWS Lambda. In this post, I'll show how to change it in order to allow each user to choose whenever he wants to get SMS notification, Email notification or nothing at all. First of all we … Continue reading Serverless On-call duty notifier – Part 2
As many engineers in the industry, we have on-call duty. The on-call duty is defined at the beginning of each month and the list of the on-call engineers for each date can be found in an excel sheet. Well, this is nice but I want to get notified when I'm on-call 🙂 I've created a … Continue reading Serverless On-call duty notifier – Part 1
One of the jobs in our CI pipeline is responsible for compiling, building and packing the code. The artifacts of the job is a directory on our storage with the build number and all the artifacts that are related to this build number. For example: //storage/build_1000, //storage/build_1001 and etc. There are other jobs that are … Continue reading Getting the right Jenkins build number using Python
Recently I found a funny bug in our code and I wanted to share some insights on it so you won't do the same mistakes. Let's assume we have a function that produces a lot of output and it can run from multiple threads. I wrote a simple program to demonstrate it: The sharpest eyes … Continue reading Proper use of static keyword