1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
# Tasks
## DONE Add $HOME and $XDG_DATA_HOME sh test {#task-9291a8c1-4ac3-409d-b490-872b29a719cc}
- DONE in 2021-03-06
Done in
[`5d999a92d6e86fd18c9bcd459e4ebf4fb356bfd5`](https://git.euandreh.xyz/remembering/commit/?id=5d999a92d6e86fd18c9bcd459e4ebf4fb356bfd5).
- TODO in 2021-03-03
## CANCELLED Rename PROFILE for LABEL? {#task-e3153cfb-b77a-4528-afa0-43b90f267d3d}
- CANCELLED in 2021-03-06
Nope.
"Profile" is descriptive enough, and, more importantly, it doesn't break anything.
- TODO in 2021-01-31
---
I feel a more descriptive name could be given.
Current candidates are:
- tag
- label
- name
## TODO Make `test_really_long_list` runnable {#task-c1129666-b373-4b9d-8e10-927689048b05}
- TODO in 2021-01-31
## CANCELLED Improve speed even further {#task-05c7f068-e935-457f-89ea-1f38227e7779}
- CANCELLED in 2021-03-06
[#task-c1129666-b373-4b9d-8e10-927689048b05](#task-c1129666-b373-4b9d-8e10-927689048b05) supersedes this.
And even better: it has runnable code that can be executed for verifying the performance improvement.
- TODO in 2021-01-29
---
Handle 10k+ lists with ease.
## CANCELLED Add completion script {#task-daa4a3e7-bcb4-4fe1-a0df-e73c7d17e43c}
- CANCELLED in 2021-03-06
Since there are only 2 relevant options (`-p` and `-c`) and descriptive manpages, the cost/benefit for adding code for handling completion isn't worth it.
Worse is better.
- TODO in 2021-01-29
---
How to support multiple shells without duplicating the code?
The major one is Bash, but also consider zsh and fish. Also tcsh and oilsh.
## DONE Is tac POSIX {#task-98478c0f-97ac-4667-acdc-9373e2841de9}
- DONE in 2021-01-26
- TODO in 2021-01-26
---
If it isn't, what to replace it with?
With [sed](https://unix.stackexchange.com/questions/280685/reverse-sequence-of-a-file-with-posix-tools/280686#comment601716_280686).
## DONE Add CHANGELOG.md for 0.1.0 {#task-f4258dc4-22aa-408d-a0b1-953f654e0623}
- DONE in 2021-01-26
- TODO in 2021-01-24
## CANCELLED How to preserve to sort order from STDIN {#task-b2c26218-5f21-4efd-afbd-ff6af57a358a}
- CANCELLED in 2021-01-24
Don't preserve.
The "blank" order, when remembering doesn't have any date on the input (usually a new profile), is to sort the input data, and it should be this way.
Otherwise the sort order that comes from STDIN would have to be included when showing ranked results, and use the STDIN order as a tie breaker.
Not only this would make the code much more complex, but also understanding the behaviour of the program harder.
- TODO in 2021-01-24
---
Keeping the sort order from STDIN, I would have to find a way to
merge STDIN with the existing profile.
## DONE Make sure to forward status code given by the provided command {#task-47589312-0a4d-46ac-9f13-45309471efeb}
- DONE in 2021-01-24
Done in commit
[6f5e467c6bb3f0369e4220be20ab1461cd9334ce](https://git.euandreh.xyz/remembering/commit/?id=6f5e467c6bb3f0369e4220be20ab1461cd9334ce).
- TODO in 2021-01-21
## CANCELLED Exclude ponctuation from troff markup {#task-03d0e24c-4baf-404f-ac8a-f8d972ec622e}
- CANCELLED in 2021-01-04
Changed in commit
[6748830b5944211104061c6af15612ec270ab5a1](https://git.euandreh.xyz/remembering/commit/?id=6748830b5944211104061c6af15612ec270ab5a1).
- TODO in 2021-01-21
---
Things like:
```troff
A phrase with the last word
.B bold.
```
The final period is marked as bold, too.
## DONE Add `-h` and `--help` flags {#task-8593b78a-a5ac-4b6c-b9cf-74c021d4a8e5}
- DONE in 2021-01-24
Done in commit
[b0f64583bf02f84cadcfad9b610d9c02ec6c4ec2](https://git.euandreh.xyz/remembering/commit/?id=b0f64583bf02f84cadcfad9b610d9c02ec6c4ec2).
- TODO in 2021-01-21
## DONE Optimize for large lists {#task-fec292ff-b9de-4d6c-b156-a9adc4771f35}
- DONE in 2021-01-26
Instead of using `while read VAR < $FILE`, and looping through each record,
the `$MERGED` and `$FILTERED` files are built differently.
Building the `$MERGED` file exploits the fact that `sort -u -k2,2` picks the first
entry it sees, regardless of what is in column 1, or other columns. With that,
we feed the reversed (with `tac`) list to it, and `$MERGED` is built in a single
pass of sort.
Building the `$FILTERED` file is now done with a simple AWK script, that performs much
better that a `while read VAR < $FILE` loop.
Done in commit
[000b74b1140f2ac41cb5d00a9070db735abdc9c4](https://git.euandreh.xyz/remembering/commit/?id=000b74b1140f2ac41cb5d00a9070db735abdc9c4).
- TODO in 2021-01-21
## DONE Add tests {#task-146fab37-e53b-489e-95d0-3fcdd4c3eaef}
- DONE in 2021-01-24
Finished in commit
[ee6bc4f2ce6da48f25a29931a178159e5801b5d9](https://git.euandreh.xyz/remembering/commit/?id=ee6bc4f2ce6da48f25a29931a178159e5801b5d9).
- TODO in 2021-01-21
---
On plain POSIX sh.
# Bugs
# Improvements
# Questions
# Resources
# Scratch
|