Sri’s Knowledge Base Filing System (SRI-KBFS) is a file-based notebook system design for easy entering of data in a Markdown-derived format. The goals are:
SRID) with generated external short refs (
I just want to think and write as fast as possible, and have the system help arrange my thinking into remixable ideas through features like:
Folders and files are used to store content, but are not used to generate pathnames. Use files and folders in any way to keep track of temporary notes. To register a note with the system, add a
SRID of the form
0000:YYYY:MMDD:HHMM to generate a unique id within your file store. KBFS will generate a public file that can be addressed by a
XURL or by
SRID; these are the “evergreen canonical links”.
The reason for this approach is that most of the time, the filesystem is in flux as new ideas are developed. I am constantly renaming and moving things in folders. Ideally, the folder structure itself doesn’t matter and the canonical id, groups, inferred relationships, and cross references can live anywhere. The system uses the
SRID as the unique identifier, and generates pages and derived content from it and the relationships it can uncover.
Here’s the relationships I’m currently considering:
SRIDSri Knowledge Base File System Id - Of the form
0000-YYYY-MMDD-HHMM. User codes begin with
0000, and generated codes for derived content start with
STAGContent Tag - Used for informal tag names. Case insensitive, alphanumeric no spaces or punctuation in Sri Tag Group Format: ‘tag’, ‘tag1, tag2’, ‘agroupname: tag1, tag2’, ‘tag (long tag string name)’
SGRPGroup/Project Short Name) - Used to group related content. Multiple SGRP keys are allowed.
SORDGroup/Project Numbered Section - used to sort content within a SGRP. Integers using dotted decimal notation (e.g. 1.1.2). Fewer decimals are preferred. Content with SORD is ordered above content without SORD on generated table of contents pages.
SKEYGroup/Project Sort Key - a hierarchical alpha-sorted key used to order related documents of the form ‘path/to/subsection’. Sorting is the same as unix directory sorting, and is overriden by
XURLExternal URL - A SRI-KBFS hash of
SRIDusing Hashids and our custom alphabet. Used for sharing links to source content.
XCATExternal Library Categorization Code - A string designating another categorization scheme such as Dewey Decimal System or Library of Congress. Multiple XCAT entries can exist.
Some of these tags are generated (e.g.
XURL). In general the
S* names designate “internal private” SRI-KBFS uses and
X* names are for “external facing” references used by the public.
“I needed a [replacement for hexadecimal]1 (base 16) for similar reasons (e.g. for encoding a key, etc.), the best I could come up with is the following set of 16 characters, which can be used as a replacement for hexadecimal:”
0 1 2 3 4 5 6 7 8 9 A B C D E F H M N 3 4 P 6 7 R 9 T W C X Y F