Yliopiston etusivulle Suomeksi Inte på svenska No english version available
Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Hannu Erkiö - 60. rasti

Laitoksen harmaa eminenssi

Professori Timo Alanko

Luonnontieteiden kandidaatti Hannu Erkiö astui laitoksen palvelukseen keskellä kevättä 1968. Ikää laitoksella oli silloin puolitoista lukukautta, virkoja kolme kappaletta ja opetushenkilökuntaa n. viiden henkilötyövuoden verran. Näissä olosuhteissa Hannu suostuikin - kaukaa viisaasti - vain puolipäiväiseen suhteeseen (silloisen merkintätavan mukaan: tp. pp. ap. ass.) Suhde muuttui kuitenkin aika pian enemmän kuin kokopäiväiseksi ja luonteeltaan erinomaisen pysyväksi. Yli 35 vuoden ajan Hannu on osallistunut laitoksen toimintaan ja toiminnan kehittämiseen, keskeisesti ja mitä erilaisimmilla alueilla (vertailun vuoksi: samana aikana on läpikäyty kolme laitosrakennusta ja neljät erityyppiset tutkintovaatimukset). Jonkinmoista osaa olemme olleet tekemässä yhdessä.

Tapasin siis Hannun ensimmäisen kerran Töölönkadun laitoksella. Professori Martti Tienari oli Hannun keksinyt varsin nopeasti, mikä sekin kertoo jotain. Valinnanvaraahan oli: uudelle laitokselle tunki opiskelijoita kaikista ovista ja ikkunoista. Syyslukukaudella laitos oli jo päässyt lehtiinkin, koska kaikki ensimmäisen vuoden opiskelijat oli jouduttu heittämään ulos (mikä sinänsä ei ole mikään huono keino kiinnittää rahoittajan huomiota oleelliseen...)

Minä muistan tutustumisvaiheistamme lähinnä nuo viimeiset viralliset sinunkaupat, jotka Hannunkin mieleen näyttävät jääneen. Sen jälkeen olemme olleet monessa mukana, yhdessä ja erikseen.

Laitoksen alkuaikoina "kaikki tekivät kaikkea". Opetus- ja hallintotehtävien jakelussa Martti Tienarilla oli varmaan jotain näkemystä ihmisten kyvyistä, mutta kaiken kaikkiaan: jokaiselle riitti monipuolista ja virikkeistä toimintaa. Tutkintovaatimukset suunniteltiin yleisten esimerkkien (joita ei paljon ollut) ja ajateltujen tarpeiden perusteella. Uusien kurssien toteutus oli puolestaan varsinaista pioneerityötä: oppikirjoja oli niukasti, tieteenalan omasta paradigmasta ei ollut tietoakaan, mutta innostusta kyllä löytyi. Siinä todella oppi miettimään sitä, mikä oikeastaan on oleellista - yliopisto-opetuksessa ylipäänsä ja tällä alalla erityisesti.

Oppikirjojen puute oli siis tyypillistä tällä nuorella, nopeasti kehittyvällä alalla. Suuri osa olemassa olevistakin oli kovin maanläheistä, tiettyjen yksittäisten ratkaisujen kuvausta. Lisäksi suuri osa oli jo painosta päästessään ainakin opetuskäyttöä ajatellen vanhentunutta.

Merkittävä poikkeus oli Knuthin kirja "The Art of Computer Programming", jonka ensimmäiseen osaan perustettiin kurssi Informaatiorakenteet. Martti Tienari teki kurssin vuonna 1969, ja laskuharjoitusassistentteina Hannu ja minä asian opiskelimme - ensin ihmeteltiin itse ja sitten selitettiin asiat noille muutamaa vuotta nuoremmille (ja osittain myös muutamaa vuotta vanhemmille) opiskelijoille. Yksi silloin hankalimpia asioita tuntui olevan sen oppiminen, että linkkejä ei voi seurata vastavirtaan. Linkit antoivat meille kuitenkin varmaan ensimmäisen tämän alan oikean "ahaa" -elämyksen, joka hetimiten johti MIXAL-kääntäjän syntyyn.

Knuthin oppikirjassa käytettiin perusalgoritmien kuvaamiseen assembler-kieltä nimeltä MIXAL, joka toimi kirjassa määritellyllä MIX 1009 -tietokoneella. Mainittu MIX-tietokone oli ilmeisestikin innostanut silloisen laskentakeskuksen silloista johtajaa V.J. Nummea siinä määrin, että hän oli toteuttanut koneen simulaattorin yliopiston silloiselle päätietokoneelle IBM 1620 (koneessa oli paljon lamppuja, joista näki, mitä se oli tekemässä, mutta tehoa siinä oli vähemmän kuin vanhassa kännykässä). Nummi lähti Kanadaan, työ jäi kesken ja simulaattorin sisältävä reikäkorttipakka joutui jollain lailla meille. Siihen aikaan ei ohjelmiin juuri kommentteja sijoitettu, muusta dokumentoinnista puhumattakaan. Saimme kuitenkin simulaattorin toimimaan ja sitten alkoi mieltä kiehtoa ajatus MIXAL-kääntäjän tekemisestä. Sinänsä assembler-kääntäjä on tavattoman suoraviivainen toteutettava, mutta yksi ongelma meillä oli: miten kääntää muistiviittaus muuttujaan, jota ei vielä ole määritelty? Käännöksen oli syytä olla yksivaiheinen, ohjelmakorttipakan useampikertainen syöttäminen koneelle kun olisi ollut liian työlästä. Heureka-oivallus oli sitten se, että viittaukset tuntemattomaan muuttujaan voidaan linkittää objektikoodin sisällä olevaksi listaksi, joka päivitetään muuttujan saadessa kotipaikan! Pienistä keksinnöistä sitä silloin lähdettiin...

MIX-järjestelmä kääntäjineen valmistui varsin nopeasti (mukana oli myös Anna-Liisa Kaila) ja se otettiin opetuskäyttöön syksyllä 1970, jolloin se korvasi aiemmat "oikeat" konekielikurssit (IBM 1620 ja Elliott 803). Tässä vaiheessa yliopiston keskuskone oli jo vaihtumassa isoon Burroughs B6500-koneeseen, joten siirsimme MIX-järjestelmän uudelle alustalle, hieman aiempaa kauniimpanakin. Kunniaksemme on sanottava, että järjestelmän parantelut pysyivät aisoissa, vaikka emme olleet vielä kuulleetkaan varoituksia aiheesta "second system effect" (suomeksi: kun homma nyt osataan, niin pannaan mukaan kaikki pillit ja tiu'ut). Uusi järjestelmä jäikin sitten erinomaisen pitkäikäiseen käyttöön. Siitä kehitettiin myöhemmin jopa moniprosessoriversiokin, jota tosin ei paljon taidettu hyödyntää (joukko erinomaisia päiväperhosia on matkalla tullut tehtyä). Laitoksella nykyisin käytössä oleva konekielisimulaattori KOKSI on MIX-systeemin suora jälkeläinen.

Tähän yhteyteen sopii vielä opetuksellinen anekdootti. Kemian laitoksella toteutettiin eräs laskennallisesti varsin rasittava sovellus. Kun sovellus oli osoittautunut vielä arveltuakin rasittavammaksi, niin asiaa ruvettiin selvittämään. Kävi ilmi, että sovellus oli toteutettu MIXAL-järjestelmällä (jota siis ajettiin simulaattorilla!). Tekijän perustelu: tietojenkäsittelyopin laitoksella oli opetettu, että assemblerilla saadaan aikaan tehokkaampia ohjelmia.

Hannun tutkimus- ja opetusprofiili on miesmuistin ajan liittynyt erikoistumislinjaamme "informaatiojärjestelmät". Paikallaan on siis palauttaa mieleen aivan toisenlaisia piirteitä Hannun menneisyydestä.

Hannun tutkimusura alkoi työskentelyllä Martti Tienarin projektissa "Vaihtelevan sananpituuden Algol-kääntäjä", jossa Hannu suunnitteli ja ohjelmoi juuri sitä kääntäjää. Perusideana oli, että kun laskennassa tarvitaan lisää tarkkuutta, niin muuttujien arvoaluetta voidaan joustavasti laajentaa. Kutsuin lähestymistapaa "sukkanauha-aritmetiikaksi", mutta termi ei tainnut pahemmin yleistyä.

Ensimmäinen Hannun luentokurssi oli syksyllä 1970 pidetty "Johdatus ohjelmointiin (ALGOL)”, tällöin Hannu oli jo tuoreehko maisteri. Seuraavaksi tuli syksyllä 1971 Tienarin edellisenä vuonna perustama "Informaatiostruktuurit". Isompi merkittävä opetuksellinen avaus oli kurssi "B6700 - tietojenkäsittelyjärjestelmä" (1973). Kurssilla käytiin läpi mainitun koneen arkkitehtuuri ja käyttöjärjestelmä.

B6700 ei ollut mikään millään lailla tavanomainen tietokone. Koko järjestelmä oli suunniteltu suorittamaan tehokkaasti (laajennetulla) Algol-kielellä tehtyjä ohjelmia (nykylukijalle tiedoksi: Algol oli ensimmäinen merkittävä hyvin suunniteltu ohjelmointikieli, jonka jälkeläisiä mm. Pascal ja Java ovat). Siinä konekieli sisälsi lähinnä pinoon (eli siis aktivointitietuepinoon) kohdistuvia operaatioita: suuri osa käskyistä ei tarvinnut operandin osoitetta lainkaan ja esimerkiksi proseduurien arvo- ja nimiparametrien evaluointiin löytyi omat käskyt. "Mielenkiintoisin koskaan suorittamani kurssi" sanoi silloinen assistentti, myöhemmin Joensuun professori Jorma Sajaniemi. Kurssi oli pidetty jo aiemminkin (FM Auvo Sarmanto; 1969 cl-kurssina, 1970 l-kurssina), mutta oppikirjaa teemasta ei ennen Hannun kurssia ollut. Kurssin jälkeen oli sitten käytössä hyvä moniste, jota minäkin kiitollisena käytin, kun kurssin kerran luennoin. Hannu oli käynyt Lontoossa asti koneeseen perehtymässä, mutta siihen matkaan olivat syynä tainneet olla enemmänkin sukkanauha-aatosten toteuttamiset.

Tuohon aikaan monisteet kirjoitettiin vielä perinteisellä kirjoituskoneella, kuvat piirrettiin lyijykynällä ja viivoittimella. Ensin kirjoitettiin konsepti ja sitten lukukelpoinen versio. Jos (kun) tämän jälkeen ilmaantui vähänkin isompia muutostarpeita (kuten esimerkiksi rivin lisäys), niin koko muutoksen sisältävä luku meni yleensä uudelleenkirjoitukseen (ja huonolla onnella vielä kaikki seuraavatkin luvut). Tätä kirjoittaessani löysin vielä vuodelta 1987 kirjeen, jossa mietiskelin mentaalivaikeuksia siirryttäessä konseptin käytöstä suoraan "lopputekstin" tuottamiseen.

Luokkaopetuksessa kalvotekniikka tuli käyttöön laitoksen perustamisen aikoihin. Aluksi kalvot olivat pitkinä rullina, joita vahtimestarit pesivät uudelleenkäyttöä varten. (On-line -kirjoitus huopakynällä liukkaalle kalvolle ei muuten ollut jättämättä jälkiä luennoijan käsialan muotoutumiseen. Hannun käsiala kesti tämänkin koettelemuksen, minun sitten ei niin hyvin.) Myöhemmin siirryttiin A4-kalvoihin, jotka vähitellen opittiin tekemään valmiiksi jo ennen luentoa. Kumpikin esitystekniikan vaihto johti kurssin laajuuden kasvuun, jälkimmäinen tietysti aivan erityisesti.


1970-luvulla kaaviot piirrettiin luentomonisteisiin käsin

Todettakoon vielä, että näistä konekohtaisista kursseista IBM S/360 -järjestelmä (joka puolestaan oli "minun kurssini") ja B6700-järjestelmä saivat alkunsa laitoksen kone- ja käyttöjärjestelmäkurssit, jotka sittemmin irtosivat lähteistään ja ovat vaeltaneet ensin cl-tasolta l-tasolle ja sitten palanneet sieltä a-tasolle (Tietokoneen toiminta on näiden aika suora perillinen).

Hannun myöhempiä meriittejä systeemiohjelmoinnin alalla oli Pascal-kääntäjä B6700:lle (1977). Toteutus onnistui ilmeisesti kohtuullisen hyvin, mutta tuotantokäyttöön sitä ei laitoksen johto suostunut ottamaan. Hannu kutsui tulosta vaatimattomasti prototyypiksi, ja saattaa tietysti olla, että se ei aivan riittävän kovapintainen opiskelijakäyttöön vielä ollut. Opetuskieleksi Pascal tuli vasta, kun kääntäjä saatiin ulkopuolelta - taisi tosin olla yliopistotuote sekin.

Ohjelmoinnin metodiikkaa Hannu opetti vielä 1980-luvun alkupuolelle asti, viimeisissä vaiheissa tosin Cobol-maailmaan liittyen.

1970-luvulla kasvava laitos jaettiin "erikoistumislinjoihin", jolloin Hannu kuului luonnostaan linjalle Ohjelmoinnin teoria ja systeemiohjelmointi (”OTSO”). Ryhmät saivat kehitellä toimintaansa ja toteuttaa itseään varsin itsenäisesti, mikä varmaan myötävaikutti laitoksella edelleenkin havaittavaan dynaamiseen ilmeeseen. OTSO-ryhmällä oli johtoryhmänsä ("Karhukopla"), jonka pöytäkirjoja on jonkin verran säilynyt. Asiat näyttävät olleen tärkeitä, mutta pöytäkirjan muoto tuntuu olleen enemmänkin peräisin silloisen Huvitoimikunta-instituution tyylimallistosta. Ennen siirtymistään informaatiojärjestelmien puolelle Hannu näkyy johtaneen tätäkin ryhmää joitakuita aikoja (Hannun aikaiset pöytäkirjat olivat tietenkin muodoltaan aivan asiallisia).

Vuosikymmenen lopulla tapahtui sitten Hannun siirtyminen informaatiojärjestelmien puolelle. Päätöksentekoprosessista minulla ei ole mitään muistikuvia. Väitöskirjaa Hannu kuitenkin rupesi tekemään ja väitöskirjan aiheena oli sisäisten lajittelumenetelmien tehokkuus. Assistenttina ei tuohon aikaan tutkimukselle aikaa jäänyt, mutta Hannu onnistui saamaan rahoitusta sekä Akatemialta että Aaltosen Säätiöltä. Ohjaajana toimi innostava ja asiaan paneutuva apul.prof. Eero Peltola (silloin jo Jyväskylässä) ja merkittävän lyhyessä ajassa eli parissa vuodessa väitöskirja valmistui, laskujeni mukaan viidentenä laitoksen varsinaisista väitöksistä ( Studies on the efficiency of certain internal sort algorithms, 1 980). Kaiken kaikkiaan varsin merkittävä saavutus, kun ajattelee laitoksen sen aikaista työprofiilia. Siinä rakennettiin uutta laitosta ja sille opetusta, olemassa oleva piti pitää käynnissä ja uutta suunnitella. Jostain Hannu sen ajan ja innostuksen löysi.

Omalta osaltani muistan hieman jälkijunaan jäämisen tuntemuksia, minun väitöskirjani kun oli silloin vallan alkutekijöissään. Kun se sitten ikiaikojen kuluttua valmistui (1983), oli Hannu jo dosentti. Asiaan kuuluu todeta, että minun nippuni viimeisen tutkimuksen yhtenä tekijänä oli Hannu (työn aihe: lajittelualgoritmien käyttäytyminen virtuaalimuistissa). Yhdestä tämän työn kuvasta sain muuten väitöksen jälkeen seinälleni taulun, joka urheasti uhmasi Teollisuuskadun aurinkoa 20 vuoden ajan.

1980-luvulta alkaen Hannun opetusharrastuneisuus on sitten ollutkin "informaatiojärjestelmien" palstalla. Opetusvalikoimasta löytyy mm. tietokantajärjestelmiä, käyttöliittymiä ja tietokoneavusteista yhteistyötä. Linjan vastuuhenkilönä Hannu ehti toimia useaan otteeseen.

Tähän mennessä esitetyn perusteella saa Hannusta kuvan, joka monien mielestä ei ole aivan näköinen. Siitä nimittäin puuttuu Hannun poikkeuksellisen merkittävä rooli laitoksen kaikenlaisen toiminnan suunnittelussa, ohjeistamisessa ja toteutuksessa.

Laitoksen varhaisia aikoja leimasi siis jatkuva suunnittelu. Osa oli ihan omaehtoista, työläin osa tuli ulkopuolelta. Hannu on toisessa yhteydessä palautellut mieleen meidän 1970-luvun käsityksemme laitoksen koosta 1980-luvulla. Tietoa tarvittiin kampussuunnittelua varten (!) ja luvut perustuivat luultavasti silloiseen korkeakoulujen kehityslakiin (jota ei sitten jatkettukaan, kun valtiolle sattui tulemaan rahapulaa). Toinen iso hanke oli 1970-luvun loppupuoliskoa dominoinut kuuluisa "FYTT", joka vieläkin nostattaa toisille näppylöitä. Kyseessä oli filosofisten ja yhteiskuntatieteellisten tutkintojen uudistus, jota tehtiin ministeriön toimeksiannosta ja oikein kunnolla. Kun taustat tulivat DDR:stä, niin ajattelukuviot olivat vastaavanlaiset ja meidänkin odotettiin määrittelevän opetustavoitteet ammattikuvista lähtien. Aivan näin ruohonjuurille me emme suunnitelleet, mutta töitä siinä tehtiin. (FYTT-uudistus otettiin käyttöön 1980; 1986 palattiin osittain vanhaan, mutta esimerkiksi opintoviikot ovat sieltä peräisin.)

Assistentin laitostyökuorman piti olla enintään 24 tuntia viikossa, mutta sellainen työmäärähän oli näissä suunnittelun vaiheissa tehty jo tiistaina päiväkahviin mennessä. Enää en muista, mikä varsinainen työnjakomme oli näissä kaikissa harrasteissa, mutta suuresta osasta asioita kysyimme ainakin toisen kommentit. Aikaa kului, mutta laatu parani.

Laitoksen 1970-luvun kehittämisen visiot ja suurten linjausten virikkeet tulivat tietenkin pääsääntöisesti professori Tienarilta. Mutta Tienarin kunniaksi ja laitoksen eduksi: varsinaisen toiminnan kehittämiseen "keskijohdolla" (lue: laitoksen "vanhemmat" opettajat, kolme-, sittemmin nelikymppiset lehtorit ja assistentit) oli varsin suuri vapaus. Osa innovaatioista sai esimiehen tuen, osa sitten taas ei. Kaikenlaista me kuitenkin onnistuimme tekemään ja näin jälkikäteen ajatellen tuskin mitään täysin hyödytöntä; osan hyöty saattoi ehkä olla hieman marginaalista tai vaikutukseltaan epäsuoraa. Toiminnan toteuttamisessa mainitulla "keskijohdolla" oli sitten itse asiassa lähes kaikki valta ja vastuu.

Hannu sanoi aikoinaan minun aluksi toimineen hänelle jonkinlaisessa mentorin roolissa ja näin varmaan olikin. Mutta Hannu oli selvästi erinomaisen kehityskelpoinen, tuskin häntä Tienari olisi niin nopeasti laitokselle muuten ottanutkaan, joten varsin nopeasti hoitelimme meille langenneita asioita täysin tasa-arvoisen kollegiaalisesti. Sitten roolit muuttuivat enemmänkin: Hannu alkoi perin monissa asioissa olla tuo kriittinen asiantuntija, joka muisti kaiken, huomasi kaiken, kuten päätösten seurausvaikutukset, ja muotoili ratkaisut täsmällisellä ja selkeällä tavallaan, johon ei juuri lisäämistä ollut, eikä ole vieläkään.

Jo 1970-luvulta asti Hannulla on siis ollut keskeinen rooli laitoksen suunnittelu- ja kehitystoiminnassa. Rauhallisella ja muita kuuntelevalla, mutta kuitenkin määrätietoisella tavalla Hannu on asioita eteenpäin vienyt. Vuosien mittaan Hannusta on tullut laitoksen todellinen harmaa eminenssi, kaiken tärkeän taustalta löytyvä hahmo.

Hannun julkista hahmoa vähemmän tunnettu on Hannu yksityishenkilönä. Yksityisyyttä Hannulla on todella enemmän kuin monella muulla kahvihuoneen kantaväestöön kuuluvalla.

Kuvan täydentämiseksi ehkä kuitenkin pari sanaa tästäkin puolesta, mutta vain siten kuin minä olen hahmottanut. Hannun keskeisempään harrastuneisuuteen kuuluu ilmiselvästi klassinen musiikki, ja hänen asiantuntevaa kommentointiaan on aina silloin tällöin ollut ilo saada kuunnella. Kulttuurieurooppalaisuuteen laskisin myös Hannun ja Tuulan kaupunkimatkailun, johon liittyneen tiedonkeruun tuloksia minäkin sitten puolestani olen hyödyntänyt.

Vähemmän kulttuuripainotteista liikkumista edustavat Hannun keväiset hiihtoretket Lapissa samoin kuin kaikenlaisissa metsissä tapahtuneet suunnistamiset. Suunnistamassa on muuten oltu laitoksenkin porukalla, pariinkin kertaan Hannun johdolla Nuuksion metsissä iltarasteja etsimässä. Kaikki rastit löytyivät, eikä suunnistajiakaan jäänyt kadoksiin. Hannun kevättalviurheiluun taisi joskus kuulua myös pilkkiongintaa, mutta tuloksista ainakaan minulla ei ole mitään mielikuvaa. Olisikohan suomalaisen talvimaiseman aurinkoisella hiljaisuudella ollut sittenkin enemmän merkitystä kuin ravinnonhankinnalla? Hannun agraariharrastukset ovat taas olleet siinä määrin yksityisiä, että niistä luin vasta Yliopistolainen-lehdestä, Hannun palsta kun oli palkinnon saanut. Toisilla on menestystä monessa ...

Onnitteluni Hannulle, kaikessa luotettavalle, aina rauhalliselle, kaikille huomaavaiselle - joukkomme hillitylle herrasmiehelle.

Ylös