Catalase Website IndexJames •Techno •

Tech Articles Index Page

A Technophile's Eclectic Collection

This page is a jumping off point to a number of technical and/or speculative articles.  Most of the articles have something new to say, material you will not find in standard text books or papers.

Articles on white backgrounds are available now.
Articles with the grey backgrounds will take you to the 'Not Yet' available page.

I welcome comments on these articles - particularly any additional information and corrections - and I welcome suggestions for sites to link to from this one.

e-mail to:

I have been known to correct 'facts' that I've got wrong, so if you see something that is wrong, please tell me.

The Articles

Left Brain

Why does the left side of the brain control the right side of the body and the right side of the brain the left side of the body?

Did the octopus do better?

The retina of the human eye is 'back-to-front':

  1. There are blood vessels in front of the retina.
  2. Light has to travel through several layers of nerve cells to reach the rods and cones.

The octopus eye evolved independently and doesn't have this 'design flaw'. Did we and all vertebrates really get it wrong, or is there more to it?


The enzyme Catalase is a powerful catalyst which speeds up the disproportionation of Hydrogen Peroxide over 1,000,000 fold.

The efficiency of Catalase is extraordinary, so is the range of reactions which it has a role in.


Evolution is a multi-level feedback system. It is 'recursive'.

In this article I argue that:

  1. IF any mechanisms exist that affect the speed of evolution THEN evolution will modify them.
  2. Well known mechanisms in Molecular Biology act in concert to accelerate evolution.
In particular, a simple model shows the selective advantage of underlying variability in DNA being an inheritable trait and not being constant along its length. DNA tunes its own error rates.

How Thought Works

In order to understand how our minds work it is necessary to understand why we have dreams, why humour works, how it is that music affects us and what the basis of effective hypnosis is.

The suggestions I put forward in this article go only a part of the way towards explaining these aspects of thought.

A related page gives a mini-review of four different researchers' approaches to the mind.

Protein Similarities.

Proteins are ubiquitous bio-polymers with a huge range of very different functions.

Computer algorithms can compare the chemical structures of different proteins and sometimes find unexpected similarities.

What does it tell us if we find a similarity between a 'camouflage protein' in a moth wing and a 'crystalin' protein in the lens of the eye?

In this article I describe surprising protein similarities I found in a comprehensive database versus database search - and what these similarities may tell us.

A Study in Optimisation

Sequence Alignment Algorithms are the most heavily used algorithms in bioinformatics. Their use for database searching was once restricted to parallel computers because of their high computational cost.

The basic algorithm is O(N2). Whilst not reducing this complexity measure, I wrote an intensively optimised version with a more than fifty fold speed up over what was previously thought possible. Using this optimised version complete protein versus database searches take minutes rather than hours on an ordinary single processor machine.

Dynamic Programming

'Dynamic programming' is an efficient programming technique for solving certain combinatorial problems. It is crucial in bioinformatics as it is the basis of sequence alignment algorithms for comparing protein and DNA sequences.

In that application Dynamic Programming yields a spectacular efficiency gain. It converts an [infeasible] recursive O(2N) algorithm to a practical O(N2) one.

Less widely known cases where dynamic programming has advantages over pure recursion are in parsing and in programs to play chess; both gain significant benefits from a Dynamic Programming formulation.

Coding Standards

In writing animation software in C++ I have found a number of rules for coding helpful. Nearly every one of these rules arose from mistakes that I made, times when I found myself having to throw away code and/or re-write.

This is a working list of the rules so far. It's a list I hope to add to over time. Comments are welcome.

Also, if you have your own web page with coding standards on it, I would be happy to put a link to them from my coding standards web page.

© James Crook, April 1998.

So what's in common between these articles? If you look at my home page you'll find 'biologist', 'mathematician' and 'computer programmer'. If you want more detail about what connects the articles, you'll find more about that here .


The articles described above, where relevant, have their own links to related pages on the internet.  Originally there was a list here of related links, but it has become less relevant and has now moved to TechLinks .

Catalase Website IndexJames •Techno •
"Tech Articles Index Page" page last updated 25-February-2011