@BrianMacKay This question is not suitable for Software Engineering. We have very similar rules to questions being too broad as Stack Overflow. If this question were to be cross posted, it would be down voted, closed, and likely deleted very quickly and that is a poor user experience. —
Thomas Owens 37 secs ago