CosmicOS: a Coder's Contact Message
CosmicOS is a way to create standalone messages suitable for conversations across large gulfs of time and space. It is a preamble you can borrow to bootstrap up to a decent shared vocabulary, without making too many assumptions. CosmicOS is inspired by Hans Freudenthal's language, Lincos, and Carl Sagan's book, Contact.
Status
The message so far communicates:
 Basic mathematics and logic. Just to start somewhere.
 Basic elements of programming. I'm a programmer, I'm biased.
 2D logic circuits and a program to evaluate them. Just for fun.
 A very minimal virtual machine for running Java byte code, and a tiny game written in Java. Likewise, just for fun.
The idea is to communicate the usual math and logic basics, then use that to show how to run programs, then send interesting programs that demonstrate behaviors and interactions, and start communicating ideas through ”theater” rather than dry logic. This is inspired by Freudenthal's idea of staging conversations between his imaginary characters Ha and Hb.
Message in plain text form
The message can be rendered in plain text. This is not the form in which it would be transmitted!
Message in 4symbol form
Traditionally, CosmicOS has been represented as a long sequence of four symbols. Labeling them arbitrarily as 0, 1, 2, and 3, the message begins like this:
32101010321321320322332100111302321010103213213213203223321001113023210101032132
13213213203223321001113023210101032132132132132132032233210011130232101010321321
32132132132132032233210011130232101010321321321321321321321320322332100111302321
01010321321321321321321321321320322332100111302321010103213213213213213213213213
21320322332100111302321010103213213213213213213213213213213203223321001113023210
10103213213213213213213213213213213213203223321001113023210101032132132132132132
...
Estimating message entropy by compressing this message, we get: 22 kB. This message form has some major revisions pending to ease comprehension. Please be forgiving. It'll all get fixed in an instant of galactic time.
General structure
The message is organized as follows:
 The message consists of a sequence of statements that can be evaluated, and each statement evaluates to true.
 The message can refer to itself and change its own syntax as it goes.
 A core set of operators are introduced by showing examples of their use.
 Once a sufficient set of operators is available, most new concepts are introduced both by examples and a definition in terms of what is already known.
 The message is more like a programming language than a human language, and is related to Brian McConnell's notion of ACETI. The goal is to transmit simulations whose behavior can be examined and discussed, and to introduce higherlevel notions in terms of those simulations.
The message uses the following syntax (shown in plaintext form):
symbol meaning ( marks beginning of an expression ) marks end of an expression  opens a parenthesis which will selfclose at the next parenthesis. (A B  C  D) is another way to write (A B (C (D))). This greatly simplifies complex expressions. $ $A is shorthand for (A). ; marks end of a statement
There are also numbers and arbitrary symbols. If there's no other syntax between two of these, they must be separated from each other by whitespace. How all of this is encoded is subject to change. Originally, CosmicOS converted all arbitrary symbols into numbers, and encoded numbers in binary. The message will remain compatible with this, but the encoding of symbols is being changed.
Posts

Astraglossa, September 2014

A question of character, August 2014

Naming, April 2014

Reboot, March 2014
License
I've chosen the GPL for whimsical reasons. If it is a problem for you just file an issue. I'm a license pushover.
 The CosmicOS software is licensed under the CCGNU GPL. 

The CosmicOS webpages are licensed under a Creative Commons AttributionShareAlike 2.5 License. 