• 4 Posts
  • 40 Comments
Joined 1 year ago
cake
Cake day: June 18th, 2023

help-circle
  • Ok, I’ve done some double checking: The Bantu expansion is approximately what I thought it was. I believe the language group I was thinking about that survived the Bantu expansion was the Khoisan.

    My (very coarse) knowledge of this comes from a mixture of reading Jared Diamond (Guns, Germs and Steel) and from following it up with some Wikipedia. In short: The genetic makeup in a lot of the world is relatively dominated by the groups that were the first to adopt agriculture in their respective regions. Before the Bantu expansion, phenotypes south of Sahara were more varied, just like the phenotypes in the Americas were more varied before the corresponding “European expansion”, or the equivalent expansion that happened in South-East Asia (I don’t remember which society stood behind that one).

    According to Diamond, we can trace a lot of (most?) surviving human phenotypes and languages back to relatively few societies, which after adopting agriculture, more or less wiped out / displaced neighbouring cultures due to increased resistance to a lot of infectious diseases and massively increased food production / need for land. This mostly happened less than 10 000 years ago, i.e. far too recently for natural selection to have a major impact on things like skin colour, hair type, height, facial features, etc. afterwards.

    So: While major trends in phenotypes are of course a result of natural selection / evolutionary pressure in specific regions (resistance to skin cancer / sunburn vs. vitamin D production, or cooling down more efficiently with a wider nose vs. retaining heat with a slimmer one, or having an eye-shape that lets in more light vs. provides more shade), a lot of what we see today is simply a result of what phenotype the first group a given region that adopted agriculture had. This means that looking at the dominant phenotype in a region today will not necessarily give a good impression of what phenotype that is “optimally designed” to survive in the conditions of that region.


  • I seem to remember that the majority traits south of Sahara (black/very dark skin, and curly hair) can be traced back to something called the “great Bantu expansion”, which was essentially the result of a group of people with these traits developing agriculture and wiping out most other peoples south of Sahara, much like the Europeans did to the Americas.

    Some cultures south of Sahara did survive, which can be seen both genetically, and in some languages that are completely from other languages in the area (I believe the family of languages with “clicking” sounds is an example).

    I’m on my phone now, but I’ll have a double check and come back.



  • The whitespace doesn’t bother me at all, but holy hell! Any time I’m trying to understand a Python program/library that’s anything above a couple thousand lines of code, I instantly feel a burning hate for dynamic typing.

    I love Python for scripting- in large part because of dynamic typing. IMO it’s just not a language made for building large infrastructures.


  • Sorry, but I honestly don’t get it. I I were to point out the crown jewel of open source, it’s gcc. gcc is the backbone and survival condition for so much modern industry that it’s not even remotely funny.

    Take away gcc, and the world will likely burn for a substantial amount of time until people start making in-house or proprietary alternatives.



  • The whole “maybe if the homework can be done by a machine then its not worth doing” thing is such a gross misunderstanding. Students need to learn how the simple things work in order to be able to learn the more complex things later on. If you want people that are capable of solving problems the machine can’t do, you first have to teach them the things the machine can in fact do.

    In practice, compute analytical derivatives or do mildly complicated addition by hand. We have automatic differentiation and computers for those things. But I having learned how to do those things has been absolutely critical for me to build the foundation I needed in order to be able to solve complex problems that an AI is far from being able to solve.








  • For someone starting out, I would say that a major advantage of Python over any compiled language is that you can just create a file and start writing/running code. With C++ (which I’m also a heavy user of) you need to get over the hurdle of setting up a build system, which is simple enough when you know it, but can quickly be a high bar for an absolute beginner. That’s before you start looking at things like including/linking other libraries, which in Python is done with a simple import, but where you have to set up your build system properly to get things working in C++.

    Honestly, I’m still kind of confused that the beginner course at my old university still insists on giving out a pre-written makefile and vscode config files for everyone instead of spending the first week just showing people how to actually write and compile hello world using cmake. I remember my major hurdle when leaving that course was that I knew how to write basic C++, I just had no idea how to compile and link it when I could no longer use the makefile that we were explicitly told to never touch…






  • Yes, it’s a field. Specifically, a field containing human-readable information about what is going on in adjacent fields, much like a comment. I see no issue with putting such information in a json file.

    As for “you don’t comment by putting information in variables”: In Python, your objects have the __doc__ attribute, which is specifically used for this purpose.