-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtodo.txt
131 lines (108 loc) · 7.11 KB
/
todo.txt
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
2021-07-27 Expand on this HN comment I made to the effect that open standards
aren't guaranteed universal goods - there are risks like the KRACK attack, or
prematurely cementing decisions that cannot be reversed once the standard is
widely adopted. https://news.ycombinator.com/item?id=27958500
2020-07-31 Note that, per Steve Yegge's platforms rant, when trying to
bootstrap a software business, you should build products first. Once one is
making you a decent bit of money, you turn it into a platform, because "A
product is useless without a platform, or more precisely and accurately, a
platform-less product will always be replaced by an equivalent platform-ized
product."
2020-03-19 Explain that dependency declarations (e.g., lists of programs and
libraries to install) should live alongside the features that require them.
E.g., if you have installed libaspell15 to support spellchecking, the features
in the program that utilize spellchecking should be the ones that contain the
environment-building logic to install it and configure it as needed. This ties
to my slow-dawning realizations about literate programming, how programs should
be organized by feature (yes, with shared libraries in shared places), and that
specifications and docs are different aspects of the same thing and should be
woven together from many small fragments. See commit message that added this
item for more thoughts.
2022-03-11 Add an article on logging and make note of a few things logs should
do (preserve original error messages, preserve requests to external services
[always at debug level but at error level in event of error], preserve error
responses from third-party services, include data that triggered error when
possible, translate expected errors and failures into the domain's language
[e.g. a "no access permitted" error from Play Store API for a client app means
"Service must be granted access by $client"])
2022-03-11 Write down my notes about ideal meeting technique. These were in a
Signal conversation but with my S7's death are probably lost. Core of it was
that meetings are about choosing courses of action as a team (other than
1-on-1s), which leads to the following conclusions: 1) no one has to attend a
meeting that doesn't have an attached agenda (list of decisions to be made,
with meeting sponsor's recommendation as to what decisions they would choose)
and background document (summary of info relevant to questions), 2) anyone
whose invite doesn't explain why they're needed is free to ignore the meeting,
3) first action in a meeting is reading the background document and agenda
(helps ensure everyone has some clue what's going on, and may be skipped if
*everyone* has read the document - social pressure should get people reading
them in advance), 5) if the meeting is getting bogged down in explanation of
background context to someone who seems to not understand the meeting's
context, anyone present is allowed to bail 6) every meeting must have at least
one fully-formed adult present [prolly not formalizable as a requirement, this
is more a hiring guideline and piece of pragmatic advice than anything], 7)
meeting organizer can just choose to reschedule at any time (similar to other
people getting to bail)
2020-03-09 Explain dealing with third-party dependencies, including "always
subscribe to/monitor all news/update channels they provide", as it's a mistake
to depend on them to warn you about changes that will impact you. This lesson
brought to you by the Google Play v2 purchase verification API shutdown, where
they never sent an email notification to work's developer account and our
workflows meant we happened to never see the dashboard notifications
[presumably our clients never did either, or at least didn't bother to tell
us], and also by the Apple UIWebView deprecation, where they didn't establish a
cutoff date for a year, but when they did we saw nothing about it for two
months after it was announced (because, again, they sent us nothing about it
specifically and we didn't happen to upload new apps for a while after the
announcement happened). Mildly striking coincidence that both of those happened
so close to each other.
2019-12-03 Cut apart the insights from drafts/triage-conversation-with-bob.txt
and put them where they go.
2020-03-09 Share realization that unit tests are a great fit for writing pure
functions.
2020-05-18 Steph pointed out rightly that the data preservation essay doesn't
explicitly acknowledge that human intervention can make digital storage capable
of archival work. It's still not a viable medium for long-term
unattended storage and future civilizations, but I do need to make it clearer
that which you choose for a job is a question of goals and tradeoffs, not a
clear-cut "one is always superior".
2016-02-26 Store nginx config to prevent invalid caching in repository. This is
currently an issue in prod.
2015-12-30 Add an RSS feed generated from commit logs, so people who are
interested in ongoing updates can subscribe.
2013-02-28 An overall article "Why" might be a good plan. I could expand on my
minimalist summary of why I write software from my website.
2015-12-30 How to make an effective team would be a good article. Summarize
what I explained to Melanie the other day.
2015-12-30 An article on backups, and how they're not actually backups unless a
human signs off on the verification process.
2013-02-28 An article on indentation (category 'formatting') would be good. Why
it matters, why use spaces, why nesting level matters (and thus why to wrap at
80 chars), and why above all formatting should be automated by the project
tooling.
2013-11-12 The "Fail Gracefully" article needs to explain what is meant by
failing gracefully. Running it past Stephanie as a test made it clear that it
is not clear.
2013-03-13 Based on a conversation with Jim... A commit should do at least one
of two things: 1) improve the project's UI, or 2) make the programmers' lives
easier.
2013-03-14 Inspired by the above, I should probably do a set of articles on
version control. Why I need it, what it's for, what I use and how I use it.
2013-03-27 It might be madness, but when signing a user up for a
timezone-sensitive app, we can probably use JS to default the selected timezone
to something near them.
2013-03-27 Reconcile my approach to validation with translation and value/field
label substitutions for error messages. Remember that 'required' is not a
validation.
2013-03-27 Explain why interfaces should only publicize things that *have* to
be publicized. design, code as UI.
2014-01-11 Split the code review article into two articles. One goes in meta,
about human reliability (we always make mistakes), and serves as a touchstone
for that idea in this website (probably the "Fail Gracefully" article). The
other is actually a workflow article, on how to do code review.
2014-01-11 Consider extracting the comment on "usability testing" from the code
review article to its own article. Tricky because I have so little experience
of actual usability testing. That might be related to part of the hypotheticals
rant.
2015-05-13 Explain POCs, prototypes, and production code - what they are and
when each one is called for. Not sure what article this belongs in.