I recently built such a PC with roughly $950, it includes one used E5-2650c2, used S2600CP board, 750W power supply, 32GB DDR3 ECC memory(I'm buying CPU, motherboard, power supply and memory from one vendor so I didn't know if the memory is new), brand new GTX 1070 and a brand new 128GB SSD. The good part is the board has 2 CPU slots, 16 memory slots and 6 PCIE slots, so if I feel the need, I can easily by another E5-2650 CPU, or 12 8GB memory sticks to make the total memory 128GB(or more if I choose to upgrade current 4*8GB memory sticks as well), or add more graphics cards for machine learning purposes.
Of course this won't cover all use cases since server CPUs tend to have more cores than high frequencies(mine has 8 cores, and 16 threads after HT, but only at 2.00GHz), which might be bad for high end games, but for programming tasks as described by the article here, this might be a better choice