Mao and most of the other early communist leadership were southerners. Most of the early KMT was made up of southerners too. I think westerners have this misconception that “Mandarin” is a northern language, but the standard Mandarin spoken in China is largely artificial, and has been a separate language for governance and education for centuries. No one in China back in 1949 would have thought of Standard Mandarin as representing “Northern” Chinese culture, even though it is based on an aristocratic dialect of Beijing Mandarin.
Some of the most endangered languages in China are natural forms of Mandarin in northern China, because it so similar to Standard Chinese and the government has no protections or cultural programs for them, unlike the southern languages like Wu, Minnan, and Cantonese.
China is a complicated country and it’s sad to see these misconceptions repeated ad nauseum in English media.
Reading books. There are some great books on programming out there. I would strongly recommend a A Players Guide to C#. It’s structure, practice problems, and explainations of the basics were far better than any free guide to programming that I’ve seen online. There are a lot of other great books out there too.
It also doesn’t matter too much about a book being outdated when you are only studying the fundamentals.
A lot of the stuff you read online has never been fact checked or edited for clarity. Some of it is great, but most of it is not.