Skip to content

Tag Vector: Part 0: Introduction

Brian Takita
Authors:Brian Takita
Posted on:October 20, 2023

Tag Vector is a name system where tags connected as a vector form a name. Tag Vector can name variables, functions, components, network apis, low code apps, & prose.

This series about Tag Vector will go over a technique that I have iterated on since 2016 in ctx-core & in other (mostly client) projects.

There are only two hard things in Computer Science: cache invalidation and naming things. -- Phil Karlton

Tag Vector aims to be a tool to solve the two hard things in Computed Science by providing a name convention. A formalized system in the works with tools to:

  • work with existing source code
  • show how tags connect using a 1 dimensional vector
  • understand the context of an abstraction by looking at the tag vector
  • encode the data structure shape of the abstraction in the tag vector
  • immutable names to allow a simple text search to find all usages of tags & tag vectors
  • compose multi-dimension tag vectors
  • show the directional arrow of a tag vector in source code & text using font ligatures[1]
  • store the tag vector in a vector database & automate querying tag graphs
  • tag graphs can enable linking & vector search. Other usages of the tag include machine leaning algorithms & domain-specific analysis.
  • write prose with tools that render components & perform api calls based on the tag vector[2]

Tag Vector enables a flat structure in a code base. Tag Vector feels familiar to existing code & prose conventions. Tag Vector works with existing source code bases.

Tag Vector Series: Table of Contents

[1]: The underscore arrow font ligatures will be developed in new fonts forked from popular existing fonts

[2]: A prototype of the document editor with Tag Vector is in the works