Portable TeX Documents (PTD)
PackagingCon 2021
https://github.com/arxtex/ptd
Jonathan Fine
Milton Keynes, United Kingdom
jfine2358@gmail.com
Portable TEX documents . . . inputs problem
TEX developed by Don Knuth to typeset his multi-volume The
Art of Computer Programming. First stable release 1982.
In 1988 I wrote research math using TEX on a 2MB RAM and
40MB HD 10Mhz PC. My PhD thesis I paid to have typed.
TEX documents are portable. Identical outputs across space,
time and platforms, given identical inputs. Reproducible.
Inputs = (my stuff) + (fonts + styles + bibio data + . . . )
CTAN (1992) + TeXLive (1996) give identical inputs, but . . .
PROBLEM: Colloboration on a TeX document requires
several GB download and install. G**gl* docs is easier.
Minimize dependencies, change focus to UX
Server / PC: Software focused. Storage is cheap. Be
prepared. Download lots. Gigabytes. Cache useful data.
HTML: Page focused. Delay is deadly. Minimize download.
Megabytes. Cache useful software.
Active voice: The server typesets the source document.
Passive voice: The page is rendered by the web-browser.
Mostly, a Portable TEX document (PTD) is just the text I
wrote. It also has references to all other resources.
The references are git secure hashes, mostly to be retrieved
from a PTD-variant of CTAN or TEXLive (cf MIME-type).
Use FUSE to defuse the gitbomb
Key technologies: Preload and cache PTD-CTAN resources
to reduce downloads. Use git pack files to save space.
The billion laughs gitbomb is MB as a git archive and GB
when checked out. It’s exponential. A chain reaction.
All paths such as /2/0/2/1/1/1/1/0 (today) lead to ”Ha ha ha ha ha ha ha!”
The installed TEXLive distributions across the globe are a
home-made gitbomb. Rarely are any two identical.
FUSE (Filesystem in USErspace) allow us to treat a git
archive as if it were checked out, but without the explosion.
Related technologies are SquashFS, XML Catalog, and the
URI resolver in XSLT (as in libxml).
The future for PTD and associated technologies
Prediction is difficult, particularly when it involves the future
— Neils Bohr.
PDF is portable because of Acrobat Reader (1993), its ISO
standard (2008), and lots of compatible software (cf EPUB).
I’m much smaller than Adobe. If there’s sufficient interest:
2021Q4: Conversations with delegates to this conference.
2022Q1: Some toy examples of PTD.
2022Q1: Approach Guix (secure hash OS).
2022Q1: Approach Unison lang (secure hash func’l language)
2023Q4: PTD usable via a PTD-CTAN / PTD-TeXLive.
202?Q?: Linux mounts git pack files as immutable filesystem.
Questions?

Portable TeX Documents (PTD): PackagingCon 2021

  • 1.
    Portable TeX Documents(PTD) PackagingCon 2021 https://github.com/arxtex/ptd Jonathan Fine Milton Keynes, United Kingdom jfine2358@gmail.com
  • 2.
    Portable TEX documents. . . inputs problem TEX developed by Don Knuth to typeset his multi-volume The Art of Computer Programming. First stable release 1982. In 1988 I wrote research math using TEX on a 2MB RAM and 40MB HD 10Mhz PC. My PhD thesis I paid to have typed. TEX documents are portable. Identical outputs across space, time and platforms, given identical inputs. Reproducible. Inputs = (my stuff) + (fonts + styles + bibio data + . . . ) CTAN (1992) + TeXLive (1996) give identical inputs, but . . . PROBLEM: Colloboration on a TeX document requires several GB download and install. G**gl* docs is easier.
  • 3.
    Minimize dependencies, changefocus to UX Server / PC: Software focused. Storage is cheap. Be prepared. Download lots. Gigabytes. Cache useful data. HTML: Page focused. Delay is deadly. Minimize download. Megabytes. Cache useful software. Active voice: The server typesets the source document. Passive voice: The page is rendered by the web-browser. Mostly, a Portable TEX document (PTD) is just the text I wrote. It also has references to all other resources. The references are git secure hashes, mostly to be retrieved from a PTD-variant of CTAN or TEXLive (cf MIME-type).
  • 4.
    Use FUSE todefuse the gitbomb Key technologies: Preload and cache PTD-CTAN resources to reduce downloads. Use git pack files to save space. The billion laughs gitbomb is MB as a git archive and GB when checked out. It’s exponential. A chain reaction. All paths such as /2/0/2/1/1/1/1/0 (today) lead to ”Ha ha ha ha ha ha ha!” The installed TEXLive distributions across the globe are a home-made gitbomb. Rarely are any two identical. FUSE (Filesystem in USErspace) allow us to treat a git archive as if it were checked out, but without the explosion. Related technologies are SquashFS, XML Catalog, and the URI resolver in XSLT (as in libxml).
  • 5.
    The future forPTD and associated technologies Prediction is difficult, particularly when it involves the future — Neils Bohr. PDF is portable because of Acrobat Reader (1993), its ISO standard (2008), and lots of compatible software (cf EPUB). I’m much smaller than Adobe. If there’s sufficient interest: 2021Q4: Conversations with delegates to this conference. 2022Q1: Some toy examples of PTD. 2022Q1: Approach Guix (secure hash OS). 2022Q1: Approach Unison lang (secure hash func’l language) 2023Q4: PTD usable via a PTD-CTAN / PTD-TeXLive. 202?Q?: Linux mounts git pack files as immutable filesystem.
  • 6.