PlanetMath Task Tree

Table of Contents

1 Content

1.1 FEM

1.1.1 TODO Migrate PlanetMath content to

1.1.2 TODO render PDF and HTML output from the sources stored there.

1.2 AsteroidMeta content

1.2.1 TODO restore content in some readable format

1.3 Project Gutenberg content

1.3.1 TODO process Ray's list of gutmathbooks and put them online here

2 Catalog

2.1 PM-Xi

Work in progress here, in home/shared-folder/index-project and is available via Git once access is established. See Organization below for login details.

2.1.1 TODO Phase I: Examples and demos

We start small with a handful of indices. At this scale, we don't need much in the way of automated tools and can do things by hand. The aim is to make some simple proofs of concept and get a feel for how the project goes.

  1. TODO Collect indices for Complex Analyis and Category theory

    At first, start with about two dozen indices for each subject. The books have already been identified. This will provide a useful demo of what a whole subject might look like.

  2. TODO Refactor and finish zml to html converter

    Should be able to parse it using regular expressions like a wiki engine. Try out xmlgen as a code generator.

    • Check in TXT-TO-Z translator
    • Check in Z-TO-HTML translator
    • Check in example sources from Springer
  3. TODO Public domain books

    In addition to old books on Complex analysis pull up some more indices from public domain math books. An important feature of these is that, in addition to the just the indices and the tables of contents, the full text of the book is available for use and public hosting.

2.1.2 TODO Phase II: Combine indices

Just putting a bunch of book indices in the same file format in the same folder — whether it's 50 of them or 500 or 5000 — does not constitute a cross-index. To rise to that level, we need to turn this discrete set into an interacting whole and make explicit the relations between terms across the literature.

  1. TODO Generate topic indices

    Write facilities which will take a collection of book indices, pick out books by metadata criteria such as topic, and combine their indices into a single comprehensive index for that subcollection.

  2. TODO Study relations between words

    Find occurrences of index terms in the body of a work. See which terms are more likely to occur in the same sentence or paragrpaph, which terms are likely to preceed which terms, etc.

2.1.3 TODO Phase III: Prepare tools

  1. TODO Study 50 examples

    In the process of figuring out how to download all the Springer back matter, we started out by looking at 100 examples. In the process, we got 50 examples of back matter PDF's. Study these to find out what is present and figure out what sorts of processing will be needed.

  2. TODO Filter out indices

    An index has some feeatures which distinguish it from most other pages in a book such as short lines of text in alphabetical order with numbers in between them. If we could automatically pull out just the index pages from the back matter, that would save a considerable amount of effort.

  3. TODO Standardize formats

    For the purpose of getting started, we picked some format for our indices. Once we have gained some experience using it but before proceding to enter hundreds of indices, we should re-evaluate the format and standardize it properly.

  4. TODO Automated formatter

    Automate the process of identifying headings, subheadings, etc. in a index as a text file from a book as far as is practical.

2.1.4 TODO Phase IV: Large scale operations

  1. TODO Copy Springer data from Einstein server

    This might have to wait until Cameron is available.

  2. TODO Other publishers

    Look at other publishers and harvest indices where feasible.

  3. TODO Public domain

    Locate all the math books on Internet Archive, download copies, and start extracting indexes.

  4. TODO Set up organization for index project

    Once we get to the full scale of thousands of books, we will need some sort of organizer system to keep track of which book indices are ready, which are in various states of preparation, and which ones have special issues so as not to get lost.

2.2 Centralized Bibliographic Database

2.2.1 TODO Locate LOC catalog and extract math part.

Note that, for the last 50 years, just yanking out QA is not good enough since it will also include every computer manual.

2.2.2 TODO Put resulting math catalogue online.

2.2.3 TODO Figure out how to work math specific metadata (such as what we had in our old tags) into BibJSON or whatever format.

2.2.4 TODO Extract math specific metadata from publisher catalog and other sources.

3 Community

3.1 TODO The community needs stable access to content and site (see "Content" and "Code")

3.2 TODO Registering new users needs to be sorted out, probably through Github after migration (see "Content")

4 Organization

Git access to the pminfo repository is via this command:

git clone

4.1 TODO Set up suitable hook to regenerate HTML on push

4.2 TODO Reboot the organization

Make the flux through the diagram below greater than zero!

Organizations, Money, People -- bThe relationship between the different facets of sustainability as put forth in this chapter

5 Code

5.1 Digital Ocean instance currently points to a Digital Ocean instance, managed by Aaron Krowne, and with hosting fees paid by David Jao.

5.1.1 STATUS (Aug. 11, 2016): D.O. needs to be rebooted!

5.1.2 STATUS (Aug. 15, 2016): D.O. running / Drupal site online

5.2 Metameso server

We use the metameso server for development and light-weight hosting.

5.2.1 TODO Upgrade to Ubuntu 16 and Emacs 25

5.2.2 TODO Clean up web directory

After going through all sorts of projects, the /var/www and /etc/apache directories have filled up with things not all of which are still relevant. Thus we should look through them, figure out what we still want and organize it.

5.2.3 TODO Organize Git repositories

Put the various projects we are working on (including this meta/managerial projct) into multiple git repositories for versioning.

5.3 Hypernotebooks

Nowadays, we have TeX documents which present mathematics in an attractive form for human reading but which are not understood by the machine and Maxima notebooks which are glorified REPLs for machine computation. We would like to bridge the gap between these by making what we term "hypernotebooks" — documents which combine featues of both TeX documents annd Maxima notebooks, including both as boundary cases. Like regular documents, these will compile to produce pretty output, but now the rendering process will involve calculating formulas and verifying the correctness of arguments.

5.3.1 Maxima-Emacs Interface

  1. TODO Test suite

    Write an ERT suite to deonstrate and test the fuctionality of the interface.

  2. TODO Documentation

    Desrcibe how the software works before I forget!

  3. TODO Standardize preamble

    Put the preamble in the standard form described in the elisp manual.

5.3.2 Active documents

Start working on designing active documents which call Maxima.

  1. TODO Notebook test

    As a first step, get basic notebook functionality in a buffer. This will be like imaxima but using the new interface, hence preserving state between steps. Maybe should look at the internals of Imaxima, even make a new version with the new library.

  2. TODO Psuedo-TeX preprocessor

    Write a preprocessor to implement pseudocommands for inserting calculations into TeX source.

  3. TODO Sample documents

    Look at the following PM entries and rework them as active documents:

    • 11nnisanincreasingsequence
    • asymptoticsofcentralbinomialcoefficient
    • computationofmomentofsphericalshell
    • computationofsurfaceareaofportionofparaboloid
    • convexityoftangentfunction
    • derivationofhalfangleformulaefortangent

6 About

This document is organised around the following facets:

Community, Content, Catalog + Organization, Code

Org mode source code is stored in /home/shared-folder/index-project/schedule/ on

However, please don't edit that directly; rather, check out the source via git, see Organization section above.

Author: PlanetMath development team

Created: April 20, 2016

Revised: August 15, 2016