ROIs can help project and product manager to quantify the value of their investment for the company. For internal products, calculating a ROI can be challenging as there are no obvious revenue streams or paying customers.

ROI Formula

The ROI is the ratio between the net profit and the investment for a project or a product.

If the ROI of a project is 20%, this means that for every 1 $ that has been invested, the company sees 20 cents in profit.

ROI for Internal Products

In order to calculate the ROI, we can consider the organizational cost savings as the return or benefit.

Without your…


This article was published as an university assignment in November 2012

Abstract

The CAP-Theorem states that when building distributed systems only two of the three desired properties can be reached at a time: availability, consistency and partition tolerance. Network failures are considered to be a given in every distributed system, therefore consistency properties are relaxed in order to meet the high availability requirements. The weak consistency properties of a distributed storage system are propagated to the application level. Developers of cloud-based applications have to be aware of the potentially inconsistent state of the data in the underlying storage system and have…


I have been working as a product manager in tech companies for over 6 years and have interviewed plenty of potential candidates. There is still a lot of confusion about what a product manager and where the differences to product owners, project managers etc. lie. One reason for this is that the requirements for this role are changing as fast as the tech industry itself. Product thinking and a product over project mindset are rather new for many companies and are reshaping our understanding of product management.

In a sentence, a product manager’s job is to get people to build…


I recently ran into the challenge that my apache2 was pushed to its limits by web crawlers and bots which manifests itself in the following error:

scoreboard is full, not at MaxRequestWorkers.Increase ServerLimit

This caused the apache server to freeze and not respond to any requests. Before looking into a sustainable solution I had to find a mechanism to get the apache server out of this state in an automated manner.

Here my quick solution on Ubuntu 16.04 and Bitnami LAMP 7.3.

Shell script that checks if server is responding

Setup up health check cronjob

sudo crontab -e

Add this line:

* * * * * /path/to/your/script/isalive.sh

This should check every minute whether…


Use Case

You have a MySQL database with one ore more columns of type TEXT containing arbitrary free text. You have many rows and a lot of text in each column and you experience very poor performance when using LIKE statements to perform a full text search:

Using LIKE statement

A faster way to perform a full text search is the MATCH AGAINST statement:

Using MATCH AGAINST statement

PHP bind_param

Note the “‘\“” that is wrapped around the search phrase. This is important to make sure you are searching for that exact phrase and not the individual words it contains.

For MATCH AGAINST to perform well you need to…


Kubernetes has become the de facto standard in the containerized and cloud-native world. Development teams can leverage various useful abstractions that enable them to build highly scalable and resilient services. Despite all the charm and popularity of Kubernetes, it remains a very complex platform. Operating and maintaining it requires a highly skilled and specialized team. In this article I would like to share how we tackled the problem of building an internal Kubernetes offering to help our development teams getting most out of Kubernetes.

In the following sections we will uncover some of the developer pain points and problems on…


Since I registered my new domain I received several emails with same content and alternating sender, telling me that it would be about time to complete my search engine registration. The email contains my domain name as well as my full name.

The exact contents are as following (just my name and domain have been replaced):

Attention: Important Notice , DOMAIN SERVICE NOTICE
Domain Name: yourdomain.com

ATT: Your Full Name
yourdomain.com
Response Requested By
22 - Marc. - 2018

PART I: REVIEW NOTICE

Attn: Your Full Name
As a courtesy to domain name holders, we are sending…


Google AdSense is a great and easy way to make money with your website. When surfing through the web, nearly every website uses it to monetize its traffic. If you want to sign up for Google AdSense, you simply have to provide your website’s URL and your email address.

For one of my web projects I use an URL pattern where the subdomain indicates the language or market. This pattern is quite common and is also used by Wikipedia for instance:

I was quite surprised when the registration form notified me…


If you want to make the security scanner nmap available from your cygwin terminal, you have to first locate the local nmap Windows installation from cygwin, and then add the location to the bashrc file.

What is cygwin?

cygwin makes it possible to port computer programs that are normally executed on POSIX-systems such as GNU/Linux, BSD or Unix, to Microsoft Windows. It consists of a wrapper, that provides the UNIX-API to the different versions of Windows. On top of this wrapper it is possible to execute a lot of programs from the Unix world under Windows. The core of cygwin is the so…


Two of the most common attacks against websites and web application are XSS (Cross-site Scripting) and CSRF (Cross-Site Request Forgery). Both kind of attacks are exploited regularly and even big companies such as Google and Yahoo have been vulnerable to them. Whereas XSS is more popular and you can find more literature and defense techniques about it, CSRF can also be very harmful. When searching on the web for the difference about the two attacks you often read something like this:

In case of XSS, the victim’s trust for a website is exploited, in case of CSRF, the website’s trust…

Lambros

Product Manager

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store