Evident Code, at Scale
summary
132 slides compresses into concrete practices: use Clojure values and Datalog queries to express joins, call predicates and web services inside queries, and pass explicit databases so queries become portable across stores; Datomic ships a tiny transact API and a schema-as-data model that let a Postgres backend be added in one day; keep protocols tiny (roughly two methods), write generative tests (Mastermind example) and log-driven reconnection tests to observe real retries and interleavings.
AI-written summary · about
chapters (22)
- 0:00Introduction
- 1:09What makes code evident
- 4:19Declarative programming limits
- 6:26Abstraction pitfalls
- 8:55Interface design
- 10:44Resisting abstractions
- 12:30Abstraction in action
- 14:38Fine-grained protocols
- 15:00Immutable data benefits
- 17:25SQL injection risks
- 19:09Schemas as data in Datomic
- 21:53Schemas as data not functions
- 22:35Navigation as data
- 24:41Teaching Datalog in six minutes
- 27:27Explicit databases
- 30:55Evident code with Datalog
- 31:36Avoid global variables
- 34:09Maintainable tests
- 36:17Generative testing
- 38:01Stateful interactions
- 40:27Stick to programs
- 40:48Summary
related talks
01h 42mBuilding Marvelous and Heroic Systems from the Ground Up
24mBuilding Intelligible Systems
43mThe Tyranny of Structurelessness
33m"Consequential Clojure Architectures"
36mData As The Fabric Of Your App
30mReal Estate Clojure
28mWhat You See Is What It Does: A Structural Pattern for Legible Software
43mSimple ideas with huge impact from Clojure and Rama
