From 5f6a7c6790baa7e524de5b5bf71a29ea757378f6 Mon Sep 17 00:00:00 2001
From: Hans Hagen <pragma@wxs.nl>
Date: Sun, 12 May 2019 19:57:39 +0200
Subject: 2019-05-12 19:16:00

---
 .../bachotex/2019/bachotex-2019-followingup.tex    | 302 +++++++++++++++++++++
 1 file changed, 302 insertions(+)
 create mode 100644 doc/context/presentations/bachotex/2019/bachotex-2019-followingup.tex

(limited to 'doc/context/presentations/bachotex/2019/bachotex-2019-followingup.tex')

diff --git a/doc/context/presentations/bachotex/2019/bachotex-2019-followingup.tex b/doc/context/presentations/bachotex/2019/bachotex-2019-followingup.tex
new file mode 100644
index 000000000..b7c116ab3
--- /dev/null
+++ b/doc/context/presentations/bachotex/2019/bachotex-2019-followingup.tex
@@ -0,0 +1,302 @@
+% language=uk
+
+\usemodule[abbreviations-smallcaps]
+\usemodule[present-luatex]
+
+\logo [LUAMETATEX] {LuaMeta\TeX}
+
+\setupbodyfont[12pt]
+
+\setupalign[verytolerant]
+
+\setupdocument
+  [title={The follow up},
+   subtitle={\LUAMETATEX},
+   location={Bacho\TeX\ May 2019},
+   author={Hans & Alan},
+   mp:title={\LUAMETATEX}]
+
+\startdocument
+
+\page \setupdocument[mp:subtitle={From lead to gold}]
+
+\startitemize
+    \startitem
+        This talk is {\bf not} about how we can use \LUATEX\ to control domotica
+        applications. We already discussed that.
+    \stopitem
+    \startitem
+        This talk is {\bf not} about how we can use \CONTEXT\ in advanced
+        rendering, for instance as part of web|-|based workflows. That's old
+        news.
+    \stopitem
+    \startitem
+        This talk is {\bf not} about how much fun it would be to have a
+        \MICROSOFT\ HoloLens and see what \CONTEXT\ and \LUATEX\ could do with
+        it. We just can't afford it.
+    \stopitem
+    \startitem
+        This talk is {\bf not} about more complexity, but it is about keeping
+        things simple. It's about turning a burden into a pleasure.
+    \stopitem
+    \startitem
+        To quote the Riverside \footnote {A Polish progrock band I recently saw
+        live in the Netherlands. A band related to Lunatic Soul.} frontman: I
+        hope you all leave here a bit younger than you felt when you came here.
+        This talk is about turning lead into gold.
+    \stopitem
+\stopitemize
+
+\page \setupdocument[mp:subtitle={Where do we stand}]
+
+\startitemize
+    \startitem
+        We have the weight and experience of about 40 years of \TEX\ and its
+        usage on our shoulders.
+    \stopitem
+    \startitem
+        Good old \TEX\ got extended: \ETEX, \OMEGA\ (\ALEPH), \PDFTEX, \XETEX,
+        [e][u][p]\TEX\ and \LUATEX\ (& \LUAJITTEX) showed up.
+    \stopitem
+    \startitem
+        The \DVI\ output got complemented by \PDF.
+    \stopitem
+    \startitem
+        Bitmap fonts were replaced by \TYPEONE\ that itself got replaced by the
+        container formats \OPENTYPE\ and \TRUETYPE. Variable fonts were
+        introduced.
+    \stopitem
+    \startitem
+        Math got upgraded to \OPENTYPE\ math, thanks to \MICROSOFT.
+    \stopitem
+    \startitem
+        \UNICODE\ got accepted and \UTF\ is nowadays the preferred input
+        encoding.
+    \stopitem
+    \startitem
+        The community supported the development of many fonts that found their
+        place in distributions.
+    \stopitem
+    \startitem
+        Alongside plain \TEX\ the macro packages \LATEX\ and \CONTEXT\ both
+        evolved into large collections of resources.
+    \stopitem
+\stopitemize
+
+\page \setupdocument[mp:subtitle={Are we good?}]
+
+\startitemize
+    \startitem
+        There is no doubt that \TEX\ is a success. We can find nice examples but
+        also some   horrible looking documents.
+    \stopitem
+    \startitem
+        A large distribution is no guarantee for quality and continuous success,
+        nor is the number of incidental (forced) users.
+    \stopitem
+    \startitem
+        A \CONTEXT\ user doesn't need that much: just the \LUATEX\ binary will
+        do, plus a bunch of \MKIV\ macros, completed by a reasonable set of
+        fonts.
+    \stopitem
+    \startitem
+        Currently all that is embedded in a large ecosystem, although we always
+        use only a small, reasonable subset.
+    \stopitem
+    \startitem
+        Getting the whole machinery up and running from scratch (source code) is
+        not trivial.
+    \stopitem
+    \startitem
+        The source code base is rather large and compilation is complex: it builds on
+        decades of being nice for all platforms and fulfilling all demands.
+    \stopitem
+    \startitem
+        What we consider gold could also be seen as lead in disguise. Some
+        alchemy might be needed to go back to where we came from.
+    \stopitem
+\stopitemize
+
+\page \setupdocument[mp:subtitle={The Status Quo}]
+
+\startitemize
+    \startitem
+        At some point you need to stabilize and for \LUATEX, version 1.10 is that
+        moment.
+    \stopitem
+    \startitem
+        But some ideas and experiments have been delayed because the engine was
+        already in use, also outside of \CONTEXT.
+    \stopitem
+    \startitem
+        Compatibility is a {\bf big} issue in the \TEX\ community (which is good)
+        so we're in a sort of a deadlock (which is bad).
+    \stopitem
+    \startitem
+        And we wanted to take a next step in \CONTEXT\ development. It's not
+        strictly necessary to make drastic changes, but we need to adapt.
+    \stopitem
+    \startitem
+        The question is how we can guarantee users a long|-|term stability of
+        the both macro package as well as the engine it runs on.
+    \stopitem
+\stopitemize
+
+\page \setupdocument[mp:subtitle={What Is Needed}]
+
+\startitemize
+    \startitem
+        For \CONTEXT\ we want just one binary. We don't really need \LUAJITTEX\
+        for \LUAJIT\ is not following \LUA\ anyway.
+    \stopitem
+    \startitem
+        We don't want (for windows) a special stub binary. After all we already
+        have the \type {context} job manager and \type {mtxrun} script manager.
+        All platforms should be treated alike.
+    \stopitem
+    \startitem
+        Performance should be stable and not influenced by code added to the
+        binary. In fact, performance should constantly improve!
+    \stopitem
+    \startitem
+        The engine should not depend on libraries that are floating, get updated
+        frequently, and can come from places out of our control (versions).
+    \stopitem
+    \startitem
+        The memory footprint should be acceptable for running in containers (or
+        small virtual machines). Energy consumption matters too.
+    \stopitem
+    \startitem
+        The binary should be kept small because it also serves as the \LUA\
+        interpreter.
+    \stopitem
+\stopitemize
+
+\page \setupdocument[mp:subtitle={How It Went}]
+
+\startitemize
+    \startitem
+        Around the \CONTEXT\ meeting I took \LUATEX\ 1.09.0 experimental as
+        starting point and began stripping.
+    \stopitem
+    \startitem
+        Before that, I already had written some test code to see what could be
+        replaced.
+    \stopitem
+    \startitem
+        Stepwise redundant components were removed. This took time because each
+        (small) step was tested on real documents, the test suite, etc.
+    \stopitem
+    \blank[2*big]
+    \startitem
+        \unknown\ maybe some examples & \type {/install-lmtx/*} \unknown
+    \stopitem
+    \blank[2*big]
+    \startitem
+        I played with some ideas that were put on hold, some were accepted and
+        some were rejected and more and more got in the mood.
+    \stopitem
+    \startitem
+        Also \LUAJIT\ was dropped, but its removal was compensated by large
+        performance boosts in other areas.
+    \stopitem
+    \startitem
+        The build was simplified (it took some time to find what was irrelevant)
+        and compilation now is about half a minute, or less!
+    \stopitem
+\stopitemize
+
+% we found out the hard way in the past (generalizing, other use, backfire)
+
+\page \setupdocument[mp:subtitle={Where are we}]
+
+\startitemize
+    \startitem
+        We have an experimental new installer for \CONTEXT\ \LMTX\ (the new
+        name). It uses \HTTP: and just the engine for fetching data. Updating
+        goes fast.
+    \stopitem
+    \startitem
+        The \LMTX\ distribution is \MKIV\ only and much smaller than the full
+        installation.
+    \stopitem
+    \startitem
+        Eventually (soon) the source code of the used engine will be in the
+        distribution so that we have a self contained package. Users on
+        new or unique systems can compile.
+    \stopitem
+    \startitem
+        The development of the engine is under control of the \CONTEXT\
+        developers: that way there is no danger that things break. We like to
+        have a playground.
+    \stopitem
+    \startitem
+        Extensions can make it into \LUATEX\ once found useful and stable as
+        long as they don't break \LUATEX\ upward compatibility (unlikely on the
+        short term).
+    \stopitem
+\stopitemize
+
+\page \setupdocument[mp:subtitle={Some highlights}]
+
+\startitemize
+    \startitem
+        There is no backend code. We generate the \PDF\ output in \LUA\ (this was
+        already the case for much of it.)
+    \stopitem
+    \startitem
+        There is no bitmap image inclusion code present. All is done in \LUA.
+    \stopitem
+    \startitem
+        There is no font loading code present. This already happened mostly in
+        \LUA\ anyway.
+    \stopitem
+    \startitem
+        Some libraries have been removed and some have been simplified. A few
+        experimental helper libraries were added (like math). The dependencies
+        are minimal.
+    \stopitem
+    \startitem
+        The code is undergoing some restructuring but it might take some years
+        before I've reached the (informal) goals.
+    \stopitem
+    \startitem
+        Alan and I are exploring new possibilities that this setup gives
+        (especially in combining \TEX, \METAPOST\ and \LUA. Stay tuned.
+    \stopitem
+\stopitemize
+
+\page \setupdocument[mp:subtitle={The agenda}]
+
+\startitemize
+    \startitem
+        As of April 1, 2019, users can test the experimental distribution. A few
+        were already in the loop.
+    \stopitem
+    \startitem
+        It looks like there are no big issues, and speed gains can be impressive.
+    \stopitem
+    \startitem
+        As a consequence we can start dropping in replacement code in regular \MKIV\
+        some day soon too.
+    \stopitem
+    \startitem
+        Around the next \CONTEXT\ meeting the source code will become part of the
+        regular distribution (given that I'm satisfied with it).
+    \stopitem
+    \startitem
+        Before that we hope to have the compile farm up and running for \LUAMETATEX.
+    \stopitem
+    \startitem
+        From that moment on, the \CONTEXT\ users will have a self contained, archival,
+        independent, lean and mean installation available, which will become the
+        default.
+    \stopitem
+    \startitem
+        Because \LUAMETATEX\ is a subset of \LUATEX, there are no plans right now
+        for supporting plain \TEX. We'll see. (I might come up with generic
+        backend code some day.)
+    \stopitem
+\stopitemize
+
+\stopdocument
-- 
cgit v1.2.3

