Skip to content
View brettkromkamp's full-sized avatar
💭
Building. Always building.
💭
Building. Always building.

Block or report brettkromkamp

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
brettkromkamp/README.md

Brett Kromkamp - brettkromkamp.com

Brett Kromkamp's GitHub Profile

You've reached Brett Kromkamp's GitHub profile. Find me on Mastodon.

I contribute to and maintain Contextualise, TopicDB and a couple of other open source projects. I also have several published Python packages on PyPI.

Projects I am currently working on, include:

  • Suite of iOS apps using Swift and RealityKit, Apple's high-performance 3D framework
  • Contextualise, a knowledge management system using the Python programming language and Flask web framework

Contextualise Projects

Contextualise Knowledge Management System

Contextualise is an effective tool particularly suited for organising information-heavy projects and activities consisting of unstructured and widely diverse data and information resources

Contextualise: An Ecosystem of Explorable Knowledge

What It Is

Contextualise is a set of tools that share one information model: topic maps. A topic map holds knowledge as topics, the associations between them, the occurrences that describe them, and the scope that says in which context each statement is true. The tools do not share a server, an API or common application code. They share a file and a schema.

The ecosystem tests one claim. Topic maps are a meta model, and scope makes them expressive enough to hold many kinds of knowledge without a change to the model. Each tool is evidence for that claim, because each one puts a different kind of knowledge into the same model.

The Rule For Membership

A tool is a member when it reads a topic map, writes one, or does both. No other test applies.

The Members
Tools That Write Maps
  • The pipeline writes a topic map about a subject from source material, in numbered passes. A language model drafts each pass, and a person approves it.
  • corpus-map reads a folder of Markdown documents and writes a map of what they are about. It first proposes the vocabulary as a topic map that a person reviews. Then it chooses the core subjects of the whole set, grouped in areas. Every statement keeps the scope of the document that made it.
  • scenario-planner makes possible future scenarios for a domain from real sources, and exports its graph as a topic map.
  • topic-map-editor opens a topic map and edits all of it, scope included, then writes the file back.
The Shared Foundation
  • topic-map-engine holds the model, the traversal and the scope matching, with no framework attached. It also holds TMQL, a small query language that walks, filters and scopes in one query.
A Tool That Reads and Writes
  • structure-map reads a topic map and writes a diagram for diagrammer, a report with its sources, and the topic map itself. The diagram is a first layout that a person keeps arranging in diagrammer, and a diagram that a person changed is never overwritten.
Tools That Read Maps
  • diagrammer draws a topic map as an isometric diagram that a person arranges. It has two vocabularies: Place, for subject matter that is spatial, and Structure, for subject matter that is not. Each object binds to a topic or an occurrence, so the diagram is a view onto the map.
  • experience-builder turns a topic map into a configurator for a real-world walk. The walker's choices select which scoped variant of each stop's content they read.
  • systems-builder reads stocks, flows and feedback loops from a topic map and simulates them. Its whole vocabulary is declared inside the map, not added to the engine.

Mixing Art and Code to Build Engaging Web Experiences

Development of web content models, concepts, creation processes and tools: mix art and code to build interactive, engaging web experiences

Story Technologies

Storytelling With Interactive Visualisation of Semantic Events

Developing a combined Angular and Pixi.js-based web application —for storytelling purposes— that allows a user to navigate between a collection of narrative events. Each event has an accompanying 2.5D, isometric environment with participants and items that can be interacted with. Interactions include (but, are not limited to) displaying more information about the selected object and high-lighting a set of objects by tag. Narratives are Contextualise topic maps.

I will see you again, in the place where no shadows fall. — Ambassador Delenn, Babylon 5

Pinned Loading

  1. contextualise contextualise Public

    Contextualise is an effective tool particularly suited for organising information-heavy projects and activities consisting of unstructured and widely diverse data and information resources

    Python 1.1k 43

  2. topic-db topic-db Public

    TopicDB is a topic maps-based semantic graph store (using SQLite for persistence)

    Python 275 12

  3. awesome-knowledge-management awesome-knowledge-management Public

    A curated list of amazingly awesome articles, people, applications, software libraries and projects related to the knowledge management space

    876 94

  4. typed-tree typed-tree Public

    TypedTree provides a tree data structure that allows adding type information to both nodes and edges; useful for visualisation purposes

    Python 16 1

  5. aiotopicdb aiotopicdb Public

    The aiotopicdb package is an asynchronous implementation of TopicDB with an accompanying FastAPI-based API

    Python 7 1