Software
I include here a number of software projects. I would like to thank the
NSF for providing support whilst the
more mathematical of this sofware
was being developed.
Xkbset
This is a program to help manage many of the XKB features of X window.
This includes such features as MouseKeys, AccessX, StickyKeys, BounceKeys, and
SlowKeys, as described below. It includes a
gui program to help with MouseKeys acceleration management. The program
is available in source form here.
You may also like to look at other similar programs:
(MouseKeys is buggy with respect
to acceleration: see bugfix-for-mousekeys.
This is partially fixed in XFree86 version 4.0.2, and fully fixed in version
4.0.3.)
Fluids Programs
Here are some programs to simulate fluids. They are all written for Unix.
-
The screensaver
xlockmore
contains the mode euler2d, which simulates the 2D Euler
equation. Use version 4.17 or above (but version 4.18 contains
significant optimizations). It may be obtained from
here
or here.
This has now also been incorporated into the
xscreensaver
program.
-
I have written a few programs to simulate the Navier-Stokes equations
with periodic boundar conditions. They make great use of the
Fast Fourier Transform package
fftw.
For displaying, they make use of the OpenGL protocol - I use the
Mesa package.
They are available here.
AccessX for X Window
Here I describe AccessX, an option built into X Window version R6 and above.
This helps users who have certain disabilites with respect to their abilities
to use the keyboard or a mice. If you have other info to put on this
page, please tell me about it:
stephen@math.missouri.edu.
For certain versions of X Window you
may find a built in program called accessx that allows you switch
these options on and off. This includes
IRIX
6.5 for the SGI, possibly something on the
Sun,
and DECwindows.
For other versions of X, there are now a number of other programs that
do the same task:
- A rather nice accessx program at
http://www.rehab.uiuc.edu/accessx/.
-
XFree86-4.0 has a utility xf86cfg which allows users
to set some of the accessx options.
-
A command line interface program xkbset written by me.
-
A very limited, but rather easy to understand, program
cheap-accessx-0.1.tar.gz.
-
Apparently Release 6.6 of X Window (Version 11)
will include the Sun and DEC/Compaq-donated
accessx program. Look for this when your favorite distribution catches
up to X11R6.6.
There are very nice instructions on the use of the various accessx features at
http://ccpc5.unican.es/doc/du-40D-doc/AQ917BTE/DOCU_013.HTM, and also a detailed
description (including many details about MouseKeys Acceleration) in
the document
ftp://ftp.x.org/pub/R6.4/xc/doc/hardcopy/XKB/XKBlib.ps.gz.
In particular, if the accessx feature of X is switched on, many features
of accessx can be switched on without running any special program, viz:
-
Sticky Keys: So for example, to get @, press the SHIFT key, release
it, and then press the 2. To write XKB, press SHIFT twice, then xkb,
then SHIFT again. Works also with CONTROL and ALT. To switch
this on/off, press the SHIFT key 5 times.
-
Slow Keys: Causes the keys to work only if they are pressed for a
certain amount of time (so accidental key presses don't register).
To switch this on/off, press the SHIFT key for 8 seconds.
-
Mouse Keys: The numerical key pad may be used as well as the mouse
to move the cursor. To switch this on/off, press in this order (holding
them down until you are done with the third key): Left SHIFT key, left
ALT key, NUM-LOCK key.
(Actually Mouse Keys is buggy with respect
to acceleration: see bugfix-for-mousekeys.)
There are several ways to switch this accessx feature on. For example:
-
When starting X, have the +accessx switched on. For example,
if you start X with the command startx, do it like this:
startx -- +accessx
-
If you use X via xdm, then look for a file called Xservers
in a directory that might be called /usr/X11R6/lib/X11/xdm, and
make sure it has a line like
:0 local /usr/X11R6/bin/X
+accessx
(OK, I have not tested this - maybe someone else would test it and tell me
if it works.)
-
Use my utility xkbset as follows:
xkbset a
-
If you are using XFree86 version 4.0.2 or greater: as root
edit /usr/X11R6/lib/X11/xkb/X0-config.keyboard (or
wherever this file is), and make sure that AccessxKeys
appears in a line like
Controls += RepeatKeys + MouseKeys + MouseKeysAccel + AccessxKeys
(this file can be created by xf86cfg, or you can just create it
yourself).
Natural Math
This is a program that allows one to write mathematics as it is spoken,
and converts it to LaTeX so that it may be beautifully typeset. This
was originally written to help disabled people to write mathematics.
It is called Natural
Math.
Polyomino Puzzles
Here
is a suite of programs to solve puzzles in which polyominoes are placed
in a geometric shape (usually a rectangle). Some of these were used
to solve some of the problems at
http://www.xs4all.nl/~gp/PolyominoSolver/Polyomino.html.
If anyone finds bugs in my programs, or can
provide some independent verification of some of my numbers, I would
appreciate it.
The screensaver
xlockmore
contains the mode polyominoes, which solves various polyomino
puzzles in real time. Use version 5.01 or above (but version 5.00
has a smaller problem set called pentominoes).
It may be obtained from
here.
This has now also been incorporated into the
xscreensaver
program.
The Dispense Package
This is a package of programs that allow one to distribute a progamming
task (for example, counting twin primes) over several computers. It
is described at
http://www.math.missouri.edu/~stephen/software/dispense/.
The Spherical Package
This computes PDE on spheres using spherical harmonics. It is described at
http://www.math.missouri.edu/~stephen/software/spherical/.
Home page