Zet is a part of weewiki. Install
before getting started.
In an empty directory, create a new weewiki database with:
$ weewiki create
This will create a new sqlite database called
Add a new message to the zet using the
say command. A
prompt will appear to type out your message, then press
ENTER. The console will then print out a generated
that is associated with that message.
$ weewiki zet say say: hi zet. e0924b00-4def-48a9-bd35-45fec2afbc95
Search for this message using the
$ weewiki zet search hi 2020-12-19 15:35:25 e0924b00-4def-48a9-bd35-45fec2afbc95 >hi zet
Appending partial UUIDs after the
say command will create
link between the generated message and the items with
$ weewiki zet say e0924 say: this message links with the previous message! 7d7a5ec9-2996-4bbb-a1b6-d432d19f60f9
The zet can be exported to standard output
with the zet
export command as a tab-separated value
This will be piped to the
tee command so it will write
to a file and standard output.
$ weewiki zet export | tee zet.tsv 2020-12-19 15:35:25 e0924b00-4def-48a9-bd35-45fec2afbc95 >hi zet . 2020-12-19 15:43:09 7d7a5ec9-2996-4bbb-a1b6-d432d19f60f9 >this m essage links with the previous message! - 7d7a5ec9-2996-4bbb-a1b6-d432d19f60f9 #e0924b00-4def-48a9-bd3 5-45fec2afbc95
The exported zet has 3 columns: timestamp (- for none), UUID, and value. Each value has a prefix. In this example, '>' indicates a message, and '#' indicates a reference to another UUID. There are other type prefixes as well, like groups ('@'), wiki pages '!', and filepaths '/'. Those are for another time.
The newly created
tsv file is an ideal way to manage a
zet in source control. It can be used to regenerate the
zet with the zet
$ rm a.db # remove the weewiki database $ weewiki create # create a new wiki database again $ weewiki zet rebuild < zet.tsv # and we're back
It is usually ideal to pair the zet with the wiki. To do this, other commands will need to be used in order to rebuild both the wiki and the zet (in that order). Consult the section on weewiki dumps in the weewiki wiki page for more info.
Zets can get very big very quickly, especially when using
it with the weewiki
This makes for very large TSV files which are harder to
manage. The solution for this problem right now is to split
up zet exports by group. More on this later someday,
possibly in the sample curation page.
Updates created via this wiki's zet.
2021-01-19 16:32:20: this TODO app (zetdo) is proving to be an interesting application for (zet). It's making me think a lot more practically about item presentation and organization. Self-organizing structures like priority cues and trees seem to be structures that I want but do not have.
2021-01-16 21:51:55: really need a good way to query messages on demand, like a timeline or mini-feed. not even a good way. Just "a" way at this point.
2021-01-16 21:51:08: Bitwrite still needs a good data structure. I've been thinking about a tree to mimic outliner programs like org-mode. Somehow getting the graph format like \!zet to work would be pretty dope though.
2021-01-16 21:47:48: visualizing connections at scale is tough. our brains really aren't great at processing data that way. only in small chunks zoomed in, or zoomed out on a huge macro scale. I suppose this is the "hard part" of a zettelkasten.
2021-01-16 21:46:26: I've been thinking about writing a utility that exports zet to dot to be visualized in graphviz. but those do get unreadable quickly though.
2021-01-14 10:18:24: some initial writeup work getting basic stateful variables in the zet. the overall goal is to use this functionality to build a TODO-list like functionality.
2021-01-09 16:55:56: added an ignore group option to the (zet) shuffle functionality. My hope is to use it with (crate) items to randomly choose samples in a collection that I haven't heard before. It adds a few noticeable milliseconds when it is used, but it is totally worth it!
2020-12-19 11:06:37: more words to the (zet) page, including a quickstart