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
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 and instance type My best … Continue reading How do I spend less time on compilation
Today Microsoft Azure introduced the new F-series VM sizes (you can read about it here) and our software faced a bizarre issue. When we want to create a new instance in Azure, we have an implementation that chooses VM size based on some criteria. One of the criteria is the number of data disks we … Continue reading Why you shouldn’t trust the documentation ?
If you're using bash, you probably know that pipes are really nice and helpful. Recently I wasted a lot of time trying to realize why one of our tests failed on data corruption (we are kind-of a storage company so this is bad) and the results were amusing (or sad, you can decide). The test … Continue reading Bash Tips & Tricks: Handling failures in pipe
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 of the urls database available using … Continue reading Building simple url-redirection service using Flask and Python
At the beginning of this month, the Mossad published a hacking challenge. out of curiosity I took some time playing with it and while progressing within the challenge I discovered a dll file which should contain a hint (admin password for a fake chat room). The interesting question is what do I do with it … Continue reading Hacking a DLL – Disassembly for beginners
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 build a simple testing framework … Continue reading Building simple testing framework in Python