summaryrefslogtreecommitdiff
path: root/doc/context/presentations/context/2019/context-2019-lmtx.tex
blob: 62dd915adac0816935820634e1b805bfb3285102 (plain)
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
% macros=mkvi

\usemodule[abbreviations-smallcaps]
\usemodule[present-luatex]

\logo [LUAMETATEX] {LuaMeta\TeX}

\setupbodyfont[12pt]

\setupalign[verytolerant]

\setupdocument
  [title={Lean and mean},
   subtitle={\LUAMETATEX},
   location={\ConTeXt\ meeting, September 2019},
   author={Hans & Alan},
   mp:title={\LUAMETATEX}]

\startdocument

\setupitemize[headintext]
\setupitemize[headstyle=bold]

\page \setupdocument[mp:subtitle={How it became}]

\startitemize
    \starthead {interferences:}
        \CONTEXT, plain \TEX\ and \LATEX\ all have different demands (we want to
        experiment and move on and users pick up fast)
    \stophead
    \starthead {complexity:}
        the source tree is way too complex as is the build (we only need \LUATEX)
    \stophead
    \starthead {distributions:}
        no one can guarantee stability for \CONTEXT\ (being a minor player but
        often a bit ahead)
    \stophead
    \starthead {annoyances:}
        experimental codes leads to usage outside \CONTEXT\ and that triggers
        complaints
    \stophead
    \starthead {motivation:}
        running into folks who love to stress \quotation {huge bugs} and
        \quotation {much instability} wastes energy
    \stophead
    \starthead {arguments:}
        I got tired of \quotation {you need to support this because \unknown}
        blabla
    \stophead
    \starthead {nagging:}
        like \quotation {the manual \unknown} is becoming too tiresome, so best
        keep experiments within the \CONTEXT\ bubble
    \stophead
\stopitemize

\page \setupdocument[mp:subtitle={What it is}]

\startitemize
    \starthead {simplification:}
        we don't need all what is currently in the \LUATEX\ engine as we don't
        use it
    \stophead
    \starthead {source:}
        there is much less of it and we can get rid of \WEB\ artifacts
    \stophead
    \starthead {compilation:}
        there was much more going on than was needed and only a few knew those
        details
    \stophead
    \starthead {consistency:}
        to guarantee consistency with \CONTEXT\ the source code will be part of
        the source distribution (once I'm satisfied)
    \stophead
    \starthead {marketing:}
        this way the relation with \CONTEXT\ and its user base is more clear
    \stophead
    \starthead {playground:}
        we can move forward and experiment without the danger of running into
        problems with non \CONTEXT\ users: \quotation {use it at your own risk}
    \stophead
    \starthead {possibilities:}
        playing a bit more with the bits and pieces that are reponsible for most
        (interfering) issues, like the the (asynchronous) page builder
    \stophead
\stopitemize

\page \setupdocument[mp:subtitle={Implications}]

\startitemize
    \starthead {binary:}
        there is only one relatively small binary needed (that does all things
        needed)
    \stophead
    \starthead {code base:}
        there comes an extra source tree, but it's small (compresses to around 2
        MB)
    \stophead
    \starthead {user control:}
        if needed users can compile the program so we're self contained
    \stophead
    \starthead {future safe:}
        we can move forward and improve
    \stophead
    \starthead {modern:}
        a code base with the latest \LUATEX, \MPLIB\ and \LUA
    \stopitem
    \starthead {side effect:}
        we drop \LUAJIT\ as it doesn't keep up (and benefits are too small)
    \stophead
    \starthead {design:}
        we have a better separation between the Knuthian front- and output format
        driven backend
    \stophead
    \starthead {independent:}
        there is no dependency on external libraries, we keep all we need in the
        code base (we only use a few small third party libraries)
    \stophead
\stopitemize

\page \setupdocument[mp:subtitle={A few notes}]

\startitemize
    \starthead {hobyism}
        we don't need to carry the burden of everything (unless paid for it's
        only fun and users that drives development)
    \stophead
    \starthead {convenience:}
        the faster compilation makes reworking and experimenting reasonable
    \stophead
    \starthead {stepwise:}
        I take my time an do string stepswise because things should not break
        without fast recovery
    \stophead
    \starthead {feelgood:}
        this all fits well into the good old \TEX\ extension model
    \stophead
    \starthead {eventually:}
        when proven useful we can always push code upstream into \LUATEX
    \stophead
\stopitemize

\page \setupdocument[mp:subtitle={Bits and pieces}]

\startitemize
    \starthead {original:}
        the starting point is \LUATEX, original \WEB\ code, already \CWEB\ code
    \stophead
    \starthead {stability:}
        after a initial stage \LUATEX\ was stepwise extended till version one
        a few years ago
    \stophead
    \starthead {frozen:}
        there were only a few changes after that but no real conceptual ones
    \stophead
    \starthead {engine:}
        what is now called \LUAMETATEX\ is a reworked code base
    \stophead
    \starthead {graphics:}
        also \MPLIB\ has been reworked a bit and some extensions were added
    \stophead
    \starthead {libraries:}
        there are a few extra (small) helper libs, but all in the source tree
    \stophead
    \starthead {pplib:}
        we already use the next version of pplib
    \stophead
    \starthead {pruning:}
        and best of all, quite some not used code could go
    \stophead
\stopitemize

\page \setupdocument[mp:subtitle={Some details}]

\startitemize
    \starthead {source tree:}
        the code base has been regrouped, globals became more local (work in
        progress), header files were added
    \stophead
    \starthead {source files:}
        there is hardly any font related code, languages were kept, and the
        backend code is dropped: show files
    \stophead
    \starthead {libraries:}
        a few libs were added and dropped: show some
    \stophead
    \starthead {cmake:}
        compilation is different: work in progress
    \stophead
    \starthead {mkxl:}
        there are new files in \CONTEXT: \type {driv}, \type {lpdf}, \type {.mkxl}
        and expect more
    \stophead
    \starthead {binary:}
        there is only one stub for all
    \stophead
\stopitemize

{\infofont during presentation: show the source tree as well as the binary directory}

\stopdocument