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