Skip to content

Instantly share code, notes, and snippets.

@pablomayobre
Last active April 5, 2016 05:13
Show Gist options
  • Save pablomayobre/0161b63af04a4be9e207d7fea8420fa6 to your computer and use it in GitHub Desktop.
Save pablomayobre/0161b63af04a4be9e207d7fea8420fa6 to your computer and use it in GitHub Desktop.
Ttransmit words in a binary way, faster that with ASCII or similar charsets, in a lossy way

#Lossend

The idea is to transmit text faster that with morse and similar systems but still be easily understood by humans.

I'm not sure this will work really well!

Sending the data by hand is way too hard (Binary level) but that can be done by a machine, although human may get far more compression since some understanding of phonetics is needed in order to write shorter text (Character level).

Decoding the data (Letter level) using a machine, although possible, would be hard to get the original text since most of the work must be done by the human brain which can associate sounds and structures to words.

Turning the sound or signal into characters may be hard to humans (Binary level)

So all the stuff that happens at Binary and Transmission level is better handled by machines but what happens at character and letter level is better managed by humans.

Well now getting to the implementation! We will split it into four, Binary, Character, Letter and Transmission levels

##Binary Level:

<START> (<CHAR> [<GROUP> <CHAR>] <SPACE>)* <END>

Where:

START		  = 000011111 (%U)
END			  = 000011111 (%U)
SEPARATOR	= 0
GROUP		  = 1

And CHAR is one of these:

Character Binary Character Binary
% 0000 A 0001
B 0010 E 0011
G 0100 H 0101
I 0110 K 0111
L 1000 M 1001
O 1010 P 1011
R 1100 S 1101
T 1110 U 1111

##Character Level

All letters can be represented using this table:

Letter Character Letter Character
a A b B
c S/K (soft/hard) d B
e E f P
g G h H
i I j G
k K l L
m M n M
o O p P
q KU r R
s S t T
u U v B
w U x KS
y I z S
0 %A 1 %B
2 %E 3 %G
4 %H 5 %I
6 %K 7 %L
8 %M 9 %O
+ %P - %R
= %T space %
new line %%

%U is a reserved sequence and shall never be used unless you want to terminate the communication`

##Letter Level

Okey this are notes on how to write on Lossend, using the letter representation above but also learning how to make stuff shorter for faster transmission using phonethics, abbreviations and word reductions, without losing the meaning of the actual word.

###Group single letters Single letters, which dont use two characters by default, can be grouped for convenience.

YOU CAN ONLY GROUP TWO CHARACTERS! MORE IS PROHIBITED

###When the letter defines meaning

There are some words that, when you change the letters to the corresponding characters, may change their meaning, because a word using that letter exists. An example of this is "cell" and "sell", both of them must be written as SEL.

Sometimes the actual word can be defined by the context (If you are talking about biology most people will understand that you are not talking about "selling" stuff, you are talking about "cellular" stuff), when this is not the case the closest word has prevalence (in this case "sell").

But if you want the other one you need to use the modifier % after the trouble letter (you would write "cell" as S%EL).

Character Read as Not
B% d or v b
K% hard c k
G% j g
M% n m
U% w u
S% z or soft C s
P% f p

###Be phonethic

You should always be as phonethic as you can! Use the direct representation only when it is shorter

IU SHUL OLUAIS BI AS PONETIK AS IU KAM% IUS TE BIREKT RPRSENTTIOM ONLI UEN IT IS SHORTR

###Eliminate unnecessary letters:

Try to eliminate those letters that dont add up to the word. That is those that if you delete them you can still read it. For example "representation" is written as RPRSENTTIOM because it's two long and you can still recognize it

##Transmission Level Any type of modulation is applicable to the final signal but [Biphase Mark Coding (BMC)] (https://en.wikipedia.org/wiki/Differential_Manchester_encoding) should be prefered when direct listening to the signal must convey meaning

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment