The Spectre of Math

May 20, 2010 for Math Texbooks

Filed under: Mathematics,Teaching — jlebl @ 8:12 pm

I mailed our faculty mailing list touting my textbooks (Diffy Qs and Real Analysis), and one of the responses linking this post gave me an idea. Perhaps I should start a sort of for math textbooks. Simply set up a repository (svn would work best I assume). Then set up some web around it. The site would definitely need some “editorial board” that would approve what textbooks are allowed, and there should be some sort of way to make versions that are “blessed” by the board and that would then be in some sense “stable.” Books could be in development and of course branches could be set up to work towards the next “blessed” version of the book.

I would definitely want to avoid the problem of wikipedia, wikibooks, planetmath, and such, where anyone off the street can come in and start typing what they think is math. The problem of wikipedia is of course that anyone can do whatever they want. Planetmath was touted as being more strict and having maintainers for topics. The problem with planetmath is that the way maintainership is decided is on a first come first serve basis. If the homeless guy living in the local mall parking lot decides that he wants to write a topic on strictly pseudoconvex manifolds, then he will control that topic from now on. Regardless of qualification.



  1. Probably a distributed version control system (e.g. Mercurial, git) would be a better choice than a something like SVN which uses a centralized repository. This is what they use for the collaborative book on stacks, for instance. The advantages of a DVCS are:

    (1) Trivial to setup, all you need is a plain web directory, so there’s no need to run a special server and worry about the associated security issues.

    (2) Anyone can download a complete copy of the repository and make commits locally while also tracking the master copy; patches are easy to send, via email, to the central maintainer for consideration for inclusion.

    (3) Regular contributors can also put their repositories online and pull revisions from (selected) other repositories; the central maintainer can pull any changes they choose into the master copy without everyone needing any sort of accounts (shell or otherwise) on a common machine.

    I’ve used Mercurial a little in this context; if you want to stop by at some point I’d be happy to show you the basics.

    Comment by Nathan Dunfield — May 21, 2010 @ 5:04 am | Reply

    • Obviously you are not a frequent reader of my blog, else you would have seen my frequent git rants πŸ™‚ I am forced to use git to maintain gnome-genius and git bothers me to no end. CVS or SVN seem so much easier to me. In the past I’ve maintained several projects with many developers in the gnome repositories when they were still using CVS. I have never run into a problem where git (or another dvcs) would have made life easier for me. In fact I know that many things I was used to doing are hard/awkward/impossible with a dvcs (see all previous git posts). Many of my headaches might simply be git itself, but I still don’t believe that the touted advantages of a distributed vcs are actual advantages that lead to higher productivity and to higher quality content (be it math or software) in the repository. Maybe I’m a minimalist, but it feels to me like a dvcs like git is doing too much magic with the software/content that it is tracking. It should do as little as possible so that what it does is completely transparent.

      My biggest philosophical problem with dvcs is that it starts with the assumption that every developer has a different tree. To me that seems like exactly the wrong direction. I want as few versions as humanly possible. Merging branches while guaranteeing that the merge did not introduce bugs is very tricky and in my opinion requires hand merging. Before I merge a change I want to understand a change within the context of the version into which I am merging to make sure it makes sense. It is simply not something I would ever trust to software to do correctly automatically.

      Comment by jlebl — May 21, 2010 @ 8:02 pm | Reply

      • I’ve not used git, only Mercurial, which I quite like. Admittedly, I’ve never used it in a truly distributed manner. The main project I’ve used it on has two people with commit access to the master repository, and few others who occasionally submit patches by email. I’ve also switched from svn to Mercurial for all my little personal projects, as I find it’s just a little easier to setup a new repository with the latter, and I’m very lazy. I do still use svn for writing papers with others since the bar for the other users is lower, though I’m also experimenting with DropBox, where the bar is lower still…

        Comment by Nathan Dunfield — May 22, 2010 @ 1:31 am

      • The bar being lower for contributors is a big win I think. I’ve thought about something like dropbox, though do they have any sort of revision control? It is unfortunate that even svn/cvs is too high of a bar for some of my coauthors πŸ™‚ I have not used mercurial. Though I use cvs for the ease of setting up repositories. Any directory can simply be made a repository and the remote user simply needs an ssh account.

        Comment by jlebl — May 22, 2010 @ 4:33 pm

      • Yes, DropBox definitely has revision control. Via the web-interface, one can a list of earlier versions of the file and view/download them. It’s pretty fine-grained, and seems to basically record every version of the file that’s ever saved — looking at one file here it recorded 8 versions over a 10-minute period.

        I’ve not used the Linux version of DropBox but the OS X version operates seamlessly. The web-interface has been very handy for my collaborators who didn’t have authority to install DropBox on certain work machines.

        Comment by Nathan Dunfield — May 22, 2010 @ 6:28 pm

      • Also, one can of course also use any purely directory-based VCS within Dropbox.

        The great thing about Dropbox is that it’s so easy to use. In particular no member of the collaboration needs to be very computer savvy, whereas at least one needs to be for most conventional VCSs (though some departments now run their own SVN servers, which lowers the bar).

        Comment by Nathan Dunfield — May 22, 2010 @ 6:33 pm

      • I’ll take a look at dropbox again. It might be just what I need for some of my collaborators.

        Comment by jlebl — May 23, 2010 @ 3:30 am

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Blog at

%d bloggers like this: