git @ Cat's Eye Technologies Chrysoberyl / master article / General Information.md
master

Tree @master (Download .tar.gz)

General Information.md @masterview rendered · raw · history · blame

General Information
===================

Welcome to

### Cat's Eye Technologies

![Ye olde Cat's Eye Technologies "cogs" logo (graphics by Mildmood Wultiwedia)](https://static.catseye.tc/images/logo/cog.gif)

Cat's Eye Technologies is an independent [esoteric programming language][]
concern run by [Chris Pressey][].

It was established in 1995 in Winnipeg, Manitoba, Canada, originally
as a custom software development and consulting outfit, serving several
local clients.

As the years passed and Chris moved around the world and became more
and more involved in programming language issues, Cat's Eye
Technologies became less and less of a software consulting firm and
more and more of a... a what?  Whatever the hell it is now.

A sponsoring organization for experimental programming language
development.

An aegis for the curation, and appreciation, of programming languages
as art.  Especially weird ones.

An excuse to refer to ourselves with a plural pronoun.

We'd call it a brand, but we'd feel awfully dirty afterwards.

We believe that, in an environment of rapidly changing requirements,
*maintainability of source code* has the greatest effect on software
quality, and that choice of [programming language][] profoundly
affects maintainability.

That is our official excuse for being interested in experimental
programming languages.  The real reason is perhaps more frivolous.

We also believe that publically-available source code and
transparent development processes have an important civic and
didactic role in modern society.  For this reason, many of our
software projects have been placed under open-source licenses,
or have been placed into the public domain, and a copy is kept
in a public repository on a site such as [Codeberg][].

### Chris Pressey

Chris Pressey is an itinerant composer of
[esoteric programming languages][] and
[other objectionable constructions][].

Links:

-   [Chris Pressey's Lingography][]
-   [LoUIE][]
-   [Retrospective: Chris Pressey on Language Design][]
-   [Chris Pressey's Favourite Video Games][]
-   [Chris Pressey's Favourite Text Adventures][]
-   [Chris Pressey's Favourite Other Computer Games][]

### Esolang

While there is no hard and fast definition, an esoteric programming
language, or "esolang", is a programming language intended to entertain,
confuse, and otherwise blow your puny little mind. If that sometimes
means butchering the definition of "[programming language][]"... then so be it.

Esolangs are toy languages, if by "toy" you mean something like
["Mainway product"](http://snltranscripts.jt.org/76/76jconsumerprobe.phtml).

Esolangs are joke languages, if by "joke" you mean something like
["Beethoven scherzo."](http://en.wikipedia.org/wiki/Scherzo)

Esolangs are research languages, if by "research" you mean something
like ["Fear and Loathing in Las Vegas."](http://www.youtube.com/watch?v=Zm7r491n-8o)

A comprehensive repository of information on esolangs can be found at the
[Esolang Wiki](http://www.esolangs.org/wiki/Main_Page).

Some eminent esolangers include:

*   Ben Olmstead, who Chris Pressey met once.
*   [zzo38](http://esolangs.org/wiki/User:Zzo38), who is the only esolanger I know who has [an entry in Urban Dictionary](https://www.urbandictionary.com/define.php?term=zzo38).
*   Gerzon Kurz, whose website is [p-nand-q.com](http://www.p-nand-q.com/).
*   Jeffry Johnston, whose website used to be kidsquid.99k.org.
*   Keymaker, whose website is [yes, it's a program](http://yiap.nfshost.com/).
*   many, many others.  See [esolangs.org](http://www.esolangs.org/wiki/Main_Page).

For good measure, here is a classic esolang page: [The Turing Tarpit](http://www.reocities.com/ResearchTriangle/Station/2266/tarpit/tarpit.html).

It is somewhat interesting to see how the [Open Source
Definition](http://www.opensource.org/docs/definition.php) views
esolangs. Programs written in esolangs tend to be "deliberately
obfuscated", and thus "not allowed." On the other hand, this is also
presumably "the preferred form in which a programmer would modify the
program." So it's debatable whether these programs can be [OSI
Certified](http://www.opensource.org/docs/certification_mark.php) or
not. (In practice, though, almost all esolang implementations, and
programs written in esolangs, are freely redistributable if not formally
open-source or Public Domain.)

### catseye.tc

`catseye.tc` is [Cat's Eye Technologies][]' website:
[https://catseye.tc/](https://catseye.tc/).

It is the official distribution channel of Cat's Eye Technologies'
public offerings, and
[the Cat's Eye Technologies organization on Codeberg](https://codeberg.org/catseye/)
is the development "side channel".

In years past, the Cat's Eye Technologies web site was hosted on
various different domains.  From most recently to least recently, they
have been:

*   `catseye.tc`
*   `catseye.webhop.net`
*   `catseye.mine.nu:8080`
*   `www.catseye.mb.ca`
*   `www.cats-eye.com`
*   and way back in the mists of time, `www.pangea.ca/cet/`.

This frequent relocation of our web address was done specifically to
please [Phantom Hoover][].  (We're working on a [brainfuck][] derivative,
too, to make his joy complete.  Stay tuned.)

`catseye.tc` may be considered our permanent domain name -- we're stuck
with it now that it's part of the [Java][] namespaces of our products,
right?  Feel free to make links to this site using URLs that begin with
`https://catseye.tc/`. The `www` prefix is not required.

Our aim in making this website is that it both conforms to W3C
standards and provides a reasonable user experience.
Well, that used to be our aim, then [HTML5][] came along.

The site content is generated from a database called [Chrysoberyl][]
which consists mostly of [Feedmark][] documents.  These are lovingly
statically analyzed, and then rendered with Markdown to produce HTML5
files.

We do use [Javascript][] on the pages on this site, but outside of the
[gewgaws][], which are steeped in it, we try to use it judiciously.

### Chrysoberyl

![I Love Categorization](https://static.catseye.tc/images/pictures/Categorization.jpg)

*   reference distribution: [Chrysoberyl distribution](https://catseye.tc/distribution/Chrysoberyl_distribution)

_Chrysoberyl_ is an attempt to catalogue and curate all things
produced by [Cat's Eye Technologies][],
mainly its output of [languages][],
[automata][], [formats][], [tools][], [platforms][],
[games][], [gewgaws][], [pictures][], and [music][].

Chrysoberyl used to have all kinds of stuff in it, but
we've recently reduced it to a set of [Feedmark][]
documents which contain only entries on things that were created
by, or pertain _directly_ to, Cat's Eye Technologies.

A complementary project is [The Dossier][], which
is a set of free-form, curational writings on subjects
outside of what Cat's Eye Technologies has produced.

### The Dossier

*   online @ [catseye.tc](https://catseye.tc/view/The-Dossier/README.md)
*   reference distribution: [The Dossier distribution](https://catseye.tc/distribution/The_Dossier_distribution)

While [Chrysoberyl][] is an attempt to catalogue and curate
things related directly to [Cat's Eye Technologies][],
_The Dossier_ was created to curate things only indirectly
related.  It arose after an undesirable amount of stuff that
was only indirectly related to Cat's Eye Technologies found
its way into Chrysoberyl.

The Dossier is also oriented towards long-form, opinion-based
writing, distinct from Chrysoberyl's
short-and-trying-to-be-unbiased-blurb approach.

### The Cannery

*   online @ [catseye.tc](https://catseye.tc/view/The-Cannery/README.md)
*   reference distribution: [The Cannery distribution](https://catseye.tc/distribution/The_Cannery_distribution)

While [Chrysoberyl][] is an attempt to catalogue the
things of [Cat's Eye Technologies][], there have also been attempts
to preserve them.  The first such attempt was
[The Cat's Eye Technologies Platform][], which has seen
3 releases, and each released contained, at the point of
time it was released, all the relevant output of Cat's Eye Technologies
in the form of a single executable [NetBSD][] system containing all that software.

At some point it became less clear that that approach was
scalable, and the last release of The Platform is now out of date.
Other approaches were explored.

_The Cannery_ was created to preserve Cat's Eye Technologies'
software products in [Docker][] images.

While many are excited about Docker as a tool for deploying
software, we're more interested in it as a tool for preserving
software.

It's not fantastic in this role, but it has some upsides.

Docker makes it much easier to use software without "installing"
it permanently; in Docker, a piece of software ships in an
"image" which is in some sense entirely self-contained; the
only required software to install first is Docker itself.
From this image a running "container" can be started which is also
entirely self-contained; it interacts with the rest of the system
in a very limited, sandboxed way.  The container can be stopped and
the image deleted and no trace of the software remains.

Docker is thus a good way to package software with onerous
requirements.

Hence in The Cannery we've made Docker images for those
Cat's Eye Technologies products which have the most onerous
requirements; [kinoje][] in particular typically uses several
other cumbrous softwares such as Jinja2 and POV-Ray.

Where exactly The Cannery is going, though, remains to be seen.

- - - -

[esoteric programming language]: #esolang
[esoteric programming languages]: #esolang
[programming language]: ../article/Languages.md
[Chris Pressey]: ../article/General%20Information.md#chris-pressey
[Chris Pressey's Lingography]: https://catseye.tc/article/Languages
[LoUIE]: https://catseye.tc/article/List%20of%20Unfinished%20Interesting%20Esolangs.md
[Retrospective: Chris Pressey on Language Design]: https://catseye.tc/view/The-Dossier/article/Retrospective%20on%20Language%20Design.md
[Chris Pressey's Favourite Video Games]: https://codeberg.org/catseye/The-Dossier/src/branch/master/article/Some-Games-of-Note/README.md#some-games-of-note
[Chris Pressey's Favourite Text Adventures]: https://codeberg.org/catseye/The-Dossier/src/branch/master/article/Some-Games-of-Note/README.md#some-games-of-note
[Chris Pressey's Favourite Other Computer Games]: https://codeberg.org/catseye/The-Dossier/src/branch/master/article/Some-Games-of-Note/README.md#some-games-of-note
[Codeberg]: https://codeberg.org/catseye/
[other objectionable constructions]: ../article/Gewgaws.md
[Cat's Eye Technologies]: ../article/General%20Information.md#cats-eye-technologies
[Phantom Hoover]: https://esolangs.org/wiki/User:Phantom_Hoover
[Java]: ../article/Project%20Dependencies.md#java
[HTML5]: https://www.w3.org/TR/html5/
[Chrysoberyl]: ../article/General%20Information.md#chrysoberyl
[Feedmark]: ../article/Formats.md#feedmark
[Javascript]: ../article/Project%20Dependencies.md#javascript
[brainfuck]: https://esolangs.org/wiki/brainfuck
[languages]: ../article/Languages.md
[automata]: ../article/Automata.md
[formats]: ../article/Formats.md
[tools]: ../article/Tools.md
[platforms]: ../article/Platforms.md
[games]: ../article/Games.md
[gewgaws]: ../article/Gewgaws.md
[pictures]: ../article/Pictures.md
[music]: ../article/Musical%20Compositions.md
[The Dossier]: ../article/General%20Information.md#the-dossier
[The Cat's Eye Technologies Platform]: ../article/Platforms.md#the-cats-eye-technologies-platform
[NetBSD]: https://netbsd.org/
[Docker]: https://www.docker.com/
[kinoje]: ../article/Tools.md#kinoje