The crisis in the TeX Users Group Saturday, Apr 2 2016 

Kaveh Bazargan took office as President of TUG in May 2015. I was shocked to read the Board’s announcement, on 13 October, that they had suspended him from office. This, if not reversed, would lead to his removal. It’s not been reversed.

The Board removed him because they decided that he was not working in the best interests of TUG. Kaveh Bazargan was elected 307 to 110 in the first contested election since 2005, and the acting President is now Kaveh’s opponent Jim Hefferon.

I’ve written a letter about this to TUGBoat, the journal of the TeX Users Group. It will appear in the next issue. You can read it now here (PDF).

I ask that comments be posted either to comp.text.tex, or to the TUG members mailing list (TUG members only, can be reached via the TUG members area).


Candidate Betti numbers for linear homology Monday, Feb 25 2013 

In April this year I’ll be giving a talk, with the title Candidate Betti numbers for the linear homology of convex polytopes. at the Université Libre de Bruxelles. Here are Candidate Betti numbers for linear homology slides that I originally prepared.  And here’s the Finding linear homology slides that I’ll actually use for the seminar. The second set is short, and gets to the main definitions more quickly.  The first set puts the material in context, but is much too much for a single talk. [Second set of slides added April 1, 2013.]

Here’s the abstract:

The middle perversity intersection homology (mpih) Betti numbers of the toric variety associated with a convex polytope are linear functions of the flag vector of the convex polytope.
In this talk I define similar linear functions, which I hope are the Betti numbers for a not yet defined homology theory. This linear homology theory should exist wherever mpih does.
Such homology would prove that these candidate Betti numbers are actual Betti numbers, and so non-negative on all convex polytopes (being the dimension of a vector space).

Combinatorial polytopes and intersection homology Tuesday, May 22 2012 

I gave a maths seminar talk at the Maths department of the Open University today. Here are the slides cpih-2012-slides (PDF)

I hope before to long to write some posts on the contents of the talk.

Explicit use of JavaScript’s global object Friday, Jul 17 2009 

A lot of JavaScript programmers use an anonymous function at the top level, to establish a scope. This allows variables to be defined in a file (or module if your prefer), without adding anything to the global namespace.

The problem with this, however, it that it becomes awkward when you do need to add something to the global namespace.

Here’s a trick that solves this problem.

        var global = (function(){return this;}).call();
        global.Formula = function (){
            // body of function

This code is equivalent to:

    var Formula;
        Formula = function (){
            // body of function

Both forms have the same number of lines of code, but the first pulls ahead for each additional object added to the global namespace.  But there are other advantages.

  • It is made explicit, that the assignment to Formula is being made in the global namespace.
  • Suppose you decide that Formula and its companions should live in a different namespace.  In the first, simply search and replace on ‘global’ and replace the definition of global.
  • In the first, we take care to explicitly obtain the object we are changing, namely the global object.
  • According to Douglas Crockford, “JavaScript’s global object […] is far and away the worst part of JavaScript’s many bad parts”. Writing as in the first example discourages and makes explicit the use of the global object.

TUG board election Saturday, Jan 31 2009 

I’m standing for the board of the TeX Users Group. You’re invited to make comments on my election statement below.

I work for the Open University (the UK’s leading provider of distance education) as a TeX expert for print media. I’m also halfway
through a two-year project on putting mathematics on web pages.

In 2006–7 I set up MathTran, which now provides typesetting of
TeX-notation formulas to images as a public web service, serving
about a million images a month.

MathTran shows the value of TeX as a web service, which I’d like to
extend to whole documents. Installing and configuring TeX can be
slow and difficult. Using TeX through a web browser will help

Part of my math-on-web project is a page where students can
interactively create a TeX-notation formula, say for putting on a web
page or in a word-processor document.

I have a doctorate in Mathematics and although not my career I still
have research interests. I have been using TeX for over 20 years,
and joined TUG in 1989. For the past two years I’ve been Chair of the
UK TeX Users Group, and have recently been re-elected for another
two years.

The past three years have seen UK TUG come out of a long period of
inactivity and decline. The credit for this of course belongs to the
Committee and the members, and not simply myself. We’ve organised
three successful meetings, adopted a new constitution, and set up a
website with links to UK TeX resources.

As a board member I would bring to TUG a focus on a key core
community, namely those who write material with lots of mathematics.
I have a particular interest in providing help and support,
particularly through web pages.

TUG, by virtue of TeX being a typesetting program, rightly has a
focus on print media. But to flourish we must also use new media
effectively. The Open University faces the same challenge, and my
experience there will help TUG.

TUG has a special responsibility, to publicise TeX and related
fonts, programs, documentation and other resources.

I’d like TUG to offer more to institutional members. In particular,
we should help them share user support experience and resources.
Supporting TeX can be daunting without outside help.

When I joined TUG there were over 150 institutional members. There are
now just 27. The loss I feel the most is the Library of Congress.

Learning jQuery Sunday, Apr 27 2008 

Learning from mistakes

This post is about my experience of learning jQuery. I’m developing some JavaScript for use with MathTran, and from past experience I know that I need a library. Elsewhere I explain why I’ve chosen jQuery. On Friday I started learning jQuery, mostly from the two Packt books, and yesterday and today (Saturday and Sunday) I’ve started with some coding.

I’m fairly new to JavaScript programming, and it’s easy for me to trip up on some of the language features. For example, it’s my Python habit to write ‘self’ when I really should be saying ‘this’. I addition, I’m not used to the widespread dynamic creation of functions, to be attached to DOM elements to handle events. So in addition to learning how to think jQuery, I’ve also been learning how to think JavaScript and DOM.