ptttron Hacker News • Recommends
On “Ask HN: Why GraphQL APIs but no Datalog APIs?”
111K subscribers • 136 videos on Hallway
Intermediate. Assumes working knowledge.
7.5K views6 years ago2 recommendations
Programming languagesDatabases and dataFunctional programmingSoftware architectureGraph databases
Wilker Silva discusses how namespace-qualified keywords and context-free federated names can be used pragmatically for data modeling in Clojure.
A lot of us feel a little lost as we start to use Clojure and try to make sense of how we should model data. If we came from a schema or type-based system many of us are tempted to apply those skills directly. We have a notion (reinforced by talks we watch) that these namespaced keywords are important, but we often struggle to apply those concepts pragmatically. In this talk, I’ll discuss how the ideas of context-free federated names (a.k.a. namespace-qualified keywords) have become more concrete and pragmatic to me during my use of them at NuBank. I’ll talk about my realizations on how they can be used in practical ways that lead to a high level of clarity in our data models and communication systems, and open up better flexibility and reach. Finally, I’ll relate these concepts to recent advances in the communication of this kind of data at the systems level as a graph, and show how industry standards like GraphQL continue to suffer from problems of composition and generality, while Clojure’s approach leads to an open information system with maximal utility: the Maximal Graph.What people say. Recommended for its insights into Clojure data modeling and as an introduction to the concepts behind the Pathom library.
ptttron Hacker News • Recommends
On “Ask HN: Why GraphQL APIs but no Datalog APIs?”
edjrooton Hacker News • Recommends
On “Programs are a prison: Rethinking the building blocks of computing interfaces”
ptttron Hacker News • Mentions
On “Why Build Solutions with Fulcro – Tom Toor (Clojure/Conj 2019)”
slifinon Hacker News • Mentions
On “Using Obsidian to manage goals, tasks, notes, and software dev knowledge base”