summaryrefslogtreecommitdiff
path: root/doc/context/presentations/context
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2016-10-25 10:54:32 +0200
committerContext Git Mirror Bot <phg42.2a@gmail.com>2016-10-25 10:54:32 +0200
commitf0bc9c17c5298a3a4645f28a39273f52c27c646a (patch)
tree89360fdd95a8e80462c740a3d6c0ae379c22bc63 /doc/context/presentations/context
parentf46e5a9b112dd6c1601fd1734b03064b4336a262 (diff)
downloadcontext-f0bc9c17c5298a3a4645f28a39273f52c27c646a.tar.gz
2016-10-25 10:03:00
Diffstat (limited to 'doc/context/presentations/context')
-rw-r--r--doc/context/presentations/context/2011/context-2011-ebook-export.pdfbin0 -> 28897 bytes
-rw-r--r--doc/context/presentations/context/2011/context-2011-ebook-export.tex94
-rw-r--r--doc/context/presentations/context/2011/context-2011-mathml-update.pdfbin0 -> 23283 bytes
-rw-r--r--doc/context/presentations/context/2011/context-2011-mathml-update.tex67
-rw-r--r--doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.pdfbin0 -> 27010 bytes
-rw-r--r--doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.tex104
-rw-r--r--doc/context/presentations/context/2011/context-2011-sorting-registers.pdfbin0 -> 36234 bytes
-rw-r--r--doc/context/presentations/context/2011/context-2011-sorting-registers.tex161
-rw-r--r--doc/context/presentations/context/2012/context-2012-after-the-cleanup.pdfbin0 -> 44728 bytes
-rw-r--r--doc/context/presentations/context/2012/context-2012-after-the-cleanup.tex162
-rw-r--r--doc/context/presentations/context/2012/context-2012-lexing-sources.pdfbin0 -> 41024 bytes
-rw-r--r--doc/context/presentations/context/2012/context-2012-lexing-sources.tex81
-rw-r--r--doc/context/presentations/context/2012/context-2012-mixed-columns.pdfbin0 -> 37833 bytes
-rw-r--r--doc/context/presentations/context/2012/context-2012-mixed-columns.tex79
-rw-r--r--doc/context/presentations/context/2012/context-2012-the-script.pdfbin0 -> 63646 bytes
-rw-r--r--doc/context/presentations/context/2012/context-2012-the-script.tex453
-rw-r--r--doc/context/presentations/context/2012/context-2012-visual-debugging.pdfbin0 -> 72039 bytes
-rw-r--r--doc/context/presentations/context/2012/context-2012-visual-debugging.tex296
-rw-r--r--doc/context/presentations/context/2012/context-2012-xml-news.pdfbin0 -> 49133 bytes
-rw-r--r--doc/context/presentations/context/2012/context-2012-xml-news.tex131
-rw-r--r--doc/context/presentations/context/2013/context-2013-math.pdfbin0 -> 51849 bytes
-rw-r--r--doc/context/presentations/context/2013/context-2013-math.tex244
-rw-r--r--doc/context/presentations/context/2013/context-2013-speed.pdfbin0 -> 33773 bytes
-rw-r--r--doc/context/presentations/context/2013/context-2013-speed.tex108
-rw-r--r--doc/context/presentations/context/2015/context-2015-status.pdfbin0 -> 90938 bytes
-rw-r--r--doc/context/presentations/context/2015/context-2015-status.tex87
-rw-r--r--doc/context/presentations/context/2016/context-2016-luatex.pdfbin0 -> 90097 bytes
-rw-r--r--doc/context/presentations/context/2016/context-2016-luatex.tex242
28 files changed, 2309 insertions, 0 deletions
diff --git a/doc/context/presentations/context/2011/context-2011-ebook-export.pdf b/doc/context/presentations/context/2011/context-2011-ebook-export.pdf
new file mode 100644
index 000000000..327a25bd3
--- /dev/null
+++ b/doc/context/presentations/context/2011/context-2011-ebook-export.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2011/context-2011-ebook-export.tex b/doc/context/presentations/context/2011/context-2011-ebook-export.tex
new file mode 100644
index 000000000..dfa050ae4
--- /dev/null
+++ b/doc/context/presentations/context/2011/context-2011-ebook-export.tex
@@ -0,0 +1,94 @@
+% \enablemode[print]
+
+\usemodule[present-overlap,abr-02]
+
+\startdocument
+ [title=e-books,
+ subtitle=old wine in new bottles,
+ location=\ConTeXt\ Meeting 2011]
+
+\Topic{Some observations}
+
+\StartSteps
+\startitemize
+\item Most ebooks are just books (or try to be). \FlushStep
+\item Only a small portion has (or needs) design. \FlushStep
+\item To what extent appreciation matters is hard to measure. \FlushStep
+\item Vendor locking is spoiling much. \FlushStep
+\item 10 years of low res screens have made readers tolerant. \FlushStep
+\item Publishers already lost the edge. \FlushStep
+\item Eventually authors will publish themselves. \FlushStep
+\stopitemize
+\StopSteps
+
+% Does quality matter (just look around you)
+% Does livetime matter (much tolerance for potentially crappy old stuff anyway)
+% Does timebound look and feel matter (it helps to put into perspective)
+
+\Topic{What is an ebook}
+
+\StartSteps
+\startitemize
+\item Nicest is it being a \PDF\ (some design). \FlushStep
+\item Easiest is it being an \XHTML\ file (with some \CSS). \FlushStep
+\item Pointless it is being a frozen app. \FlushStep
+\item We can already provide a \PDF\ for paper and screen for quite a while. \FlushStep
+\item We can consider providing an \XHTML\ alongside as reflowable variant. \FlushStep
+\item Who knows what we can provide in the future. \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{The starting point}
+
+\StartSteps
+\startitemize
+\item No output is better than the input. \FlushStep
+\item Fixing bad coding is a waste of energy. \FlushStep
+\item Not that many publishers want to invest in coding. \FlushStep
+\item Not that many tools enforce structure. \FlushStep
+\item The real good devices still have to come but we can be ready for it. \FlushStep
+\item The intelligence has to be in the macro package, not in the engine. \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Implementation}
+
+\StartSteps
+\startitemize
+\item Some users have to produce tagged pdf (to satisfy validators). \FlushStep
+\item It helps that many commands in \CONTEXT\ are built upon a relatively small generic set. \FlushStep
+\item So, given some basic structure, supporting tags is easy. \FlushStep
+\item It integrates in the core. \FlushStep
+\item And as a side effect an export was equally easy to support. \FlushStep
+\item The overhead is not that large (upto 10\%). \FlushStep
+\item Instead of going for freaky solutions (no need for challenges) we assume proper structure. \FlushStep
+\item It's not to hard to extend the current features. \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Consequence for users}
+
+\StartSteps
+\startitemize
+\item Use \type{\startchapter} cum suis, but that was already the \MKIV\ fashion. \FlushStep
+\item Preferable use \type{\startitem} instead of \type {\item}. \FlushStep
+\item Playing safe means tagging paragraphs with \type {\startparagraph}. \FlushStep
+\item Use style environments instead of font switches. \FlushStep
+\item Just use whatever structural markup that \CONTEXT\ already provides for ages. \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{An example}
+
+\StartSteps
+\startitemize
+\item A normal input with \TEX\ commands (cld-mkiv.tex) \FlushStep
+\item Regular (tagged) output (cld-mkiv.pdf) \FlushStep
+\item Structured output (cld-mkiv.xml) \FlushStep
+\item Reflowable output (cld-mkiv-export.xhtml) \FlushStep
+\item Dynamic styling (cld-mkiv-export.css) \FlushStep
+\item Basic template (cld-mkiv-export.template) \FlushStep
+\stopitemize
+\StopSteps
+
+\stopdocument
diff --git a/doc/context/presentations/context/2011/context-2011-mathml-update.pdf b/doc/context/presentations/context/2011/context-2011-mathml-update.pdf
new file mode 100644
index 000000000..b6f00d904
--- /dev/null
+++ b/doc/context/presentations/context/2011/context-2011-mathml-update.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2011/context-2011-mathml-update.tex b/doc/context/presentations/context/2011/context-2011-mathml-update.tex
new file mode 100644
index 000000000..fb18ef36a
--- /dev/null
+++ b/doc/context/presentations/context/2011/context-2011-mathml-update.tex
@@ -0,0 +1,67 @@
+\usemodule[present-overlap,abr-02]
+
+\startdocument
+ [title=MathML,
+ subtitle=or math in general,
+ location=\ConTeXt\ Meeting 2011]
+
+\Topic{Some developments}
+
+\StartSteps
+\startitemize
+\startitem \MATHML\ started as an interchange format on the one hand (content) \stopitem \FlushStep
+\startitem but also provides a rendering variant (presentation) \stopitem \FlushStep
+\startitem and in the meantime has been merged with what is called open math \stopitem \FlushStep
+\startitem we now have \MATHML\ 3 and \CONTEXT\ has been updated a while ago to support this \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Some history}
+
+\StartSteps
+\startitemize
+\startitem we supported \MATHML\ right from the start \stopitem \FlushStep
+\startitem in \MKII\ quite some data juggling takes place because we need to do some analysis \stopitem \FlushStep
+\startitem the \MKII\ code has been upgraded a few times but is now frozen \stopitem \FlushStep
+\startitem in \MKIV\ we have rewritten all code using the first version of the new \XML\ parser \stopitem \FlushStep
+\startitem it currently is a mixture of \LUA, \TEX\ and \METAPOST \stopitem \FlushStep
+\startitem there will probably be a partial rewrite some day in the future \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{\UNICODE}
+
+\StartSteps
+\startitemize
+\startitem in the meantime \UNICODE\ has been extended with math \stopitem \FlushStep
+\startitem in the past in \MATHML\ special characters and symbols were accessed by entity \stopitem \FlushStep
+\startitem but now we can exclusively use \UNICODE\ characters and forget about the entities \stopitem \FlushStep
+\startitem no matter what, we do need to do some analysis on the content of (presentation) elements \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Rendering}
+
+\StartSteps
+\startitemize
+\startitem we still provide rendering options as there might be (cultural) differences \stopitem \FlushStep
+\startitem in both marks we just need to load the module \stopitem \FlushStep
+\startitem in \MKIV\ you need a reasonable namespace directive \stopitem \FlushStep
+\startitem content markup can give better results than presentation markup \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Consequences}
+
+\StartSteps
+\startitemize
+\startitem we already use a database or definitions \stopitem \FlushStep
+\startitem we won't go the (somewhat extreme) route of more commands \stopitem \FlushStep
+\startitem we're working on a subsystem for field driven rendering \stopitem \FlushStep
+\startitem bidirectional math already works but will be integrated in the layout model \stopitem \FlushStep
+\startitem cultural specific solutions are possible (we already provide language specific functions) \stopitem \FlushStep
+\startitem more information is carried around (for rendering as well as export), for instance functions \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\stopdocument
diff --git a/doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.pdf b/doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.pdf
new file mode 100644
index 000000000..0f7fef0ee
--- /dev/null
+++ b/doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.tex b/doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.tex
new file mode 100644
index 000000000..77a9cf993
--- /dev/null
+++ b/doc/context/presentations/context/2011/context-2011-metapost-how-we-adapt.tex
@@ -0,0 +1,104 @@
+% \enablemode[print]
+
+\usemodule[present-overlap,abr-02]
+
+\startdocument
+ [title=MetaPost,
+ subtitle=how we adapt,
+ location=\ConTeXt\ Meeting 2011]
+
+\Topic{Development Stage}
+
+\StartSteps
+\startitemize
+\startitem we started with simple usage (logos) and \POSTSCRIPT\ output \stopitem \FlushStep
+\startitem then we moved on to conversion to \PDF\ using \TEX\ macro solution \stopitem \FlushStep
+\startitem this has the advantage that fonts are handled by \TEX \stopitem \FlushStep
+\startitem for a long time this was a generic solution (later became the \MKII\ variant) \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Development Stage}
+
+\StartSteps
+\startitemize
+\startitem we added some extensions (transparency, cmyk, etc) and \METAFUN\ showed up \stopitem \FlushStep
+\startitem that extension mechanism uses special colors as signals \stopitem \FlushStep
+\startitem we always collected btex ... etex in order to speed up processing \stopitem \FlushStep
+\startitem in addition we added textext and similar features \stopitem \FlushStep
+\startitem communication between \METAFUN\ and \CONTEXT\ became more advanced over time \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Development Stage}
+
+\StartSteps
+\startitemize
+\startitem when \LUATEX\ showed up a substitution based lua converter was written \stopitem \FlushStep
+\startitem later when \LPEG\ came around an experimental lpeg converter showed up \stopitem \FlushStep
+\startitem some changes were made to textext processing and run management \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Development Stage}
+
+\StartSteps
+\startitemize
+\startitem the arrival of mplib had rather big consequences \stopitem \FlushStep
+\startitem integration of \METAFUN\ became less of a runtime burden \stopitem \FlushStep
+\startitem a more definitive lpeg converter was written \stopitem \FlushStep
+\startitem text handling was kept internal (but still needs two passes) \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Development Stage}
+
+\StartSteps
+\startitemize
+\startitem some extensions were changed to use the new pre/postscripts functionality \stopitem \FlushStep
+\startitem the lpeg converter was adapted accordingly \stopitem \FlushStep
+\startitem multiple (independent) \METAPOST\ instances were now supported \stopitem \FlushStep
+\startitem the chemical code was overhauled and moved to the core \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Development Stage}
+
+\StartSteps
+\startitemize
+\startitem by now all extensions use pre/postscripts \stopitem \FlushStep
+\startitem this made it easier to add more extend functionality \stopitem \FlushStep
+\startitem again the lpeg converter was adapted (simplified) \stopitem \FlushStep
+\startitem it became possible to do some color trickery with text \stopitem \FlushStep
+\startitem but (till now) color spaces are more complex (mp has a mixed model) \stopitem \FlushStep
+\startitem so we might move towards a slightly different approach \stopitem \FlushStep
+\startitem a couple of helpers were added for Mojca (some more will follow) \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Development Stage}
+
+\StartSteps
+\startitemize
+\startitem we're now splitting the code in \MPII\ and \MPIV\ code bases \stopitem \FlushStep
+\startitem from now on the focus will be on \MPIV \stopitem \FlushStep
+\startitem the (rather old) \METAFUN\ code will be cleaned up \stopitem \FlushStep
+\startitem where possible namespaces will be added \stopitem \FlushStep
+\startitem as \METAFUN\ us loaded runtime we see an impact on startup time (quite some files) \stopitem \FlushStep
+\startitem so maybe we will use a packed and/or zipped pseudo format file for faster loading \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Development Stage}
+
+\StartSteps
+\startitemize
+\startitem an overhaul of the flowchart code is on the agenda \stopitem \FlushStep
+\startitem we also want to finish (and cleanup) the chemical related code \stopitem \FlushStep
+\startitem simple data/graphics helpers will be provided (graph replacement) \stopitem \FlushStep
+\startitem and of course we keep moving on (who knows what \METAPOST\ 2 will bring us) \stopitem \FlushStep
+\startitem some examples: tests/mkiv/metapost/plugins-* \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\stopdocument
diff --git a/doc/context/presentations/context/2011/context-2011-sorting-registers.pdf b/doc/context/presentations/context/2011/context-2011-sorting-registers.pdf
new file mode 100644
index 000000000..db0d9da2b
--- /dev/null
+++ b/doc/context/presentations/context/2011/context-2011-sorting-registers.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2011/context-2011-sorting-registers.tex b/doc/context/presentations/context/2011/context-2011-sorting-registers.tex
new file mode 100644
index 000000000..f05290906
--- /dev/null
+++ b/doc/context/presentations/context/2011/context-2011-sorting-registers.tex
@@ -0,0 +1,161 @@
+% tests/mkiv/scripts/korean-005.tex
+% examplex elsewhere
+
+% \enablemode[print]
+
+\usemodule[present-overlap,abr-02]
+
+\startdocument
+ [title=Sorting,
+ subtitle=registers,
+ location=\ConTeXt\ Meeting 2011]
+
+\startluacode
+
+local function show(t,start,stop)
+ if type(t) == "table" then
+ start = start or 1
+ stop = stop or #t
+ for i=start,stop do
+ if i > start then
+ context.space()
+ end
+ if type(t[i]) == "number" then
+ context(utf.char(t[i]))
+ else
+ context(t[i])
+ end
+ end
+ elseif type(t) == "string" then
+ context(t)
+ elseif type(t) == "number" then
+ context(utf.char(t))
+ end
+end
+
+function context.ShowCharacterData(n)
+ local d = characters.data[n]
+ if d then
+ local bTR, bTD, eTD, eTR = context.bTR, context.bTD, context.eTD, context.eTR
+ context.bTABLE()
+ bTR() bTD() context("unicode") eTD() bTD() show(n) eTD() eTR()
+ bTR() bTD() context("shcode") eTD() bTD() show(characters.shchars [n]) eTD() eTR()
+ bTR() bTD() context("lccode") eTD() bTD() show(characters.lcchars [n]) eTD() eTR()
+ bTR() bTD() context("uccode") eTD() bTD() show(characters.ucchars [n]) eTD() eTR()
+ bTR() bTD() context("fscode") eTD() bTD() show(characters.fschars [n]) eTD() eTR() -- leadconsonant
+ bTR() bTD() context("specials") eTD() bTD() show(
+ characters.remap_hangul_syllabe(characters.specials[n]),2) eTD() eTR()
+ context.eTABLE()
+ end
+end
+
+\stopluacode
+
+\unexpanded\def\ShowCharacterData#1{\cldcommand{ShowCharacterData("#1")}}
+
+\Topic{The old way}
+
+\StartSteps
+\startitemize
+\startitem in \MKII\ sorting is delegated to \TEXUTIL\ i.e.\ a multipass action \stopitem \FlushStep
+\startitem encoding vectors are passed along \stopitem \FlushStep
+\startitem sort vectors depend on the language \stopitem \FlushStep
+\startitem there are the usual complications with direct characters and commands \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Moving on}
+
+\StartSteps
+\startitemize
+\startitem in \MKIV\ sorting happens during the run \stopitem \FlushStep
+\startitem we only have to deal with \UNICODE\ (utf) \stopitem \FlushStep
+\startitem sort vectors still depend on the language \stopitem \FlushStep
+\startitem sorting can be controlled by methods \stopitem \FlushStep
+\startitem there is no universal solution (conflicting user demands, mixed languages) \stopitem \FlushStep
+\stopitemize
+\StopSteps
+
+\Topic{Character data}
+
+\setupTABLE[background=color,backgroundcolor=lightgray,rulethickness=.75bp,framecolor=darkgray]
+
+\StartSteps
+\startcombination[5*1]
+ {\definedfont[Normal*none]\ShowCharacterData{a}} {regular\FlushStep}
+ {\definedfont[Normal*none]\ShowCharacterData{ä}} {accent\FlushStep}
+ {\definedfont[Normal*none]\ShowCharacterData{æ}} {ligature\FlushStep}
+ {\definedfont[adobemyungjostd-medium]\ShowCharacterData{그}} {hangul\FlushStep}
+ {\definedfont[adobemyungjostd-medium]\ShowCharacterData{학}} {hangul\FlushStep}
+\stopcombination
+\StopSteps
+
+\Topic{Sorting methods}
+
+\StartSteps
+\starttabulate[|l|l|r|]
+ \NC ch \NC raw character \NC \FlushStep \NC \NR
+ \NC uc \NC unicode \NC \FlushStep \NC \NR
+ \NC mm \NC mapping \NC minus \FlushStep \NC \NR
+ \NC zm \NC \NC zero \FlushStep \NC \NR
+ \NC pm \NC \NC plus \FlushStep \NC \NR
+ \NC mc \NC lower case \NC minus \FlushStep \NC \NR
+ \NC zc \NC \NC zero \FlushStep \NC \NR
+ \NC pc \NC \NC plus \FlushStep \NC \NR
+\stoptabulate
+\StopSteps
+
+\Topic{Predefined methods}
+
+\StartSteps
+\starttabulate[|l|l|]
+ \NC before \NC mm,mc,uc \NC \NR
+ \NC after \NC pm,mc,uc \NC \NR
+ \NC first \NC pc,mm,uc \NC \NR
+ \NC last \NC mc,mm,uc \NC \NR
+\stoptabulate
+
+\FlushStep
+
+\starttyping
+\enabletrackers[sorters.tests]
+\enabletrackers[sorters.methods]
+\stoptyping
+
+\FlushStep
+\StopSteps
+
+\Topic{An example (1)}
+
+\startbuffer
+àâá\index{àâá}
+aaa\index{aaa}
+aab\index{aab}
+Aaa\index{Aaa}
+Aab\index{Aab}
+\stopbuffer
+
+\StartSteps
+\typebuffer \FlushStep
+
+\startlines \getbuffer \stoplines \FlushStep
+\StopSteps
+
+\Topic{An example (2)}
+
+% \enabletrackers[sorters.tests]
+% \enabletrackers[sorters.methods]
+
+\setupregister[index][criterium=text,n=1,before=,after=]
+\defineframed[indexframed][align=normal,width=.2\textwidth,strut=no]
+
+\StartSteps
+\startcombination[4*1]
+ {\setupinteraction[state=stop]\indexframed{\placeregister[index][method={mm,mc,uc}]}} {mm,mc,uc\FlushStep}
+ {\setupinteraction[state=stop]\indexframed{\placeregister[index][method={pm,mc,uc}]}} {pm,mc,uc\FlushStep}
+ {\setupinteraction[state=stop]\indexframed{\placeregister[index][method={pc,mm,uc}]}} {pc,mm,uc\FlushStep}
+ {\setupinteraction[state=stop]\indexframed{\placeregister[index][method={mc,mm,uc}]}} {mc,mm,uc\FlushStep}
+\stopcombination
+\StopSteps
+
+\stopdocument
diff --git a/doc/context/presentations/context/2012/context-2012-after-the-cleanup.pdf b/doc/context/presentations/context/2012/context-2012-after-the-cleanup.pdf
new file mode 100644
index 000000000..dc0e85ed4
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-after-the-cleanup.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2012/context-2012-after-the-cleanup.tex b/doc/context/presentations/context/2012/context-2012-after-the-cleanup.tex
new file mode 100644
index 000000000..a127ca09a
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-after-the-cleanup.tex
@@ -0,0 +1,162 @@
+\usemodule[present-stepwise,present-bars,abr-01]
+
+\startdocument
+ [title=After the cleanup,
+ color=darkred]
+
+\StartSteps
+
+\startsubject[title=The update]
+
+ \startitemize[packed]
+
+ \startitem The move to \MKIV\ is more than supporting an engine. \stopitem \FlushStep
+ \startitem It is a complete rewrite (pruning, extending, cleaning). \stopitem \FlushStep
+ \startitem Although somewhat crippled by the fact that we want to remain compatible. \stopitem \FlushStep
+ \startitem But sometimes we sacrifice compatibility by getting rid of old stuff. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=The current state]
+
+ \startitemize[packed]
+
+ \startitem A lot of work, more than I had thought, so it takes longer. \stopitem \FlushStep
+ \startitem Most \TEX\ code is done (some structure and column code left). \stopitem \FlushStep
+ \startitem New namespaces and helpers mostly done, but will be checked for constency. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=What is there todo]
+
+ \startitemize[packed]
+
+ \startitem Some code might become generalized (also depends on others). \stopitem \FlushStep
+ \startitem Layer and positioning code might get a more extensive \LUA\ and \XML\ interface. \stopitem \FlushStep
+ \startitem Structure related code will support setups (some already in place). \stopitem \FlushStep
+ \startitem New page builder variants will be explored (anyway more column support and floats). \stopitem \FlushStep
+ \startitem Math domains cq.\ dictionaries (basics already in place, just needs time). \stopitem \FlushStep
+ \startitem Math list optimization (pet project). \stopitem \FlushStep
+ \startitem Generate dependecy trees (easier now) and more consistent code loading order. \stopitem \FlushStep
+ \startitem All error messages needs checking (some gone, some not yet translated). \stopitem \FlushStep
+ \startitem Update all xml definitions (work in progress, also relates to wiki). \stopitem \FlushStep
+ \startitem Optimize positioning system (a bit more powerful now, but also more resources). \stopitem \FlushStep
+ \startitem More support for css like styling (makes it easier to share code). \stopitem \FlushStep
+ \startitem Modules (especially those for tracing) need to be normalized. \stopitem \FlushStep
+ \startitem Some styles (mostly private presentation styles) needs to be fixed. \stopitem \FlushStep
+ \startitem Pick up the \quote {lean and mean} \CONTEXT\ variant project. \stopitem \FlushStep
+ \startitem Now that we have more code isolated, we can define an api. \stopitem \FlushStep
+ \startitem Some manuals need to be updated (most still applies). \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=What I have to keep in mind]
+
+ \startitemize[packed]
+
+ \startitem What is handy for me is not always handy for all users. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=But nevertheless there will be new things]
+
+ \startitemize[packed]
+
+ \startitem Elements of our processing framework will show up in the distribution. \stopitem \FlushStep
+ \startitem It's just more convenient to have one installation for related things. \stopitem \FlushStep
+ \startitem This is also why support for databases has been added recently. \stopitem \FlushStep
+ \startitem Running (blocking) \TEX\ jobs needs special treatment (ticket management). \stopitem \FlushStep
+ \startitem It makes sense to use the well developed \TDS\ infrastructure. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Keep an eye on updates]
+
+ \startitemize[packed]
+
+ \startitem Rewriting the code base leads to bugs but these are often resolved quickly
+ (indeed by Wolfgang). \stopitem \FlushStep
+ \startitem Following the mailing list helps and nowadays the wiki is adapted close to
+ realtime (coordinated by Sietse). \stopitem \FlushStep
+ \startitem Changes in standards and related tools are supported and followed by those who
+ depend on them (ask Peter). \stopitem \FlushStep
+ \startitem Sometimes users have demands and these end up as extensions to existing
+ mechanisms (Aditya's elastic modules). \stopitem \FlushStep
+ \startitem Issues with platforms are often quickly dealt with (if Luigi doesn't know it
+ \unknown). \stopitem \FlushStep
+ \startitem And of course I add new things driven by projects, challenges (and an occasional
+ stack of new \CD's). \stopitem \FlushStep
+ \startitem New releases (and betas) are checked against a growing set of test files (Lukas
+ mails a report after each update). \stopitem \FlushStep
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Just ask]
+
+ \startitemize[packed]
+
+ \startitem We started long ago with what ended up as \MKII\ and \MPII. \stopitem \FlushStep
+ \startitem We currently have \MKIV\ and \MPIV. \stopitem \FlushStep
+ \startitem It has some features that we tag as \MKVI. \stopitem \FlushStep
+ \startitem Recently \MKIX\ and \MKXI\ were introduced. \stopitem \FlushStep
+ \blank
+ \startitem Examples: \MKIV, \MKVI, \MKIX, \MKXI \stopitem \FlushStep
+ \blank
+ \startitem So, what should \MKIC\ provide \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=What I'm working on]
+
+ \startitemize[packed]
+
+ \startitem Proper dependency chain so that we can make small dedicated formats. \stopitem \FlushStep
+ \startitem Support for typesetting from databases (text, graphics). \stopitem \FlushStep
+ \startitem Next iteration if (job) tickets processing system cq. framework. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+% show latest manuals
+
+\stopdocument
diff --git a/doc/context/presentations/context/2012/context-2012-lexing-sources.pdf b/doc/context/presentations/context/2012/context-2012-lexing-sources.pdf
new file mode 100644
index 000000000..be51108b3
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-lexing-sources.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2012/context-2012-lexing-sources.tex b/doc/context/presentations/context/2012/context-2012-lexing-sources.tex
new file mode 100644
index 000000000..1135148e1
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-lexing-sources.tex
@@ -0,0 +1,81 @@
+\usemodule[present-stepwise,present-bars,abr-01]
+
+\definecolor[verydark][s=.2]
+
+\startdocument
+ [title=Lexing sources,
+ color=verydark]
+
+\StartSteps
+
+\startsubject[title=What is lexing]
+
+ \startitemize[packed]
+ \startitem Computer languages have mandate structure. \stopitem \FlushStep
+ \startitem You can avoid errors by checking the input. \stopitem \FlushStep
+ \startitem Editors can help by coloring reserved words, concept etc. \stopitem \FlushStep
+ \startitem Consistency in coloring different languages makes sense. \stopitem \FlushStep
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=When did we start]
+
+ \startitemize[packed]
+ \startitem We wrote our first editor begin 90's. \stopitem \FlushStep
+ \startitem An extension quickly followed when we moved to \TEX: \TEXEDIT. \stopitem \FlushStep
+ \startitem When \MODULA\ was no longer fashion we moved on to \PERL: \TEXWORK\ (quick demo) \stopitem \FlushStep
+ \startitem When we ran into \SCITE\ we start using that. \stopitem \FlushStep
+ \startitem I provided syntax highlighting for \TEX\ and \METAPOST\ (support for multiple formats etc.). \stopitem \FlushStep
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Side effect of \MKIV]
+
+ \startitemize[packed]
+ \startitem \SCITE\ got \LPEG\ based lexing (external lexing). \stopitem \FlushStep
+ \startitem I already had already written some lexers for the pretty printers. \stopitem \FlushStep
+ \startitem So I gave it a go and made some more advanced lexers. \stopitem \FlushStep
+ \startitem These ship with \CONTEXT: \TEX, \XML, \PDF, \LUA, \CLD, \METAPOST, text. \stopitem \FlushStep
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=Characteristics]
+
+ \startitemize[packed]
+ \startitem The \TEX\ lexer supports nested lexing of \LUA\ and \METAPOST. \stopitem \FlushStep
+ \startitem Integrated spell checking is provided. \stopitem \FlushStep
+ \startitem Unfortunately there is no lexing for \SCITE\ on \MACOSX\ (not that I care too much nowadays). \stopitem \FlushStep
+ \startitem It is a pitty that we have no access to \SCITE\ internal as with the regular \LUA\ interface. \stopitem \FlushStep
+ \startitem On my good old machine huge files lex somewhat slow (at the end). \stopitem \FlushStep
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=The future]
+
+ \startitemize[packed]
+ \startitem I will improve the current lexers. \stopitem \FlushStep
+ \startitem An \SQL\ lexer will be added at some point \stopitem \FlushStep
+ \startitem I might make an \HTML/\CSS\ variant that supports nexted \LMX. \stopitem \FlushStep
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\stopdocument
diff --git a/doc/context/presentations/context/2012/context-2012-mixed-columns.pdf b/doc/context/presentations/context/2012/context-2012-mixed-columns.pdf
new file mode 100644
index 000000000..f2dc8ecaf
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-mixed-columns.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2012/context-2012-mixed-columns.tex b/doc/context/presentations/context/2012/context-2012-mixed-columns.tex
new file mode 100644
index 000000000..af35917f0
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-mixed-columns.tex
@@ -0,0 +1,79 @@
+\usemodule[present-stepwise,present-bars,abr-01]
+
+\startdocument
+ [title=The scripts,
+ color=darkyellow]
+
+\StartSteps
+
+\startsubject[title=Output]
+
+ \startitemize[packed]
+
+ \startitem \TEX\ collects content paragraph wise. \stopitem \FlushStep
+ \startitem In between it can trigger the so called output routine. \stopitem \FlushStep
+ \startitem At that moment you can do something with the result. \stopitem \FlushStep
+ \startitem One of the things you can do is package all collected so far in a page. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=Bonus]
+
+ \startitemize[packed]
+
+ \startitem In \LUATEX\ we can also intercept content at more places. \stopitem \FlushStep
+ \startitem For instance before and after each paragraph is processed. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps \page \StartSteps
+
+\startsubject[title=Columns]
+
+ \startitemize[packed]
+
+ \startitem \TEX\ has no concept of columns. \stopitem \FlushStep
+ \startitem You need to fake them by fiddling with the width and spitting boxes. \stopitem \FlushStep
+ \startitem Often we can use tabulate (no output routine). \stopitem \FlushStep
+ \startitem For some local applications we use simple columns. \stopitem \FlushStep
+ \startitem In for instance itemize we used a mixed one- and multi-column model. \stopitem \FlushStep
+ \startitem Columnsets are another (independent) mechanism, strongly grid based. \stopitem \FlushStep
+ \startitem Traditional multicolumns are being replaced by a new mechanism: mixed columns. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=Pitfalls]
+
+ \startitemize[packed]
+
+ \startitem Footnotes: page, first or last column, each column (delayed, immediate). \stopitem \FlushStep
+ \startitem Graphics: moving floats around is more complex than in single columns. \stopitem \FlushStep
+ \startitem Nesting: how about columns inside columns. \stopitem \FlushStep
+ \startitem Balancing: can be hard taking all into account. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps \page \StartSteps
+
+\startsubject[title=Questions]
+
+ \startitemize[packed]
+
+ \startitem Do complex column mechanisms still make sense given the move to electronic paper. \stopitem \FlushStep
+ \startitem If so, what functionality should be provided. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\stopdocument
diff --git a/doc/context/presentations/context/2012/context-2012-the-script.pdf b/doc/context/presentations/context/2012/context-2012-the-script.pdf
new file mode 100644
index 000000000..935e6600e
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-the-script.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2012/context-2012-the-script.tex b/doc/context/presentations/context/2012/context-2012-the-script.tex
new file mode 100644
index 000000000..be586e2ff
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-the-script.tex
@@ -0,0 +1,453 @@
+\usemodule[present-stepwise,present-bars,abr-01]
+
+\startdocument
+ [title=The scripts,
+ color=darkblue]
+
+\StartSteps
+
+\startsubject[title=Some myths]
+
+ \startitemize[packed]
+
+ \startitem \CONTEXT\ looks al lot like plain \TEX\ and expects users to program macros. \stopitem \FlushStep
+ \startitem \CONTEXT\ depends on \RUBY. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=The truth]
+
+ \startitemize[packed]
+
+ \startitem On the average users don't have to program. Configuring is not programming. \stopitem \FlushStep
+ \startitem As \TEX\ lacks commandline handling and job control, helpers are provided. \stopitem \FlushStep
+ \startitem Of course users can still program a lot, but not all need that. \stopitem \FlushStep
+ \startitem Of course users can directly run \CONTEXT, but why should they. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=A few facts]
+
+ \startitemize[packed]
+
+ \startitem The \CONTEXT\ distribution provides a sort of ecosystem. \stopitem \FlushStep
+ \startitem In \MKII\ indeed we use \RUBY\ for some job control. \stopitem \FlushStep
+ \startitem But in \MKIV\ all is (of course) done in \LUA. \stopitem \FlushStep
+ \startitem Two scripts play an important role: mtxrun and context. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=The \quote {mtxrun} script]
+
+ \startitemize[packed]
+
+ \startitem Locates and runs scripts, has a lot of helpers preloaded. \stopitem \FlushStep
+ \startitem It is in fact my \LUA\ runner on top the \TEXLUA. \stopitem \FlushStep
+ \startitem It knows about files and the environment we run in. \stopitem \FlushStep
+ \startitem It has some features that makes it easier to integrate in services. \stopitem \FlushStep
+ \startitem This way we don't need stubs (and avoid potential conflicts in name). \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=The \quote {context} script]
+
+\startitemize[packed]
+
+ \startitem It runs \CONTEXT\ and keeps track of how many runs are needed. \stopitem \FlushStep
+ \startitem Contrary to its \MKII\ ancestor it is not needed for index sorting etc. \stopitem \FlushStep
+ \startitem It has a few extensions that are loaded on demand: extras \stopitem \FlushStep
+
+\stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=A regular run]
+
+ \starttyping
+ context [--run] filename
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Running from an editor]
+
+ \starttyping
+ context --autopdf filename
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Running from an service]
+
+ \starttyping
+ mtxrun --path=somepath --script context filename
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Controlling the rendering]
+
+ \starttyping
+ --usemodule=list
+ --environment=list
+ --mode=list
+ --arguments=list
+ --path=list
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Controlling with ctx files]
+
+ \starttyping
+ --ctx=name
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Also in preamble]
+
+ \starttyping
+ <?context-directive job ctxfile m4all.ctx ?>
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=A ctx file]
+
+\starttyping
+<?xml version='1.0' standalone='yes'?>
+
+<ctx:job>
+ <ctx:message>EPUB Formatter</ctx:message>
+ <ctx:flags>
+ <ctx:flag>purge</ctx:flag>
+ <ctx:flag>global</ctx:flag>
+ </ctx:flags>
+ <ctx:process>
+ <ctx:resources>
+ <ctx:module>epub-01</ctx:module>
+ </ctx:resources>
+ </ctx:process>
+</ctx:job>
+\stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Multiple products from one source]
+
+ \starttyping
+ --result=name
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=When imposition is needed]
+
+ \starttyping
+ --arrange
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Cleanup after runs]
+
+ \starttyping
+ --batchmode
+ --purge(all)
+ --purgeresult
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Sometimes faster (in services)]
+
+ \starttyping
+ --once
+ --runs=2
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Normally automatically done]
+
+ \starttyping
+ --make
+ --generate
+ --touch
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Seldom used]
+
+ \starttyping
+ --interface
+ --randomseed=number
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Information about extra control]
+
+ \starttyping
+ --trackers
+ --directives
+ --showlogcategories
+ --version
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Controlling the machinery]
+
+ \starttyping
+ --trackers=list
+ --directives=list
+ --silent=list
+ --noconsole
+ --nostatistics
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=When no local file is used]
+
+ \starttyping
+ --global
+ --nofile
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=When the automatics recognition doesn't work]
+
+ \starttyping
+ --forcexml
+ --forcecld
+ --forcelua
+ --forcemp
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Only handy for development (or me)]
+
+ \starttyping
+ --profile
+ --timing
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Forget about these]
+
+ \starttyping
+ --paranoid
+ --update
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Some hidden treasures]
+
+ \starttyping
+ --extras
+ --extra=name
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Arguments can be prefixed]
+
+ \starttyping
+ environment:
+ relative:
+ auto:
+ locate:
+ filename:
+ pathname:
+ home:
+ selfautoloc:
+ selfautoparent:
+ selfautodir:
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Recent (probably unnoticed) change]
+
+ \starttyping
+ luatex
+ --fmt=".../tex/texmf-cache/luatex-cache/context/.../formats/cont-en"
+ --lua=".../tex/texmf-cache/luatex-cache/context/.../formats/cont-en.lui"
+ --jobname="context-the-script"
+ --no-parse-first-line
+ --c:autopdf
+ --c:currentrun=1
+ --c:fulljobname="./context-the-script.tex"
+ --c:input="./context-the-script.tex"
+ --c:kindofrun=1
+ "cont-yes.mkiv"
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Another change]
+
+\startitemize[packed]
+
+ \startitem The (runtime generated) options file is no longer there. \stopitem \FlushStep
+ \startitem For as far as possible arguments are passed directly. \stopitem \FlushStep
+ \startitem Input files are always loaded indirectly, no more stubs. \stopitem \FlushStep
+
+\stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=About 30 mtx/lmx scripts]
+
+ \starttyping
+ mtx-check.lua
+ mtx-convert.lua
+ mtx-epub.lua
+ mtx-fonts.lua
+ mtx-modules.lua
+ mtx-patterns.lua
+ mtx-pdf.lua
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=These are run like]
+
+ \starttyping
+ mtxrun --script pdf
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Several mtx templates]
+
+ \starttyping
+ mtx-context-arrange.lua
+ mtx-context-combine.lua
+ mtx-context-listing.lua
+ mtx-context-select.lua
+ mtx-context-timing.lua
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=These are run like]
+
+ \starttyping
+ context --extra=arrange [--help] ...
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\StartSteps
+
+\startsubject[title=Local preferences]
+
+ \starttyping
+ texmfcnf.lua
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\stopdocument
+
diff --git a/doc/context/presentations/context/2012/context-2012-visual-debugging.pdf b/doc/context/presentations/context/2012/context-2012-visual-debugging.pdf
new file mode 100644
index 000000000..879a1ff69
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-visual-debugging.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2012/context-2012-visual-debugging.tex b/doc/context/presentations/context/2012/context-2012-visual-debugging.tex
new file mode 100644
index 000000000..4be8d5e72
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-visual-debugging.tex
@@ -0,0 +1,296 @@
+\usemodule[present-stepwise,present-bars,abr-01]
+
+\startdocument
+ [title=Visual debugging,
+ color=darkmagenta]
+
+\StartSteps
+
+\startsubject[title=How it started]
+
+ \startitemize[packed]
+
+ \startitem Some 15 years ago I wanted some more feedback. \stopitem \FlushStep
+ \startitem So I figured out a way to visualize boxes, kerns, glue, etc. \stopitem \FlushStep
+ \startitem Some aspects were tricky, like stretch and shrink (no \ETEX\ yet), fillers, leaders, etc. \stopitem \FlushStep
+ \startitem I gave some presentations and it was nice to see the puzzled faces. \stopitem \FlushStep
+ \startitem As unboxing does not work, it is somewhat interfering. \stopitem \FlushStep
+ \startitem When not enabed there is no overhead but we did disable it at some places. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=Do we need it]
+
+ \startitemize[packed]
+
+ \startitem I wonder if anyone ever used it. \stopitem \FlushStep
+ \startitem Some of the helpers are quite handy, like \type {\ruledhbox}. \stopitem \FlushStep
+ \startitem So these had to be provided anyway, so: where to stop? \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps \page \StartSteps
+
+\startsubject[title=All kind of debugging]
+
+ \startitemize[packed]
+
+ \startitem We have more debugging, much shows up when writing new code. \stopitem \FlushStep
+ \startitem Think of fonts, math, graphics, characters, etc. \stopitem \FlushStep
+ \startitem Some make no sense in \MKIV, so they're gone, but new ones show up. \stopitem \FlushStep
+ \startitem In due time this will all be normalized (as most lives in modules). \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps \page \StartSteps
+
+\startsubject[title=Why we kept it]
+
+ \startitemize[packed]
+
+ \startitem When cleaning up the code I had to decide to keep it or redo it as it could be done \MKIV-ish. \stopitem \FlushStep
+ \startitem But as we already had some \LUA\ based extras it made sense to redo it. \stopitem \FlushStep
+ \startitem The old code is still there as module (also because it had some more funstuff). \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\startsubject[title=How it worked]
+
+ \startitemize[packed]
+
+ \startitem In \MKII\ primitives are overloaded. \stopitem \FlushStep
+ \startitem So effectively, when enabled, \type {\hbox} cum suis become macros. \stopitem \FlushStep
+ \startitem We use rules (and leaders) to visualize properties. \stopitem \FlushStep
+ \startitem Some constructs interfere so we need to compensate side effects. \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps \page \StartSteps
+
+\startsubject[title=How it works]
+
+ \startitemize[packed]
+
+ \startitem The basics were a rather trivial quick job as we had a lot in place already. \stopitem \FlushStep
+ \startitem Interpreting the node list and injecting visualizers. \stopitem \FlushStep
+ \startitem We use colors, rules and text but much can be overlayed. \stopitem \FlushStep
+ \startitem Control over what gets visualized at the \TEX\ end. \stopitem \FlushStep
+ \startitem Control over what gets shown by using layers. \stopitem \FlushStep
+ \startitem As usual most time went into visualization choices and optimzation. \stopitem \FlushStep
+ \startitem Some visualizers interfered with (hardcoded) expectations in the backend. \stopitem \FlushStep
+ \startitem When I decided to use layers I had to adapt some oter code (mostly out of efficiency). \stopitem \FlushStep
+ \startitem There is room for more (but first I want the bitlib of \LUA\ 5.2). \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps
+
+\page
+
+\defineoverlay[invoke][\overlaybutton{NextPage}]
+
+\defineframed
+ [MyFramed]
+ [background=color,
+ backgroundcolor=yellow,
+ offset=overlay,
+ frame=off]
+
+\startbuffer
+\ruledhbox{j}
+\ruledhbox{jj}
+\ruledhbox{jjj}
+\ruledhbox{jjjj}
+\ruledhbox{jjjjj}
+\stopbuffer
+
+\startsubject[title=Details 1]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ {\getbuffer}\removeunwantedspaces
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+
+\page
+
+\startbuffer
+\ruledhbox{take boxes}
+\stopbuffer
+
+\startsubject[title=Details 2a]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ {\getbuffer}\removeunwantedspaces
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+
+\page
+
+\startbuffer
+\ruledhbox{some depth too}
+\stopbuffer
+
+\startsubject[title=Details 2b]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ {\getbuffer}\removeunwantedspaces
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+
+\page
+
+\startbuffer
+\showmakeup \hbox{again an hbox}
+\stopbuffer
+
+\startsubject[title=Details 3a]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ {\getbuffer}\removeunwantedspaces
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+
+\page
+
+\startbuffer
+\ruledvtop{\ruledvbox{\ruledhbox{multiple boxes}}}
+\stopbuffer
+
+\startsubject[title=Details 3b]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ {\getbuffer}\removeunwantedspaces
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+
+\page
+
+\startbuffer
+\showmakeup \hbox{multiple boxes}
+\stopbuffer
+
+\startsubject[title=Details 3c]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ \hskip.5em
+ {\getbuffer}\removeunwantedspaces
+ \hskip.5em
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+
+\page
+
+\startbuffer
+\showmakeup \vbox{\hbox{multiple boxes}}
+\stopbuffer
+
+\startsubject[title=Details 3c]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ \hskip.5em
+ {\getbuffer}\removeunwantedspaces
+ \hskip.5em
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+
+\page
+
+\startbuffer
+\showmakeup \vtop{\vbox{\hbox{multiple boxes}}}
+\stopbuffer
+
+\startsubject[title=Details 3d]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ \hskip.5em
+ {\getbuffer}\removeunwantedspaces
+ \hskip.5em
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+
+\page
+
+\startbuffer
+\showstruts why \strut use \strut's
+\stopbuffer
+
+\startsubject[title=Details 4]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ {\getbuffer}\removeunwantedspaces
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+
+\page
+
+\startbuffer
+\showglyphs glyphs
+\stopbuffer
+
+\startsubject[title=Details 5]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ {\getbuffer}\removeunwantedspaces
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+\page
+
+\startbuffer
+\enabletrackers[visualizers.whatsit]glyphs \righttoleft glyphs
+\stopbuffer
+
+\startsubject[title=Details 6]
+
+ \scale[width=\textwidth]{\MyFramed \bgroup
+ \hskip.75em
+ {\getbuffer}\removeunwantedspaces
+ \hskip.75em
+ \egroup}
+
+ \typebuffer
+
+\stopsubject
+
+\stopdocument
diff --git a/doc/context/presentations/context/2012/context-2012-xml-news.pdf b/doc/context/presentations/context/2012/context-2012-xml-news.pdf
new file mode 100644
index 000000000..ddbf138d7
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-xml-news.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2012/context-2012-xml-news.tex b/doc/context/presentations/context/2012/context-2012-xml-news.tex
new file mode 100644
index 000000000..c11c35d31
--- /dev/null
+++ b/doc/context/presentations/context/2012/context-2012-xml-news.tex
@@ -0,0 +1,131 @@
+\usemodule[present-stepwise,present-bars,abr-01]
+
+\startdocument
+ [title={Processing XML, some basics},
+ color=darkcyan]
+
+\StartSteps
+
+\startsubject[title=Topics]
+
+ \startitemize[packed]
+
+ \startitem processing \stopitem \FlushStep
+ \startitem selecting \stopitem \FlushStep
+ \startitem flushing \stopitem \FlushStep
+ \startitem testing \stopitem \FlushStep
+ \startitem basics only \stopitem \FlushStep
+
+ \stopitemize
+
+\stopsubject
+
+\StopSteps \page \StartSteps
+
+\startsubject[title=Processing]
+
+ \starttyping
+ \xmlprocessfile {name} {filename} {setup}
+ \xmlprocessbuffer {name} {filename} {setup}
+ \xmlloadonly {name} {filename} {setup}
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Loading]
+
+ \starttyping
+ \xmlload {name} {filename} {setup}
+ \xmlloadbuffer {name} {buffername} {setup}
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps \page \StartSteps
+
+\startsubject[title=Injecting elements]
+
+ \starttyping
+ \xmlall {node} {pattern}
+ \xmlfirst {node} {pattern}
+ \xmllast {node} {pattern}
+ \xmlflush {node}
+ \stoptyping \FlushStep
+
+ \starttyping
+ \xmlraw {node} {pattern}
+ \xmlcontext {node} {pattern}
+ \xmlstrip {node} {pattern}
+ \xmltag {node}
+ \xmltext {node} {pattern}
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps \page \StartSteps
+
+\startsubject[title=Injecting attributes]
+
+ \starttyping
+ \xmlatt {node} {name}
+ \xmlattdef {node} {namev {default}
+ \xmlattribute {node} {pattern} {name}
+ \xmlattributedef {node} {pattern} {name} {default}
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Injecting properties]
+
+ \starttyping
+ \xmlcount {node} {pattern}
+ \xmlname {node}
+ \xmlnamespace {node}
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps \page \StartSteps
+
+\startsubject[title=Filters]
+
+ \starttyping
+ \xmlcommand {node} {pattern} {setup
+ \xmlfilter {node} {pattern}
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\startsubject[title=Much more]
+
+ \starttyping
+ \xmlverbatim {node}
+ \xmldisplayverbatim {node}
+ \xmlinlineverbatim {node}
+ \stoptyping \FlushStep
+
+ \starttyping
+ \xmlinclude {node} {pattern} {attribute}
+ \xmlshow {node}
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps \page \StartSteps
+
+\startsubject[title=Testing]
+
+ \starttyping
+ \xmldoif {node} {pattern} {true}
+ \xmldoifnot {node} {pattern} {true}
+ \xmldoifelse {node} {pattern} {true} {false}
+ \xmldoiftext {node} {pattern} {true}
+ \xmldoifnottext {node} {pattern} {true}
+ \xmldoifelsetext {node} {pattern} {true} {false}
+ \stoptyping \FlushStep
+
+\stopsubject
+
+\StopSteps
+
+\stopdocument
diff --git a/doc/context/presentations/context/2013/context-2013-math.pdf b/doc/context/presentations/context/2013/context-2013-math.pdf
new file mode 100644
index 000000000..4272d4144
--- /dev/null
+++ b/doc/context/presentations/context/2013/context-2013-math.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2013/context-2013-math.tex b/doc/context/presentations/context/2013/context-2013-math.tex
new file mode 100644
index 000000000..d15fffec2
--- /dev/null
+++ b/doc/context/presentations/context/2013/context-2013-math.tex
@@ -0,0 +1,244 @@
+% \enablemode[print]
+
+\usemodule[present-stepwise,present-tiles,abr-02]
+
+\definecolor[maincolor] [darkgray]
+\definecolor[othercolor][b=.3]
+
+\setupinteractionscreen
+ [option=max]
+
+% \setupalign
+% [flushleft,tolerant]
+
+\defineframed
+ [conclusion]
+ [location=low,
+ width=max,
+ align=flushleft,
+ background=color,
+ backgroundcolor=white,
+ foregroundcolor=othercolor]
+
+\setupbodyfont[15pt]
+
+\startdocument
+ [title={Math:\\\\progress or standing still},
+ %subtitle={Hans Hagen\\TUG Conference\\October 2013}]
+ subtitle={Hans Hagen\\\ConTeXt\ Meeting\\September 2013}]
+
+\StartSteps \starttopic [title={Math as script}]
+
+ \startitem math can be input using the \TEX\ syntax, \MATHML, calculator like sequences, \unknown \FlushStep \stopitem
+ \startitem but apart from content \MATHML\ all stay close to good old \TEX \FlushStep \stopitem
+ \startitem although not officially a script, \OPENTYPE\ treats it as such, but without control \FlushStep \stopitem
+
+ \blank[2*big]
+
+ \starttyping
+ $ ( (x + 1) / a + 1 )^2 = (x - 1) / b $
+ \stoptyping
+
+ \FlushStep
+
+ \starttyping
+ $ \left( \frac{x + 1}{a} + 1 \right)^2 = \frac{x - 1}{b} $
+ \stoptyping
+
+ \FlushStep
+
+ \starttyping
+ <mfenced open="(" close = ")">
+ <mfrac>...</mfrac> <mo>+</mo> <mn>1</mn>
+ </mfenced>
+ \stoptyping
+
+ \FlushStep
+
+ \starttyping
+ <mrow>
+ <mo>(</mo> <mfrac>...</mfrac> <mo>+</mo> <mn>1</mn> <mo>)</mo>
+ </mrow>
+ \stoptyping
+
+ \FlushStep
+
+ \vfilll \conclusion{There is recognition of math as a proper (but not standardized) script.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Alphabets}]
+
+ \startitem the shape (style) of a character determines its meaning \FlushStep \stopitem
+ \startitem but in most cases an type {a} is entered as \ASCII\ character \FlushStep \stopitem
+ \startitem and tagged with some rendering directive, often indicating a font style \FlushStep \stopitem
+ \startitem in traditional \TEX\ we have alphabets in different fonts, so we're talking switches \FlushStep \stopitem
+ \startitem in \UNICODE\ and \OPENTYPE\ we have alphabets with standardized code points (but gaps too) \FlushStep \stopitem
+ \startitem this has big advantages for communicating, transferring data etc \FlushStep \stopitem
+ \startitem but a math engine still has to deal with \ASCII\ input as well \FlushStep \stopitem
+ \startitem multiple axis: types, alphabets, styles, variants, shapes, modifiers \FlushStep \stopitem
+
+ \vfilll \conclusion{We're off better but the gaps are an anomality.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Heavy bold}]
+
+ \startitem for titles and captions we might need bolder math \FlushStep \stopitem
+ \startitem bold symbols in math have special meaning \FlushStep \stopitem
+ \startitem so when going full bold they should become heavy \FlushStep \stopitem
+ \startitem heavy math involves boldening everything, including extensibles \FlushStep \stopitem
+ \startitem there are currently no fonts that have such complete heavy companions \FlushStep \stopitem
+
+ \vfilll \conclusion{We need proper bold fonts, but they need to be relatively complete.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Radicals}]
+
+ \startitem this always has been (and still is) a combination of vertical extensibles and horizontal rules \FlushStep \stopitem
+ \startitem it is the only two dimensional extensible so always a bit of an exception \FlushStep \stopitem
+ \startitem in the wide engines we now have more direct support primitive for that (no macro needed) \FlushStep \stopitem
+ \startitem in practice (at least in \MKIV) we still use macros because we want control \FlushStep \stopitem
+
+ \vfilll \conclusion{Native support for radicals is nice to have and makes coding cleaner.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Primes}]
+
+ \startitem this is a special case as we (sort of) have upto two superscripts \FlushStep \stopitem
+ \startitem and also need to handle an optional subscript of the base symbol \FlushStep \stopitem
+ \startitem and in order to be visually okay, we need to collect multiple primes \FlushStep \stopitem
+ \startitem some fonts have primes raised, some have them flying high \FlushStep \stopitem
+ \startitem maybe at some point the upcoming math pre- and postscripts will help \FlushStep \stopitem
+
+ \vfilll \conclusion{Supporting primes will always be a bit of a pain but I stay on top of it.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Accents}]
+
+ \startitem they can go on top or below one or more characters (also in combination) \FlushStep \stopitem
+ \startitem accents have some hard codes positional properties \FlushStep \stopitem
+ \startitem the wide engines have more direct support for this \FlushStep \stopitem
+ \startitem fonts provide a limited set of sizes, such accents cannot extend (by design) \FlushStep \stopitem
+
+ \vfilll \conclusion{Engine support for accents is better now but maybe fonts need to have more sizes.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Stackers}]
+
+ \startitem arrows (and other horizontal extensibles) traditionally were made from snippets \FlushStep \stopitem
+ \startitem we need them also for chemistry, in rather flexible ways \FlushStep \stopitem
+ \startitem in upcoming math fonts they are become real extensibles \FlushStep \stopitem
+ \startitem but then we still need to deal with existing fonts that lack them (one font in the end) \FlushStep \stopitem
+ \startitem there will be native support for so called character leaders \FlushStep \stopitem
+
+ \vfilll \conclusion{Stackers are more easily implemented although fonts pose some challenges.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Fences}]
+
+ \startitem these go left and right (or in the middle) of things \FlushStep \stopitem
+ \startitem there need to be a matching pair else we get an error \FlushStep \stopitem
+ \startitem they have to adapt their size to what they wrap \FlushStep \stopitem
+ \startitem \TEX ies can take care of that in their input \FlushStep \stopitem
+ \startitem but in for instance \MATHML\ checking all this is a bit of a pain \FlushStep \stopitem
+ \startitem this is still the domain of macros \FlushStep \stopitem
+ \startitem but we could make the engines a bit more tolerant (hard to do) \FlushStep \stopitem
+
+ \vfilll \conclusion{Matching fences will always be a bit of a problem.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Directions}]
+
+ \startitem bidirectional math is mostly a matter of the availability of fonts \FlushStep \stopitem
+ \startitem there need to be some agreement (at the macro package level) of control \FlushStep \stopitem
+ \startitem it's (for me) a visually interesting challenge \FlushStep \stopitem
+ \startitem there are some \TEX ies working on these matters (quite some research is done already) \FlushStep \stopitem
+
+ \vfilll \conclusion{Right to left math will show up thanks to pioneers.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Structure}]
+
+ \startitem demand for tagging also means that we need to carry a bit more info around \FlushStep \stopitem
+ \startitem this puts a little more burden on the user \FlushStep \stopitem
+ \startitem in the end it largely is a macro package issue \FlushStep \stopitem
+ \startitem better tagging of input can also help rendering \FlushStep \stopitem
+ \startitem detailed control at the \TEX\ level makes that users can spoil the game \FlushStep \stopitem
+
+ \vfilll \conclusion{In these times structure gets more important so minimal coding is less an option.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Italic correction}]
+
+ \startitem in traditional \TEX\ fonts this was used for spacing as well as special purposed \FlushStep \stopitem
+ \startitem across fonts there was never much correction \FlushStep \stopitem
+ \startitem \OPENTYPE\ doesn't have this concept \FlushStep \stopitem
+ \startitem \OPENTYPE\ math has some of if but also more powerful kerning \FlushStep \stopitem
+ \startitem generally speaking: we can ignore italic corrections \FlushStep \stopitem
+
+ \vfilll \conclusion{We need to accept that old concepts die and new onces show up.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Big}]
+
+ \startitem normally extensible fences are chosen automatically \FlushStep \stopitem
+ \startitem but macro packages provide tricks to choose a size \FlushStep \stopitem
+ \startitem extensible steps are unpredictable but still several mechanisms can be provided \FlushStep \stopitem
+
+ \vfilll \conclusion{Users will always want control and no engine can provide that but macros can.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Macros}]
+
+ \startitem some special symbols were constructed by macros (and using special font properties) \FlushStep \stopitem
+ \startitem these are mostly gone (the diagonal dots) \FlushStep \stopitem
+ \startitem if it is ever needed again, we should extend the fonts \FlushStep \stopitem
+
+ \vfilll \conclusion{Thanks to new font technologies and wide engines need less dirty tricks.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Unscripting}]
+
+ \startitem you can bet on those funny \UNICODE\ super and subscripts showing up in input \FlushStep \stopitem
+ \startitem it's a somewhat limited and unuseable lot for math (a modifier would have made more sense) \FlushStep \stopitem
+ \startitem it's one of these legacies that we need to deal with \FlushStep \stopitem
+ \startitem so the macro package needs to intercept them and map them onto proper math \FlushStep \stopitem
+
+ \vfilll \conclusion{We always need to deal with weird input, if only because standards lack.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Combining fonts}]
+
+ \startitem we can expect math fonts to be rather complete and if not, one should choose another one \FlushStep \stopitem
+ \startitem but sometimes (for simple math) you want to swap in alphabets and digits that match the text font \FlushStep \stopitem
+ \startitem given that we talk of ranges this is easy to support at the macro package level \FlushStep \stopitem
+
+ \vfilll \conclusion{Although fonts are more complete, occasional combinations should remain possible.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Tracing}]
+
+ \startitem there are lots of symbols involved \FlushStep \stopitem
+ \startitem and we have those extensibles too \FlushStep \stopitem
+ \startitem the larger the fonts get the more checking we need to do \FlushStep \stopitem
+ \startitem so macro packages need to provide some tracing options (or tables in print) \FlushStep \stopitem
+
+ \vfilll \conclusion{We keep an eye on things.} \FlushStep
+
+\stoptopic \StopSteps
+
+\stopdocument
diff --git a/doc/context/presentations/context/2013/context-2013-speed.pdf b/doc/context/presentations/context/2013/context-2013-speed.pdf
new file mode 100644
index 000000000..0f70fe9c8
--- /dev/null
+++ b/doc/context/presentations/context/2013/context-2013-speed.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2013/context-2013-speed.tex b/doc/context/presentations/context/2013/context-2013-speed.tex
new file mode 100644
index 000000000..2c8fc1d31
--- /dev/null
+++ b/doc/context/presentations/context/2013/context-2013-speed.tex
@@ -0,0 +1,108 @@
+% language=uk
+
+% \enablemode[print]
+
+\usemodule[present-stepwise,present-tiles,abr-02]
+
+\definecolor[maincolor] [darkgray]
+\definecolor[othercolor][r=.3,g=.3]
+
+\setupinteractionscreen
+ [option=max]
+
+% \setupalign
+% [flushleft,tolerant]
+
+\setupbodyfont[15pt]
+
+\startdocument
+ [title={Speed:\\\\why it matters\\and why we care},
+ subtitle={Hans Hagen\\\ConTeXt\ Meeting\\September 2013}]
+
+\StartSteps \starttopic [title={Speed}]
+
+ \startitemize
+ \startitem speed matters in a edit-run-preview cycle although this is mostly perception \FlushStep \stopitem
+ \startitem the nicer the interface, the slower it gets, but you seldom set something up so that is not much of a burden\FlushStep \stopitem
+ \startitem everything you provide gets used at some point, also in inefficient ways, so best know your weak spots \FlushStep \stopitem
+ \startitem lots of local (grouped) tweaks leads to many mechanisms kicking in unseen, grouping matters \FlushStep \stopitem
+ \startitem wrong use of functionality can have drastic and unexpected speed penalties \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Pages per minute}]
+
+ \startitemize
+ \startitem we have speed up the baseline performance (in pages per second) as much as possible \FlushStep \stopitem
+ \startitem we try to identify and optimize critical routines, both at the \TEX\ and \LUA\ end \FlushStep \stopitem
+ \startitem of course the used hardware machine and versions of \LUATEX\ and \CONTEXT\ matter \FlushStep \stopitem
+ \stopitemize
+
+ \blank
+
+ \starttyping
+ \dorecurse {1000} {test \page}
+ \stoptyping
+
+ \FlushStep
+
+ \blank
+
+ \starttabulate[|r|r|r|r|r|r|]
+ \HL
+ \NC \bf \# pages \NC \bf Jan \NC \bf Apr \NC \bf May \NC \bf Sep \NC (nuts) \NC \NR
+ \HL
+ \NC 1 \NC 2 \NC 2 \NC 2 \NC 4 \NC 4 \NC \NR
+ \NC 10 \NC 15 \NC 17 \NC 17 \NC 36 \NC 37 \NC \NR
+ \NC 100 \NC 90 \NC 109 \NC 110 \NC 237 \NC 236 \NC \NR
+ \NC 1000 \NC 185 \NC 234 \NC 259 \NC 509 \NC 512 \NC \NR
+ \NC 10000 \NC 215 \NC 258 \NC 289 \NC 548 \NC 557 \NC \NR
+ \HL
+ \stoptabulate
+
+ < 06/2013, \LUATEX: 0.72+, Dell M90, SSD, 4GB, 2.33 Ghz T7600, Windows 8/32 bit\par
+ > 06/2013, \LUATEX: 0.72+, Dell 6700, SSD, 16GB, 2.80 Ghz 3840QM, Windows 8/64 bit\par
+
+ \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={What happens}]
+
+ \startitemize
+ \startitem load macros and \LUA\ code is loaded from the format \FlushStep \stopitem
+ \startitem the system gets initialized, think of fonts and languages \FlushStep \stopitem
+ \startitem additional (runtime) files are loaded \FlushStep \stopitem
+ \startitem text is typeset and eventually gets passed to the page builder \FlushStep \stopitem
+ \startitem pages are packaged, this includes reverting to global document states \FlushStep \stopitem
+ \startitem the \PDF\ representation is created \FlushStep \stopitem
+ \startitem each of these steps has its bottlenecks \FlushStep \stopitem
+ \startitem the more we don, the more \LUA\ gets involved \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={What we can do}]
+
+ \startitemize
+ \startitem avoid copying boxes where possible \FlushStep \stopitem
+ \startitem only enable initializers and finalizers when functionality is used \FlushStep \stopitem
+ \startitem be clever with fonts, in usage as well as in supporting features \FlushStep \stopitem
+ \startitem use trial runs in multi||pass mechanisms \FlushStep \stopitem
+ \startitem avoid too much macro expansion (only matters for tracing) \FlushStep \stopitem
+ \startitem accept that more functionality has a price \FlushStep \stopitem
+ \startitem improve the engine and cook up more clever low level code \FlushStep \stopitem
+ \stopitemize
+
+ but
+
+ \startitemize
+ \startitem don't compromise functionality \FlushStep \stopitem
+ \startitem avoid too obscure code \FlushStep \stopitem
+ \startitem forget about optimization by means of combining functionality \FlushStep \stopitem
+ \stopitemize
+
+\stoptopic \StopSteps
+
+\stopdocument
diff --git a/doc/context/presentations/context/2015/context-2015-status.pdf b/doc/context/presentations/context/2015/context-2015-status.pdf
new file mode 100644
index 000000000..49ef295c2
--- /dev/null
+++ b/doc/context/presentations/context/2015/context-2015-status.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2015/context-2015-status.tex b/doc/context/presentations/context/2015/context-2015-status.tex
new file mode 100644
index 000000000..6ccdea876
--- /dev/null
+++ b/doc/context/presentations/context/2015/context-2015-status.tex
@@ -0,0 +1,87 @@
+\usemodule[present-ovals]
+
+\setupwhitespace
+ [halfline]
+
+\doifelsemode {atpragma} {
+ \usetypescriptfile[ghz]
+ \setupbodyfont[palatino-informal]
+ \setupbodyfont[24pt,ss]
+ \definefont[whatever][file:palatinosansinflcom-med*default at 10pt]
+} {
+ \setupbodyfont[palatino]
+ \setupbodyfont[24pt,ss]
+ \definefont[whatever][Bold*default at 10pt]
+}
+
+\setuplayout[topspace=.10\paperheight]
+
+\definecolor[maincolor][orange]
+%definecolor[othercolor][black]
+
+\startuseMPgraphic{common}
+
+ detailpaths ; % let draw = detaileddraw ;
+
+ drawoptionsfactor := .03bp ;
+
+ drawlineoptions (withpen pencircle scaled 1.0 drawoptionsfactor withcolor .5white) ;
+ drawpointoptions (withpen pencircle scaled 4.0 drawoptionsfactor withcolor white) ;
+ drawcontroloptions(withpen pencircle scaled 2.5 drawoptionsfactor withcolor white) ;
+ drawpathoptions (withpen pencircle scaled 5.0 drawoptionsfactor withcolor .8white) ;
+
+ vardef oneliner(expr t, x, y) =
+ outlinetext.b (t) (withcolor .75white) (withcolor .25white) ysized 2cm shifted (x,y)
+ enddef ;
+
+\stopuseMPgraphic
+
+\startuseMPgraphic{whatif}
+ \includeMPgraphic{common}
+ normaldraw oneliner("\whatever \setstrut \strut \ConTeXt", 0mm, 0mm) ;
+ normaldraw oneliner("\whatever \setstrut \strut 2015", 11mm,-20mm) ;
+\stopuseMPgraphic
+
+\startdocument
+
+\startstandardmakeup
+ \scale[width=\textwidth]{\useMPgraphic{whatif}}
+\stopstandardmakeup
+
+\starttexdefinition statusstep #1
+ \startparagraph
+ #1
+ \stopparagraph
+\stoptexdefinition
+
+\starttexdefinition status #1#2
+ \starttitle[title={#1}]
+ \processcommalist[#2]\statusstep
+ \stoptitle
+\stoptexdefinition
+
+\status{fonts} {new loader, stable interfaces, related mechanisms can be cleaned up, extensions possible}
+\status{hyphenation} {experimental, normalization considered}
+\status{spacing} {functional stable, maybe some cleanup needed}
+\status{metafun} {updated tex and backend interface, occasional additions, module for graphs pending}
+\status{math} {stable, some improvements possible, maybe lua variant (fun project)}
+\status{margins} {quite okay, right2left adaption in progress}
+\status{structure} {stable, maybe cleanup}
+\status{conversions} {stable}
+\status{sorting} {works, extension possible, japanese in progress}
+\status{publications}{getting there, documentation pending}
+\status{color} {stable}
+\status{backend} {stable, awaiting some cleanup in engine backend}
+\status{images} {stable}
+\status{epub} {always work in progress}
+\status{columns} {mixed more or less stable, columsets to be redone, better float support needed}
+\status{file io} {stable}
+\status{tables} {stable, maybe some xtables extensions}
+\status{verbatim} {stable, maybe some cleanup}
+\status{xml} {stable, maybe some more helpers}
+\status{positioning} {okay, optimization possible}
+\status{cldf} {okay, always more possible}
+\status{layout} {okay, bidi model neeed}
+\status{scripts} {work in progress}
+
+\stopdocument
diff --git a/doc/context/presentations/context/2016/context-2016-luatex.pdf b/doc/context/presentations/context/2016/context-2016-luatex.pdf
new file mode 100644
index 000000000..2319aa995
--- /dev/null
+++ b/doc/context/presentations/context/2016/context-2016-luatex.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2016/context-2016-luatex.tex b/doc/context/presentations/context/2016/context-2016-luatex.tex
new file mode 100644
index 000000000..348c2ea5f
--- /dev/null
+++ b/doc/context/presentations/context/2016/context-2016-luatex.tex
@@ -0,0 +1,242 @@
+\usemodule[present-luatex]
+
+\startdocument
+ [title={\luaTeX},
+ subtitle={Version 1.00},
+ location={ConTeXt meeting \emdash\ September 2016},
+ mp:title={luatex},
+ mp:subtitle={1.00\space\endash\space2016}]
+
+\startstandardmakeup
+
+After ten years of stepwise development and experimenting we release version 1.00
+of \LuaTeX\ during the 10\high{th} \ConTeXt\ meeting in the Netherlands, September
+2016.
+
+The interface is now rather stable and will not change significantly which means
+that one can write stable packages.
+
+So, it's time for a bit reflection as well as time to tell what we will be doing
+next.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+Around 2005, after we talked a bit about it, Hartmut added the \Lua\ scripting
+language to \pdfTeX\ as an experiment.
+
+This add|-|on was inspired by the \Lua\ extension to the Scite editor that I
+(still) use.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+One could query counter registers and box dimensions and print strings to the
+\TeX\ input buffer.
+
+The Oriental \TeX\ project then made it possible to go forward and come up with a
+complete interface.
+
+For this, Taco converted the code base from Pascal to C, an impressive effort.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+We spent more than a year intensively discussing, testing and implementing
+the interface between \TeX\ and \Lua.
+
+In successive years we polished things and extended bits and pieces.
+
+The last few years we cleaned up, filled in gaps and reached the point where we
+were more of less satisfied.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+The core is still traditional \TeX, but extended with \pdfTeX\ protrusion and
+expansion (reworked) and directional features from Aleph (cleaned up).
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+The font subsystem accept now wide fonts.
+
+The hyphenation machinery can use runtime loaded (and extended) patterns.
+
+Hyphenation, ligaturing, kerning are separated.
+
+Most steps in processing node lists can be intercepted using callbacks.
+
+The math machinery has opentype math code paths.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+All in- and output can be controlled and intercepted.
+
+The backend code has been separated better.
+
+You can write (simple) parsers.
+
+Nodes can be accessed and manipulated.
+
+Images and reuseable boxes are now native.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+The project is driven by \ConTeXt\ users and \ConTeXt\ development.
+
+Right from the start \ConTeXt\ supported \LuaTeX.
+
+This means that most mechanisms have been tested in production.
+
+Raw performance is less than 8 bit \pdfTeX\ but in practice and on modern
+machines \LuaTeX\ behaves well.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+We will continue development, but functionality will stay stable within versions.
+Of course bugs will be fixed.
+
+The code will be further streamlined and documented. We deliberately postponed some
+cleanup till after version 1.00.
+
+Of course the manual will be improved over time.
+
+\stopstandardmakeup
+
+\startstandardmakeup[bottom=,top=]
+
+ \vfil
+
+ \ssbf
+
+ Hans Hagen \par
+ Hartmut Henkel \par
+ Taco Hoekwater \par
+ Luigi Scarso \par
+
+ \vfil \vfil \vfil
+
+ \txx
+
+ many thanks to all the\break
+ early adopters
+
+ \vfil
+
+\stopstandardmakeup
+
+% ideas
+
+\startstandardmakeup
+
+ \midaligned{Some ideas (1)}
+
+ So far we managed to avoid extensions beyond those needed as part of the opening
+ up.
+
+ We stick close to Don Knuths concepts so that existing documentation still
+ conceptualy applies. We keep our promise of not adding to the core.
+
+ We might open up (make configureable) some of the still hard coded properties.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+ \midaligned{Some ideas (2)}
+
+ Some node lists can use a bit of (non critical) cleanup, for instance passive
+ nodes, local par nodes, and other left|-|overs. Maybe we should add missing
+ left|/|right skips.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+ \midaligned{Some ideas (3)}
+
+ We can optimize some callback resolution (more direct) so that we can gain a little
+ performance.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+ \midaligned{Some ideas (4)}
+
+ Inheritance of attributes needs checking and maybe we need to permits some more
+ explicit settings.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+ \midaligned{Some ideas (5)}
+
+ Bring some more code to the api file. Use the global PDF and \Lua\ states
+ consistently. Some macros can probably go away.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+ \midaligned{Some ideas (6)}
+
+ Minimize return values of \Lua\ functions; only return nil when we expect
+ multiple calls in in one line.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+ \midaligned{Some ideas (7)}
+
+ Figure out a way to deal with literals in virtual characters (relates to font
+ switching in the result).
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+ \midaligned{Some ideas (8)}
+
+ Maybe reorganize some code so that documentation is easier. See if we can stick
+ close to what Don Knuth documents.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+ \midaligned{Some ideas (9)}
+
+ Cleanup and isolate the backend a bit more. Maybe add a bit more options to
+ delegate to \Lua. Get rid of some historic PDF artifacts.
+
+\stopstandardmakeup
+
+\startstandardmakeup
+
+ \midaligned{Some ideas (10)}
+
+ It is tempting to think of a (lean and mean) \LuaTeX\ variant for \ConTeXt.
+
+ We will not touch stable unless it concerns bug fixes, but we will expose
+ \ConTeXt\ users to the experimental branch (as we do now).
+
+ So \unknown\ be prepared.
+
+\stopstandardmakeup
+
+\stopdocument