Bookmarks - August 2018

The Orange Juice Test, database scaling techniques, and the flux design pattern.

The Orange Juice Test

How should one decide which company/person to employ? The Orange Juice Test is a method of determining whether the person/company you are talking to is competent enough to do the job:

Lessons Learned from Scaling a Team

How should you employ people when growing a startup? What mistakes should you avoid? The five dysfunctions of a team. A though provoking article on management:


This is a system monitoring tool for Linux that provides many more features than top and htop. Great video tutorial here:

Sharding Databases

This is a technique for storing data in databases when the quantity of data involved becomes extremely large. Vertical sharding involves storing different tables in separate databases. Horizontal sharding involves storing rows of the same database table on different nodes. This article explains the techniques and some of the technical challenges (e.g. continuous hashing):

Cost of a Join

An investigation on the performance deficits of doing joins in a database. Traditionally joins are avoided when storing large amounts of data because they are deemed to be too expensive. The article suggests joins may not be as expensive as most people believe:

Myths about /dev/urandom

How should you generate random numbers on a Linux machine? This article suggests /dev/urandom might be the best way:


This is the software design pattern used in React and designed by Facebook. The idea centers around one way data flow. This is key to understanding how React works: