STL Algorithms - Binary Search

To do a simple binary search, there are four STL Algorithms at our disposal: std::binary_search(...), std::lower_bound(...), std::upper_bound(...), std::equal_range(...). When should we use them? When should we not use them? Which one should we use?

Setting up a Self-hosted 'Dropbox' Server

Cloud File Synchronization Software was one of the technologies whose concept left me in awe. My very first encounter of it was with Sugarsync. After Sugarsync abandoned us the free users, I jumped around Dropbox, SkyDrive (later renamed to OneDrive), Box trying to maximize on free space, meanwhile also trying out Google Drive and 百度云 from the Chinese Google. Fast-forward a few years, open source solutions like NextCloud (branched off OwnCloud) is gaining lots of traction and its community is as active as ever.