-
Notifications
You must be signed in to change notification settings - Fork 0
/
todo.txt
209 lines (168 loc) · 6.31 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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
-----
# Edition 3.1
+ fix malformed goto code example (nametag being indented)
+ lessen goto discouragement a bit and add an example where it's actually useful
(cleanup)
https://www.kernel.org/doc/html/v4.10/process/coding-style.html#centralized-exiting-of-functions
+ clang now complains about strict prototypes in 1/barebones
change code and see if the book needs adjustments because of that?
disable -Werror before it is mentioned in the book itself?
...wow, i updated clang and apparently it works now.
I only noticed this because various other snippets before 13 should have been
flagged too.
+ fix integer comparison of different signedness in good goto example
Guess which compiler didn't flag this before a recent update!
On the 22th March of 2024, Clang has officially won the gaslighting award...
i am actually still not sure if i am just bad.
+ switch: add reminder that you can only use numerical types in a switch
+ add `-fsanitize` to pointer chapter
Also update the copyright.
+ add how booleans are abstractions
+ add c99 array initialization
+ fix minor writing oddities like misplaced commas, typos, formulations
+ setup: recommend Linux Mint more and reflect that in the text editor part
Also replace weird running from USB bit with just using virtualization bit.
+ promote lazypurple reference to a straight quote
+ fix minor writing oddities like misplaced commas, typos, formulations
+ add bit shift to optional end topics? Nah too niche
(if so, say "Remember that i listed **all** the operators earlier in the
operators chapter? I lied again... oops. One could almost say that I cut some
uncomfortable truths to improve the learning experience.
Anyway, here are the missing operators...")
+ nit: maybe the whole schtick of
"types: ..., void is here but it's only useful later"
can be solved in a better way?
Eh whatever
+ set edition to 3.1
3rd edition
{
-memory, please: fix typo "work" -> "works" v
-comments: fix typo "print" -> "printf" v
-namespaces: improve wording of first sentence v
-fix makefile in types and variables v
-comments v
-improve wording for balance statement v
(end of page 27)
-add where comments are commonly used v
function documentation
file documentation
code segment doc
-add info about the possibility of them v
getting outdated
-add how to not write comments v
(keeping functions small, so that their name
unmistakably tells what the code does)
-rewrite in markdown, cus this sucks v
(syntax highlighter 2 changed and now
my code style is gone)
-types and variables: add better int overflow v
explanation
-types and variables: fix incorrect signed int v
explanation
This is CATASTROPHIC, how could this happen
to me!? Good thing my target audience has not
yet been fooled by my amateurish mistake.
-check this again just in case v
-compare to find differences v
-delete odt file v
-change code style to linux v
-formatting: set opinionated code style to gnu v
-make sure all compiles with v
`-Wall -Wextra -Werror`
-replace makefiles with just one v
-gitignore only code/target/* v
-relink code in md v
-rewrite sections that mention v
source code lines numbers
-remove typedefs as default from code v
(mind structures where its wanted)
-merge 19_faulty_string.h 19_correct_string.h v
(same)
-rename code '-' to '_' v
mind the filename references in debugging
-make sure header guards use correct symbols v
-rewrite chapter build routines v
-add link to git repo to mdbook settings? x
docs don't say how so fuck it
-formatting v
-examples: add fallthrough with comment v
and without comment on negative one
-add mention of linux and gnu code styles v
-optional topics: add excuse to skip v
-optional topics: undefined behavior: add v
fixed size ints
-typo check new chapters v
(input, fileio)
-integrate stdin (must be before fileio) v
-integrate fileio (must be after stdin) v
-code: add dir structure v
moving stuff around without it is pain
-optional topics: strings: add security v
-build routines move to after include v
-Makefiles: add headers to prerequisites v
(21 missing)
-optional end topics: linking to a library v
-optional end topics: single header files v
-optional end topics: const vs #define v
const pointers are bonkers
```
static const int *SCIP = &I;
SCIP = &psyche; // possible
```
-add as last chapter? file read and write v
-typo check 10, 24 v
-code/Makefile: add clean v
-typo check 10 and 24 again v
-review new parts in 10 and 24 v
-add links for chapter references v
-optional topics: add advanced scope rules v
-wip add example for extern v
-wip review v
-memory, please v
-the little song thingy v
The stdlib doesn't really give runtime
stability in the context of memory allocation.
The song implies this however.
Rephrase song or add "i lied lol. u use c,
there is no hope :P".
-html screws over my tabs, how can i v
md to pdf while preserving tabs
`pandoc -f markdown -t latex
-o book.tex src/setup.md`
`pdflatex book.tex`
They all don't work and
make things just more complicated.
How can i preserve my tabs?
DONT HAVE TABS SHITHEAD!
If god wanted my sanity to live
he would not have created HTML!
-relicense under ccsa v
-update license in readme.md v
-generate index x
-check pdf v
-remake cover v
-set edition to "3rd" v
}
{
-requirements add v_11-34_11-09-2022
"editor with syntax highlighting"
-syntax highlighting v_09-45_12-09-2022
-sort code v_10-38
-fancy cover page v_10-45
-add debugger to requirements v_11-00
-debugging v_15-54
(add before standards part)
-makefiles v_16-17
(add somewhat earlier)
-add make to requirements v_09-54_13-09-2022
and hammer home that this book is
for linux mainly
-mention code snippets that are v_10-02
shipped from now on
-rest of the makefiles v_21-48
-proofreading v_13-59_14-09-2022
-update index and v_14-03
make sure index didn't get bugged
-README.md v_14-08
-add code to release, 2nd edition v_14-12
}