The ultimate minimalist home page. Best in any browser, no matter how ancient.
My blog, which tells you about things I've learned.
Links to other John Cowans around the Web.
Various languages and what they essentially are.... (sample: Finnish is essentially Estonian spoken in the genitive case).
A wizard to help developers figure out which Open Source licenses to use according to their preferences. It carries no authority but my own.
A file containing all the .sigs I use in email.
A Wikipedia-style encyclopedia about a fictional universe, to which I was a contributor.
A schema meant to be incorporated into other XML DTDs in order to provide a little bit of rich text/hypertext for use in documentation and other human-readable elements. It is a tiny but useful subset of HTML 4.0 and XHTML Basic. Formats: compact RELAX NG, XML-format RELAX NG, DTD, W3C XML Schema.
An earlier version not compatible with XHTML Basic is also available.
Sundry implementations of ancient programming languages and emulators for antique hardware architectures. Some by me, and I am one of the curators. This is now located solely at Eric Raymond's site, but I maintain this link for backward compatibility.
A place for people who have invented writing systems for conlangs (constructed languages) to register the characters used in those writing systems. This is now hosted solely on Michael Everson's site, but I maintain this link for backward compatibility.
Slides for a talk on Algol 60 given to the "N Languages in N Months" Meetup group.
A slide presentation on Web Services without tears, using the REST architectural framework. Formats: abstract OpenDocument PowerPoint PDF.
A two-part tutorial teaching the basics of several XML schema languages: DTDs, RELAX NG, Schematron (in Part 1), and W3C XML Schema (in Part 2). The first part is mostly self-contained, but the second part depends on the first. Part 1 formats: abstract OpenDocument PowerPoint PDF. Part 2 formats: abstract OpenDocument PowerPoint PDF.
An extract from Part 2 of Describing Document Types focusing on XML Schema datatypes.
A polemic against the dominance of W3C XML Schema and in favor of RELAX NG. Formats: OpenDocument PowerPoint PDF.
A slide presentation on Unicode.
Here's the original UAMB article by Smarasderagd, with light edits by me.
A slide presentation on the evolving XHTML 2.0 recommendation. Formats: abstract OpenDocument PowerPoint PDF.
A 1998 presentation on basic XML, still useful even if woefully out of date. Formats: PowerPoint 95 PDF.
The U.S. Moby Latin keyboard for Windows allows you to type more than 900 different Unicode characters, without interfering substantially with the regular use of it as a U.S. keyboard. The way in which the additional non-ASCII characters are reached is by using the AltGr key. Not too many keyboards actually have this key, but its equivalent is the right-hand Alt key, or on keyboards without a right-hand Alt key, using the Ctrl and Alt keys at the same time. The keyboard is designed for people who use the regular U.S. keyboard heavily, but occasionally need to type other Latin letters (especially accented ones), symbols, and punctuation. In particular, the keyboard supports most of the Windows-1252 (U.S. and Western Europe) repertoire as well as almost every Latin letter in Unicode.
The Whacking Latin keyboard family provides the same thing for UK/Irish keyboards. There are four flavors: Whacking John for English, Whacking Sandy for English and Scottish Gaelic, Whacking Mick for English and Irish, and Whacking Taffy for English and Welsh.
A SAX-compliant parser written in Java that, instead of parsing well-formed or valid XML, parses HTML as it is found in the wild: poor, nasty and brutish, though quite often far from short. TagSoup is designed for people who have to process this stuff using some semblance of a rational application design. By providing a SAX interface, it allows standard XML tools to be applied to even the worst HTML. TagSoup also includes a command-line processor that reads HTML files and can generate either clean HTML or well-formed XML that is a close approximation to XHTML.
Crunches an XML DTD into the minimal information required by a non-validating
parser. Entity declarations are preserved; attribute declarations are preserved
unless they are of type CDATA and have no default value; element declarations
are preserved only if the element has element-only content, and then in the
<!ELEMENT foo (foo)>.
There is one declaration per output line.
A converter written by Kilian Stilhard and Erik Wilde between XML Schema and XSCS, their non-standard but extremely useful compact syntax for it that I use in my presentation.
A preliminary and incomplete implementation of the Joy programming language in Chicken Scheme.
A small programming language related to Joy, but based on queues rather than a stack. The implementation is also in Chicken Scheme.
A non-anonymous read-only FTP server for publishing files to individuals.
Source code by Kevin Bracey of a Unicode SCSU encoder. SCSU is a standard way of compressing Unicode text.
This is the GNU "units" program compiled for DOS and Windows systems. It lets you do conversions between miles and kilometers, between U.S. gallons and Imperial gallons, and so on. It handles practically every unit ever used anywhere, and it's easy to add your own.
A program for making large letters out of ordinary text.
_ _ _ _ _ _ | (_) | _____ | |_| |__ (_)___ | | | |/ / _ \ | __| '_ \| / __| | | | < __/ | |_| | | | \__ \ |_|_|_|\_\___| \__|_| |_|_|___/
The last release of FIGlet I did was version 2.2, which supports compressed fonts and internationalization.
Lojban is a constructed language (for human beings, not computers) based on predicate logic. I host the LogFlash for Linux software, a crude Perl script for scoring proposed gismu, and the official parser.
An effort to specify a translator from the Beta language to Java. On hold.
An updated version of William Strunk's 1918 classic, the predecessor of Strunk & White. A diff file between the original and the revision is also available.
The log of an IRC conversation between me and a friend (here identified only as "victim") on the horrors of Cobol. It's interesting to watch "victim" disintegrate as the eldritch nature of the language is sloooowly borne in upon him.
A brief writeup on Unicode and fonts.
Eric and I don't agree on everything.
What the American public has been waiting for, condensed and rendered as narrative. Public domain.
A bit from Northrop Frye's Fearful Symmetry. Pretty close to my view of Jesus (I'm an agnostic, which means I don't know if there is a God or not and I don't believe you do either.)
A story I wrote and published in rec.arts.erotica.
Science fiction, too.
if (age < 18 || illegal()) dont_click;
"Alice's Restaurant" for the Internet Age, an updating of the old MIT parody. An earlier version of mine was formerly, but is no longer, hosted on Arlo's official site.
My loose translation of Lope de Vega's Soneto de Repente. I bootstrapped this from a Babelfish literal rendering. (Disclaimer: I am not recommending Babelfish for any particular purpose, just reporting that I did in fact use it.)
As Irving Berlin didn't quite say:
A translation of a mediaeval Welsh poem. The literal translation and notes by Sarah Higley was the basis for this.
W. S. Gilbert's classic humorous ballad of shipwreck and unfortunate eating habits, as learned by me at my father's knee.
24 ways of looking at one chapter from the Dao De Jing.
A hacker-oriented translation of the Dao De Ching, in progress.
Good stuff, especially these lines and these.
The mailing-list archives of a long-defunct Brithenig mailing list. Brithenig is a conlang which attempts to reconstruct the language that would have descended from the dialect of Latin spoken in Britain if it had developed into a separate Romance language. We also discussed the resulting history and culture.
Nowadays the public Conculture discussion group is used instead.
A now-defunct BBS, one of the first to make use of tree-structuring to organize its messages, lovingly preserved on the WWW. Now triumphantly in its new home (hosted by Look Out) at http://stuartii.pyrzqxgl.com:6502
Provides some subject indicator URIs for me.
Some useful files for removing diacritics from Unicode characters: DiacriticFolding.txt, DiacriticFoldingExceptions.txt, DiacriticDecomposition.txt.
Data about characters with diacritic marks on them from the Library of Congress.
A table of the most frequent trigrams (three-letter sequences counting space as a letter) in English text.
A bit of dialogue spoken in the English of various centuries. Sound files from (and hosted by) Melinda Menzer at Furman University.
This website in condensed form (found in Google's cache).