{"id":1225,"date":"2025-01-21T17:16:30","date_gmt":"2025-01-21T15:16:30","guid":{"rendered":"http:\/\/tuijasonkkila.fi\/?p=1225"},"modified":"2025-01-21T17:16:30","modified_gmt":"2025-01-21T15:16:30","slug":"alkulauseita","status":"publish","type":"post","link":"https:\/\/tuijasonkkila.fi\/?p=1225","title":{"rendered":"Alkulauseita"},"content":{"rendered":"\n<p>Helsingin Sanomat julkaisi viime vuoden lopulla <a href=\"https:\/\/www.hs.fi\/taide\/art-2000010874020.html\">listan <\/a> (vain tilaajille) 2000-luvun 100 parhaasta suomalaisesta kirjasta. Silm\u00e4ilin min\u00e4kin. Heti alkuun totesin, ett\u00e4 olen lukenut niist\u00e4 vain nelj\u00e4.<\/p>\n\n\n\n<p>Sitten aloin fundeerata. Listan pohjalta voisi viritell\u00e4 jotakin pient\u00e4 projektia. Vaikka pienimuotoista koodailua olenkin harrastanut, en ole koskaan tehnyt mit\u00e4\u00e4n, mit\u00e4 voisi et\u00e4isestik\u00e4\u00e4n kutsua peliksi. Olisiko t\u00e4ss\u00e4 ainesta?<\/p>\n\n\n\n<p>Tartuin ensimm\u00e4iseen ideantynk\u00e4\u00e4n ja ryhdyin ker\u00e4\u00e4m\u00e4\u00e4n kirjoista niiden alun.  Tarkkaan ottaen ensimm\u00e4isen virkkeen. Sen, mill\u00e4 tarina k\u00e4ynnistyy. <em>Olipa kerran<\/em>. T\u00e4m\u00e4 jos mik\u00e4 on helppo duuni, arvelin, hiukan ty\u00f6l\u00e4s ja mekaaninen tosin. <\/p>\n\n\n\n<p>Toisin k\u00e4vi. Miten harva onkaan se teos, jossa nimi\u00f6sivun  j\u00e4lkeen ei ole mit\u00e4\u00e4n etkoa! On alkusanoja, mottoa, aforismia, tarinaa, historiaa&#8230; <a href=\"https:\/\/tieteentermipankki.fi\/wiki\/Kirjallisuudentutkimus:epigrafi\">Epigrafien tarkoituksena on selitt\u00e4\u00e4 niiden esineiden merkityst\u00e4, joihin ne on piirretty.<\/a> Mielenkiintoista, miten runsaasti kirjaesineen merkityst\u00e4 selitet\u00e4\u00e4n. Vai onko t\u00e4ss\u00e4 kyse samasta funktiosta kuin elokuvan \u00e4\u00e4niraidalla, joka lis\u00e4\u00e4 katselukokemukseen tunnelmaa? Onko alkutekstin tarkoitus viipyill\u00e4 lukijan mieless\u00e4 pitk\u00e4\u00e4nkin? Asetetaanko sill\u00e4 odotusarvo? Niit\u00e4 lukiessa rapistellaan popcornit esiin? <\/p>\n\n\n\n<p>Ensimm\u00e4isyys kirjassa on siis aika lailla suhteellinen k\u00e4site. P\u00e4\u00e4tin ottaa sen linjan, ett\u00e4 heti kun olen erottavinani kirjailijan oman \u00e4\u00e4nen, se olkoon my\u00f6s koko kirjan aloitus. Kiitossanat hypp\u00e4sin yli.<\/p>\n\n\n\n<p>Ei muotokaan mik\u00e4\u00e4n yksiselitteinen asia ole. <a href=\"https:\/\/tieteentermipankki.fi\/wiki\/Kielitiede:virke\">Virkkeen<\/a> kuuluisi lopulta t\u00f6rm\u00e4t\u00e4 johonkin konkreettiseen kuten piste, mutta t\u00e4ss\u00e4kin listassa oli koko joukko kirjoja, joissa n\u00e4in ei tapahdu. Runous on tietysti selv\u00e4 tapaus, mutta runouden ja proosan v\u00e4liss\u00e4 on paljon tilaa. Muutamassa teoksessa ensimm\u00e4inen piste h\u00e4\u00e4m\u00f6tti vasta useamman pilkun tuolla puolen. Aina kun en tiennyt mit\u00e4 tehd\u00e4, p\u00e4tk\u00e4isin vaan ronskisti mukaan edes jonkin verran. Pahoittelut t\u00e4st\u00e4.<\/p>\n\n\n\n<p>Helsingin yliopiston Kaisa-talon kirjastossa suomenkielinen kaunokirjallisuus on kerroksessa K3. Reilussa tunnissa olin k\u00e4ynyt l\u00e4pi hyllyist\u00e4 l\u00f6ytyneet listan teokset. Noin kolmasosa. Sen j\u00e4lkeen istuin Kansalliskirjaston vapaakappalety\u00f6asemalla suunnilleen yht\u00e4 pitk\u00e4n rupeaman; uudemmista teoksista on varsin usein my\u00f6s elektroninen vapaakappale. Bonuksena \u00e4kk\u00e4sin yhden, joka ei ollut <a href=\"https:\/\/www.kansalliskirjasto.fi\/fi\/vapaakappalepalvelut\/vapaakappaleaineistojen-kaytto\">Varia<\/a>-kokoelmassa, toisin kuin Finna-hakupalvelu kertoi. Muutamassa tunnissa Vapaakappalepalvelut korjasi senkin poikkeaman.<\/p>\n\n\n\n<p>J\u00e4ljelle j\u00e4i noin tusina nimekett\u00e4, joista valtaosa oli paikalla Suomalaisen Kirjallisuuden Seuran kirjastossa Hallituskadulla. Hotakaisen Juoksuhaudantie on omassa kirjahyllyss\u00e4 kotona, loput laitoin varaukseen kirjastoista. Yli-Juonikkaan Neuromaanin jouduin tosin tilaamaan Kansalliskirjaston erikoislukusaliin, koska varausjonot olivat kaikkialla p\u00e4\u00e4kaupunkiseudulla niin pitk\u00e4t.<\/p>\n\n\n\n<p>Eip\u00e4 aikaakaan, niin materiaali oli kasassa. <\/p>\n\n\n\n<p>P\u00e4\u00e4tin tehd\u00e4 pelin, jossa arvuutellaan, mik\u00e4 lause kuuluu mihinkin kirjaan. Ei ollenkaan ainutlaatuinen idea (ks. vaikka <a href=\"http:\/\/satunluetut.blogspot.com\/2012\/04\/ensimmaisia-lauseita.html\">t\u00e4m\u00e4<\/a>), mutta halusin oppia jotakin interaktiivisuuden toteuttamisesta verkossa. Lyhyesti: miten raahata palikoita paikasta toiseen. Kaikki t\u00e4h\u00e4nastinen vuorovaikutteisuus, jonka olen p\u00e4\u00e4st\u00e4nyt k\u00e4sist\u00e4ni, on nojannut <a href=\"https:\/\/en.wikipedia.org\/wiki\/Shiny_(web_framework)\">Shiny<\/a>-tekniikkaan. Shiny on <a href=\"https:\/\/termipankki.fi\/tepa\/fi\/haku\/framework\"> integroitu ohjelmoinnin tukiymp\u00e4rist\u00f6<\/a>, <em>framework<\/em>. Se on palvellut hyvin, koska en ole kiinnostunut verkkosivujen tyylitietojen virittelyst\u00e4 (enk\u00e4 sit\u00e4 paitsi osaisikaan) ja JavaScript-tiet\u00e4mys on taaperotasoa. Siin\u00e4 miss\u00e4 toiset oppivat k\u00e4velem\u00e4\u00e4n ja porttaamaan JavaScriptill\u00e4 <a href=\"https:\/\/arstechnica.com\/gaming\/2025\/01\/this-pdf-contains-a-playable-copy-of-doom\/\">Doom-pelin PDF<\/a>:lle, min\u00e4 saatan kehitty\u00e4 konttaamisessa, en juuri enemp\u00e4\u00e4.<\/p>\n\n\n\n<p>Otin opettajaksi ja ty\u00f6kaveriksi <a href=\"https:\/\/chatgpt.com\/\">ChatGPT 4o minin<\/a>, joka palvelee ilman tilausta ja kirjautumista. Koodin l\u00e4ht\u00f6kohta oli ns. natiivi JavaScript, jos vain mahdollista. Erin\u00e4isten iterointien ja yritys-erehdys-vaiheiden j\u00e4lkeen tuloksena on kohtuullisesti toimiva <a href=\"https:\/\/tuijasonkkila.fi\/kpeli.html\">prototyyppi<\/a>. Raahaus onnistuu muilla kotoa l\u00f6ytyvill\u00e4 v\u00e4lineill\u00e4 ja selaimilla paitsi Androidin Firefoxilla. Oikeat ja v\u00e4\u00e4r\u00e4t vastaukset erottuvat kuten oli tarkoitus, ja saman istunnon per\u00e4kk\u00e4isten pelikertojen pohjalta lasketaan kokonaispistem\u00e4\u00e4r\u00e4. Virhetilanteiden ennakointia en viitsinyt viel\u00e4 pidemm\u00e4lle, joten pient\u00e4 ep\u00e4loogisuutta l\u00f6ytyy.<\/p>\n\n\n\n<p>Pelin ulkon\u00e4k\u00f6 on karu ja siksi varmaan j\u00e4\u00e4kin.  Raahaaminen olisi kyll\u00e4 mukavampaa, jos lauseet olisivat samalla tasolla nimien kanssa, ei niiden alla, koska nyt saattaa joutua vieritt\u00e4m\u00e4\u00e4n. Laatikoiden tiivistysk\u00e4\u00e4n ei olisi pahitteeksi.<\/p>\n\n\n\n<p>Kertaalleen erehdyin pyyt\u00e4m\u00e4\u00e4n CSS-vinkkej\u00e4 ulkoasun kohentamiseksi, jolloin ChatGPT:lla l\u00e4hti heti lapasesta. Palasin takaisin. Yritin my\u00f6s l\u00f6yt\u00e4\u00e4 tapaa korvata systeemitason varoitusikkuna, joka pongahtaa tylyn n\u00e4k\u00f6isen\u00e4 esiin kun pyyt\u00e4\u00e4 tuloksen. Silt\u00e4kin sivupolulta pakitin, koska <a href=\"https:\/\/en.wikipedia.org\/wiki\/Modal_window\">modal-ikkunointi<\/a> on outoa ja vierasta, enk\u00e4 tajunnut mit\u00e4 ChatGPT:n koodi sill\u00e4 oikein teki.  Oli mit\u00e4 oli, ei ainakaan toiminut.<\/p>\n\n\n\n<p><strong>Aloitetaan vaikka t\u00e4st\u00e4.<\/strong><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Helsingin Sanomat julkaisi viime vuoden lopulla listan (vain tilaajille) 2000-luvun 100 parhaasta suomalaisesta kirjasta. Silm\u00e4ilin min\u00e4kin. Heti alkuun totesin, ett\u00e4 olen lukenut niist\u00e4 vain nelj\u00e4. Sitten aloin fundeerata. Listan pohjalta voisi viritell\u00e4 jotakin pient\u00e4 projektia. Vaikka pienimuotoista koodailua olenkin harrastanut, en ole koskaan tehnyt mit\u00e4\u00e4n, mit\u00e4 voisi et\u00e4isestik\u00e4\u00e4n kutsua peliksi. Olisiko t\u00e4ss\u00e4 ainesta? Tartuin ensimm\u00e4iseen &hellip; <a href=\"https:\/\/tuijasonkkila.fi\/?p=1225\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Alkulauseita<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[149],"tags":[169,98],"class_list":["post-1225","post","type-post","status-publish","format-standard","hentry","category-diverse-coding","tag-chatgpt","tag-javascript"],"_links":{"self":[{"href":"https:\/\/tuijasonkkila.fi\/index.php?rest_route=\/wp\/v2\/posts\/1225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tuijasonkkila.fi\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tuijasonkkila.fi\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tuijasonkkila.fi\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tuijasonkkila.fi\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1225"}],"version-history":[{"count":3,"href":"https:\/\/tuijasonkkila.fi\/index.php?rest_route=\/wp\/v2\/posts\/1225\/revisions"}],"predecessor-version":[{"id":1228,"href":"https:\/\/tuijasonkkila.fi\/index.php?rest_route=\/wp\/v2\/posts\/1225\/revisions\/1228"}],"wp:attachment":[{"href":"https:\/\/tuijasonkkila.fi\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tuijasonkkila.fi\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tuijasonkkila.fi\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}