changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > org > meta / annotate ulang.org

changeset 3: 04bd01442fcd
parent: d119ae1ce0d5
child: 55e56793d888
author: Richard Westhaver <ellis@rwest.io>
date: Wed, 14 Aug 2024 22:19:38 -0400
permissions: -rw-r--r--
description: midweek updates
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
1
 #+title: Universal Language
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
2
 #+author: Richard Westhaver
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
3
 #+email: ellis@rwest.io
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
4
 #+setupfile: ../clean.theme
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
5
 #+infojs_opt: toc:nil home:https://compiler.company up:./ view:showall
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
6
 * Introduction
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
7
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
8
 :ID:       e63d129f-9024-4cd8-9e2c-77f4bc614663
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
9
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
10
 This document describes a *U-Language* as described by the late great
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
11
 [[https://iep.utm.edu/haskell-brooks-curry/][Haskell Curry]]:
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
12
 #+begin_quote
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
13
 Every investigation, including the present one, has to be communicated
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
14
 from one person to another by means of language. It is expedient to
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
15
 begin our study by calling attention to this obvious fact, by giving a
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
16
 name to the language being used, and by being explicit about a few of
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
17
 its features. We shall call the language being used the
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
18
 U-Language. [...] There would be no point in calling attention to it,
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
19
 if it were not for the fact that language is more intimately related
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
20
 to our job than of most others.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
21
 #+end_quote
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
22
 
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
23
 In this document, we will be calling attention to our own language -
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
24
 examining it, and describing how it works.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
25
 
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
26
 Our job is to solve problems. Hard problems preferred. So we ought to
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
27
 pay close attention to the language we use because it brings the
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
28
 reader and writer /closer/ to the problem at hand.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
29
 
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
30
 For starters, we are primarily concerned with /written languages/ like
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
31
 the one you're reading now. We will skip past the obvious details -
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
32
 English is our primary form of communication for example. The line you
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
33
 are reading currently is a sentence which is part of a paragraph.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
34
 
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
35
 - This document is for authors and curious readers. It is a loose
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
36
   specification, but also serves as introductory material into our
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
37
   communication and design philosophy.
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
38
 - All sources we write attempt to comply to this standard but it is
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
39
   not strictly enforced. If there is a reason to not comply with a
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
40
   rule, it is already broken.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
41
 
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
42
 ** Org Mode
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
43
 :PROPERTIES:
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
44
 :ID: 98a02bb2-3f39-49c6-898a-68ccd8f3cbe1
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
45
 :END:
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
46
 [[https://www.gnu.org/software/emacs/][GNU Emacs]] is our text editor, so naturally [[https://orgmode.org/][Org Mode]] is our word
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
47
 processor.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
48
 
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
49
 If you are already familiar with Emacs and Org-Mode, I recommend
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
50
 opening the source of this document in Emacs and following along.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
51
 
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
52
 If not, I recommend browsing through the [[https://orgmode.org/worg/][Worg resources]], but we won't
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
53
 be getting too deep into tribal hacker knowledge of Emacs.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
54
 
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
55
 What's important to know is this: There is /Org Syntax/ and
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
56
 /Org-mode/ - these are different things.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
57
 
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
58
 Our =ulang= is almost /exclusively/ based on /Org Syntax/ and we are
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
59
 not concerned about /Org-mode/ the application in this document.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
60
 
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
61
 For the remainder of this document, we assume basic knowledge of Org
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
62
 Mode.
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
63
 
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
64
 * ulang
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
65
 :PROPERTIES:
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
66
 :CUSTOM_ID: ulang
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
67
 :ID:       236227a5-b30c-4548-8cad-360428d74d67
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
68
 :END:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
69
 Our *U-Language* is colloquially termed *ulang*. Each section of this
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
70
 document describes a feature or property of our ulang.
3
04bd01442fcd midweek updates
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
71
 ** Glossary
04bd01442fcd midweek updates
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
72
 *** Terms
04bd01442fcd midweek updates
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
73
 *** Acronyms
04bd01442fcd midweek updates
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
74
 ** Dictionary
04bd01442fcd midweek updates
Richard Westhaver <ellis@rwest.io>
parents: 1
diff changeset
75
 compiler.company:2628
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
76
 ** Emphasis
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
77
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
78
 :ID:       88bf1177-b5b7-4945-8bdc-5229803e617e
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
79
 :END:
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
80
 We derive all text emphasis syntax for rich contents from [[https://orgmode.org/manual/Emphasis-and-Monospace.html][Org Mode]].
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
81
 #+name: org-emphasis
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
82
 #+begin_src org
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
83
   - *bold*
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
84
   - /italic/
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
85
   - _underlined_
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
86
   - =verbatim=
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
87
   - ~code~
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
88
   - +strike-through+
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
89
 #+end_src
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
90
 - *bold*
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
91
 - /italic/
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
92
 - _underlined_
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
93
 - =verbatim=
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
94
 - ~code~
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
95
 - +strike-through+
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
96
 
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
97
 Text emphasis markers may be embedded in any syntax as long as it does
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
98
 not cause any conflicts with the host language.
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
99
 ** Headings
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
100
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
101
 :ID:       ed035298-f7fa-4726-ad58-2d542323bb61
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
102
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
103
 In Org, headings can be summarize as any line starting with a star: =*
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
104
 H1=. Headings can be nested or 'demoted' by prepending another star:
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
105
 =** H2=.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
106
 
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
107
 #+name: org-headings
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
108
 #+begin_src org
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
109
 ,* H1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
110
 ,** H2
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
111
 ,*** H3
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
112
 ,** H2
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
113
 ,* H1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
114
 #+end_src
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
115
 
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
116
 This is a useful pattern which we apply outside of Org - most commonly
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
117
 in our code comments.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
118
 
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
119
 In our source code, we use the comment character instead of a star:
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
120
 #+name: lisp-headings
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
121
 #+begin_src lisp
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
122
 ;;; foo
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
123
 (print "H1") ;; just an inline comment
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
124
 ;;;; bar
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
125
 (print "H2")
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
126
 ;;; baz
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
127
 (print "H1")
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
128
 #+end_src
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
129
 
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
130
 #+name: rust-headings
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
131
 #+begin_src rust
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
132
   /// foo
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
133
   println!("H1");
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
134
   //// bar
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
135
   println!("H2");
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
136
   /// baz
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
137
   println!("H1");
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
138
 #+end_src
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
139
 
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
140
 ** Outlines
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
141
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
142
 :ID:       7b4d3229-d85f-4464-b9d0-6beccb1f7b2e
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
143
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
144
 A collection of /headings/ is what we call an *Outline* - which is
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
145
 also the name of the major-mode utilized for this feature and of
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
146
 course - what Org itself is derived from.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
147
 ** Keywords
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
148
 :PROPERTIES:
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
149
 :ID: 2cadda9a-22a3-4b42-ad4e-d7a774f74cba
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
150
 :END:
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
151
 
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
152
 In Org, TODO keywords are used to key track of the state of a [[https://orgmode.org/manual/TODO-Items.html][TODO
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
153
 Item]].
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
154
 
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
155
 In ulang, they are used for this purpose and [[https://orgmode.org/manual/TODO-Extensions.html][extended]] to support a
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
156
 variety of stateful item types beyond just tasks - for example =NOTE=
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
157
 and =PROJECT=.
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
158
 
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
159
 The following keywords indicate the state of a heading element. They
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
160
 often appear as the first word in a heading.
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
161
 
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
162
 - TBD :: A task to be done at a later date.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
163
 - TODO :: A task yet to be done.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
164
 - FIXME :: Item that needs fixing.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
165
 - WIP :: Work In Progress task.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
166
 - WAIT :: A suspended task.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
167
 - DEAD :: Item that will not be completed.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
168
 - DONE :: Completed task.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
169
 - BUG :: Designate a bug item.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
170
 - IDEA :: Designate an idea item.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
171
 - NOTE :: Designates a note item.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
172
 - DRAFT :: Designates a draft item.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
173
 - COMMENT :: A 'commented' item.
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
174
 - PROJECT :: Designates a project item containing a sequence of tasks.
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
175
 
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
176
 #+begin_src org
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
177
   ,* PROJECT project
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
178
   ,** DONE foo
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
179
   ,** TODO bar
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
180
 #+end_src
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
181
 
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
182
 ** COMMENT Tasks
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
183
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
184
 :ID:       0f4c0afd-a774-4b98-900b-1ab44f9fd2ef
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
185
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
186
 Tasks as they are known in Org, usually consist of a heading that
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
187
 starts with a [[id:2cadda9a-22a3-4b42-ad4e-d7a774f74cba][Keyword]]. Here we describe some additional sections and
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
188
 metadata which are present in our collection of tasks.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
189
 
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
190
 Our task management system is roughly a hybrid of two more
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
191
 conventional methods: GTD and Agile. For convenience I will describe
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
192
 these styles and how I use them separately, but the concepts may be
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
193
 spliced differently in real tasks.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
194
 
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
195
 - *GTD* \\
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
196
 - *Agile* \\
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
197
   It's a dirty word in some tech circles - the dreaded PIs, daily
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
198
   standups, and still nobody knows what's going on, Oh my! Do not
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
199
   worry. For the most part we just borrow the vocabulary.
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
200
 
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
201
   Our /Agile/ workflow consists of roadmaps, features (epics/ARTs),
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
202
   issues (user stories), and of course, tasks.
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
203
 ** Properties
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
204
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
205
 :ID:       174a993b-a5dc-4324-b4f8-dda8101a55b7
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
206
 :END:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
207
 *** IDs
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
208
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
209
 :ID:       3944c851-e46c-4d75-b8f5-07b5c052177a
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
210
 :END:
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
211
 We reference two different types of identifiers in documentation:
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
212
 - UUID :: =ID= property
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
213
 - User-defined :: =CUSTOM_ID= property
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
214
 
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
215
 Most of the time these IDs don't add any information for the reader -
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
216
 the UUIDs are used to index and graph documents, CUSTOM_IDs are for
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
217
 convenience but are rarely necessary given the many ways of
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
218
 identifying a headline.
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
219
 ** Tags
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
220
 :PROPERTIES:
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
221
 :ID:       a7ae1b2a-559e-46e9-8cab-33e39a218288
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
222
 :END:
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
223
 [[https://orgmode.org/manual/Tags.html][Tags]] are used liberally throughout our documents. They are simple
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
224
 strings usually following a headline as a =:=-separated list.
0
e8da1c55dcbe init meta
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
225
 
1
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
226
 A tag can be any text without newlines, although it is recommended to
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
227
 treat them as unique identifiers and usage of whitespace is
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
228
 discouraged (but not disallowed).
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
229
 *** Tag Types
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
230
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
231
 :ID:       b686dbc5-3505-49d7-b66a-0772bcf1a726
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
232
 :END:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
233
 Tags may be prefixed with one of the following characters, indicating
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
234
 a special tag type:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
235
 - =@= :: location-tag \\
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
236
   A /location tag/ refers to some context-dependent named point in
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
237
   space, such as a user's home address, a popular fast food
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
238
   restaurant, or a specific room found in most houses.
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
239
   - =@home=, =@taco-bell=, =@bedroom=
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
240
 - =!= :: timestamp-tag \\
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
241
   /Timestamp tags/ refer to some point in time, often named for
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
242
   convenience. You may use literal [[https://orgmode.org/manual/Timestamps.html][Timestamps]] too. Timestamp tags
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
243
   should not /directly reference/ scheduling information, doing so is
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
244
   often a code-smell.
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
245
   - =!now=, =!christmas=, =!someday=
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
246
 - =#= :: anchor-tag \\
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
247
   An /anchor tag/ implies a link to the object identified by some [[id:3944c851-e46c-4d75-b8f5-07b5c052177a][ID]].
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
248
   - =#readme=, =#a7ae1b2a-559e-46e9-8cab-33e39a218288=, =#custom-id=
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
249
 *** Tag Lists
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
250
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
251
 :ID:       805862be-ba2b-4288-a2e3-791c0aa3802f
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
252
 :END:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
253
 ** Links
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
254
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
255
 :ID:       7ecaec5d-c656-44e1-8fad-185915655cee
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
256
 :END:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
257
 *** Link Types
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
258
 :PROPERTIES:
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
259
 :ID:       6aedc026-36d0-4763-adc8-8ae1a79f1b3e
Richard Westhaver <ellis@rwest.io>
parents: 0
diff changeset
260
 :END: