Charles Lindsey's Home Page

So who is Charles Lindsey?

Oh! I thought you knew that! Why else are you looking here?

OK then, here it is.

I used to be a Senior Lecturer in the Department of Computer Science at the University of Manchester (and before that I worked for Ferranti/ICT, and before even that I was a Research Student at the Mathematical Laboratory in Cambridge). In September 1992 I took Early Retirement, with the grand title of "Honorary Fellow" (which means whatever I want it to mean).

And I also brought home my SPARCstation, so that I could continue to do interesting things on it.

My interests

Well, everything to do with computers really, but particularly with how to make them do what you want. Hence my particular interest in Programming Languages, and in one language in particular:


"The Language that Never Was", as some might say. But it was used for productive programming, and it established many ideas now familiar in later languages (Pascal, C, C++, SML, Ada). Although I was not involved in the original development of the language, you will find my name amongst the Editors of the Revised Report, and as an author of its Informal Introduction. For the full gory story, see my paper in History of Programming Languages-II (ACM Press).

And I can still provide you with my own ALGOL 68 compiler, if you want to have a play. Or, for other compilers, see Malvern's free A68->C offering (actually, it is hidden inside a package called "Ella" which is written using it, but it is not hard to disinterr it). Or you could try the Peter Craven / David Lloyd offering (not free AFAIK) which runs on PCs under various systems (notably OS/2) and also under SPARCs under SUNOS4. And there is also another Algol 68 to C compiler available from Sian Leitch and an interpretive one from Marcel van der Veer.

Domains and Powerdomains

Not that I am interested in Denotational Semantics as such, but I want to talk about the Semantics of Specification Languages where nondeterminism plays a large role - and particularly unbounded nondeterminism. Which is where conventional Domain Theory lets me down because it imposes all sorts of restrictions which, according to my Gut Feeling, are unjustified.

It is my belief that Domain theory can be formulated in a much simpler manner. But to prove that I need to understand the conventional treatment, and that is hidden away, behind a mountain of mumbo-jumbo in unreadonable papers, and even more unreadable textbooks. I believe I now see how to do it, but don't hold your breath just yet.

Computer Conservation

I am a member of the Computer Conservation Society North West Branch.

I have been taking an active interest in Hartree's Differential Analyser, a mechanical analogue machine built in 1936, part of which is on display in the Museum of Science and Industry in Manchester. In 1994, I did a survey of the machine with a view to having it restored to working order; I was thanked politely, but no it is not "our policy" to restore it. I5 years later, they suddenly changed their tune, and I have been leading a CCS working party to get it running since 2010. You can see the results or our endeavours here and some slides relating to the movie "When Worlds Collide" from a talk I gave here.

Usenet UK

I have been an avid reader of Usenet newsgroups for many years. It is my firm belief that they are a Good Thing.

In early 1995, when the present explosion in Internet Connectivity was taking off, the uk.* hierarchy was in a shambles. It was originally the creature of Uknet, which was fine when they were the only ISP around. Now everybody was in on the act, people were clamouring for more groups, but there was noone to decide what was, and what was not, an "official" newsgroup within uk.*. Everybody was talking, but nobody was actually doing anything, and new and worthwhile groups were not getting created.

So I decided to do a bit of Banging Together of Heads. I set up a mailing list known as 'Newscoord' of people who seemed willing to look at the problem seriously, and I got the three main UK ISPs (now four) on board. Then we produced some Guidelines, and a Voting procedure, and a suggestion for a Committee to oversee them. And we put it all before the readers of where, after much debate and argument, the proposals were voted on and adopted by a substantial majority.

So now the uk.* hierarchy is run by this Committee, of which I am a member (having recently been re-elected to a fourth three year term). And now the uk.* hierarchy is strong and healthy, and growing like Topsy.

See the Committee's official Web Page for all the details.

Regulation of Investigatory Powers Act

I became interested in matters relating to the various stages of the Government's attempts to gain access to encrypted communications which lawfully came into its possession as a result of my membership of the UKCrypto Mailing List, and I submitted my comments to the various consultative documents as they appeared, for example Comments on the DTI proposals.

When the Bill was finally published, I prepared a series of Scenarios to expose the weakness of that Bill. The particular version you will see by following that link was produced as the Bill entered the House of Lords, and it has now been somewhat overtaken by events (and most of its links no longer work). I worked closely with various member of parliament, in both houses, and prepared many amemdments. Whilst these amendments did not directly affect the form of the Bill, the collective furore created by my colleagues on the UKCrypto list and by others involved as ISPs of as practitioners of E-Commerce was effective in persuading the Government to make signficiant changes to the Bill (notwithstanding which, the Act as finally passed is still a Dog's Dinner).

Other documents produced during the course of the Bill's passage include:


DKIM is an IETF Working Group (see which has produced a scheme for signing headers of emails of which I have been somewhat critical. If you follow this link you will find a program written in Perl to demonstrate how their canonicalization scheme could be improved.

Useful Information about me

My email address.

My Phone Number
: +44 161 488 1845
Snail Mail
Apt 40, Dutton Court, Station Approach,CHEADLE HULME, SK8 5BF, U.K
PGP Public Key
Key for user ID: Charles Lindsey <>
820-bit key, key ID
2C15F1A9, created 1997/01/08

Version: PGPfreeware
5.0i for non-commercial use


Other pages to look at

Critique of PGP Key Generation

This is a record of my investigation into the source code of PGP to see whether it contained any Trojan that might compromise the security of the keys that it generates. I uncovered various oddities, but nothing to compromise its basic soundness. It refers to version 2.6.3 of PGP, so it may be a little dated now.

Owners of PGP web pages, please feel free to point at this (but check periodically that it is still there).


ALGOL 68S Compiler

This compiler currently runs on

and it could easily be made to run under Linux if someone will kindly volunteer to do a little hacking (not much).

Click here to find out more.

The Secondary Selection

For years I have been using Sun hardware running the Solaris operating system, and have been using the secondary selection, an established feature of X-Windows, when editing texts. On switching to Linux in X86 hardare, I was horrified to find that this feature was not supported, so I set about hacking the GTK+ toolkit to rectify this state of affairs. Click the link to find out more.

CNEWS patches

There are two lots of patches here. One to implement the PGP checking of control messages, as now used by most authoritative issuers of newgroup, rmgroup and checkgroups messages. The other makes some minor further enhancements, such as updating altered newsgroups file lines in newgroup and more intensive checking of the format of checkgroups.

Click here to find out more.

Upslug2 patch

Patch for reflashing the Linksys NSLU-2 from Solaris.

The Great SPARC Floppy Muddle

The story of how I tried to move a Floppy Drive from a Sparcstation-5 to an Ultra-2, and what I learnt about SUN's treatment of floppies in the process.