From 48dcc6fb882e83bf291eca313e550fc762788f2e Mon Sep 17 00:00:00 2001 From: Joel Kronqvist Date: Sun, 14 Jun 2026 12:24:32 +0300 Subject: refactored site structure and publishing alist --- blog/index.org | 65 ------- blog/otherpost.txt~ | 4 - blog/post.org | 6 - blog/post.org~ | 4 - blog/tekstinsyotto.html | 312 --------------------------------- blog/tekstinsyotto.html~ | 312 --------------------------------- blog/yksinkertaisesti-monipuolinen.txt | 226 ------------------------ 7 files changed, 929 deletions(-) delete mode 100644 blog/index.org delete mode 100644 blog/otherpost.txt~ delete mode 100644 blog/post.org delete mode 100644 blog/post.org~ delete mode 100644 blog/tekstinsyotto.html delete mode 100644 blog/tekstinsyotto.html~ delete mode 100644 blog/yksinkertaisesti-monipuolinen.txt (limited to 'blog') diff --git a/blog/index.org b/blog/index.org deleted file mode 100644 index 62167c8..0000000 --- a/blog/index.org +++ /dev/null @@ -1,65 +0,0 @@ -#+TITLE: Blogin sisällys - -#+begin_src emacs-lisp :exports results - - (defun get-org-file-property (path property) - "Gets PROPERTY of org file at PATH. Returns nil if not found." - (with-temp-buffer (setq case-fold-search t) - (insert-file-contents path) - (if (search-forward (concat "#+" property ":") nil t) - (string-trim-left (buffer-substring (point) (line-end-position))) - nil))) - - (defun get-org-file-title (name) - "Gets the title of the org file. Returns nil if not found." - (get-org-file-property name "TITLE")) - - (defun get-file-date (path) - "Gets the date of the file at PATH. - For an Org file where the date option is specified, it is used. - Otherwise the file modification date is used. - The date is returned in textual form, YYYY-MM-DD." - (or (if (string= (file-name-extension path) "org") - (get-org-file-property path "DATE") - nil) - (format-time-string "%Y-%m-%d" - (file-attribute-modification-time - (file-attributes (concat "./" name)))))) - - (defun generate-entry - (name) - "Generates an index entry for file NAME." - (let ((extension (file-name-extension name)) (bname (file-name-sans-extension name))) - (concat "[[./" - name - "][" - (or - (if (string= extension "org") - (get-org-file-title (concat "./" name)) - nil) - bname) - "]] (" - (get-file-date (concat "./" name)) - ") " - (or (if (string= extension "org") - (get-org-file-property (concat "./" name) "SUBTITLE") - nil) - "Alaotsikkoa ei saatavilla")))) - - (let ((files - (seq-filter (lambda (name) - (not (or - (string-suffix-p "~" name) - (string-suffix-p "#" name) - (string-prefix-p "#" name) - (string-prefix-p "." name) - (string= "index.org" name)))) - (directory-files "./")))) - (seq-map (lambda (name) `(,(generate-entry name))) files)) -#+end_src - -#+RESULTS: -| [[./post.org][Test-post-title]] (2026-06-12) Test subtitle | -| [[./tekstinsyotto.html][tekstinsyotto]] (2025-07-28) Alaotsikkoa ei saatavilla | -| [[./yksinkertaisesti-monipuolinen.txt][yksinkertaisesti-monipuolinen]] (2024-05-06) Alaotsikkoa ei saatavilla | - diff --git a/blog/otherpost.txt~ b/blog/otherpost.txt~ deleted file mode 100644 index def158f..0000000 --- a/blog/otherpost.txt~ +++ /dev/null @@ -1,4 +0,0 @@ - -This is a plain text file - -* Please do not modify this diff --git a/blog/post.org b/blog/post.org deleted file mode 100644 index 3f385cd..0000000 --- a/blog/post.org +++ /dev/null @@ -1,6 +0,0 @@ -#+TITLE: Test-post-title -#+SUBTITLE: Test subtitle - -* Test post - -This is a test org post. diff --git a/blog/post.org~ b/blog/post.org~ deleted file mode 100644 index 2cb70e1..0000000 --- a/blog/post.org~ +++ /dev/null @@ -1,4 +0,0 @@ - -* This is a blog post - -Lorem ipsum diff --git a/blog/tekstinsyotto.html b/blog/tekstinsyotto.html deleted file mode 100644 index 9ae7d80..0000000 --- a/blog/tekstinsyotto.html +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - - Tarina toimivamman tekstinsyöttämiseni taustalla - - - - Siirry pääsisältöön -
- FI · EN -
-
-

Tarina toimivamman tekstinsyöttämiseni taustalla

- -

Näppäimistöni ovat aina herättäneet hilpeyttä ystävieni keskuudessa. -Koska ensimmäisessä blogikirjoituksessani kerroin, kuinka näppärää raakateksti voi olla, -lienee sopivaa luoda katsaus, -miten kirjoitan ohjelmakoodia ja muuta raakatekstiä tietokoneella, - ja kuinka ohjelmisto- ja laitteistoratkaisuni tekstinmuokkauksen suhteen ovat muuttuneet ajan saatossa.

- - -

Joskus lukion alkupuolella siirryin asteittain käyttämään Linuxia, -ensin MinGW:n* kautta, sen jälkeen rinnakkain Windowsin kanssa -ja myöhemmin ainoana käyttöjärjestelmänäni. -Linuxin muokattavuus auttoi minua ymmärtämään, -että kykenen itse vaikuttamaan siihen, -miten ergonomisesti ja tehokkaasti kykenen työskentelemään tietokoneellani.

- -

Kun etsin tietoa netistä ratkaistakseni erinäisiä haasteita, -en voinut olla törmäämättä mainintoihin Vim-ohjelmasta. -Se on juurikin eräs ratkaisuista, -jotka ovat auttaneet minua parantamaan työskentelyni sujuvuutta.

- -

Vim on tehokas tilapohjainen tekstinmuokkausohjelma. -Sen tärkeimmät tilat ovat liiketila ja tekstinsyöttötila. -Tekstinsyöttötilassa kirjoitettu teksti päätyy kulloinkin auki olevaan tiedostoon**. -Liiketilassa taas voi siirtää kursoria ja suorittaa komentoja. -Liiketilan erillisyys tekstinsyöttötilasta on äärimmäisen hyödyllistä; -liiketilassa se mahdollistaa tavallisten kirjainten käytön liikkumis- ja yleiskomentoja vastaavina näppäinyhdistelminä. -Kursoria liikutetaan HJKL-näppäimillä nuolinäppäinten tavoin, -"N G" siirtää kursorin riville N, "$" taas rivin loppuun, -"y y" kopioi rivin, jolla kursori on ja niin edelleen. -Kaikkeen löytyy näppäinyhdistelmä. - Liiketilassa on helppoa yhdistellä, toistaa ja ketjuttaa komentoja. -Vimin etsi ja korvaa -toiminto on tehokkain, minkä olen nähnyt missään koodieditorissa.

- -

Tehokkaan tekstinmuokkauksen lisäksi -Vimin toimintaa voi muokata tarkemmin kuin useimpia muita tekstinmuokkausohjelmia. -Yksi osa tätä on nimenomaan liiketila – voit helposti lisätä näppäinyhdistelmiä, jotka tekevät mitä ikinä tahdot. -Pitkälti kaikkia varsin laajassa dokumentaatiossa [1] mainittuja komentoja ja muuttujia voi muokata omien mieltymystensä mukaan. -Vimiin on saatavilla runsaasti lisäosia [2], jotka voivat esimerkiksi lisätä Vimin yhteensopivuutta muiden ohjelmien kanssa. -Olen sittemmin siirtynyt käyttämään Neovimiä. -Se on Vimin modernimpi ja toteutukseltaan kevyempi***, mutta käytännössä samat ominaisuudet sisältävä versio. -Neovim sisältää sisäänrakennettuna jopa LSP-tuen [3]. -LSP:n tiedoilla se kykenee muun muassa huomauttamaan tekstin muokkaajaa virheistä tämän työstämässä lähdekoodissa. -Käytännössä ohjelma muuttuu LSP-serverin avulla täysiveriseksi IDE:ksi.

- -

Mikäli Vimin kuvaus jäi epäselväksi, on sen itse kokeileminen ja oppiminen sangen helppoa. -Sitä oppii käyttämään katsomalla pari tutoriaalia YouTubesta (esim. youtu.be/-txKSRn0qeA) ja tekemällä -Vimiin sisäänrakennetun tutoriaalin kirjoittamalla ":tutor" ja painamalla enteriä. -Jos Vimin asennus ei vielä houkuta, -löytyy samainen tutoriaali netistä, -esimerkiksi osoitteesta remarkablemark.org/vimtutor/.

- - -

Viime aikoina olen myös tehnyt kokeiluja GNU Emacs -kehitysympäristön parissa, -ja olen vaikuttunut sen kyvyistä. -Lisäosien voimalla käytän sitä toistaiseksi kuitenkin enimmäkseen Vimin tavoin. -On muutenkin järkevää jättää sen käsittely myöhemmäksi – -se on luonteeltaan lähempänä käyttöjärjestelmää kuin tekstinmuokkausohjelmaa.

- - -

Toinen suuri muutos, -jonka tein vaihdettuani Linuxiin, -oli näppäimistöasetteluni vaihtaminen. -En koskaan oppinut kymmensormijärjestelmää kunnolla QWERTY-asettelulla, -muun muassa oudosti aseteltujen näppäinten vuoksi, -jotka hankaloittivat kymmensormijärjestelmän oikeaoppista käyttöä. -Lienee kuitenkin paikallaan selventää, -miksi QWERTY ei ollut minulle – ja tuskin muillekkaan paljon kirjoittaville – toimivin näppäimistöasettelu.

- -

QWERTY-asettelu kehitettiin aikanaan pääasiassa kirjoituskoneille. -Erilaisia asetteluita oli olemassa paljon, joista varhaisimmissa -näppäimet olivat käytännössä vain aakkosjärjestyksessä [4,5]. -Ensimmäisessä sähkeistä suoraan luettavaa tekstiä – morsekoodin sijaan – tuottavassa lennätikoneessa kirjaimet olivat aakkosjärjestyksen lisäksi kaikki samassa rivissä [6]. -Koska sellaisella näppäimistöllä oli vaivalloista kirjoittaa, siirrettiin kirjaimet kolmeen riviin ja numerot neljänteen. -Nyt peräkkäin ja vierekkäin olevat näppäimet saattoivat kuitenkin painaessa juuttua toisiinsa. -Ratkaisuna näppäimet aseteltiin siten, että useimmiten käytetyt näppäimet eivät olleet vierekkäin.

- -

Monilla Youtube-videoilla, joihin törmäsin todennäköisesti Linux-mielenkiintoni ja Youtuben algoritmin vuoksi, -perusteltiin toiseen näppäimistöasetteluun vaihtamista jotakuinkin vastaavasti. -Niillä vihjattiin, ettei ole järkevää, että useimmiten käytetyt kirjaimet ovat hajallaan ympäri näppäimistöä. -Kuvasta 1 näkee helposti, -kuinka yleisimmin käytettyjä kirjaimia vastaavat näppäimet ovat QWERTYllä kaukana toisistaan. -Mistä muusta muutokset ihmisten käytöksessä nykyään johtuisivat kuin YouTubesta.

- -
- Kuva QWERTY-näppäimistöstä korostuksilla -
Kuva 1. Englanninkielinen QWERTY-asettelu, jossa näppäimiä on tummennettu sen perusteella, kuinka paljon niitä vastaavat kirjaimet esiintyvät teksteissä Wikipedian mukaan [7]. Tämä tuottamani kuva on vapaasti käytettävissä CC0-lisenssillä.
-
- -

Ei ole perusteltua sanoa, että näppäinten asettelua näppäimistölle ei olisi aikanaan mietitty. -Olisi kuitenkin järkevämpää, että useimmiten käytetyt näppäimet olisivat niin kutsutulla kotirivillä, -jolla sormia oletusarvoisesti pidetään näppäimistöä käytettäessä. -Tällöin sormien tarvitsisi harvemmin jättää kotirivi, -kasvattaen kirjoitusnopeutta ja lyhentäen matkaa, joka sormien on kuljettava näppäimistön yllä.

- -

Joidenkin kokeilujen kautta päädyin käyttämään Colemak-näppäimistöasettelua [8]. -Vuosilukujen valossa sen voidaan olettaa olevan QWERTYä paremmin suunniteltu. -QWERTY syntyi 1800- ja 1900-luvuilla. -Colemak puolestaan on suunniteltu 2000-luvulla [9] tehokkuutta ergonomisuutta ajatellen [8]. -Tietokoneet oli kehitetty jo pitkälle, kun Colemak suunniteltiin, -joten sitä luodessa voitiin paremmin ottaa huomioon tekijöitä, jotka vaativat laajamittaisempaa laskennallista analyysiä. -Esimerkiksi saman sormen peräkkäisiä kirjainpainalluksia, -saman käden kirjainpainalluksia ja kotirivin eri puolille vuoroin kurottavia (esim. ”minimi” QWERTYllä) näppäily-yhdistelmien esiintyvyyksiä on voitu minimoida [10, 11]. -Yksinkertaisin argumentti Colemakin puolesta lienee se, -että useimmin käytetyt näppäimet sijaitsevat kotirivillä, -kuten Kuvasta 2 näkyy.

- -
- Kuva Colemak-näppäimistöstä korostuksilla -
Kuva 2. Colemak, värikoodi tuotettu samoin kuin Kuvassa 1. Tämä tuottamani kuva on vapaasti käytettävissä CC0-lisenssillä.
-
- -

Colemak on toiminut hyvin omassa käytössäni. -Uudella asettelulla kirjoittamista harjoitellessa näppäimistöni näppäinhatut olivat fyysisesti yhä QWERTY-asettelussa. -Koska en voinut tarkastaa näppäimen sijaintia silmilläni, -opin kirjoittamaan katsomatta näppäimistöä ollenkaan, -mikä oli ollut minulle QWERTYä käyttäessä hankalaa. -Kirjoittaminen myös on myös tuntunut mukavammalta; -sormien tarvitsee harvemmin poistua kotiriviltä ja epämukavia näppäilysarjoja tuntuu esiintyvän harvemmin.

- -

On tietysti hyvä huomata, että Colemak on suunniteltu nimenomaan englannin kirjoittamista varten. -Tahdon itse käyttää kaikista järkevistä käyttöjärjestelmistä löytyvää yleisnäppäimistöä, -joka on samoin aseteltu riippumatta kielestä, jota kirjoitan. -Koska kirjoitan paljon sekä suomea että englantia, ja joskus ruotsia, -joudun joka tapauksessa näppäimistöasettelua valitessa tekemään kompromissin kielten välillä, -tai valitsemaan jonkun harrastelijan tekemän esoteerisen useamman kielen yhdistävän näppäimistöasettelun, -jota tuskin on todettu toimivaksi käytössä. -Kaikeksi onneksi Suomeakin kirjoittaessa Colemak on tuntunut minusta luontevammalta kuin QWERTY.

- -

Alun perin kokeilin ensimmäisenä näppäimistöasettelunani QWERTYn jälkeen Dvorakia****. -Saatoin mututuntumalla kirjoittaa Dvorakilla nopeammin kuin Colemakilla, -mutta sillä kirjoittaminen oli käsilleni epämukavaa, etenkin oikealle pikkurillilleni, -joka joutui usein kurkottamaan L-näppäimen perään. -Hiljalleen ymmärsin, -että itselle sopivaa näppäimistöasettelua valitessa -olennaisinta on asettelun ergonomisuus eikä kirjoitusnopeus. -Mitä hyötyä on nopeasta kirjoitustyylistä, -jos ei voi kirjoittaa rasitusvamman vuoksi.

- -

Näppäimistöasettelua valitessani minulle oli tärkeää myös erikoismerkkien helppo saatavuus. -Dvorakissa ei ollut juurikaan erikoismerkkejä, ei edes AltGr:n takana. -Colemakilla käytettävissäni ovat helposti muun muassa paljon käyttämäni -nk. ysiysi-lainausmerkit ‘”’ (AltGr+Shift+0) -sekä m-viiva ‘–’ (AltGr+-), ja mukavuuksina esimerkiksi -numeroiden potenssiversioita ‘¹²³’.

- -

Voit saada ensikosketuksen Colemakiin netissä esim. nopeuspelin gnusenpai.net/colemakclub/ kautta. -Asennus-/käyttöönotto-ohjeet Colemakille puolestaan löytyvät osoitteesta colemak.com/Download. -Muitakin eri tarkoituksiin optimoituja näppäimistöasetteluja löytyy runsaasti netistä, -mutta Colemak lienee kaikista testatuin ja luotetuin vaihtoehto, -joka löytyy monista laitteista vaihtoehtona ilman erillistä asennusta. -

- - -

Kiinnostuttuani näppäimistöasetteluni ergonomisuudesta aloin pohtimaan myös fyysisen näppäimistöni ergonomisuutta. -Aloitetaan hyvin yksinkertaisella ajatusleikillä. -Kuvittele olevasi pöydän ääressä ennen ateriaa. -Miten asetat kätesi rennosti pöydälle eteesi? -Entä jos niiden on oltava ainakin hieman erillään eikä yhdessä? -Todennäköisesti kätesi olisivat keskemmällä kuin kyynärpääsi. -On luultavaa, -että ranteesi olisivat suorina, -verrattuna esimerkiksi asentoon, -jossa pikkurillejä taittaa kohti kyynärluita. -Lopulta on yleistä, että kämmenesi eivät olisi olleet litteinä pöytää vasten, -vaan että ranteesi peukalopuoli osoitti joko suoraan ylös tai hieman yläviistoon.

- -

Tavallinen näppäimistö pakottaa kädet epäluonnolliseen suppuun. -Kuvittele ranteesi suoraan sormiesi takana. -Vie sitten sormesi näppäimistön kotiriville. -Joudut taittamaan pikkurilliäsi kohti kyynärluutasi. -Epämukava asento, eikö? -Ongelma ratkeaa jakamalla näppäimistö keskeltä kahtia . -Tällöin eri puoliskot voi asettaa itselleen mieluisiin kulmiin -ja itselleen mieluiselle leveydelle -siten, että ranteet saavat olla suorassa. -Samalla lapasi ja hartiasi pääsevät rentoutumaan.

- -

Ranteita on myös mukava kallistaa nostamalla peukkut ylemmäs kuin pikkurillit. -Nyt kun näppäimistösi on kahdessa osassa, -voit vapaasti kallistaa ne kulmaan, joka on ranteillesi mieluinen. -Ainakin, jos näppäimistöillä on telineet, -jotka sallivat niiden kallistamisen kätevästi. -Jotkut kirjoittavat jopa näppäimistönpuolikkaat lähes pystysuorassa.

- -

Lopulta mielenkiintoisena huomiona on varsin kummallista, että näppäimistöjen sarakkeet ovat useimmiten viistossa eivätkä suoraan ylhäältä alas. -Tämä on QWERTYn lisäksi toinen epäoptimaalinen jäänne kirjoituskoneiden ajalta. -Olihan näppäinten varsien jotenkin ulotuttava pääasialliseen kirjoituslaitteistoon. -Jos näppäimistöt suunniteltaisiin ensimmäistä kertaa nykyään ilman historiallista taakkaa, miksi tabulaattori-, näppäinlukko- ja shift-näppäimiä päätettäisiin kasvattaa eri pituisiksi siten, että loput kirjaimet joutuvat kuin väistämään toisiaan. -Viistous ei sinänsä ole välttämättä epäergonomista, -mutta esimerkiksi kaukana kotirivistä olevien numeronäppäinten löytäminen voi olla hankalaa, -kun vaikkapa numero 5 on etusormen yläpuolella, -vaikka sarakkeiden suoraan mennessä siinä pitäisi olla nelonen.

- -

Markkinoilla on näppäimistöjä, jotka ratkaisevat kaikki nämä ongelmat. -Esimerkiksi Ergodox Ez [12] ja Voyager [13] ovat suosittuja vaihtoehtoja. -Ne vain maksavat halvimmillaan runsaat kolmesataa euroa parilta, -mahdollisia kuljetuskuluja ja tulleja huomioimatta, -ja olen köyhä opiskelija, joten en aio hankkia sellaisia ainakaan vielä.

- -

Olisin kuitenkin paljon halunnut kyseisenlaisen näppäimistön. -Runsas vuosi sitten yritin lievittää pulmaani tilaamalla -Perixx Periboard-524B-näppäimistön. -Näppäimistö on toiminut kiitettävästi, -mutta sen sarakkeet eivät mene suoraan. -Lisäksi näppäimistöllä ei ole mekaanisen näppäimistön hyötyjä. -Muutoin näkemykseni siitä ei ole juurikaan muuttunut sen jälkeen, -kun kirjoitin siitä geminikapselissani [14].

- -

Epäonnekseni tuhlasin rahaa – pian näppäimistön ostamisen jälkeen julkaistiin parempi vaihtoehto, jonka hankkiminen maksaa suunnilleen saman verran. -Onnekseni voin hankkia sen paremman vaihtoehdon nyt, kun huomasin asian. -Noin 10 kuukautta sitten -eräs suomalainen tietotekniikan opiskelija julkaisi netissä ohjeet juuri tarpeeni täyttävän näppäimistön kokoamiseen. -Näppäimistö on vieläpä suunniteltu juuri budjettiystävällisyys ja kokoamisen helppous mielessä. -Näppäimistön nimi on Silakka54, ja sen kokoamisohjeet löytyvät GitHubista [15]. -Voit nähdä näppäimistön Kuvassa 3. -Oletuksena näppäimistössä ei ole kallistavaa telinettä, -mutta olen jo 3D-tulostanut sellaisen. -Näppäimistöjä on saatavilla valmiiksi koottuina AliExpressistä, -tai näppäimistön voi koota tilaamillaan osilla, -kuten itse aion tehdä aidon vapaan lähdekoodin hengen mukaisesti.

- -
- Kuva Silakka54-näppäimistöstä -
Kuva 3. Silakka54-näppäimistö. Kuva on Juho ”Squalius-cephalus” T.:n ja se on lisensoitu MIT-lisenssillä.
-
- -

Paremman asettelun lisäksi Silakka54:n hyötyjä ovat helppo muokattavuus, -mekaanisten näppäinkytkinten tuoma tuntuma sekä QMK:n (tai Vialin) avulla muokattava firmware. -Näppäimistöä voi muokata esimerkiksi sisältämään lisää kerroksia -(vrt. AltGr:n pohjassa pitäminen, -mutta eri näppäimen pohjassa pitäminen avaa pääsyn niihin merkkeihin, -joita itse useimmiten tarvitsee), -ja tavallisia näppäimiä voi asettaa toimimaan eri näppäiminä pohjaan painaessa -– esimerkiksi välilyönnistä voi tehdä myös Ctrl-näppäimen.

- -

Koska näppäimistöasettelu määritellään firmware-tasolla, -voi oman asettelunsa myös ottaa mukaan kaikkialle, -minne näppäimistönsä saa mukaan. -Itse aion hyödyntää tätä esimerkiksi sähköisessä EXAM-tenttijärjestelmässä, -mikäli sallittua, -sillä kyseinen järjestelmä pohjautuu ainoalle yleiselle käyttöjärjestelmälle, -joka ei tarjoa Colemak-näppäimistöasettelua.

- - -

Lopuksi maininnan ansainnee Thumb-Key, -jota käytän näppäimistönä puhelimellani. -Siinä näppäimet ovat suuremmat (ne ovat 4x4-ruudukossa), -joten niihin on helpompi osua. -Toki kääntöpuolena kaikki kirjaimet eivät mahdu näppäimille, -mutta loput merkit saa kirjoitettua vetämällä oikeasta näppäimestä oikeaan suuntaan. -Pidän isommista näppäimistä, muita perusteluja kyseiselle näppäimistölle en anna.

- - -

En varmasti ole vielä valmis työskentelytapojeni optimoinnin kanssa. -Tämä antoi kuitenkin katsauksen nykyään käyttämiini olennaisimpiin tekstinsyöttööni vaikuttaviin ratkaisuihin, -niin ohjelmistojen kuin näppäimistöjen osalta. -Ratkaisut ovat kaikki helposti kokeiltavissa, paitsi mahdollisesti Silakka54 – fyysisiä esineitä kun on hankala kokeilla heti netissä. -Kokeilemalla ei menetä mitään ja kärsivällisellä harjoittelulla kokeilu voi olla sekä hyödyllinen että hauska.

- - -

Linkkejä ja lähteitä

- -

-[1] Vimin dokumentaatio. Vim-ohjelmassa saatavilla komennolla ":help", verkossa vimhelp.org
-[2] Ks. esim. vimawesome.com
-[3] Neovimin dokumentaation LSP-serverien konfiguroinnista: neovim.io/doc/user/lsp.html
-[4] distantwriting.co.uk/instruments.html, kuva 23
-[5] W. A. Burt. Patentti laitteelle Typographer. 1829. United states patent and trademark office. Saatavilla ppubs.uspto.gov/api/pdf/downloadPdf/[...].
-[6] Wikipedia: Printing telegraph. en.wikipedia.org/wiki/Printing_telegraph
-[7] Wikipedia, kirjainten esiintyvyys. en.wikipedia.org/wiki/Letter_frequency
-[8] Colemakin verkkosivut: colemak.com
-[9] Wikipedia-artikkeli Colemakista: en.wikipedia.org/wiki/Colemak
-[10] Colemakin suunnitteluprosessista: colemak.com/Design
-[11] Colemakin ergonomiset tekijät: colemak.com/Ergonomic
-[12] Ergodox Ez: ergodox-ez.com
-[13] Voyager: zsa.io/voyager
-[14] Geminilokini: ”Perixx budget split keyboard – first impression” gemini://cron4.fi/gemlog/periboard.gmi, Verkkoportaalin kautta portal.mozz.us/[...]
-[15] Silakka54 squalius-cephalus.github.io/silakka54
-

- -
- -

-*MinGW ei tietenkään ole Linux, mutta sen kautta sain ensikosketuksen GNU:n komentoriviohjelmiin.
-**Oikeastaan teksti päätyy vain tekstikenttään, josta se sitten usein tallennetaan (kirjoitetaan) tiedostoon. -Usein tekstikentän sisältö myös vastaa kyseisen tiedoston sisältöä välitallennuksia vaille. -Kuitenkaan tekstiä ei suoraan kirjoiteta tiedostoon -kuten ei käytännössä missään tekstinmuokkausohjelmassa. -Tosiasiassa tekstikentän ei tarvitse kuvata mitään tiedostoa, -eikä sen sisältöjä tarvitse kirjoittaa mihinkään tiedostoon.
-***Neovim sovelluksena vie vähemmän tilaa kuin Vim.
-****Todellisuudessa käytin Svdvorakia, Dvorakin ruotsin kirjoittamiseen tarkoitettua versiota, koska oletus-dvorakista ei löydy ääkkösiäkään, toisin kuin oletus-colemakista.
-

-
- - diff --git a/blog/tekstinsyotto.html~ b/blog/tekstinsyotto.html~ deleted file mode 100644 index b828d01..0000000 --- a/blog/tekstinsyotto.html~ +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - - Tarina toimivamman tekstinsyöttämiseni taustalla - - - - Siirry pääsisältöön -
- FI · EN -
-
-

Tarina toimivamman tekstinsyöttämiseni taustalla

- -

Näppäimistöni ovat aina herättäneet hilpeyttä ystävieni keskuudessa. -Koska ensimmäisessä blogikirjoituksessani kerroin, kuinka näppärää raakateksti voi olla, -lienee sopivaa luoda katsaus, -miten kirjoitan ohjelmakoodia ja muuta raakatekstiä tietokoneella, - ja kuinka ohjelmisto- ja laitteistoratkaisuni tekstinmuokkauksen suhteen ovat muuttuneet ajan saatossa.

- - -

Joskus lukion alkupuolella siirryin asteittain käyttämään Linuxia, -ensin MinGW:n* kautta, sen jälkeen rinnakkain Windowsin kanssa -ja myöhemmin ainoana käyttöjärjestelmänäni. -Linuxin muokattavuus auttoi minua ymmärtämään, -että kykenen itse vaikuttamaan siihen, -miten ergonomisesti ja tehokkaasti kykenen työskentelemään tietokoneellani.

- -

Kun etsin tietoa netistä ratkaistakseni erinäisiä haasteita, -en voinut olla törmäämättä mainintoihin Vim-ohjelmasta. -Se on juurikin eräs ratkaisuista, -jotka ovat auttaneet minua parantamaan työskentelyni sujuvuutta.

- -

Vim on tehokas tilapohjainen tekstinmuokkausohjelma. -Sen tärkeimmät tilat ovat liiketila ja tekstinsyöttötila. -Tekstinsyöttötilassa kirjoitettu teksti päätyy kulloinkin auki olevaan tiedostoon**. -Liiketilassa taas voi siirtää kursoria ja suorittaa komentoja. -Liiketilan erillisyys tekstinsyöttötilasta on äärimmäisen hyödyllistä; -liiketilassa se mahdollistaa tavallisten kirjainten käytön liikkumis- ja yleiskomentoja vastaavina näppäinyhdistelminä. -Kursoria liikutetaan HJKL-näppäimillä nuolinäppäinten tavoin, -"N G" siirtää kursorin riville N, "$" taas rivin loppuun, -"y y" kopioi rivin, jolla kursori on ja niin edelleen. -Kaikkeen löytyy näppäinyhdistelmä. - Liiketilassa on helppoa yhdistellä, toistaa ja ketjuttaa komentoja. -Vimin etsi ja korvaa -toiminto on tehokkain, minkä olen nähnyt missään koodieditorissa.

- -

Tehokkaan tekstinmuokkauksen lisäksi -Vimin toimintaa voi muokata tarkemmin kuin useimpia muita tekstinmuokkausohjelmia. -Yksi osa tätä on nimenomaan liiketila – voit helposti lisätä näppäinyhdistelmiä, jotka tekevät mitä ikinä tahdot. -Pitkälti kaikkia varsin laajassa dokumentaatiossa [1] mainittuja komentoja ja muuttujia voi muokata omien mieltymystensä mukaan. -Vimiin on saatavilla runsaasti lisäosia [2], jotka voivat esimerkiksi lisätä Vimin yhteensopivuutta muiden ohjelmien kanssa. -Olen sittemmin siirtynyt käyttämään Neovimiä. -Se on Vimin modernimpi ja toteutukseltaan kevyempi***, mutta käytännössä samat ominaisuudet sisältävä versio. -Neovim sisältää sisäänrakennettuna jopa LSP-tuen [3]. -LSP:n tiedoilla se kykenee muun muassa huomauttamaan tekstin muokkaajaa virheistä tämän työstämässä lähdekoodissa. -Käytännössä ohjelma muuttuu LSP-serverin avulla täysiveriseksi IDE:ksi.

- -

Mikäli Vimin kuvaus jäi epäselväksi, on sen itse kokeileminen ja oppiminen sangen helppoa. -Sitä oppii käyttämään katsomalla pari tutoriaalia YouTubesta (esim. youtu.be/-txKSRn0qeA) ja tekemällä -Vimiin sisäänrakennetun tutoriaalin kirjoittamalla ":tutor" ja painamalla enteriä. -Jos Vimin asennus ei vielä houkuta, -löytyy samainen tutoriaali netistä, -esimerkiksi osoitteesta remarkablemark.org/vimtutor/.

- - -

Viime aikoina olen myös tehnyt kokeiluja GNU Emacs -kehitysympäristön parissa, -ja olen vaikuttunut sen kyvyistä. -Lisäosien voimalla käytän sitä toistaiseksi kuitenkin enimmäkseen Vimin tavoin. -On muutenkin järkevää jättää sen käsittely myöhemmäksi – -se on luonteeltaan lähempänä käyttöjärjestelmää kuin tekstinmuokkausohjelmaa.

- - -

Toinen suuri muutos, -jonka tein vaihdettuani Linuxiin, -oli näppäimistöasetteluni vaihtaminen. -En koskaan oppinut kymmensormijärjestelmää kunnolla QWERTY-asettelulla, -muun muassa oudosti aseteltujen näppäinten vuoksi, -jotka hankaloittivat kymmensormijärjestelmän oikeaoppista käyttöä. -Lienee kuitenkin paikallaan selventää, -miksi QWERTY ei ollut minulle – ja tuskin muillekkaan paljon kirjoittaville – toimivin näppäimistöasettelu.

- -

QWERTY-asettelu kehitettiin aikanaan pääasiassa kirjoituskoneille. -Erilaisia asetteluita oli olemassa paljon, joista varhaisimmissa -näppäimet olivat käytännössä vain aakkosjärjestyksessä [4,5]. -Ensimmäisessä sähkeistä suoraan luettavaa tekstiä – morsekoodin sijaan – tuottavassa lennätikoneessa kirjaimet olivat aakkosjärjestyksen lisäksi kaikki samassa rivissä [6]. -Koska sellaisella näppäimistöllä oli vaivalloista kirjoittaa, siirrettiin kirjaimet kolmeen riviin ja numerot neljänteen. -Nyt peräkkäin ja vierekkäin olevat näppäimet saattoivat kuitenkin painaessa juuttua toisiinsa. -Ratkaisuna näppäimet aseteltiin siten, että useimmiten käytetyt näppäimet eivät olleet vierekkäin.

- -

Monilla Youtube-videoilla, joihin törmäsin todennäköisesti Linux-mielenkiintoni ja Youtuben algoritmin vuoksi, -perusteltiin toiseen näppäimistöasetteluun vaihtamista jotakuinkin vastaavasti. -Niillä vihjattiin, ettei ole järkevää, että useimmiten käytetyt kirjaimet ovat hajallaan ympäri näppäimistöä. -Kuvasta 1 näkee helposti, -kuinka yleisimmin käytettyjä kirjaimia vastaavat näppäimet ovat QWERTYllä kaukana toisistaan. -Mistä muusta muutokset ihmisten käytöksessä nykyään johtuisivat kuin YouTubesta.

- -
- Kuva QWERTY-näppäimistöstä korostuksilla -
Kuva 1. Englanninkielinen QWERTY-asettelu, jossa näppäimiä on tummennettu sen perusteella, kuinka paljon niitä vastaavat kirjaimet esiintyvät teksteissä Wikipedian mukaan [7]. Tämä tuottamani kuva on vapaasti käytettävissä CC0-lisenssillä.
-
- -

Ei ole perusteltua sanoa, että näppäinten asettelua näppäimistölle ei olisi aikanaan mietitty. -Olisi kuitenkin järkevämpää, että useimmiten käytetyt näppäimet olisivat niin kutsutulla kotirivillä, -jolla sormia oletusarvoisesti pidetään näppäimistöä käytettäessä. -Tällöin sormien tarvitsisi harvemmin jättää kotirivi, -kasvattaen kirjoitusnopeutta ja lyhentäen matkaa, joka sormien on kuljettava näppäimistön yllä.

- -

Joidenkin kokeilujen kautta päädyin käyttämään Colemak-näppäimistöasettelua [8]. -Vuosilukujen valossa sen voidaan olettaa olevan QWERTYä paremmin suunniteltu. -QWERTY syntyi 1800- ja 1900-luvuilla. -Colemak puolestaan on suunniteltu 2000-luvulla [9] tehokkuutta ergonomisuutta ajatellen [8]. -Tietokoneet oli kehitetty jo pitkälle, kun Colemak suunniteltiin, -joten sitä luodessa voitiin paremmin ottaa huomioon tekijöitä, jotka vaativat laajamittaisempaa laskennallista analyysiä. -Esimerkiksi saman sormen peräkkäisiä kirjainpainalluksia, -saman käden kirjainpainalluksia ja kotirivin eri puolille vuoroin kurottavia (esim. ”minimi” QWERTYllä) näppäily-yhdistelmien esiintyvyyksiä on voitu minimoida [10, 11]. -Yksinkertaisin argumentti Colemakin puolesta lienee se, -että useimmin käytetyt näppäimet sijaitsevat kotirivillä, -kuten Kuvasta 2 näkyy.

- -
- Kuva Colemak-näppäimistöstä korostuksilla -
Kuva 2. Colemak, värikoodi tuotettu samoin kuin Kuvassa 1. Tämä tuottamani kuva on vapaasti käytettävissä CC0-lisenssillä.
-
- -

Colemak on toiminut hyvin omassa käytössäni. -Uudella asettelulla kirjoittamista harjoitellessa näppäimistöni näppäinhatut olivat fyysisesti yhä QWERTY-asettelussa. -Koska en voinut tarkastaa näppäimen sijaintia silmilläni, -opin kirjoittamaan katsomatta näppäimistöä ollenkaan, -mikä oli ollut minulle QWERTYä käyttäessä hankalaa. -Kirjoittaminen myös on myös tuntunut mukavammalta; -sormien tarvitsee harvemmin poistua kotiriviltä ja epämukavia näppäilysarjoja tuntuu esiintyvän harvemmin.

- -

On tietysti hyvä huomata, että Colemak on suunniteltu nimenomaan englannin kirjoittamista varten. -Tahdon itse käyttää kaikista järkevistä käyttöjärjestelmistä löytyvää yleisnäppäimistöä, -joka on samoin aseteltu riippumatta kielestä, jota kirjoitan. -Koska kirjoitan paljon sekä suomea että englantia, ja joskus ruotsia, -joudun joka tapauksessa näppäimistöasettelua valitessa tekemään kompromissin kielten välillä, -tai valitsemaan jonkun harrastelijan tekemän esoteerisen useamman kielen yhdistävän näppäimistöasettelun, -jota tuskin on todettu toimivaksi käytössä. -Kaikeksi onneksi Suomeakin kirjoittaessa Colemak on tuntunut minusta luontevammalta kuin QWERTY.

- -

Alun perin kokeilin ensimmäisenä näppäimistöasettelunani QWERTYn jälkeen Dvorakia****. -Saatoin mututuntumalla kirjoittaa Dvorakilla nopeammin kuin Colemakilla, -mutta sillä kirjoittaminen oli käsilleni epämukavaa, etenkin oikealle pikkurillilleni, -joka joutui usein kurkottamaan L-näppäimen perään. -Hiljalleen ymmärsin, -että itselle sopivaa näppäimistöasettelua valitessa -olennaisinta on asettelun ergonomisuus eikä kirjoitusnopeus. -Mitä hyötyä on nopeasta kirjoitustyylistä, -jos ei voi kirjoittaa rasitusvamman vuoksi.

- -

Näppäimistöasettelua valitessani minulle oli tärkeää myös erikoismerkkien helppo saatavuus. -Dvorakissa ei ollut juurikaan erikoismerkkejä, ei edes AltGr:n takana. -Colemakilla käytettävissäni ovat helposti muun muassa paljon käyttämäni -nk. ysiysi-lainausmerkit ‘”’ (AltGr+Shift+0) -sekä m-viiva ‘–’ (AltGr+-), ja mukavuuksina esimerkiksi -numeroiden potenssiversioita ‘¹²³’.

- -

Voit saada ensikosketuksen Colemakiin netissä esim. nopeuspelin gnusenpai.net/colemakclub/ kautta. -Asennus-/käyttöönotto-ohjeet Colemakille puolestaan löytyvät osoitteesta colemak.com/Download. -Muitakin eri tarkoituksiin optimoituja näppäimistöasetteluja löytyy runsaasti netistä, -mutta Colemak lienee kaikista testatuin ja luotetuin vaihtoehto, -joka löytyy monista laitteista vaihtoehtona ilman erillistä asennusta. -

- - -

Kiinnostuttuani näppäimistöasetteluni ergonomisuudesta aloin pohtimaan myös fyysisen näppäimistöni ergonomisuutta. -Aloitetaan hyvin yksinkertaisella ajatusleikillä. -Kuvittele olevasi pöydän ääressä ennen ateriaa. -Miten asetat kätesi rennosti pöydälle eteesi? -Entä jos niiden on oltava ainakin hieman erillään eikä yhdessä? -Todennäköisesti kätesi olisivat keskemmällä kuin kyynärpääsi. -On luultavaa, -että ranteesi olisivat suorina, -verrattuna esimerkiksi asentoon, -jossa pikkurillejä taittaa kohti kyynärluita. -Lopulta on yleistä, että kämmenesi eivät olisi olleet litteinä pöytää vasten, -vaan että ranteesi peukalopuoli osoitti joko suoraan ylös tai hieman yläviistoon.

- -

Tavallinen näppäimistö pakottaa kädet epäluonnolliseen suppuun. -Kuvittele ranteesi suoraan sormiesi takana. -Vie sitten sormesi näppäimistön kotiriville. -Joudut taittamaan pikkurilliäsi kohti kyynärluutasi. -Epämukava asento, eikö? -Ongelma ratkeaa jakamalla näppäimistö keskeltä kahtia . -Tällöin eri puoliskot voi asettaa itselleen mieluisiin kulmiin -ja itselleen mieluiselle leveydelle -siten, että ranteet saavat olla suorassa. -Samalla lapasi ja hartiasi pääsevät rentoutumaan.

- -

Ranteita on myös mukava kallistaa nostamalla peukkut ylemmäs kuin pikkurillit. -Nyt kun näppäimistösi on kahdessa osassa, -voit vapaasti kallistaa ne kulmaan, joka on ranteillesi mieluinen. -Ainakin, jos näppäimistöillä on telineet, -jotka sallivat niiden kallistamisen kätevästi. -Jotkut kirjoittavat jopa näppäimistönpuolikkaat lähes pystysuorassa.

- -

Lopulta mielenkiintoisena huomiona on varsin kummallista, että näppäimistöjen sarakkeet ovat useimmiten viistossa eivätkä suoraan ylhäältä alas. -Tämä on QWERTYn lisäksi toinen epäoptimaalinen jäänne kirjoituskoneiden ajalta. -Olihan näppäinten varsien jotenkin ulotuttava pääasialliseen kirjoituslaitteistoon. -Jos näppäimistöt suunniteltaisiin ensimmäistä kertaa nykyään ilman historiallista taakkaa, miksi tabulaattori-, näppäinlukko- ja shift-näppäimiä päätettäisiin kasvattaa eri pituisiksi siten, että loput kirjaimet joutuvat kuin väistämään toisiaan. -Viistous ei sinänsä ole välttämättä epäergonomista, -mutta esimerkiksi kaukana kotirivistä olevien numeronäppäinten löytäminen voi olla hankalaa, -kun vaikkapa numero 5 on etusormen yläpuolella, -vaikka sarakkeiden suoraan mennessä siinä pitäisi olla nelonen.

- -

Markkinoilla on näppäimistöjä, jotka ratkaisevat kaikki nämä ongelmat. -Esimerkiksi Ergodox Ez [12] ja Voyager [13] ovat suosittuja vaihtoehtoja. -Ne vain maksavat halvimmillaan runsaat kolmesataa euroa parilta, -mahdollisia kuljetuskuluja ja tulleja huomioimatta, -ja olen köyhä opiskelija, joten en aio hankkia sellaisia ainakaan vielä.

- -

Olisin kuitenkin paljon halunnut kyseisenlaisen näppäimistön. -Runsas vuosi sitten yritin lievittää pulmaani tilaamalla -Perixx Periboard-524B-näppäimistön. -Näppäimistö on toiminut kiitettävästi, -mutta sen sarakkeet eivät mene suoraan. -Lisäksi näppäimistöllä ei ole mekaanisen näppäimistön hyötyjä. -Muutoin näkemykseni siitä ei ole juurikaan muuttunut sen jälkeen, -kun kirjoitin siitä geminikapselissani [14].

- -

Epäonnekseni tuhlasin rahaa – pian näppäimistön ostamisen jälkeen julkaistiin parempi vaihtoehto, jonka hankkiminen maksaa suunnilleen saman verran. -Onnekseni voin hankkia sen paremman vaihtoehdon nyt, kun huomasin asian. -Noin 10 kuukautta sitten -eräs suomalainen tietotekniikan opiskelija julkaisi netissä ohjeet juuri tarpeeni täyttävän näppäimistön kokoamiseen. -Näppäimistö on vieläpä suunniteltu juuri budjettiystävällisyys ja kokoamisen helppous mielessä. -Näppäimistön nimi on Silakka54, ja sen kokoamisohjeet löytyvät GitHubista [15]. -Voit nähdä näppäimistön Kuvassa 3. -Oletuksena näppäimistössä ei ole kallistavaa telinettä, -mutta olen jo 3D-tulostanut sellaisen. -Näppäimistöjä on saatavilla valmiiksi koottuina AliExpressistä, -tai näppäimistön voi koota tilaamillaan osilla, -kuten itse aion tehdä aidon vapaan lähdekoodin hengen mukaisesti.

- -
- Kuva Silakka54-näppäimistöstä -
Kuva 3. Silakka54-näppäimistö. Kuva on Juho ”Squalius-cephalus” T.:n ja se on lisensoitu MIT-lisenssillä.
-
- -

Paremman asettelun lisäksi Silakka54:n hyötyjä ovat helppo muokattavuus, -mekaanisten näppäinkytkinten tuoma tuntuma sekä QMK:n (tai Vialin) avulla muokattava firmware. -Näppäimistöä voi muokata esimerkiksi sisältämään lisää kerroksia -(vrt. AltGr:n pohjassa pitäminen, -mutta eri näppäimen pohjassa pitäminen avaa pääsyn niihin merkkeihin, -joita itse useimmiten tarvitsee), -ja tavallisia näppäimiä voi asettaa toimimaan eri näppäiminä pohjaan painaessa -– esimerkiksi välilyönnistä voi tehdä myös Ctrl-näppäimen.

- -

Koska näppäimistöasettelu määritellään firmware-tasolla, -voi oman asettelunsa myös ottaa mukaan kaikkialle, -minne näppäimistönsä saa mukaan. -Itse aion hyödyntää tätä esimerkiksi sähköisessä EXAM-tenttijärjestelmässä, -mikäli sallittua, -sillä kyseinen järjestelmä pohjautuu ainoalle yleiselle käyttöjärjestelmälle, -joka ei tarjoa Colemak-näppäimistöasettelua.

- - -

Lopuksi maininnan ansainnee Thumb-Key, -jota käytän näppäimistönä puhelimellani. -Siinä näppäimet ovat suuremmat (ne ovat 4x4-ruudukossa), -joten niihin on helpompi osua. -Toki kääntöpuolena kaikki kirjaimet eivät mahdu näppäimille, -mutta loput merkit saa kirjoitettua vetämällä oikeasta näppäimestä oikeaan suuntaan. -Pidän isommista näppäimistä, muita perusteluja kyseiselle näppäimistölle en anna.

- - -

En varmasti ole vielä valmis työskentelytapojeni optimoinnin kanssa. -Tämä antoi kuitenkin katsauksen nykyään käyttämiini olennaisimpiin tekstinsyöttööni vaikuttaviin ratkaisuihin, -niin ohjelmistojen kuin näppäimistöjen osalta. -Ratkaisut ovat kaikki helposti kokeiltavissa, paitsi mahdollisesti Silakka54 – fyysisiä esineitä kun on hankala kokeilla heti netissä. -Kokeilemalla ei menetä mitään ja kärsivällisellä harjoittelulla kokeilu voi olla sekä hyödyllinen että hauska.

- - -

Linkkejä ja lähteitä

- -

-[1] Vimin dokumentaatio. Vim-ohjelmassa saatavilla komennolla ":help", verkossa vimhelp.org
-[2] Ks. esim. vimawesome.com
-[3] Neovimin dokumentaation LSP-serverien konfiguroinnista: neovim.io/doc/user/lsp.html
-[4] distantwriting.co.uk/instruments.html, kuva 23
-[5] W. A. Burt. Patentti laitteelle Typographer. 1829. United states patent and trademark office. Saatavilla ppubs.uspto.gov/api/pdf/downloadPdf/[...].
-[6] Wikipedia: Printing telegraph. en.wikipedia.org/wiki/Printing_telegraph
-[7] Wikipedia, kirjainten esiintyvyys. en.wikipedia.org/wiki/Letter_frequency
-[8] Colemakin verkkosivut: colemak.com
-[9] Wikipedia-artikkeli Colemakista: en.wikipedia.org/wiki/Colemak
-[10] Colemakin suunnitteluprosessista: colemak.com/Design
-[11] Colemakin ergonomiset tekijät: colemak.com/Ergonomic
-[12] Ergodox Ez: ergodox-ez.com
-[13] Voyager: zsa.io/voyager
-[14] Geminilokini: ”Perixx budget split keyboard – first impression” gemini://cron4.fi/gemlog/periboard.gmi, Verkkoportaalin kautta portal.mozz.us/[...]
-[15] Silakka54 squalius-cephalus.github.io/silakka54
-

- -
- -

-*MinGW ei tietenkään ole Linux, mutta sen kautta sain ensikosketuksen GNU:n komentoriviohjelmiin.
-**Oikeastaan teksti päätyy vain tekstikenttään, josta se sitten usein tallennetaan (kirjoitetaan) tiedostoon. -Usein tekstikentän sisältö myös vastaa kyseisen tiedoston sisältöä välitallennuksia vaille. -Kuitenkaan tekstiä ei suoraan kirjoiteta tiedostoon -kuten ei käytännössä missään tekstinmuokkausohjelmassa. -Tosiasiassa tekstikentän ei tarvitse kuvata mitään tiedostoa, -eikä sen sisältöjä tarvitse kirjoittaa mihinkään tiedostoon.
-***Neovim sovelluksena vie vähemmän tilaa kuin Vim.
-****Todellisuudessa käytin Svdvorakia, Dvorakin ruotsin kirjoittamiseen tarkoitettua versiota, koska oletus-dvorakista ei löydy ääkkösiäkään, toisin kuin oletus-colemakista.
-

-
- - diff --git a/blog/yksinkertaisesti-monipuolinen.txt b/blog/yksinkertaisesti-monipuolinen.txt deleted file mode 100644 index 8295fd7..0000000 --- a/blog/yksinkertaisesti-monipuolinen.txt +++ /dev/null @@ -1,226 +0,0 @@ - - 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 -- cgit v1.2.3