The Home Page of
James Dow Allen
Computer Programmer

I interrupt this home page with a special message from its webmaster. Credible opinions and lawsuits make damaging claims about voting irregularities in an important U.S. election. Why aren't such matters better reported on the news?


Both my vocation and avocation are computer programming.

I also dabble in recreational mathematics.

Once I was involved in the IBM add-on memory industry. Here's an invention I'm proud of; and here's a detailed discussion of an interesting bug from those days. Here's an even more boring bug, with possible interest since it is arguably a weird IBM Principles violation.

I am now preparing a Digital Search Tree (Trie) which uses an especially memory-efficient technique to store pointer information. E-mail me if you're interested.

When I was first learning to create html pages, for some reason I chose to build a list of great mathematicians as a practice page, even though I wasn't qualified to make such a list without a lot of advice. Since then I've invested a lot of time reading mathematical histories and biographies and revising the page. I'm proud of it now: please read it! (With 178 mini-biographies, the single page has now grown to over 380 kbytes. With today's fast speeds, I suppose this is not a problem, but please tell me if I'm wrong!)

I like composing and solving a variety of puzzles:

I've become fascinated with the idea of deducing human prehistory from genetic and linguistic evidence.
Here are my conclusions about the source of the Vedics.

I'm also interested in Games and Gambling. Here are some comments on Connect-Four.

Lately, in middle age, I'm finally trying to tune up some miscellaneous computer skills. See the animated gifs in the next section.

And of course, how could an American not follow politics? Here's my Wake up call for "liberals".

I love Go, but never found the time to pursue it so I'm just a kyu player. I've prepared animated-gifs of some famous games played by Wu Qingyuan (Go Seigen), one of the very greatest players ever.

Select which Game to view:
    Wang Yunfeng vs. Wu (1926)
    Fujisawa Kuranosuke vs. Wu (1953)
Or one of three games from a very important tournament:
In the mid-1950's Go Seigen was at the peak of his powers and
never lost as Black, but played White (without komi) in these games.

    Wu vs. Takagawa Kaku (Honinbo) (1957)
    Wu vs. Sakata Eio (1957)
    Wu vs. Kitani Minoru (1957)
Don't like Go?
    Then watch Miss Alla Kushnir dance!
    Or watch yourself with your webcam!
(Select any Go game to turn camera off.)

Signal Processing on a Hexagon Grid

One of my research interests is the hexagon grid to facilitate machine vision and other 2-D signal processing tasks. The advantages of that grid over the standard square grid have been known for a long time, but it is seldom used. (I guess the prevalance of the square grid shouldn't be surprising, considering that the advantages of Unix are even more clearcut, but MicroSoft Windows has overwhelmed the planet.)

Here is one of my research papers on the topic of ``Filter Banks for the Hexagon Grid''.

Lessons in Expert Programming (C Language)

I've decided to try my hand at offering software tips. Wish me luck !!

Only a few chapters are currently on-line. I'll post more if there's interest.

The textbook is free. If that makes you feel guilty, contact me for Pay-Pal number. If that makes you feel hilarious, sorry.

Eventually I'll create a webpage summarizing comments. For now:
> I don't like K&R-style function prototypes.

In Lesson 1 I explain why strong typing is a mixed blessing.
> My non-gnu compiler does not accept `long long'

Sorry. If you can't think of a work-around, try an easier exercise.
> Those who can't, teach.

Even pejorative comments are welcome, but please attach your own exercise solutions to verify we're playing in the same league.
> I didn't think it was so bad, and parts were almost well-written.

Flattery? Yes, that works.

Recently (November 2008) I posted some hash table code here, that I hope others will find useful. Since then I've improved this software and believe it to be of "commercial quality." It's no longer available here for download; e-mail me if you have interest.

A few other snippets of my code are also posted here. Please tell me if you find any useful:

I've just placed a few chapters on-line so far, but some of the other programming examples are available. These are mostly simple short programs with interesting or instructive features.

In (rough) order of increasing complexity.

I also discuss my symbolic math software. Sorry, to get this source code you will have to request to be a beta tester.

Here's some other Html pages I've had fun preparing:


This site has become very popular! You are the 'th visitor to this page.

In my free time, sometimes I "surf" the Web. Seb Przd has some interesting photographs. Here's Seb himself, trying to straighten a picture on his wall:

Please send me some e-mail.