SQS Benchmark (with large messages)

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…

Serverless On-call duty notifier – Part 2

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…

Serverless On-call duty notifier – Part 1

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…

Proper use of static keyword

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…

How do I spend less time on compilation

As part of my day job, I write and compile a lot of code. My laptop is not that strong and I find myself wasting a lot of time on compilation. Then I asked myself, why shouldn’t I use the cloud for getting more compute power ? Choosing cloud provider…

Building simple url-redirection service using Flask and Python

There are many technologies that can be used for building back-ends for web-sites, web-services and etc. In this post, I want to show how easily web-services can be created using Python and Flask. I don’t really like writing UI (or HTML) so I will avoid it by making the management…

Building simple testing framework in Python

Every good product need to have a good testing coverage in order to insure that it works both in “happy scenarios” and in “bad scenarios” – inc. disruptions, limits and etc. Beside unit tests, every module should be tested “end-to-end” as well. In this blog post I’ll demonstrate how to…

Web Browser Automation using Selenium

Recently, I was participating in an online challenge that included “hacking” to a website that was especially created for the challenge. After figuring out what to do at the beginning, I came to the conclusion that I need to send a particular html form multiple times (over 30) while changing…