Ben (@vivavolt), August, 2021
WIP List of useful resources that have informed my thinking.
Elements of Clojure (Zack Tellman)
Software Design for Flexibility
Gödel, Escher, Bach (Douglas Hofstadter)
Type-Driven Development with Idris (Edwin Brady)
The Case Against Reality (Donald Hoffman)
A visual guide to bayesian thinking (Julia Galef)
The Nature of Code (Daniel Shiffman)
Simple Made Easy (Rich Hickey)
The Language of the System (Rich Hickey)
Category Theory for Programmers
Seven Sketches in Compositionality: An Invitation to Applied Category Theory
https://www.youtube.com/watch?v=pMuiVlnGqjk
The 'designing with types' series
Software Architecture, Processes, Organization - and Humans - Stefan Tilkov
Organizing modules in a project
Functional Core, Imperative Shell
Functional architecture is Ports and Adapters
https://www.youtube.com/watch?v=US8QG9I1XW0
Write code that is easy to delete, not easy to extend.
Leave it better than you found it
Null References: The Billion Dollar Mistake
https://www.youtube.com/watch?v=-6BsiVyC1kM
When Writing Unit Tests, Don't Use Mocks | SendGrid
Always Be Composing (Zack Tellman)
Clojure for the Brave and True (Daniel Higginbotham)
A History of Clojure (Rich Hickey)
Specter Powerful and Simple Data Structure Manipulation (Nathan Marz)
What to look for in a code review
Creating a Tools Pipeline for Horizon: Zero Dawn
Math for Game Developers: End-to-End Procedural Generation in Caves of Qud
Solving Problems with Automata
Communicating Sequential Processes
Clojure core.async (Rich Hickey)
Publish and Subscribe with core.async's pub and sub
Combining & Controlling Channels with core.async's merge and mix