The entrance to InterImm phase 2, at https://interstellar.interimm.org/. In 2219 the solar system hears another civilisation for the first time; no ship can cross the distance, so this is the era of learning to write to the stars.
Static files, no build step, no server, zero running cost. Published with GitHub Pages from the root of main
(CNAME sets the domain, .nojekyll serves files as they are).
| Path | What |
|---|---|
index.html, en/index.html |
The entrance: the era at a glance, Chinese and English |
archive/2219-signal/ |
The full record of the 2219 signal from Ross 128 b: the log, arrival times, the beacon decoder, letters |
script/ |
The grid script: how the translating machine writes down what Ross 128 b sends (script/), the online dictionary (script/dictionary/) and a converter between page source and drawings (script/convert/), Chinese with English under en/. lib/glyph.js is a JavaScript port of glyph-cli 0.3.0 (grammar v8) and lib/glyph-vocab.json is its bundled vocabulary; lib/glyph-zh.json holds the Chinese glosses |
signals/ |
The five transmissions (duet, shadow, pulsars, chords, 137), each playable, and the resonance theory of their speech; the sound is computed by lib/signals.js |
drift/ |
Drift: how the Sun and Ross 128 move relative to each other, from the Bronze Age to the closest approach (lib/drift.js) |
pulsars/ |
The pulsar ledger, live: the pulsars that keep the MC clock, the ledger nodes and the timing residuals where the beacon repeats. Self-contained (its own page, app/pulsars.js and app/pulsars.css) so it can move to its own repo later |
kit/ |
The phase 2 design kit, 137, published at https://interstellar.interimm.org/kit/ (kit/README.md) |
app/ |
Page scripts and styles |
lib/light.js |
Light-speed messages and the story clock (from mars-clock's lib/lightyear.js, without voyages) |
Run it locally with any static server, for example python3 -m http.server, and open http://localhost:8000/.
npm test checks lib/glyph.js against what glyph-cli itself outputs (tests/glyph-cli-fixtures.json). After a new glyph-cli
release or a vocabulary change, copy its vocab.json to lib/glyph-vocab.json, add the Chinese glosses to lib/glyph-zh.json,
and regenerate the fixtures with that release installed (pip install glyph-cli==0.3.0; until it is on PyPI, pip install git+https://github.com/InterImm/glyph-cli) and python3 scripts/glyph_fixtures.py.
The previous Hugo site (2022, "飞向恒星 / we must leave the solar system") is in the git history. The draft about
the first Earth–Mars conflict lives on the branch cms/interstellar/草稿.
Phones keep old copies of scripts, so a page can load new HTML with an old script and break. The archive, /signals/
and kit pages load their scripts and styles with ?v=N, and app/signal.js and app/signals.js import
lib/signals.js?v=N. Bump N in all of those places whenever any of those files change. The /script/ pages do the same
with their own number (see app/script.js).
- Story time = real time + 70,491 days. The present is 2219.
- No interstellar ships on either side; contact is communication only.
- The source is Ross 128 b, a real temperate planet (at least 1.4 Earth masses, 9.87-day orbit, tidally locked) around the old, quiet red dwarf Ross 128 in Virgo, 10.98 light years away. The transmitter rides on the planet, so the tone drifts with its orbit.
- The signal: first detected 2219-09-18 03:12:07 UTC by the pulsar-timing station on the lunar far side, then
Earth, Isidis (Mars) and Ceres; made public 2219-10-05. A narrow 1420.55 MHz line pulsed at exactly the rate of
pulsar J1909−3744 (the duet): in step with it at Earth's centre, then one smooth slip of exactly one pulse, then in
step again. Only Earth hears it in tune. Later returns of transmission 1 took two other forms, the chorus and the
missing note (
lib/signals.js). The duet is a handshake: it sets a shared clock and shows the signal is tuned for Earth, so Earth's record of the four content transmissions that follow is the most accurate one. Repeats. These details are proposals and easy to change (DETECTEDinapp/signal.jsandapp/home.js, the logs in the HTML). - The arrival-time table is illustrative: a plane wave from Ross 128 with made-up 2219 planet positions.
- The beacon repeats every 9 h 41 m 13 s as received, each pass 22 minutes (
app/pulsars.js). - The grid script (
script/) is our transcription of their speech. In 2219 it is a first draft; the language is built up over back-and-forth exchanges, each round trip 21.96 years (first reply arrives 2230, earliest answer 2241). - Later in the era, more voices. The entrance only hints at it.
Pixelify Sans, Instrument Sans and JetBrains Mono, SIL Open Font License 1.1; licences in kit/fonts/.