Skip to content →

Tag: PPC

bloomsday end

From time to time you may see here a message that NeverEndingBooks ends on Bloomsday (June 16th). Soon after, I hope to restart with another blog at the same URL. For starters, Neverendingbooks refers to my never-ending bookproject on noncommutative geometry started in 1999, a millenium ago… Today I\’m correcting the proofs and have even seen the cover-design of the book, supposed to be published in the fall. So, it should be really EndingBook(s), finally. From time to time it is good to start afresh. The next project is still pretty vague to me but it will be a lot more focussed and center around topics like Moonshine, the Monster, the Mathieu groups, Modular forms and group etc. Suggestions for a blogtitle are welcome (M-theory is already taken…). Besides there are technical problems with the machine running the blog, a new one is expected around June 16th. As I will not be able to clone between the two (one PPC, the new one Intel) I decided to start again from scratch. Anyway, Ive made a database-dump of NeverEndingBooks and will make it available to anyone interested in reading old posts (even the ones with a private-status). Finally, there are other reasons, better kept private. Give me a couple of weeks to resurface. For now, all the best.


mathML and work ahead

It has
been a difficult design decision, but I’m going to replace the LaTeXRender WordPress
for mathML as the
default TeX-interface for NeverEndingBooks. I will keep LaTeXRender on
standby as I may have to use exotic packages or commands that iTeX does
not deliver, but for most math-related posts, MathML will do the job
nicely (as the n-category
shows every day (or even more often)). Not that I stopped being
a dilettante but I’m going to do most of my writings (including
blog-posts) using Scrivener (more on this
another time) and Scrivener supports MultiMarkdown and allows exporting to LaTeX and XHTML (using MathML).

I could never have pulled this off in such a short time without Jacques Distler
more or less on constant stand-by (thanks Jacques!). Looking at the
times his emails were send I have no idea in which time zone he lives
(let alone sleeps…). So, here a walk-through the changes :

I’m on WP 2.0.5 I’ll start with Frederick’ post. He tells me I have to install first the itex2MML binary as
explained by
but I find that there is more recent
and therefore download the most recent imath2MML-package
and follow the readme. There is a Mac OSX binary but it’s not clear
for what processor (PPC/Intel/Binary) but a quick mail to Jacques learns
me that it’s PPC which is fine by me but on the spot he puts a
universal binary online, so whatever your Mac is you can just download
the binary, copy it to /usr/local/bin and make sure its chmodded

Back to Frederick’s post, download and install the plugin itexToMML.php in the usual way
(fortunately I spot just in time that I have to change one line saying
where my itex2MML binary is (in Frederick’s file it is NOT the default
location)). You can verify whether the plugin and itex2MML do what they
are supposed to do by typing a LaTeX-command in a post and save it. The
output will not produce the desired formula but have a look at the
source file and see whether there is some mathML code in it. If so,
fine! If not, go back and check everything.

If this works, it is
“merely” a problem of getting your mathML served. Frederick suggests
to unpack in the wp-includes directory (but you
better make sure you have made a copy of the original class.php and
functions-formatting.php files. In the end I decided against this
approach (that is, to replace only the functions-formatting.php but NOT
the class.php file). If you have two or more themes you want to
maintain, it is probably better to change the headers (because this is
what we have to do to get mathML served) only in those themes which are
XML-sound. In my case, the Command Line Interface theme most certainly is NOT!!!).

Go to your
theme-files and look for the header.php (or similar) file and replace
the default header by the code in the addendum to
this post
within php-tags. If you can go to your blog-page then you
are in good shape and things should work well (apart possibly from
layout considerations, see below). Of course, in my case i was greeted
by ” XML “yellow screen of death” (as Jacques calls
it) and I was convinced I did something wrong, so I tried out several
useless things for a couple of hours before it dawned on me that the
reason might just be that my blog-files were not valid XHTML (and the
new headers are very demanding on serving only well-form XHTML). I had
to modify all changes I made to sidebars etc. as well as rewrite parts
of my first posts (I used to take a rather liberal view on writing
blog-posts, writing a mixture between Markdown and improvised HTML and
in the process was very lax about closing IMG-tags and the likes).
But after some time and numerous corrections to the files I got the
main-page up and running (and even had the mathML served as a readable
formula) apart from the fact that I barely recognized my own site.

I printed out source files of the page with and without changed
headers and couldn’t find a difference. So, it had to do with the
CSS-style files, but why on earth would the new headers be picky about
CSS? But as a last resort, after narrowing the search down to one
CSS-line, I asked Jacques whether he had an idea what went on. His reply
will be remembered for quite some time :

A fascinating
question. The answer is that it *is* following the CSS directive, but
in XHTML, ‘body’ is not what you think it is. ‘body’ is just big enough
to contain its content. It does not fill the viewport. ‘html’ fills the
viewport. The solution (a solution) is described in

Many hours later, I still haven’t got a clue what
this is all about, but I blindly followed the hint and surely all
problems vanished. In short, another day wasted in front of a

At the moment I’m back to old headers and
will not be writing mathML for some time as I have the vast job ahead to
validate all my previous posts to XHTML-standards (if not you would see
more yellows screens of death than anything else. So, here’s the
strategy I’ll be taking in the weeks ahead (I’ll sleep on it tonight
so if any of you think there is a better way, reply quickly)

  • rewrite each and every post in proper MultiMarkdown using iTeX for
    the most common math and only resorting to LaTeXRender for exotic things
    (such as Sudoku, Chess, Dvonn) and run these posts through Markdown
    (to get basic HTML and all links in place).
  • download these
    files to the WP-database (so that in the CLI-interface you will be able
    to follow all links, but will read all iTeX as TeX-commands (as the
    command line intended after all).
  • in the process change all
    broken links to the default permalink-structure (with index.php?p=231 or

Clearly, this is a work that will take a couple of
weeks but it may be fun to reread these old posts and possibly add new
information about the subjects. When I’m making these changes, I’ll
use the new headers so if you are using a smart browser look out for the
yellow screens. When they happen, either use a dumb browser (such as
Safari) or go into CLI-interface mode where everything should still
work. I plan to start with the oldest posts as this seems more fun to

One Comment

command line interface

back in 1999 I read Neal Stephenson’s pamphlet In the Beginning ! Was the Command Line and
decided I should and would have Linux running on my clamshell iBook.
Needless to say this was (a) a foolish idea and (b) not entirely trivial
in those dark OS 9-days. Still, I somehow managed with the help op PPC Linux and was
proudly wearing their T-shirt (at least for a couple of weeks in early
2000). Fortunately, as a brief OS X
recalls, OS X was released March 24, 2001 and put an end to
my Linux-folly and I’m pretty certain even Neal Stephenson is on Mac OSX
these days.

Needless to say I couldn’t resist installing the
Wordpress CLI-theme
the moment I spotted it! A command line
interface to your blog! awesome! If you want to have a go at the
original version, take a look at Rod McFarland’s blog.
Just type ‘ls’ to the prompt and you’ll be hooked. Or you can have a
look at the command line interface of NeverEndingBooks by going to the
left sidebar and clicking CLI under the ‘Command Line Version’ header
(don’t be afraid you can always come back by clicking on the
GUI-interface over there). My design is black on a light-gray background
and is no where near as cool as the original theme but it was the only
quick way around some limitations of the CLI-theme.

CLI-theme operates as a front-end via a small interpreter which draws
the information directly from the WordPress-database. As a result you
loose the effect of all post-processing by plugins such as Markdown and LatexRender two of
the plugins I use most! I could still live with the idea that pure LaTeX
was served to a CLI-environment between tex-tags, but surely I didn’t
want to loose all my links! The quick (and extremely dirty) way around
it was to resubmit the relevant part of the HTML-source files of the
GUI-frontend posts to the WP-database. And to serve the same LaTeX-gifs
to the GUI and CLI interface I needed the backgound to be rather light
gray (taking #BDBDBD gray would have been much nicer wrt. the cool
rasterized grayed-images but then some of the more recent LaTeX-gifs
became partially unreadable). Oh, and in the process I had to update the
permalink structure, thereby wrecking allmost all internal
reference-links (but I’ll sort them out soon, I promise).

So, a
lot of work for a rather meagre result. What do I like about the
CLI-interface (apart from old time nostalgia)? I really like the
searching facility. Just type ‘search yourword’ to the prompt and it
will give you all posts containing that word (much quicker than in the
GUI-interface) and if you remember at least one word from a post-title,
feeding it to the prompt will give you the entire post (or a list of
posts if the same word appears in different posts). Try out typing
‘Perelman’ to see what I mean. Besides, bots don’t seem to know what to
do with the CLI-interface so for the few days I had this theme as my
default theme I was alone on NeverEndingBooks mast of the time (which
helped a lot having to change that many posts). So, whenever I want to
have the site to myself I’ll just change the default theme from now

Still, I did put back the old GUI as default because the
CLI-theme still has a few drawbacks. Such as, it is impossible to write
a sizable comment (not that too many of you do this, but anyway) and
some other quirks. Still Rod McFarland is working on a version 2 (and
even set up a google-group for
those who want to code along, and maybe I’ll join the effort) which
promises a great improvement and I’m rather confident that by version
3.14 it will be in a state that I’ll have the CLI-interface as my
default. Until then, I’ll keep up the two front-ends and allow you to
toggle as you like (your browser will remember your preference).

I realize most of you are youngsters and not of my cpu2
generation so have a hard time imagining how exiting a command line
prompt is. Fortunately, Neal Stephenson has made the full text of “In
the beginning ! was the command line” available as a
free download. Print it out and enjoy!

Leave a Comment


(which stands for ‘Software for Algebra and Geometry
Experimentation’) includes and offers an interface to GAP, Singular,
Maxima and even PARI as
well as an interface to other packages such as Maple, Magma and
Mathematica (see here
for a full list of its features). More importantly, Sage offers a binary
for both PPC and Intel-Macs! I did check this out and it runs without
problems, in fact, after this initial check I installed from the sources
on my MacBook Pro and after one hour of compiling I did have working
(though not full) versions of GAP, Maxima and Singular. At first I
was a bit worried that only small subsets of the three systems were
installed, but it is quite easy to extend your Sage with additional
packages. From the Unix-prompt do a sage -optional
and you will get a list of all (additional) packages you have already
installed and those available for installation. SAGE is pretty well
documented with tutorials and reference manual to be found here. Even if you do not want to learn (yet) the Sage-commands but just
want to continue using the programs under its hood, this is pretty easy.
For example, to get to Maxima, you only have to type
!maxima from the sage-prompt to open up a maxima-session
(and similarly for Gap and Singular).

Schelter’s Affine-package is not included, but you can load and install
it from the maxima-prompt by load("affine.lisp"); but some
commands such as ‘fast_central_elements’ do not seem to
work as expected (or maybe I forgot the drill over the years, I’ll try
it out again).

Leave a Comment

hold on to those PPC macs

On my
return from O a brand new 15inch MacBook Pro lie waiting in
my office. By that evening I had wrecked the system to the extend that I
could no longer login and had to reinstall from scratch… I was
about to trow it away but tried it out for a few more days and
eventually began to understand it a bit. In short : the new Intel Macs
promise to be really good hardware, unfortunately some essential
software lags behind, so if you want a stress-free Mac-life… hold
on to your PPC mac a few months longer. If you are impatient and want to
learn some of the pitfalls, read on… I’m ashamed to admit this
but the first thing I did on my new machine was to create a WindowsXP
partition… BootCamp does what it
promises to do and is extremely easy to use once you can start it. The
installation guide does tell that you jave to update your systems
software and firmware, but that’s what you do anyway after a new
install, right? Wrong! You update the software but _not_ the
firmware and it took me some time to come to this simple conclusion. How
to check whether your firmware is up to date? Go under the apple to
‘About this Mac’, click on ‘More Info’ and look at your
‘ Boot ROM Version:’ if it says MBP11.0055.B03 you’re ok, if not
you have to install the newest firmware which is a slightly terrifying experience
with soundsignals included, but works fine. Once this is done, you can
start BootCamp and have a Windows partition in no time. At a certain
moment you have to decide on possible partition-formats for the Windows
part, I choose the ‘Fat’ option to be able to swap files across
the partitions. Next, what does a mathematician wants from a
computer? To run LaTeX! I’ve installed LaTeX on more Macs than I
remember so I continued on automatic pilot, getting Gerben Wierda’s i-Installer, startd it up and
… my machine froze! Nothing, not even a ‘Force Quit’, was
possible any more. Today, there is a clear warning message as the
i-Installer page (i don’t recall seeing it there last week, but then it
is a recent problem. Things broke down on May 11th when I was still in

WARNING: i-Installer on Mac OS X 10.4.6 may trigger
the Mac OS X 10.4.6 bug that partially freezes your system. May 2006:
i-Installer did work perfectly on Mac OS X 10.4.3, the version of Tiger
that was shipped with the Developer Transition Kit. When the first intel
machines were sold by Apple, these contained 10.4.4 and on that system,
i-Installer experiences troubles because of problems deep inside Apple’s
Frameworks. The only way I could solve this was to make i-Installer a
PowerPC-only application again and ask for Apple’s help to determine
where the problem was. So far, this has been s slow process without any
noticeable results. The PowerPC-only version worked fine until Apple
released 10.4.6 and especially the latest upgrades (Security Upgrade
2006-003 and maybe QuickTime). As I am writing this (May 21) a
completely updated Mac OS X 10.4.6 on intel will partially freeze in
various circumstances, triggered by various applications (MatLab,
i-Installer, etc.). Sadly, the just released MacBook (successor of the
iBook) is shipping with this broken version of the OS. Hence, there is
now no i-Installer that reliably works on intel machines with recent OS
versions and even worse, i-Installer may trigger a nasty bug in recent
Mac OS X intel versions.

Scary isn’t it? You have a
brand new expensive machine but cannot typeset a single paper…
Fortunately, the TeXShop
not only mentions the problem, but also a workaround

On May 11, 2006, Apple provided security updates for Mac OS
X. These updates broke i-Installer on Intel (it continues to work on
PowerPC). If you have an Intel Mac and you have installed this update,
you must use the MacTeX install package until this problem is fixed.
Once TeX is installed, it works fine.

The first
assertion is true : installing the MacTeX package gives you a working
TeX-installation, with TeXShop, Excalibur, BibTeX and i-Installer coming
for free. But don’t think the i-Installer problem has been solved, I
tried it out and voila another ice-age… So far so good but
sometimes we like to compute things, don’t we? Like some commutative
algebra or algebraic geometry things via Singular? I remembered to
install this via the Fink
but already their news-items are not very promissing

A preliminary version of Fink for the Intel architecture is
now ready. No binary packages are available, and things are still rough
around the edges, but it should be usable if you are patient! To
install it, you need to install the XCode compiler and SDK packages (at
minimum). Then you need to get the file fink-0.24.14.tar.gz from the
Sourceforge file release page for Fink, expand the file, and run the
command ./ . At the end of the bootstrap process, run fink
selfupdate and you’ll get the currently available packages. At last
check, there were about 1750 packages in the “stable” tree,
but about 150 of those did not build. When things are truly stable,
another annoucement will be made here.

The normal
FinkCommander didn’t work either but then I found a version which does
at Charles K. C. Lo’s
. I verified it by having the fink-TeTeX package installed
(which works!) and then I wanted to do a Singular-install… Things
seemed to start off well (once you change the freferences to install
also unstable packages) but then the installation procedure halted with
the message

Failed: phase compiling: singular-3.0.1-1013
failed Before reporting any errors, please run “fink
selfupdate” and try again. If you continue to have issues, please
check to see if the FAQ on fink’s website solves the problem. If not,
ask on the fink-users or fink-beginners mailing lists. As a last
resort, you can try e-mailing the maintainer directly: Michael
Brickenstein bricken at Note that many
fink package maintainers do not (yet) have access to OS X on Intel
hardware, so you may have better luck on the mailing lists.

So, maybe I should just donate my MacBook Pro to the
Fink-project? A similar problem with installing Maxima… I didn’t
even try out GAP via Fink but went for a niversal Unix-installation for
GAP and this WORKED! even with all packages and tables and the whole I
dont know what. Thank you, GAPpers, perhaps all algebraists on Intel
Macs should shift to GroupTheory? But hey! My Intel-Mac does have a
WindowsXP partition… So, I did a binary Windows install of
Singular and Maxima and both work without problems. Still, it is a
strange situation. Fortunately, I did resolve these issues but that will
have to wait until tomorrow…

One Comment

some smaller steps

always amazes me how much time I have to waste in trying to get
tech-stuff (such as this weblog) working the way I want. You will barely
notice it but again I spend too much time delving in PHP-scripts,
sometimes with minor success, most of the time almost wrecking this

An example : it took me a day to figure out why
this page said there was just 1 visitor online whereas log files showed
otherwise. The PHP-script I used checked this by looking at the
IP-address via _REMOTE_ADDR_ which is perfectly OK on an ordinary
Mac OS 10.3 machine, but _not_ on an OS X-Server! For some reason
it gives as the REMOTE_ADDR just the IP address of the Server (that
is, in this case) so whoever came by this page got
tagged as and so the script thought there was just one
person around… The trivial way around it is changing every
Easy enough but it took me a while to figure it out.

example : over the week-end this weblog got a stalker! There were over
100 hits from, so whoever that is really liked this site
but didn't have time to read a thing… Again, the standard
solution is to ban the IP-address and most weblog-packages have such a
tool on their admin-page. But whathever I tried and Googled WordPress doesn't seem to have it
on board. There were a few hacks and plugins around claiming to do
something about it but none of them worked! So, I tried more drastic
actions such as editing .htaccess files which I thought would solve
everything (again, no problem under 10.3 but _not_ under
10.3-Server!). Once more, a couple of hours lost trying to figure out
how to get the firewall of a Mac-Server do what I needed. The upshot is
that I know now all dark secrets of the _ipfw_ command, so no
more stalking around this site…

In the process of
grounding my stalker, I decided that I needed better site-stats than my
homemade log-file provided. Fortunetely, this time I picked a package
that worked without too much hassle (one more time I had to make the
REMOTE_ADDR substitution but apart from that all went well). You will
see not too much of the power of this stats-package on the page (apart
from the global counter), I feel that such things are best forgotten
until something strange occurs (like stalkers, spammers and other
weirdos). A nice side-effect though was that for the first time I had a
look at _referring pages_, that is the URL leading to this weblog.
Lots of Google searches (some strange ones) but today there were also a
number of referrals from a Chinese blog. I checked it out and it turned
out to be the brand new Math is Math! Life is Life! weblog…

Another time
consuming thing was getting the BBC-news RSS feeds working in the
sidebar, so that you still get _some_ feel for reality while
being trapped here. I am not yet satisfied with the layout under
Explorer, but then everyone should move on to Safari (so I did give up
trying to work out the PHP-script).

But most time I wasted on
something that so far has left no trace whatsoever here. A plugin that
allows specific posts to be read only by registered users (of a certain
'level', that is WordPress can give users a level from 0 to 10
with specific degrees of freedom). But clearly at the same time I wanted
the rest of the world to have at least some indication of what they were
missing (such as a title with a nice padlock next to it) but so far I
didn't get it working. The only trace of a closed posting would be
in the sidebar-listing of the ten last posts but gives an error message
when an unauthorized user clicks on it. So, still a lot of
headache-sensitive work left to do, but it is about time to get back to

update (febr. 2007) : the
padlock-idea is abandoned.

Leave a Comment

Singular via GAP on OSX

GAP-package is very good in working with finite
fields or Abelian extensions of the Rational numbers, but sooner or
later we will need to use the coordinate ring or function field of an
affine variety for which it is hopeless. On the other hand, there is an
excellent free package to do these calculations : Singular.
So, the ideal situation for us would be to be able to access Singular
from within GAP. Fortunately, Marco Costantini and Willem de
Graaf have written such an interface. Here is how to get in working
under OS X : One has to download two files from the Singular Mac OS X download page :
Singular-2-0-4-share.tar.gz. Once they are on your desktop you
can follow the instructions on the INSTALL.html file in the 2-0-4
Folder of the expanded Singular-2-0-4-ppcMac-darwin. Keep the
tarred version and open the INSTALL-file in your browser (to be
able to copy and paste) and open up the Terminal. Do the analog
thing to

cd /usr/local sudo tar -pxf
/Users/lieven/Desktop/Singular-2-0-4-ppcMac-darwin.tar sudo tar -pxf

follow the instructions making the symbolic links and you have Singular
working. The next step is to go to the GAP Packages page and go to the
package Singular for full documentation.
To use Singular in a GAP-session, here is an example

The GAP interface to Singular 
gap> StartSingular();
I  Started Singular (version 2004) 
gap> SetInfoLevel( InfoSingular, 2 ); 
gap> G:= SymmetricGroup( 3 );; 
gap> R:= PolynomialRing( GF(2), 3 );; 
gap> GeneratorsOfInvariantRing( R, G ); 
[ x_1 x_2 x_3, x_1*x_2 x_1*x_3 x_2*x_3, x_1*x_2*x_3 ] 
gap> I:= Ideal( R, last );; 
gap>GroebnerBasis( I );
I  running GroebnerBasis... I  done
GroebnerBasis. [ x_1 x_2 x_3, x_2^2 x_2*x_3 x_3^2, x_3^3 ] 
Leave a Comment