git @ Cat's Eye Technologies The-Platform / master
master

Tree @master (Download .tar.gz)

The Cat's Eye Technologies Platform

Hey, if Haskell can have a Platform, why can't we? It's only fair.

This is version 0.4 of The Cat's Eye Technologies Platform, a NetBSD-based, shelf-powered, Funicular-built "distro" containing almost all of Cat's Eye Technologies' software distributions. It is an "executable anthology" of our work in a stand-alone format: a bootable disk image.

The current released version of The Cat's Eye Technologies Platform is version 0.4. It can be built with Funicular version 0.4 and uses shelf version 0.1 as its "packaging system". Its source can be found at the tag 0.4 in the repository, for example on Github here.

If you want to download a pre-built disk image of The Platform, open this torrent in your torrent client:

If there are no seeders and your torrent client has problems downloading the webseed, download it directly (and then seed!):

If you already have a copy of the pre-built disk image, and you want to know how to use it, see this document:

If you wish to build a disk image of The Platform from source files, or if you simply want to know more about its internals, read on.

Background

Each version of The Cat's Eye Technologies Platform can be thought of as a "versionset" on a collection of software distributions, "frozen" at points in their development where they are all mutually compatible.

Picking a fixed version of an operating system means that, once the versions of the supporting software and the versions of our software have been picked, it will all build and work consistently (and, we can only hope, correctly.)

Since it is not intended to be connected to a network, the need for upgrades due to security, hardware support, and "new hawtness" is diminished. Establishing a platform in this way is to bitrot what canning food is to spoilage. It also answers the question "What is a minimal set of software that'd be needed to run almost everything from Cat's Eye Technologies?"

All of the pieces of software that make up The Platform are interoperable; that is, every piece builds successfully on NetBSD 6.1.5, and those with test suites pass all of their relevant automated tests. The pieces are not, however, thoroughly tested manually.

Further Reading

What's Included?

This section describes the software infrastructure that makes up The Platform. As for why these pieces of software were chosen, and for the meanings of the various card suit symbols, see the "Software Selection Criteria" section below.

Note that, in case this listing is out-of-date or inaccurate, see the Funicularfile in this directory and the various *.catalog files in the skel directory for more accurate, machine-readable version numbers.

The Platform can be thought of as being constructed in stages, with each stage building upon the previous. The first stage consists of:

The second stage, "Infrastructure", consists of:

The third stage, "Cat's Eye Infrastructure", consists of:

The third-and-a-half-th stage, "Cat's Eye Forked Infrastructure", consists of others' projects of which Cat's Eye Technologies maintains forks:

(ee is not strictly necessary, I just can't stand any of the text editors that come with NetBSD.)

The fourth and "final" stage, the "Cat's Eye" stage, consists of the remainder of almost all of Cat's Eye Technologies' software distributions. See skel/catseye.catalog for a list of these distributions and the versions at which they are pinned.

What's Not Included?

You may have noticed we keep saying "almost all"...

Some of Cat's Eye Technologies' projects are not currently (and some may not ever be) well-represented in The Platform. These fall into two broad categories, detailed below.

Note that sources to these projects are still included as part of the Cat's Eye Stage. It's just that you may not be able to build them, and you won't be able to use them even if they do build.

Available on the Web

A nominal goal is to have every Cat's Eye Technologies' project available either in The Platform or as an online installation on the catseye.tc web site. Thus, if you can already experience it by pointing your web browser at catseye.tc, we won't worry too much about it not being usable in The Platform.

Of no great use to you

This is the list we want to minimize, either by allowing these to run in The Platform somehow, or allowing them to run on the web, in an HTML5 browser, somehow. But for some of them, neither of those options make sense either.

Software Selection Criteria

For inclusion in The Platform, we generally prefer software that:

The symbol following the name of the software indicates the license:

Excepting NetBSD itself, all included software includes source code, from which the executables for NetBSD are built. I mean oh yes we could have just plunked down some binary packages from pkgsrc but that'd be far too easy, wouldn't it. Or rather, inclusion of source and making sure you can build from that source improves "hackability", that is, it lowers barriers to customization for individual circumstances. Yes. I'm sure that's what we were trying to say.

Some of Cat's Eye Technologies' projects were originally written in (or otherwise depended on) some language (or other system or tool) which is not included in The Platform. In some of these cases, an additional implementation in an included technology was added to the project.