I work closely with social scientists and it's common in those disciplines to embed narrative and presentation data in spreadsheets.. articles like this and the Good Enough Practices in Scientific Computing (http://journals.plos.org/ploscompbiol/article?id=10.1371/jou...) are nice summaries of good practices.
I've been enjoying the struggle through Statistical Inference by George Casella as a foundational text. This was the introductory text for stats graduate students at Arizona State University a few years back.
The Mathematical Methods of Statistics by Harald Cramér is also excellent.
Anathem is a great book that explores lots of interesting, fairly unique ideas, and does some moderately original world building. But I always tell people Stephenson (the author, personal favorite) isn't for everyone, and Anathem isn't even for all Stephenson fans, it can be a hard read for many.
This really resonated with me to the point where I had to stop lurking.
James Gee (who was also at Wisconsin-Madison for a time) has written a fair bit, mostly positive, on learning and games. Here's one of his positive early pieces [1].
But I have a cautionary take which is very similar in spirit to yours. I loved video games as a kid - Double Dragon, Zelda, Mario Kart.. I lost my mom early and in adult retrospect one likely consequence was becoming OCD about save-scumming, because you could go back in time and make things perfect. I'd play Starcraft story-mode until I made it through without losing a single unit. I'd savescum ADOM at a pool until I got enough wishes and all the resistances to feel satisfied. Or Civ to build all the wonders I cared about. Too bad you can't go back in time to get your mom to have a checkup before metastasis. Just need to have enough save states right?
So I continued min-maxing, building optimization functions against built environments and pvping in MUDs, Goldeneye, MMORPGs, Diablos, Hearthstone, and F2P styled mobile games, competing against other players for virtual bits of nothingness, going with the meta or trying to craft counter-metas, making in-game friends and playing with IRL friends and generally having a good time or so I thought.
I finally tossed my gaming baggage while taking my first ever vacation in France with my family last year. I'd recognized the psychological hooks embedded in games for some time but finally realized how ridiculous it was to be conditioned to wake up at 2 AM in the morning (due to timezone differences) to earn timer-based rewards and complete dailies in a mobile app. I was trading off life experiences in a beautiful country with amazing food (and counter to typical stereotypes, very friendly people) for virtual something or others, and enough was enough.
Since going cold turkey, the amount of free time opened up has been an eye-opening. I spend much more quality time with my family without being tired from staying up late. I'm playing music again with friends and in a local community symphony, playing ice hockey and working on skills I'd left behind since high school, reading more books, and in general feeling much more fulfilled.
This isn't a judgement on those who still love and live & breathe games and there are definitely games breathtaking in their imagination and execution. I still thoroughly enjoy Mario Kart with the kids and could easily drop days into Civ 6 if I had the spare time. But I'd like to level up my physical skills for a while. Climb a 5.12, skate like Sid, play and express Brahms, Beethoven, Chopin and (maybe some day) Rachmaninoff like I wish I could.
Some goals in life have a physical timer on them, don't let it run out and lead to regret. There's beauty to be had and made and to be sure, virtual or not, it is fleeting. Yet some skills remain when the power goes out.
I poked a bit and it appears that the setup script is interactive which complicates playing nicely with Docker somewhat. It installs nsd + postfix, rewrites config files in /etc and mucks with ufw. Could probably mimic some of this by mounting locally customized config files into the Docker container.
Rob Allan wrote a survey of agent based modelling toolkits available at http://www.grids.ac.uk/Complex/ABMS/ (in 2011 though so some things are out-of-date).
It's important to strive towards models that are as simple as possible so you don't end up "simulating the world" and so you can better understand and analyze the processes that led to the interesting results. It's also important that you document and open your source code to review because as we all know, it's trivial to hardcode your assumptions into a program to tell you what you want to see.
One of his last works, his Op. 60 Barcarolle is incredible if you haven't heard it yet: https://www.youtube.com/watch?v=q9umBE2Gn7Q