summaryrefslogtreecommitdiff
path: root/generated/blog/yksinkertaisesti-monipuolinen.txt
blob: 8295fd730dfaf186bd08122431a1a725caef88b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226

        yksinkertaisesti-monipuolinen.txt
        =================================

Jos tämä virke ei mahdu 2 riville puhelimesi näytöllä, käännä laitetta, niin lukeminen on helpompaa.

Tietokoneiden alkuaikoina ihmisen ja tietokoneen
välinen kommunikaatio tapahtui pääosin tekstin
välityksellä. Komentokehotteeseen kirjoitettiin
tekstikomento ja suoritettu ohjelma tulosti käyt-
täjälle yhtä lailla tekstipohjaisen vastauksen.
Kun internet saapui, kommunikoivat ihmiset myös 
toistensa kanssa tekstin välityksellä: esimerkik-
si sähköpostit olivat aluksi raakatekstiä.

Nykyään pelkkään tekstiin (raakateksti, “plain
text”) törmää harvoin ja sitä kavahdetaan. En pie-
nempänä ymmärtänyt edes, mistä raakatekstissä on
kyse. Tietokoneet esittäytyivät minulle word-doku-
menttien, verkkosivustojen ja pdf-tiedostojen
kautta. En tajunnut, että tietokoneissa taustalla
toimii raaempaa tekstiä. Suurin osa muista ikäi-
sistäni ovat varmasti lähteneet samasta käsityk-
sestä, vaikka ovatkin ehkä löytäneet raakateks-
tinkin varttuessaan.

Teksti on monissa dokumenteissa pääsisältö, mutta
raakatekstin ja verkkosivujen tai pdf-dokumenttien
ero on siinä, että jälkimmäisissä dokumentin suun-
nittelija on vastuussa myös dokumentin ulkoasusta
ja voi lisätä siihen multimediaa. Verkko-ohjel-
moija suunnittelee verkkosivun ulkoasun ja lisää
sille videoita, ja word-dokumentin kirjoittaja
muuttaa dokumentin fonttia ja lisää siihen kuvia.

Raakatekstissä mikään tästä ei ole mahdollista.
Raakatekstiä on se, mitä Windows-käyttäjä kirjoit-
taa Notepadiin. Raakatekstistä koostuu myös tämä
blogipostaus.

Ohjelmistotasolla raakateksti koostuu tavuista,
joista jokainen vastaa tiettyä merkkiä. Nykyään
käytännössä kaikki raakateksti noudattaa UTF-8
-standardia, joka määrittelee tavujen ja merkkien
vastaavuudet. 01000001 vastaa isoa A:ta, 01000010
isoa B:tä, 0011 1111 kysymysmerkkiä ja niin edel-
leen. Jotkin merkit koostuvat useammasta tavusta,
koska kahdeksan nollaa tai ykköstä ei riitä esit-
tämään kaikkia merkkejä — näin jopa emojeille löy-
tyy tuki UTF-8 -tekstistä, mikäli fontti sallii🥳

Käyttöön raakateksti pääsee nykyään harvoin — jopa
yksinkertaiset muistiinpanot kirjoitetaan esimer-
kiksi Google Docsiin. Se on harmillista, koska
raakatekstillä on ominaisuuksia, jotka tekevät
siitä monissa tapauksissa käyttökelpoisempaa kuin
mistään muusta datan muodosta.

Raakatekstin kaksi suurinta hyötyä ovat sen yksin-
kertaisuus ja kaikkialla toimivuus. Tekstin for-
maatista vallitsee suurempi yksimielisyys kuin
muiden formaattien osalta ja se on yksikäsittei-
sempää.

Edellä mainittujen ominaisuuksiensa ansiosta
raakateksti toimii mainiosti tietokoneohjelmien
kanssa kommunikointiin ja niiden välillä tapahtu-
vaan tiedonvaihtoon. On helppoa kirjoittaa
ohjelma, joka lukee tekstiä. Ohjelma tietää mitä
se lukee, koska teksti on hyvin standardisoitua.
Lisäksi se saa datan puhtaana — sen ei tarvitse
eritellä sille olennaista informaatiota ympäröi-
västä ihmissilmälle tarkoitetusta esitystapaa kos-
kevasta informaatiosta kuten tekstin sijainnista
tai fontista.

Tämä mahdollistaa tekstipohjaisten ohjelmien käy-
tön tehokkaaseen tiedon muokkaamiseen, “skriptaa-
miseen”. Otetaan esimerkiksi aloitus- ja lopetus-
puheiden koostaminen. Miksaan välillä Lohjan seu-
rakunnan messuja ja lähetän ne radioon. Lähetysten
alkuun ja loppuun lausutaan lyhyet ns. spiikit,
jotka koostan aluksi tekstinä. Tykkään kerätä
spiikkien muuttuvat tiedot edellisen päivän iltana
puhelimeeni tekstitiedostoon, ja kun tulen aamulla
kirkolle, kirjoitan vain tietokoneella:

 $ nc -l 1234 >> Desktop/Spiikit/2020-01-01.txt

ja puhelimellani

 $ nc 10.10.16.231 1234 < infot.txt

ja olen näin saanut liitettyä tarpeelliset tiedot
puhelimeltani oikeaan tiedostoon seurakunnan
tietokoneella. Mikään tästä ei toimisi — ainakaan
läheskään yhtä hyvin — jos käyttäisin raakatekstin
sijaan vaikkapa `.docx`-dokumentteja. Erilaisia
tekstipohjaisia ohjelmia voi yhdistellä vielä
käyttökelpoisemmin ja monipuolisemmin: Wikipedi-
asta löytyy hyvä esimerkki [1] (linkki dokumentin
lopussa).

Pelkän tekstin mukana ei myöskään tule turhaa tie-
toa, kuten fonttia, tekstin väriä, videoita tai —
raakatekstiin keskittyvien protokollien yhtey-
dessä — evästeitä. Lukijan ei siis tarvitse odot-
taa, kun verkkosivu lataa kymmenien megatavujen
kokoista videota hipstereistä hyppimässä kännyköi-
densä kanssa (ks. `https://agt.fi`) ja miettiä,
mistä hän saisi paremman nettiliittymän tai kirota
esimerkiksi VPN:n tai Tor-verkon hitautta. Sen
sijaan hän pääsee lähes välittömästi muutaman
(kymmenen) kilotavun kokoisen, hänen kannaltaan
olennaisen tekstisisällön pariin. Resursseja
säästyy ja joidenkin mielestä tiedonsaanti on näin
myös mukavampaa.

Raakateksti on tehokasta tietojenkäsittelyssä,
mutta mitä tapahtuu, kun päättää tietoisesti käyt-
tää sitä osuvamman formaatin sijaan? Mitä käy esi-
merkiksi, kun kirjoittaa blogipostauksen pelkällä
tekstillä verkkosivuilla tavallisesti käytetyn
HTML-merkintäkielen sijaan?

HTML:n käyttäminen tarjoasi mahdollisuuden lisätä
tekstiin linkkejä ja kuvia. Lisäksi se tarjoaa
tavan viestittää dokumentin eri osia — koodissa
lukee, mikä osio on tarkoitettu valikoksi, mistä
löytyy pääsisältö ja mikä sen sisällä on otsikko
ja mikä taas alaotsikko.

Kuten rajoitteiden kanssa yleensä käy, pakottaa
pelkän tekstin käyttäminen kirjoittajan ylittämään
formaatin asettamat rajoitukset ja kannustaa näin
luovuuteen. Jos tekstidokumenttiin tahtoo lisätä
linkin, täytyy se kirjoittaa auki. Voin esimer-
kiksi kertoa, että HTML:n standardi löytyy osoit-
teesta `https://www.rfc-editor.org/rfc/rfc2854`.
Linkin auki kirjoittamisesta on yllättävää
hyötyä: lukija näkee välittömästi minne se vie.
Lisäksi se toimii, vaikka dokumentin tulostaisi
paperille.

Kuvien välittäminen tekstin kautta taas on luonut
kokonaisen taiteen alan, nimittäin ASCII-taiteen.
Siinä kuva esitetään raakatekstin tarjoamien merk-
kien puitteissa. Yksinkertaisia kaaviokuvia on
tietyissä tapauksissa varsin helppokin piirtää:
         ________________________________
        |                                |                    
        |     H   H   H          CH3     |                    
        |     |   |   |           \      |                    
        | H - C - C - C - OH       C = O |                    
        |     |   |   |            |     |                    
        |     H   H   H            OH    |                    
        |________________________________|
             Propanoli ja etaanihappo
              _____________________
             |             _       |
             |             v       |
             |      --------->     |
             |                     |
             |          ^  _       |
             |          |  N       |
             |          |          |
             |          |          |
             |       ___|___       |
             |      |       |      |
             | _ <--|       |      |
             | Fµ   |   |   |      |
             | _____|___|___|_____ |
             |          | _        |
             |          | G        |
             |          v          |
             |_____________________|
                 Liukuva kappale

 (huom. kuvien näkemiseksi selaimesi on käytettävä
  tiedoston näyttämiseen tasavälistä fonttia)

Kaaviokuvien lisäksi on myös ASCII-taidetta, jossa
paino on nimenomaan sanalla 'taide'. Netistä löy-
tyy paljon ASCII-taiteen kokoelmia, esimerkiksi
osoitteesta `https://www.asciiart.eu` ja
`https://ascii.mozz.us:7070`.

Tekstin arvaamattoman kauneuden, sen tehokkuuden
ja vähän turhan informaation vuoksi internetissä
on syntynyt uusia yhteisöjä ja protokollia raaka-
tekstin ympärille. Ylläpidän itse esimerkiksi
geminikapselia osoitteessa
“gemini://gemini.jorl.fi”. Geminin kuvauksen
ensimmäinen lause on vapaasti suomennettuna:
“Gemini on uusi, yhteenlinkitettyjä tekstidoku-
mentteja tukeva internet-teknologia.” [2] Muitakin
protokollia ja yhteisöjä on, joista hyvän otoksen
saa esimerkiksi Michael Lazarin kotisivujen etusi-
vulta `https://mozz.us`.

Lopulta on myös huomioitava, että käytännössä
kaikki tietokoneohjelmat kirjoitetaan raakateks-
tinä. Projektieni tiedostot ovat luettavissa
netissä tekstinä. [3] (Ja kuka kirjoittaisi tieto-
koneohjelmia Wordilla? Siitä on olemassa jopa
satiirinen Youtube-video! [4]) Suuri osa tiedonvä-
litysprotokollista on määritelty raakateksti
lähtökohtana.  Raakateksti siis muodostaa tietoko-
neiden ja laskennan selkärangan.

Jos tahdomme oppia käyttämään tietokoneita tehok-
kaammin ja sulavammin, tulisi raakatestistä ja
sen käsittelystä siis tehdä normi eikä pelottavien
hakkerien tapa. Näin myös ymmärtäisimme paremmin
tietokoneita — ja ehkä löytäisimme osan tekstin
kadotettua kauneutta.


                     Viitteet
                     --------

[1] https://en.wikipedia.org/w/index.php?title=Pipeline_(Unix)&oldid=1219096916#Example
[2] https://geminiprotocol.net
   gemini://geminiprotocol.net
[3] Esim. https://jorl.fi/git/stdu/Makefile
[4] https://www.youtube.com/watch?v=X34ZmkeZDos