







The Yawning Gash If you have ever dabbled in video game development in the past ten or twenty years, chances are you used an object oriented programming language to do so. Hell, my first attempts at creating a game were done using the jMonkey engine. And one can easily see why OOP is popular for game development: it is very convenient to summarise data into semantic classes:
Contemplating Entity Component Architecture
Ever since discovering the Entity Component System pattern through Bevy a few years ago, I’ve been simultaneously obsessed with it and frustrated with the lack of attention it is getting outside of the game development world.
Object-Oriented Entity-Component-System Design – John Lin's Thoughts
About two months ago, I decided to start developing a fresh codebase for my voxel project – something that many indie developers are probably all-too familiar with, including myself. This time around, there were three major features that I wanted to implement:
Relational foundations for functorial data migration | Proceedings of the 15th Symposium on Database Programming Languages
In this paper we present a simple database definition language: that of categories and functors. A database schema is a small category and an instance is a set-valued functor on it. We show that morphisms of schemas induce three ''data migration ...
Functorial data migration
In this paper we present a simple database definition language: that of categories and functors. A database schema is a small category and an instance is a set-valued functor on it. We show that morphisms of schemas induce three “data migration functors”, which translate instances from one schema to the other in canonical ways. These functors parameterize projections, unions, and joins over all tables simultaneously and can be used in place of conjunctive and disjunctive queries. We also show how to connect a database and a functional programming language by introducing a functorial connection between the schema and the category of types for that language. We begin the paper with a multitude of examples to motivate the definitions, and near the end we provide a dictionary whereby one can translate database concepts into category-theoretic concepts and vice versa.
What is data oriented design?
I was reading this article, and this guy goes on talking about how everyone can greatly benefit from mixing in data oriented design with OOP. He doesn't show any code samples, however. I googled t...
Ologs: A Categorical Framework for Knowledge Representation
In this paper we introduce the olog, or ontology log, a category-theoretic model for knowledge representation (KR). Grounded in formal mathematics, ologs can be rigorously formulated and cross-compared in ways that other KR models (such as semantic networks) cannot. An olog is similar to a relational database schema; in fact an olog can serve as a data repository if desired. Unlike database schemas, which are generally difficult to create or modify, ologs are designed to be user-friendly enough that authoring or reconfiguring an olog is a matter of course rather than a difficult chore. It is hoped that learning to author ologs is much simpler than learning a database definition language, despite their similarity. We describe ologs carefully and illustrate with many examples. As an application we show that any primitive recursive function can be described by an olog. We also show that ologs can be aligned or connected together into a larger network using functors. The various methods of information flow and institutions can then be used to integrate local and global world-views. We finish by providing several different avenues for future research.
ggsql: A grammar of graphics for SQL
Introducing ggsql, a grammar of graphics for SQL that lets you describe visualizations directly inside SQL queries.

drawDB - Online Database Schema Design & ER Diagram Tool
Free online database schema design tool. Draw ER diagrams, generate SQL for PostgreSQL, MySQL, SQLite, SQL Server & Oracle, and collaborate in real time.

Category Theory for Programmers: The Preface
Table of Contents Part One Category: The Essence of Composition Types and Functions Categories Great and Small Kleisli Categories Products and Coproducts Simple Algebraic Data Types Functors Functo…

Distributed Entity Component System Architecture in the Cloud
Every so often, my mind will fixate on a topic and I won’t be able to eat, sleep, or function properly until I get some kind of closure on…
ATmosphere Games - (definitions for eligibility and interop)
As the number of games using rpg.actor increased, we realized a need for something that could declare what records a game requires, and how they could be verified. We wanted to build an Experiences Portal that could showcase games using the .sprite or .stats lexicons, and make clear how other games required or used the interoperable records from different games and projects. For example, how Clun’s Cannon uses the Jet Pack item from protoimsg.app, or how chaos.soccer verifies the Clown Shoes ...

Against SQL
But SQL is the only widely-used implementation of the relational model, and it is:
Semantic Data Modeling, Graph Query, and SQL, Together at Last?
Our teams advance the state of the art through research, systems engineering, and collaboration across Google.

Intro to Data Oriented Design for Games
Graceful database schema evolution: the PRISM workbench: Proceedings of the VLDB Endowment: Vol 1, No 1
Supporting graceful schema evolution represents an unsolved problem for traditional information systems that is further exacerbated in web information systems, such as Wikipedia and public scientific databases: in these projects based on multiparty ...

Exploring Notion's Data Model: A Block-Based Architecture | Notion
Notion’s data model enables the product’s most foundational component: blocks. Through blocks, we allow users more flexibility over their information.
