summaryrefslogtreecommitdiff
path: root/doc/context/presentations/context/2012
diff options
context:
space:
mode:
Diffstat (limited to 'doc/context/presentations/context/2012')
-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
12 files changed, 1202 insertions, 0 deletions
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