● LIVE SIGNAL v2 BINARY × MORSE • FIXED + IMPROVED

BINARY & MORSE
The two original codes that taught machines and humans to talk — now fully debugged

Binary is fixed-length and machine-clocked. Morse is variable-length and ear-clocked. Both use only two states, yet one built computers and the other crossed oceans. This is the interactive field guide, with correct timing, proper UTF-8, and Octave that actually runs.

01001000 01100101 01101100 01101100 01101111
.... . .-.. .-.. --- / .-- --- .-. .-.. -..
PARIS = 50 units • WPM = 1200 / dit(ms)
01 — BINARY CODE • FIXED

Why 0 and 1 run everything.

1703: Leibniz formalizes base-2. 1937: Shannon shows relays can do Boolean logic. 1945: von Neumann stores programs as binary. The rest is your laptop.

Bit Explorer — 8-bit live dec 0 • hex 0x00 • char NUL
U:0 | S:0 | ones:0 | parity:even
0 ×128
0 ×64
0 ×32
0 ×16
0 ×8
0 ×4
0 ×2
0 ×1
Two's complement: To get -N, invert all bits and add 1. So -1 = 11111111, -42 = 11010110. The MSB is sign: 0 = positive, 1 = negative. Range int8 = -128 to +127.
THE 4 LAYERS OF BINARY
1. Bit → Boolean Logic: Shannon mapped AND/OR/NOT to series/parallel switches. All computation reduces to NAND gates. Binary is physically stable: voltage high/low is noise-immune.
2. Byte → Characters: ASCII (7-bit, 1963) mapped 0-127 to English. UTF-8 extends it variable-length, but still binary. 0x41 = 'A'.
3. Words → Numbers: Fixed width makes math fast. Endianness matters: 0x1234 stored as 34 12 (little) vs 12 34 (big). Network order = big-endian.
4. IEEE 754 Float: sign | exponent | mantissa. Example: 0.1 = 0 01111011 100110... repeating → never exact. Hence 0.1+0.2 ≠ 0.3.
FUNDAMENTALS
Bit — 0 or 1. Shannon entropy of 1 fair bit = 1 bit.
Nibble — 4 bits = 1 hex digit. 0xA = 1010
Byte — 8 bits = 256 values. Atomic unit of memory.
Parity — even parity adds 1 if odd ones. Simplest error detection.
CHARBINARYDECHEXNAME

Shows 0-127 + common 128-255. Filter to find control codes. Tap a row to load into explorer.

Why fixed-length matters

Fixed length means you know where the next symbol starts without looking ahead. CPUs can fetch 8/16/32/64 bits in one clock. Variable-length (like Morse or UTF-8) needs a state machine to parse. Tradeoff: fixed wastes bits for common symbols, variable saves bits but costs time. That's exactly why Morse is Huffman-like before Huffman (1952).

02 — MORSE CODE • VARIABLE

Dots, dashes, and perfect timing.

1836: Morse & Vail. 1865: International Morse standard. SOS = ...---... is one prosign, not three letters, chosen because it's 9 units with no gaps — impossible to mistake.

TIMING IS THE CODE • PARIS STANDARD
dit = 1 unit • dah = 3 units • intra-char gap = 1 • char gap = 3 • word gap = 7
Formula: dit_ms = 1200 / WPM. Word PARIS = 50 units. So 20 WPM = 60ms dit.
E = · (1 unit, most common)T = — (3 units, 2nd)PARIS = ·--· ·- ·-· .. ··· (50 units)
Farnsworth: Keep dits at high speed (e.g., 18 WPM) but stretch gaps to lower effective WPM. Easier to learn rhythm. This page uses standard spacing, but try 18 WPM char / 10 WPM effective in your head.
Prosigns & Q-Codes
SOS ...---... distress
AR .-.-. end message
SK ...-.- end contact
BT -...- break
QTH? location?
QRM interference

Prosigns sent with no inter-char gap. On ham radio, still daily use at ~20 WPM.

International Morse — full
tap to hear

Includes letters, digits, punctuation, and prosigns. Unicode display toggle in translator below.

03 — INTERACTIVE LAB • FIXED

Four translators that actually work.

Text ↔ BinaryLIVE • UTF-8 FIXED
Text ↔ Morse· — / CORRECT GAP LOGIC
Morse Audio & Light Lab — fixed WPM math
Dit = 1200/WPM ms. Uses Web Audio with proper attack/release.
Tap Pad — send with finger, mouse, or Space
HOLD SHORT = ·   HOLD LONG = —
Tap / Space • Pause = letter • Long pause = word
buffer: —decoded: Press Space to tap, too.

Tip: SOS = ··· ——— ··· with ~650ms letter gap. Try your name.

04 — GNU OCTAVE LAB • CORRECTED

Same ideas, scientific computing flavor.

All snippets tested in Octave 8+. dec2bin/bin2dec and containers.Map make these two codes trivial. Fixed: snippet 8 now loops 26 letters, not 5. Added parity and Farnsworth examples.

05 — BRIDGE

Binary is Morse made deterministic.

Morse optimizes for human frequency: E (. ) and T (-) are shortest because they're most common — it's a Huffman code, 110 years before Huffman (1952). Binary optimizes for machine simplicity: fixed length, easy to clock, perfect for error correction.

Baudot 1870 = first 5-bit binary telegraph — direct child of both worlds. ASCII 1963 is its grandchild.
Information theory: English entropy ≈ 1.1 bits/char. Morse avg ~2.5 dits/char for common letters → near optimal for hand key. Binary 5 bits covers 32 symbols → fixed 5 bits/char, wastes but decodes instantly. Shannon's 1948 paper proved both are the same problem: minimize expected length × error.
Timeline:
1836 Morse/Vail key → 1848 first long line → 1870 Baudot 5-bit → 1901 Marconi transatlantic S → 1937 Shannon thesis → 1948 Shannon information theory → 1963 ASCII → 1991 Morse dropped as intl distress requirement (but ham radio keeps it alive)
PROPERTYBINARYMORSE
Symbols0, 1 (2 levels)·, —, 3 gaps (5 timing states)
LengthFixed (8-bit = 256 values)Variable (E=1 unit, J=10 units)
ClockCrystal, GHzHuman ear, ~20 WPM
FramingStart bit / byte boundaryGap length detection
Error controlParity, Hamming, CRC, LDPCHuman asks QRS? (repeat), ear redundancy
Density1 bit / symbol (raw)~0.6 bits / timing unit, but better for noisy ear
OptimalityOptimal for machinesHuffman-optimal for 1840s English letter freq
06 — DEEP DIVE • WHY 2 SYMBOLS WORK

From noise to meaning.

Any channel with two distinguishable states can carry information. Nyquist says you need 2× bandwidth to resolve a state. Two states are the most noise-immune: threshold is in the middle. That's why both Morse (tone on/off) and binary (voltage high/low) survived.

3 key ideas, concise:
1. Source coding: Compress frequent symbols short (Morse E=·, Huffman). Binary fixed-length is source coding with equal probability assumption.
2. Channel coding: Add redundancy to survive noise. Morse does it with ear + repeats. Binary uses Hamming (1950): 4 data bits + 3 parity bits corrects 1 error. Modern: LDPC gets within 0.1 dB of Shannon limit.
3. Synchronization: Receiver must know symbol boundaries. Binary uses a clock line or start bit. Morse uses gap duration — human brain is excellent at relative timing, poor at absolute voltage.
Try: decode without spaces?

Morse without gaps is ambiguous: ...---... could be SOS or 3B or V... etc. Binary without fixed width is also ambiguous: 101 could be 5 or 1,0,1. Solution: prefix-free codes. Morse becomes prefix-free *with* gaps. UTF-8 is prefix-free by design: leading bits tell length. Binary fixed-width is trivially prefix-free.

Glossary — quick reference
TERMMEANING
BaudSymbols/sec. 1 baud ≠ 1 bit/sec if symbols carry >1 bit
WPM (PARIS)Word PARIS repeated N times per minute. Standard.
FarnsworthHigh char speed, stretched gaps. Learn rhythm, not dots.
HuffmanOptimal variable-length code for known frequencies.
LSB/MSBLeast / Most Significant Bit. LSB first = little-endian bit order.
ParityExtra bit making total ones even/odd. Detects 1 error.
ProsignTwo letters sent as one with no gap. e.g., AR = end.
Two's complementInvert +1 to negate. Why 11111111 = -1 in int8.

Want to experiment? Open browser console — all functions are global: textToBin(), binToText(), toMorseText(), fromMorse(), morsePlay().