You can configure osquery to execute periodic queries (scheduled queries) of all kinds: computing md5 of your binaries and other files, taking a snapshot of sockets/connections per process, and so on.
By default, osquery uses glog, which means it'll output the results to a local file that you can ship anywhere you want. There's also logging plugins to help you push the results of scheduled queries to other systems.
Once you have that data flowing through your pipelines you can start doing security/anomaly detection on things.
My first encounter with virtual desktops was on AfterStep, and later on I migrated to Window Maker as it was becoming more popular in Brazil. But I think CDE had virtual desktops long before. https://en.wikipedia.org/wiki/Common_Desktop_Environment
In 2002 Fabrice Bellard (author of ffmpeg, kvm, etc) won The International Obfuscated C Code Contest with a tiny obfuscated C compiler, which later became tcc, the tiny c compiler: http://bellard.org/otcc/
I've switched from Python to Go for about a year and so far have no regrets. Still write some Python here and there, but nothing serious anymore. The whole debate about Python 2 and 3, performance issues, GIL, etc made me give up.
Author of freegeoip.net here. It uses the db from MaxMind.
Worth mentioning that the system is not only free but also open source, available at github.com/fiorix/freegeoip (currently written in Go)