3 ms·dupe of https://news.ycombinator.com/item?id=21018675 https://news.ycombinator.com/item?id=21018675by cpeterso 7y agodupe of https://news.ycombinator.com/item?id=21018675 https://news.ycombinator.com/item?id=21018675