As a Canadian, I'm surprised the author didn't mention a 3rd way - work for a US company on a TN visa that will sponsor you for a green card. This is doable (albeit a little riskier) despite the common conception that it is not.
A few articles/forum posts on the topic for those interested:
- https://www.prizant-law.com/tn-visa-professionals-and-applic...
- https://forums.immigration.com/threads/i-am-no-longer-curiou...
- https://forums.immigration.com/threads/gc-from-tn-visa-throu...